more work on Mega65 native mode
This commit is contained in:
1 parent
b235db4cd0
commit
0b9cc2a9ec
16 files changed
+163
-142
No files matched your search
@@ -52,10 +52,12 @@
|
||||
|
||||
.label filename_any = KERNAL().filename_any
|
||||
|
||||
.label SELDEV = KERNAL().SELDEV
|
||||
|
||||
#if ROM_LAYOUT_M65
|
||||
.label M65_JMODE64 = KERNAL().M65_JMODE64
|
||||
.label M65_JMODE65 = KERNAL().M65_JMODE65
|
||||
.label M65_JISMODE65 = KERNAL().M65_JISMODE65
|
||||
.label M65_JSLOW = KERNAL().M65_JSLOW
|
||||
.label M65_JFAST = KERNAL().M65_JFAST
|
||||
.label M65_MODE64 = KERNAL().M65_MODE64
|
||||
.label M65_MODE65 = KERNAL().M65_MODE65
|
||||
.label M65_ISMODE65 = KERNAL().M65_ISMODE65
|
||||
.label M65_SLOW = KERNAL().M65_SLOW
|
||||
.label M65_FAST = KERNAL().M65_FAST
|
||||
#endif
|
||||
@@ -31,24 +31,26 @@ cmd_go_syntax_error:
|
||||
|
||||
// If in native mode - switch to C64 compatibilty
|
||||
|
||||
jsr M65_JISMODE65
|
||||
jsr M65_ISMODE65
|
||||
bne cmd_go_rts
|
||||
|
||||
jsr helper_ask_if_sure
|
||||
bcs cmd_go_rts
|
||||
jmp M65_JMODE64
|
||||
jsr M65_MODE64
|
||||
jmp do_clr
|
||||
!:
|
||||
cmp #65
|
||||
bne !+
|
||||
|
||||
// If in C64 compatibility mode - switch to native mode
|
||||
|
||||
jsr M65_JISMODE65
|
||||
jsr M65_ISMODE65
|
||||
beq cmd_go_rts
|
||||
|
||||
jsr helper_ask_if_sure
|
||||
bcs cmd_go_rts
|
||||
jmp M65_JMODE65
|
||||
jsr M65_MODE65
|
||||
jmp do_clr
|
||||
!:
|
||||
jmp do_ILLEGAL_QUANTITY_error
|
||||
|
||||
|
||||
@@ -22,6 +22,6 @@ helper_load_init_params_no_VERCKB:
|
||||
|
||||
// Set default device, set secondary address to 0
|
||||
|
||||
jsr select_device
|
||||
jsr SELDEV
|
||||
ldy #$00 // secondary address
|
||||
jmp JSETFLS
|
||||
@@ -10,15 +10,11 @@
|
||||
.const command_01_list = List().add(
|
||||
|
||||
#if CONFIG_MB_MEGA_65
|
||||
|
||||
M65_JSLOW,
|
||||
M65_JFAST,
|
||||
|
||||
M65_SLOW,
|
||||
M65_FAST,
|
||||
#else
|
||||
|
||||
cmd_slow,
|
||||
cmd_fast,
|
||||
|
||||
#endif
|
||||
|
||||
cmd_old,
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
.label JCHKIN = KERNAL_0.JCHKIN
|
||||
.label JCHRIN = KERNAL_0.JCHRIN
|
||||
.label JREADST = KERNAL_0.JREADST
|
||||
.label SELDEV = KERNAL_0.SELDEV
|
||||
.label plot_set = KERNAL_0.plot_set
|
||||
.label init_oldtxt = BASIC_0.init_oldtxt
|
||||
.label tmpstr_free_all_reset = BASIC_0.tmpstr_free_all_reset
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
// #LAYOUT# STD * #TAKE
|
||||
// #LAYOUT# M65 BASIC_1 #TAKE
|
||||
// #LAYOUT# * BASIC_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
// XXX for Mega65, it should be available in BASIC_1 segment only
|
||||
|
||||
select_device:
|
||||
|
||||
// Take last device number, make sure it is a drive - 8 or above. Above 30,
|
||||
// although illegal for IEC we also consider a drive, as they exists
|
||||
// drivers assigning these numbers to CBM-DOS capable devices - like some
|
||||
// IEEE-488 carts.
|
||||
//
|
||||
// If current device is not a drive, set device to 8 (first drive number)
|
||||
// Device number is left in X, for SETFLS Kernal routine
|
||||
|
||||
ldx FA
|
||||
cpx #$08
|
||||
bcs !+
|
||||
ldx #$08
|
||||
!:
|
||||
rts
|
||||
@@ -28,7 +28,7 @@ wedge_dos:
|
||||
jsr JCLALL
|
||||
|
||||
// Set file parameters, channel 15 is a typical one for commands
|
||||
jsr select_device // sets .X register
|
||||
jsr SELDEV // sets .X register
|
||||
lda #$0F
|
||||
ldy #$0F
|
||||
jsr JSETFLS
|
||||
|
||||
Reference in new issue
Block a user