documentation update, small Ultimate 64 code tweaks

This commit is contained in:
FeralChild64 committed 2020-10-07 16:02:07 +02:00
1 parent 9a1f9c7209
commit b965e035f9
5 files changed
+33 -14

No files matched your search

+1 -1
View File
@@ -139,7 +139,7 @@ Needs about 430 bytes in KERNAL segment. If unsure - enable.
### `IEC_JIFFYDOS_BLANK` ### `IEC_JIFFYDOS_BLANK`
Causes screen blanking during JiffyDOS file loading to increase performance. Causes screen blanking during JiffyDOS file loading to increase performance. On Ultimate 64 motherboard, if possible, screen blanking is substituted by disabling badlines.
## Tape deck ## Tape deck
+1 -2
View File
@@ -20,7 +20,6 @@ cmd_slow:
cmd_slow_fast_common: cmd_slow_fast_common:
sta U64_TURBOBIT ; only bit 0 matters
sta U64_TURBOCTL sta U64_TURBOCTL
rts rts
@@ -29,7 +28,7 @@ cmd_fast:
lda #$0F ; for U64_TURBOCTL - badlines, 48MHz lda #$0F ; for U64_TURBOCTL - badlines, 48MHz
sta SCPU_SPEED_TURBO ; any value will do sta SCPU_SPEED_TURBO ; any value will do
bne cmd_slow_fast_common ; bramnch always bne cmd_slow_fast_common ; branch always
} else ifdef CONFIG_PLATFORM_COMMODORE_64 { } else ifdef CONFIG_PLATFORM_COMMODORE_64 {
+3 -5
View File
@@ -29,6 +29,8 @@ jiffydos_load:
!ifdef CONFIG_MB_U64 { !ifdef CONFIG_MB_U64 {
; XXX implement for non-blank mode, use jiffydos_prepare_no_preserve_bits
; Check if turbo register is available ; Check if turbo register is available
lda U64_TURBOCTL lda U64_TURBOCTL
cmp #$FF cmp #$FF
@@ -52,10 +54,7 @@ jiffydos_load:
jsr screen_off jsr screen_off
@2: @2:
; Preserve 3 lowest bits of CIA2_PRA XXX deduplicate this ; Preserve 3 lowest bits of CIA2_PRA XXX deduplicate this
jsr jiffydos_preserve_bits
lda CIA2_PRA
and #%00000111
sta C3PO
} else { } else {
@@ -66,7 +65,6 @@ jiffydos_load:
@2: @2:
} }
; A trick to shorten EAL update time ; A trick to shorten EAL update time
ldy #$FF ldy #$FF
+5 -6
View File
@@ -12,12 +12,11 @@
jiffydos_prepare: jiffydos_prepare:
; We need to preserve 3 lowest bits of CIA2_PRA, they contain important jsr jiffydos_preserve_bits
; data - fortunately, the bits are never changed by external devices
; Use C3PO for this, as afterwards we have to set there 0 nevertheless ; FALLTROUGH
lda CIA2_PRA
and #%00000111 jiffydos_prepare_no_preserve_bits:
sta C3PO
; Hide sprites; JiffyDOS timing regime is very strict, before transmitting ; Hide sprites; JiffyDOS timing regime is very strict, before transmitting
; anything we need to make sure nothing will steal the cycles ; anything we need to make sure nothing will steal the cycles
@@ -0,0 +1,23 @@
;; #LAYOUT# STD * #TAKE
;; #LAYOUT# * KERNAL_0 #TAKE
;; #LAYOUT# * * #IGNORE
;
; JiffyDOS transfer preparation routine
;
!ifdef CONFIG_IEC_JIFFYDOS {
jiffydos_preserve_bits:
; We need to preserve 3 lowest bits of CIA2_PRA, they contain important
; data - fortunately, the bits are never changed by external devices
; Use C3PO for this, as afterwards we have to set there 0 nevertheless
lda CIA2_PRA
and #%00000111
sta C3PO
rts
}