add missing pseudo(s) for HUC6280, fix cpudetect for 6280
This commit is contained in:
@@ -424,6 +424,16 @@ void DoConditionals (void)
|
|||||||
CalcOverallIfCond ();
|
CalcOverallIfCond ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TOK_IFP6280:
|
||||||
|
D = AllocIf (".IFP6280", 1);
|
||||||
|
NextTok ();
|
||||||
|
if (IfCond) {
|
||||||
|
SetIfCond (D, GetCPU() == CPU_HUC6280);
|
||||||
|
}
|
||||||
|
ExpectSep ();
|
||||||
|
CalcOverallIfCond ();
|
||||||
|
break;
|
||||||
|
|
||||||
case TOK_IFP816:
|
case TOK_IFP816:
|
||||||
D = AllocIf (".IFP816", 1);
|
D = AllocIf (".IFP816", 1);
|
||||||
NextTok ();
|
NextTok ();
|
||||||
@@ -444,6 +454,16 @@ void DoConditionals (void)
|
|||||||
CalcOverallIfCond ();
|
CalcOverallIfCond ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TOK_IFPCE02:
|
||||||
|
D = AllocIf (".IFPCE02", 1);
|
||||||
|
NextTok ();
|
||||||
|
if (IfCond) {
|
||||||
|
SetIfCond (D, GetCPU() == CPU_65CE02);
|
||||||
|
}
|
||||||
|
ExpectSep ();
|
||||||
|
CalcOverallIfCond ();
|
||||||
|
break;
|
||||||
|
|
||||||
case TOK_IFPDTV:
|
case TOK_IFPDTV:
|
||||||
D = AllocIf (".IFPDTV", 1);
|
D = AllocIf (".IFPDTV", 1);
|
||||||
NextTok ();
|
NextTok ();
|
||||||
@@ -484,16 +504,6 @@ void DoConditionals (void)
|
|||||||
CalcOverallIfCond ();
|
CalcOverallIfCond ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOK_IFPCE02:
|
|
||||||
D = AllocIf (".IFPCE02", 1);
|
|
||||||
NextTok ();
|
|
||||||
if (IfCond) {
|
|
||||||
SetIfCond (D, GetCPU() == CPU_65CE02);
|
|
||||||
}
|
|
||||||
ExpectSep ();
|
|
||||||
CalcOverallIfCond ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TOK_IFREF:
|
case TOK_IFREF:
|
||||||
D = AllocIf (".IFREF", 1);
|
D = AllocIf (".IFREF", 1);
|
||||||
NextTok ();
|
NextTok ();
|
||||||
|
|||||||
@@ -1594,14 +1594,6 @@ static void DoPCE02 (void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void DoP816 (void)
|
|
||||||
/* Switch to 65816 CPU */
|
|
||||||
{
|
|
||||||
SetCPU (CPU_65816);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void DoP4510 (void)
|
static void DoP4510 (void)
|
||||||
/* Switch to 4510 CPU */
|
/* Switch to 4510 CPU */
|
||||||
{
|
{
|
||||||
@@ -1618,6 +1610,22 @@ static void DoP45GS02 (void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void DoP6280 (void)
|
||||||
|
/* Switch to HuC6280 CPU */
|
||||||
|
{
|
||||||
|
SetCPU (CPU_HUC6280);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void DoP816 (void)
|
||||||
|
/* Switch to 65816 CPU */
|
||||||
|
{
|
||||||
|
SetCPU (CPU_65816);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void DoPDTV (void)
|
static void DoPDTV (void)
|
||||||
/* Switch to C64DTV CPU */
|
/* Switch to C64DTV CPU */
|
||||||
{
|
{
|
||||||
@@ -2176,6 +2184,7 @@ static CtrlDesc CtrlCmdTab [] = {
|
|||||||
{ ccKeepToken, DoConditionals }, /* .IFP02X */
|
{ ccKeepToken, DoConditionals }, /* .IFP02X */
|
||||||
{ ccKeepToken, DoConditionals }, /* .IFP4510 */
|
{ ccKeepToken, DoConditionals }, /* .IFP4510 */
|
||||||
{ ccKeepToken, DoConditionals }, /* .IFP45GS02 */
|
{ ccKeepToken, DoConditionals }, /* .IFP45GS02 */
|
||||||
|
{ ccKeepToken, DoConditionals }, /* .IFP6280 */
|
||||||
{ ccKeepToken, DoConditionals }, /* .IFP816 */
|
{ ccKeepToken, DoConditionals }, /* .IFP816 */
|
||||||
{ ccKeepToken, DoConditionals }, /* .IFPC02 */
|
{ ccKeepToken, DoConditionals }, /* .IFPC02 */
|
||||||
{ ccKeepToken, DoConditionals }, /* .IFPCE02 */
|
{ ccKeepToken, DoConditionals }, /* .IFPCE02 */
|
||||||
@@ -2214,6 +2223,7 @@ static CtrlDesc CtrlCmdTab [] = {
|
|||||||
{ ccNone, DoP02X }, /* .P02X */
|
{ ccNone, DoP02X }, /* .P02X */
|
||||||
{ ccNone, DoP4510 }, /* .P4510 */
|
{ ccNone, DoP4510 }, /* .P4510 */
|
||||||
{ ccNone, DoP45GS02 }, /* .P45GS02 */
|
{ ccNone, DoP45GS02 }, /* .P45GS02 */
|
||||||
|
{ ccNone, DoP6280 }, /* .P6280 */
|
||||||
{ ccNone, DoP816 }, /* .P816 */
|
{ ccNone, DoP816 }, /* .P816 */
|
||||||
{ ccNone, DoPageLength }, /* .PAGELEN, .PAGELENGTH */
|
{ ccNone, DoPageLength }, /* .PAGELEN, .PAGELENGTH */
|
||||||
{ ccNone, DoUnexpected }, /* .PARAMCOUNT */
|
{ ccNone, DoUnexpected }, /* .PARAMCOUNT */
|
||||||
|
|||||||
@@ -224,6 +224,7 @@ struct DotKeyword {
|
|||||||
{ ".IFP02X", TOK_IFP02X },
|
{ ".IFP02X", TOK_IFP02X },
|
||||||
{ ".IFP4510", TOK_IFP4510 },
|
{ ".IFP4510", TOK_IFP4510 },
|
||||||
{ ".IFP45GS02", TOK_IFP45GS02 },
|
{ ".IFP45GS02", TOK_IFP45GS02 },
|
||||||
|
{ ".IFP6280", TOK_IFP6280 },
|
||||||
{ ".IFP816", TOK_IFP816 },
|
{ ".IFP816", TOK_IFP816 },
|
||||||
{ ".IFPC02", TOK_IFPC02 },
|
{ ".IFPC02", TOK_IFPC02 },
|
||||||
{ ".IFPCE02", TOK_IFPCE02 },
|
{ ".IFPCE02", TOK_IFPCE02 },
|
||||||
@@ -267,6 +268,7 @@ struct DotKeyword {
|
|||||||
{ ".P02X", TOK_P02X },
|
{ ".P02X", TOK_P02X },
|
||||||
{ ".P4510", TOK_P4510 },
|
{ ".P4510", TOK_P4510 },
|
||||||
{ ".P45GS02", TOK_P45GS02 },
|
{ ".P45GS02", TOK_P45GS02 },
|
||||||
|
{ ".P6280", TOK_P6280 },
|
||||||
{ ".P816", TOK_P816 },
|
{ ".P816", TOK_P816 },
|
||||||
{ ".PAGELEN", TOK_PAGELENGTH },
|
{ ".PAGELEN", TOK_PAGELENGTH },
|
||||||
{ ".PAGELENGTH", TOK_PAGELENGTH },
|
{ ".PAGELENGTH", TOK_PAGELENGTH },
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ typedef enum token_t {
|
|||||||
TOK_IFP02X,
|
TOK_IFP02X,
|
||||||
TOK_IFP4510,
|
TOK_IFP4510,
|
||||||
TOK_IFP45GS02,
|
TOK_IFP45GS02,
|
||||||
|
TOK_IFP6280,
|
||||||
TOK_IFP816,
|
TOK_IFP816,
|
||||||
TOK_IFPC02,
|
TOK_IFPC02,
|
||||||
TOK_IFPCE02,
|
TOK_IFPCE02,
|
||||||
@@ -235,6 +236,7 @@ typedef enum token_t {
|
|||||||
TOK_P02X,
|
TOK_P02X,
|
||||||
TOK_P4510,
|
TOK_P4510,
|
||||||
TOK_P45GS02,
|
TOK_P45GS02,
|
||||||
|
TOK_P6280,
|
||||||
TOK_P816,
|
TOK_P816,
|
||||||
TOK_PAGELENGTH,
|
TOK_PAGELENGTH,
|
||||||
TOK_PARAMCOUNT,
|
TOK_PARAMCOUNT,
|
||||||
|
|||||||
@@ -45,6 +45,11 @@
|
|||||||
sac #$00
|
sac #$00
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
.ifp6280
|
||||||
|
sax
|
||||||
|
cla
|
||||||
|
.endif
|
||||||
|
|
||||||
.ifpm740
|
.ifpm740
|
||||||
jsr $ff12
|
jsr $ff12
|
||||||
.endif
|
.endif
|
||||||
@@ -123,8 +128,10 @@
|
|||||||
.pc02
|
.pc02
|
||||||
.pwc02
|
.pwc02
|
||||||
.pce02
|
.pce02
|
||||||
.p816
|
|
||||||
.p4510
|
.p4510
|
||||||
.p45GS02
|
.p45GS02
|
||||||
.pdtv
|
.pdtv
|
||||||
|
.p6280
|
||||||
.pm740
|
.pm740
|
||||||
|
.p816
|
||||||
|
; FIXME: sweet16
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user