add missing pseudos for sweet16

This commit is contained in:
mrdudz
2025-06-29 19:13:56 +02:00
parent 4d73544d6c
commit af89b22252
4 changed files with 24 additions and 0 deletions

View File

@@ -494,6 +494,16 @@ void DoConditionals (void)
CalcOverallIfCond ();
break;
case TOK_IFPSWEET16:
D = AllocIf (".IFPSWEET16", 1);
NextTok ();
if (IfCond) {
SetIfCond (D, GetCPU() == CPU_SWEET16);
}
ExpectSep ();
CalcOverallIfCond ();
break;
case TOK_IFPWC02:
D = AllocIf (".IFPWC02", 1);
NextTok ();

View File

@@ -1752,6 +1752,14 @@ static void DoPSC02 (void)
static void DoPSweet16 (void)
/* Switch to Sweet16 CPU */
{
SetCPU (CPU_SWEET16);
}
static void DoPushCharmap (void)
/* Save the current charmap */
{
@@ -2191,6 +2199,7 @@ static CtrlDesc CtrlCmdTab [] = {
{ ccKeepToken, DoConditionals }, /* .IFPDTV */
{ ccKeepToken, DoConditionals }, /* .IFPM740 */
{ ccKeepToken, DoConditionals }, /* .IFPSC02 */
{ ccKeepToken, DoConditionals }, /* .IFPSWEET16 */
{ ccKeepToken, DoConditionals }, /* .IFPWC02 */
{ ccKeepToken, DoConditionals }, /* .IFREF */
{ ccNone, DoImport }, /* .IMPORT */
@@ -2236,6 +2245,7 @@ static CtrlDesc CtrlCmdTab [] = {
{ ccNone, DoPopSeg }, /* .POPSEG */
{ ccNone, DoProc }, /* .PROC */
{ ccNone, DoPSC02 }, /* .PSC02 */
{ ccNone, DoPSweet16 }, /* .PSWEET16 */
{ ccNone, DoPushCharmap }, /* .PUSHCHARMAP */
{ ccNone, DoPushCPU }, /* .PUSHCPU */
{ ccNone, DoPushSeg }, /* .PUSHSEG */

View File

@@ -231,6 +231,7 @@ struct DotKeyword {
{ ".IFPDTV", TOK_IFPDTV },
{ ".IFPM740", TOK_IFPM740 },
{ ".IFPSC02", TOK_IFPSC02 },
{ ".IFPSWEET16", TOK_IFPSWEET16 },
{ ".IFPWC02", TOK_IFPWC02 },
{ ".IFREF", TOK_IFREF },
{ ".IMPORT", TOK_IMPORT },
@@ -282,6 +283,7 @@ struct DotKeyword {
{ ".POPSEG", TOK_POPSEG },
{ ".PROC", TOK_PROC },
{ ".PSC02", TOK_PSC02 },
{ ".PSWEET16", TOK_PSWEET16 },
{ ".PUSHCHARMAP", TOK_PUSHCHARMAP },
{ ".PUSHCPU", TOK_PUSHCPU },
{ ".PUSHSEG", TOK_PUSHSEG },

View File

@@ -204,6 +204,7 @@ typedef enum token_t {
TOK_IFPDTV,
TOK_IFPM740,
TOK_IFPSC02,
TOK_IFPSWEET16,
TOK_IFPWC02,
TOK_IFREF,
TOK_IMPORT,
@@ -249,6 +250,7 @@ typedef enum token_t {
TOK_POPSEG,
TOK_PROC,
TOK_PSC02,
TOK_PSWEET16,
TOK_PUSHCHARMAP,
TOK_PUSHCPU,
TOK_PUSHSEG,