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`
|
### `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
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in new issue
Block a user