From 937d1525404030ebda225eae79cc600edb0b6eab Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Tue, 26 Nov 2019 19:28:10 +0100 Subject: [PATCH] fixed flow desynchronization after JiffyDOS detection --- c64/aliases/,aliases_config.s | 2 +- c64/kernal/iec/f000.iec_jiffydos.s | 2 +- c64/kernal/iec/iec_tx_byte.s | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/c64/aliases/,aliases_config.s b/c64/aliases/,aliases_config.s index 4524efdf..619223aa 100644 --- a/c64/aliases/,aliases_config.s +++ b/c64/aliases/,aliases_config.s @@ -317,7 +317,7 @@ #if !CONFIG_IEC_JIFFYDOS .eval features_str = ADD_FEATURE(features_str, "IEC") #else - .eval features_str = ADD_FEATURE(features_str, "IEC+JIFFY DEF") + .eval features_str = ADD_FEATURE(features_str, "IEC+JIFFY DEV") #endif #endif diff --git a/c64/kernal/iec/f000.iec_jiffydos.s b/c64/kernal/iec/f000.iec_jiffydos.s index bc238d4f..aeab1fd3 100644 --- a/c64/kernal/iec/f000.iec_jiffydos.s +++ b/c64/kernal/iec/f000.iec_jiffydos.s @@ -78,7 +78,7 @@ __jd_check1: and #%00110000 // clear everything but CLK/DATA sta CIA2_PRA - // Signal EOI if needed XXX calculate cycles for quicklyy pulling CLK + // Signal EOI if needed XXX calculate cycles for quickly pulling CLK lda C3PO ldx IECPROTO beq iec_tx_byte_jiffydos_wait_eoi diff --git a/c64/kernal/iec/iec_tx_byte.s b/c64/kernal/iec/iec_tx_byte.s index 15b5d01c..40259cbb 100644 --- a/c64/kernal/iec/iec_tx_byte.s +++ b/c64/kernal/iec/iec_tx_byte.s @@ -78,9 +78,10 @@ iec_jiffydos_detect_loop: bne iec_jiffydos_detect_loop // 3 cycles if branch lda #$00 // normal protocol - skip_2_bytes_trash_nvz + beq iec_jiffydos_store_proto // branch always iec_jiffydos_detected: + jsr iec_wait_for_data_release // guessed from VICE logs lda #$01 // JiffyDOS protocol iec_jiffydos_store_proto: @@ -118,7 +119,7 @@ iec_tx_common_bit_is_sent: cli - // Give device time to tell if they are busy by pulling DATA + // Give devices time to tell if they are busy by pulling DATA // They should do it within 1ms ldx #$FF !: