JiffyDOS NTSC fixes and screen blanking for transfer speedup
This commit is contained in:
1 parent
d77887041f
commit
899b2e748f
15 files changed
+18
-5
No files matched your search
@@ -103,6 +103,10 @@ Adds support for the IEEC bus - for serial printers, disk drives, etc.
|
||||
|
||||
Needs over 1000 bytes in KERNAL segment. If unsure - enable.
|
||||
|
||||
### `CONFIG_IEC_BLANK_SCREEN`
|
||||
|
||||
Causes screen blanking during some IEC operations (currently only JiffyDOS file loading) to increase the data transfer performance.
|
||||
|
||||
### `CONFIG_IEC_JIFFYDOS`
|
||||
|
||||
Adds support for JiffyDOS fast protocol to the IEC bus.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -41,6 +41,7 @@
|
||||
// I/O devices
|
||||
|
||||
#define CONFIG_IEC
|
||||
#define CONFIG_IEC_BLANK_SCREEN
|
||||
#define CONFIG_IEC_JIFFYDOS
|
||||
// #define CONFIG_TAPE_NORMAL // please keep disabled for now
|
||||
#define CONFIG_TAPE_TURBO
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
// I/O devices
|
||||
|
||||
#define CONFIG_IEC
|
||||
#define CONFIG_IEC_BLANK_SCREEN
|
||||
#define CONFIG_IEC_JIFFYDOS
|
||||
// #define CONFIG_TAPE_NORMAL // please keep disabled for now
|
||||
// #define CONFIG_TAPE_TURBO
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
// I/O devices
|
||||
|
||||
#define CONFIG_IEC
|
||||
// #define CONFIG_IEC_BLANK_SCREEN
|
||||
#define CONFIG_IEC_JIFFYDOS
|
||||
// #define CONFIG_TAPE_NORMAL // please keep disabled for now
|
||||
#define CONFIG_TAPE_TURBO
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
// I/O devices
|
||||
|
||||
#define CONFIG_IEC
|
||||
#define CONFIG_IEC_BLANK_SCREEN
|
||||
#define CONFIG_IEC_JIFFYDOS
|
||||
// #define CONFIG_TAPE_NORMAL // please keep disabled for now
|
||||
#define CONFIG_TAPE_TURBO
|
||||
|
||||
@@ -29,6 +29,8 @@ wait_x_bars: // additional entry point for tape support
|
||||
dex
|
||||
bne !-
|
||||
|
||||
iec_wait_rts: // dummy RTS, for very short waits
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
// JiffyDOS protocol support for IEC - optimized load loop
|
||||
//
|
||||
|
||||
// XXX option does not work yet
|
||||
// #define CONFIG_IEC_BLANK_SCREEN
|
||||
|
||||
#if CONFIG_IEC_JIFFYDOS && !CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
@@ -61,6 +59,10 @@ load_jiffydos_loop:
|
||||
|
||||
#if CONFIG_IEC_BLANK_SCREEN
|
||||
|
||||
// It JiffyDOS needs some time here; waste few cycles
|
||||
nop
|
||||
jsr iec_wait_rts
|
||||
|
||||
// Ask device to start sending bits
|
||||
sta CIA2_PRA
|
||||
|
||||
@@ -87,8 +89,8 @@ load_jiffydos_loop:
|
||||
lsr
|
||||
lsr
|
||||
|
||||
// Wait for the drive - we have time to increment offset, cycles: 2
|
||||
iny
|
||||
// Delay, JiffyDOS needs some time, 2 cycles
|
||||
nop
|
||||
|
||||
// Get bits, cycles: 4 + 2 + 2 = 8
|
||||
ora CIA2_PRA // bits 2 and 3 on CLK/DATA
|
||||
@@ -105,7 +107,8 @@ load_jiffydos_loop:
|
||||
eor C3PO
|
||||
eor CIA2_PRA // bits 6 and 7 on CLK/DATA
|
||||
|
||||
// Store retrieved byte, cycles: 6
|
||||
// Store retrieved byte, cycles: 2 + 6 = 8
|
||||
iny // NTSC needs this delay
|
||||
sta (EAL),y // not compatible with CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
// Retrieve status bits, cycles: 4
|
||||
|
||||
Reference in new issue
Block a user