Revert "removed faulty JiffyDOS optimization (compatibility problems)"
This reverts commit 02863c5cf5.
This commit is contained in:
1 parent
02863c5cf5
commit
a11e50a3cf
6 files changed
+28
-18
No files matched your search
@@ -16,22 +16,6 @@ iec_tx_command:
|
||||
phx_trash_a
|
||||
phy_trash_a
|
||||
|
||||
#if CONFIG_IEC_JIFFYDOS
|
||||
|
||||
// IMHO detecting JiffDOS would be sufficient for TALK and LISTEN commands,
|
||||
// this would also make the protocol slightly faster. But, for some reason
|
||||
// (this is clearly visible in the logs) the original JiffyDOS Kernal tries
|
||||
// to detect the JiffyDOS drive during each and every command - and trying
|
||||
// to limit the detection to TALK/LISTEN only was causing transmission
|
||||
// errors (at least with 1541 JiffyDOS ROM)
|
||||
|
||||
lda #$FF // force JiffyDOS detection
|
||||
sta IECPROTO
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
#endif // CONFIG_IEC_JIFFYDOS
|
||||
|
||||
// Notify all devices that we are going to send a byte
|
||||
// and it is going to be a command (pulled ATN)
|
||||
jsr iec_pull_atn_clk_release_data
|
||||
|
||||
@@ -32,6 +32,18 @@ common_talk_listen: // common part of TALK and LISTEN
|
||||
|
||||
sta TBTCNT
|
||||
|
||||
#if CONFIG_IEC_JIFFYDOS
|
||||
|
||||
// It seems that only TALK/LISTEN is used to detect the JiffyDOS support
|
||||
|
||||
lda #$FF // unknown protocol - check what is supported
|
||||
sta IECPROTO
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
#endif // CONFIG_IEC_JIFFYDOS
|
||||
|
||||
|
||||
jmp iec_tx_command
|
||||
|
||||
#else
|
||||
|
||||
@@ -18,6 +18,13 @@ UNLSN:
|
||||
// According to serial-bus.pdf (page 15) this routine flushes the IEC out buffer
|
||||
jsr iec_tx_flush
|
||||
|
||||
#if CONFIG_IEC_JIFFYDOS
|
||||
|
||||
lda #$00 // switch back to standard protocol
|
||||
sta IECPROTO
|
||||
|
||||
#endif
|
||||
|
||||
// Buffer empty, send the command
|
||||
lda #$3F
|
||||
|
||||
|
||||
@@ -18,6 +18,13 @@ UNTLK:
|
||||
// According to serial-bus.pdf (page 15) this routine flushes the IEC out buffer
|
||||
jsr iec_tx_flush
|
||||
|
||||
#if CONFIG_IEC_JIFFYDOS
|
||||
|
||||
lda #$00 // switch back to standard protocol
|
||||
sta IECPROTO
|
||||
|
||||
#endif
|
||||
|
||||
// Buffer empty, send the command
|
||||
lda #$5F
|
||||
|
||||
|
||||
Reference in new issue
Block a user