diff options
-rw-r--r-- | whichbas.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -648,6 +648,7 @@ CALLBACK(handle_end_stmt) { remove_type(BT_TURBO); } break; + case 0x3e: /* WHILE (1 arg) or DPOKE (2 or 3 args) */ case 0x4c: /* DELETE (1 arg) or MOVE (3 or 4 args) */ case 0x4d: /* PAUSE (1 arg) or MISSILE (3 args) */ @@ -660,6 +661,7 @@ CALLBACK(handle_end_stmt) { remove_type(BT_BXL_BXE); } break; + case 0x42: /* BPUT or RGET */ /* PARTIAL: Turbo BGET always takes 3 args, BXL/BXE RGET takes 2 or more. @@ -668,6 +670,7 @@ CALLBACK(handle_end_stmt) { remove_type(BT_TURBO); } break; + case 0x43: /* BGET or BPUT */ /* PARTIAL: Turbo BGET and BPUT always take 3 args. So does BXL BPUT. @@ -676,6 +679,7 @@ CALLBACK(handle_end_stmt) { set_type(BT_BXE); } break; + case 0x55: /* RENUM in both (TB req 3 args, BXL up to two) */ if(comma_count == 2) { remove_type(BT_BXL_BXE); @@ -683,11 +687,14 @@ CALLBACK(handle_end_stmt) { remove_type(BT_TURBO); } break; + case 0x61: /* DSOUND (0 or 4 num args) or INVERSE (no args) */ /* PARTIAL: can't tell no-argument DSOUND from INVERSE. */ if(comma_count) { remove_type(BT_BXL_BXE); } + break; + case 0x63: /* %PUT (usually seen with optional #; 1 or 2 args) or BLOAD (1 string arg) */ if(comma_count) { /* multiple args */ @@ -697,6 +704,7 @@ CALLBACK(handle_end_stmt) { remove_type(BT_TURBO); } break; + case 0x64: /* %GET (usually seen with optional #; 1 or 2 args) or BSAVE (3 args) */ if(comma_count == 2) { remove_type(BT_TURBO); @@ -704,6 +712,7 @@ CALLBACK(handle_end_stmt) { remove_type(BT_BXL_BXE); } break; + default: break; } if(verbose) fprintf(stderr, " bas_type now %02x\n", bas_type); |