Ultimate 64 tape improvements

This commit is contained in:
FeralChild64 committed 2020-10-07 15:10:48 +02:00
1 parent 2b9e8650de
commit 166cfabf82
7 files changed
+47 -31

No files matched your search

+2 -2
View File
@@ -71,8 +71,8 @@
;; #CONFIG# KEY_REPEAT_DEFAULT NO
;; #CONFIG# KEY_REPEAT_ALWAYS NO
;; #CONFIG# KEY_FAST_SCAN YES
;; #CONFIG# JOY1_CURSOR YES
;; #CONFIG# JOY2_CURSOR YES
;; #CONFIG# JOY1_CURSOR NO
;; #CONFIG# JOY2_CURSOR NO
;; #CONFIG# PROGRAMMABLE_KEYS YES
+1 -1
View File
@@ -121,7 +121,7 @@
!ifndef CONFIG_LEGACY_SCNKEY {
!addr BITTS = $B4 ; -- NOT IMPLEMENTED --
}
!addr NXTBIT = $B5 ; -- NOT IMPLEMENTED --
!addr NXTBIT = $B5 ; -- NOT IMPLEMENTED -- [!] also used by tape routine, we use it only for Ultimate 64 turbo handling
!ifndef CONFIG_LEGACY_SCNKEY {
!addr RODATA = $B6 ; -- NOT IMPLEMENTED --
}
+5 -10
View File
@@ -19,9 +19,8 @@
!ifdef HAS_TAPE {
!addr __MSG_KERNAL_PRESS_PLAY = __msg_kernalplay - __msg_kernal_first
!addr __MSG_KERNAL_FOUND = __msg_kernalfound - __msg_kernal_first
!ifdef CONFIG_MB_M65 {
!addr __MSG_KERNAL_OK_SEARCHING = __msg_kernaloksearching - __msg_kernal_first
} }
!addr __MSG_KERNAL_OK = __msg_kernalok - __msg_kernal_first
}
!ifdef CONFIG_PANIC_SCREEN {
!addr __MSG_KERNAL_PANIC = __msg_kernalpanic - __msg_kernal_first
@@ -70,14 +69,10 @@ __msg_kernalfound:
!pet "found"
!byte $80 + $20 ; end of string mark + space
!ifdef CONFIG_MB_M65 {
__msg_kernaloksearching:
__msg_kernalok:
!pet "ok"
!byte $0D, $0D
!pet "searchin"
!byte $80 + $47 ; end of string mark + 'G'
} }
!byte $80 + $0D ; end of string mark + return
}
!ifdef CONFIG_PANIC_SCREEN {
+1 -1
View File
@@ -72,7 +72,7 @@
;; #ALIAS# print_return = KERNAL_0.proxy_K1_print_return
;; #ALIAS# __MSG_KERNAL_PRESS_PLAY = KERNAL_0.__MSG_KERNAL_PRESS_PLAY
;; #ALIAS# __MSG_KERNAL_OK_SEARCHING = KERNAL_0.__MSG_KERNAL_OK_SEARCHING
;; #ALIAS# __MSG_KERNAL_OK = KERNAL_0.__MSG_KERNAL_OK
;; #ALIAS# __MSG_KERNAL_FOUND = KERNAL_0.__MSG_KERNAL_FOUND
;; #ALIAS# tape_normal_byte_store = KERNAL_0.tape_normal_byte_store
+1 -4
View File
@@ -113,13 +113,10 @@ tape_prepare_reading:
} ; CONFIG_TAPE_HEAD_ALIGN
!ifdef CONFIG_MB_M65 {
; Display confirmation
ldx #__MSG_KERNAL_OK_SEARCHING
ldx #__MSG_KERNAL_OK
jsr print_kernal_message
}
; Prepare for reading
+30 -10
View File
@@ -19,15 +19,21 @@ tape_screen_on_motor_off:
lda COLSTORE
sta VIC_EXTCOL
!ifndef CONFIG_MB_M65 {
jmp screen_on
} else {
!ifdef CONFIG_MB_M65 {
jsr M65_MODEGET
+bcs screen_on ; MEGA65 native mode does not have badlines, no need to enable/disable screen
rts
} else ifdef CONFIG_MB_U64 {
lda NXTBIT
sta U64_TURBOCTL ; restore turbo control settings
jmp screen_on
} else {
jmp screen_on
}
@@ -44,11 +50,7 @@ tape_screen_off_motor_on:
lda VIC_EXTCOL
sta COLSTORE
!ifndef CONFIG_MB_M65 {
jsr screen_off
} else {
!ifdef CONFIG_MB_M65 {
jsr M65_MODEGET
; XXX optimize this
@@ -56,6 +58,24 @@ tape_screen_off_motor_on:
jsr screen_off
@1:
} else ifdef CONFIG_MB_U64 {
lda U64_TURBOCTL
sta NXTBIT
cmp #$FF
beq @1 ; branch if no turbo control available
lda #$8F ; max speed, no badlines
sta U64_TURBOCTL
bne @2 ; branch always
@1:
jsr screen_off
@2:
} else {
jsr screen_off
}
jmp tape_motor_on