documentation update, small Ultimate 64 code tweaks
This commit is contained in:
1 parent
9a1f9c7209
commit
b965e035f9
5 files changed
+33
-14
No files matched your search
@@ -139,7 +139,7 @@ Needs about 430 bytes in KERNAL segment. If unsure - enable.
|
||||
|
||||
### `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
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ cmd_slow:
|
||||
|
||||
cmd_slow_fast_common:
|
||||
|
||||
sta U64_TURBOBIT ; only bit 0 matters
|
||||
sta U64_TURBOCTL
|
||||
rts
|
||||
|
||||
@@ -29,7 +28,7 @@ cmd_fast:
|
||||
lda #$0F ; for U64_TURBOCTL - badlines, 48MHz
|
||||
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 {
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ jiffydos_load:
|
||||
|
||||
!ifdef CONFIG_MB_U64 {
|
||||
|
||||
; XXX implement for non-blank mode, use jiffydos_prepare_no_preserve_bits
|
||||
|
||||
; Check if turbo register is available
|
||||
lda U64_TURBOCTL
|
||||
cmp #$FF
|
||||
@@ -52,10 +54,7 @@ jiffydos_load:
|
||||
jsr screen_off
|
||||
@2:
|
||||
; Preserve 3 lowest bits of CIA2_PRA XXX deduplicate this
|
||||
|
||||
lda CIA2_PRA
|
||||
and #%00000111
|
||||
sta C3PO
|
||||
jsr jiffydos_preserve_bits
|
||||
|
||||
} else {
|
||||
|
||||
@@ -66,7 +65,6 @@ jiffydos_load:
|
||||
@2:
|
||||
|
||||
}
|
||||
|
||||
; A trick to shorten EAL update time
|
||||
ldy #$FF
|
||||
|
||||
|
||||
@@ -12,12 +12,11 @@
|
||||
|
||||
jiffydos_prepare:
|
||||
|
||||
; 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
|
||||
jsr jiffydos_preserve_bits
|
||||
|
||||
; FALLTROUGH
|
||||
|
||||
jiffydos_prepare_no_preserve_bits:
|
||||
|
||||
; Hide sprites; JiffyDOS timing regime is very strict, before transmitting
|
||||
; 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
|
||||
}
|
||||
Reference in new issue
Block a user