more work on Mega65 native mode

This commit is contained in:
FeralChild64 committed 2020-08-08 12:57:15 +02:00
1 parent b235db4cd0
commit 0b9cc2a9ec
16 files changed
+163 -142

No files matched your search

+7 -5
View File
@@ -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
+6 -4
View File
@@ -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,
+1
View File
@@ -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
-23
View File
@@ -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
+1 -1
View File
@@ -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