initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#include "ted.h"
|
||||
|
||||
void ted_waitBottom(void)
|
||||
{
|
||||
while (!(ted.vscan_high & 1))
|
||||
;
|
||||
}
|
||||
|
||||
void ted_waitTop(void)
|
||||
{
|
||||
while (ted.vscan_high & 1)
|
||||
;
|
||||
}
|
||||
|
||||
void ted_waitFrame(void)
|
||||
{
|
||||
while (ted.vscan_high & 1)
|
||||
;
|
||||
while (!(ted.vscan_high & 1))
|
||||
;
|
||||
}
|
||||
|
||||
void ted_waitLine(int line)
|
||||
{
|
||||
char upper = (char)(line >> 8) & 1;
|
||||
char lower = (char)line;
|
||||
|
||||
do
|
||||
{
|
||||
while (ted.vscan_low != lower)
|
||||
;
|
||||
} while ((ted.vscan_high & 1) != upper);
|
||||
}
|
||||
|
||||
void ted_setmode(TedMode mode, char * text, char * font)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case TEDM_TEXT:
|
||||
ted.ctrl1 = TED_CTRL1_DEN | TED_CTRL1_RSEL | 3;
|
||||
ted.ctrl2 = TED_CTRL2_CSEL;
|
||||
break;
|
||||
case TEDM_TEXT_MC:
|
||||
ted.ctrl1 = TED_CTRL1_DEN | TED_CTRL1_RSEL | 3;
|
||||
ted.ctrl2 = TED_CTRL2_CSEL | TED_CTRL2_MCM;
|
||||
break;
|
||||
case TEDM_TEXT_ECM:
|
||||
ted.ctrl1 = TED_CTRL1_DEN | TED_CTRL1_ECM | TED_CTRL1_RSEL | 3;
|
||||
ted.ctrl2 = TED_CTRL2_CSEL;
|
||||
break;
|
||||
case TEDM_HIRES:
|
||||
ted.ctrl1 = TED_CTRL1_BMM | TED_CTRL1_DEN | TED_CTRL1_RSEL | 3;
|
||||
ted.ctrl2 = TED_CTRL2_CSEL;
|
||||
break;
|
||||
case TEDM_HIRES_MC:
|
||||
ted.ctrl1 = TED_CTRL1_BMM | TED_CTRL1_DEN | TED_CTRL1_RSEL | 3;
|
||||
ted.ctrl2 = TED_CTRL2_CSEL | TED_CTRL2_MCM;
|
||||
break;
|
||||
default:
|
||||
__assume(false);
|
||||
}
|
||||
|
||||
ted.vid_ptr = (unsigned)text >> 8;
|
||||
|
||||
if (mode < TEDM_HIRES)
|
||||
{
|
||||
ted.char_ptr = (unsigned)font >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
ted.sound1_high = (ted.sound1_high & 0x3) | ((unsigned)font >> 10);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user