shortened BASIC commands jumptable handling
This commit is contained in:
1 parent
3a885a2d14
commit
5a2f847cb6
2 files changed
+34
-76
No files matched your search
@@ -50,7 +50,7 @@
|
|||||||
cmd_sys,
|
cmd_sys,
|
||||||
cmd_open,
|
cmd_open,
|
||||||
|
|
||||||
// $A0-$AF
|
// $A0-$A9
|
||||||
|
|
||||||
cmd_close,
|
cmd_close,
|
||||||
cmd_get,
|
cmd_get,
|
||||||
@@ -62,19 +62,18 @@
|
|||||||
cmd_then,
|
cmd_then,
|
||||||
cmd_not,
|
cmd_not,
|
||||||
cmd_step,
|
cmd_step,
|
||||||
cmd_plus,
|
|
||||||
cmd_minus,
|
|
||||||
cmd_mult,
|
|
||||||
cmd_div,
|
|
||||||
cmd_exponent,
|
|
||||||
cmd_and,
|
|
||||||
|
|
||||||
// $B0-$BF
|
// $CB, but remapped to $A9
|
||||||
|
|
||||||
|
cmd_go
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
XXX we need a separate function dispatch table for the following ones:
|
||||||
|
|
||||||
|
|
||||||
|
// $B4-$BF
|
||||||
|
|
||||||
cmd_or,
|
|
||||||
cmd_greater,
|
|
||||||
cmd_equal,
|
|
||||||
cmd_less,
|
|
||||||
cmd_sgn,
|
cmd_sgn,
|
||||||
cmd_int,
|
cmd_int,
|
||||||
cmd_abs,
|
cmd_abs,
|
||||||
@@ -88,7 +87,7 @@
|
|||||||
cmd_cos,
|
cmd_cos,
|
||||||
cmd_sin,
|
cmd_sin,
|
||||||
|
|
||||||
// $C0-$CF
|
// $C0-$CA
|
||||||
|
|
||||||
cmd_tan,
|
cmd_tan,
|
||||||
cmd_atn,
|
cmd_atn,
|
||||||
@@ -100,70 +99,9 @@
|
|||||||
cmd_chr,
|
cmd_chr,
|
||||||
cmd_left,
|
cmd_left,
|
||||||
cmd_right,
|
cmd_right,
|
||||||
cmd_mid,
|
cmd_mid
|
||||||
cmd_go,
|
*/
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
|
|
||||||
// $D0-$DF
|
|
||||||
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
|
|
||||||
// $E0-$EF
|
|
||||||
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
|
|
||||||
// $F0-$FF
|
|
||||||
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented,
|
|
||||||
cmd_unimplemented
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ execute_statements:
|
|||||||
cmp #$7F
|
cmp #$7F
|
||||||
bcc_16 do_SYNTAX_error // branch if not a token XXX here we should handle variable assignments
|
bcc_16 do_SYNTAX_error // branch if not a token XXX here we should handle variable assignments
|
||||||
|
|
||||||
|
cmp #$A9
|
||||||
|
bcs execute_statements_extended
|
||||||
|
|
||||||
|
execute_statements_run_token:
|
||||||
|
|
||||||
// Initialize temporary string stack - just about any statement might need it
|
// Initialize temporary string stack - just about any statement might need it
|
||||||
// XXX original C64 ROM initializes this during the startup too - not sure where to put this
|
// XXX original C64 ROM initializes this during the startup too - not sure where to put this
|
||||||
|
|
||||||
@@ -63,6 +68,21 @@ execute_statements:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
execute_statements_extended:
|
||||||
|
|
||||||
|
cmp #$CB
|
||||||
|
bne !+
|
||||||
|
|
||||||
|
// 'GO' command has a strande token, after functions
|
||||||
|
|
||||||
|
lda #$A9
|
||||||
|
bne execute_statements_run_token
|
||||||
|
!:
|
||||||
|
// XXX here is the place for possible extended BASIC command set
|
||||||
|
|
||||||
|
jmp do_SYNTAX_error
|
||||||
|
|
||||||
|
|
||||||
execute_statements_end_of_line:
|
execute_statements_end_of_line:
|
||||||
|
|
||||||
// First check, if we are in direct mode - if so,
|
// First check, if we are in direct mode - if so,
|
||||||
|
|||||||
Reference in new issue
Block a user