diff --git a/CONFIG.md b/CONFIG.md index 5d2aad10..1d200f10 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -215,7 +215,7 @@ Feature needs about 330 bytes in BASIC segment. If unsure - enable. If enabled, a simple DOS wedge is available from the direct mode for turbo tape loading - supports `←L` only -Feature needs about 30 bytes in BASIC segment. If unsure - enable. +Feature needs about 5 bytes in BASIC segment. If unsure - enable. ### `CONFIG_BCD_SAFE_INTERRUPTS` diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 92d9c931..c31a9ff7 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index 13b667d0..b3d156e9 100644 Binary files a/bin/basic_mega65.rom and b/bin/basic_mega65.rom differ diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index 4f7b7003..af98c365 100644 Binary files a/bin/basic_testing.rom and b/bin/basic_testing.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 7466b691..c8caf81c 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 7134217e..8be83105 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index cba79c6a..10db46b3 100644 Binary files a/bin/kernal_mega65.rom and b/bin/kernal_mega65.rom differ diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom index 622723fe..118d094c 100644 Binary files a/bin/kernal_testing.rom and b/bin/kernal_testing.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 9eab09cc..3ee5af04 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/c64/,,config_mega65.s b/c64/,,config_mega65.s index b5e6855b..6b179612 100644 --- a/c64/,,config_mega65.s +++ b/c64/,,config_mega65.s @@ -45,7 +45,7 @@ #define CONFIG_IEC // #define CONFIG_IEC_JIFFYDOS // please keep disabled for now // #define CONFIG_TAPE_NORMAL // please keep disabled for now -#define CONFIG_TAPE_TURBO +// #define CONFIG_TAPE_TURBO // #define CONFIG_RS232_UP2400 // please keep disabled for now // #define CONFIG_RS232_UP9600 // please keep disabled for now @@ -77,7 +77,7 @@ #define CONFIG_PROGRAMMABLE_KEYS -.const CONFIG_KEYCMD_RUN = @"\$5FL" +.const CONFIG_KEYCMD_RUN = @"LOAD\"*\"" .const CONFIG_KEYCMD_F1 = @"@" .const CONFIG_KEYCMD_F2 = @"" @@ -108,7 +108,7 @@ #define CONFIG_PANIC_SCREEN #define CONFIG_DOS_WEDGE -#define CONFIG_TAPE_WEDGE +// #define CONFIG_TAPE_WEDGE #define CONFIG_BCD_SAFE_INTERRUPTS diff --git a/c64/basic/commands/cmd_load.s b/c64/basic/commands/cmd_load.s index e7dc76f1..20e2a501 100644 --- a/c64/basic/commands/cmd_load.s +++ b/c64/basic/commands/cmd_load.s @@ -69,13 +69,13 @@ got_devicenumber: lda #$00 sta SA jsr injest_comma - bcs got_secondaryaddress + bcs cmd_load_got_secondaryaddress jsr basic_parse_line_number lda LINNUM+1 bne !+ lda LINNUM+0 sta SA - jmp got_secondaryaddress + jmp cmd_load_got_secondaryaddress !: // Second parameter is above 255, this can't be a secondary address // Use it as load address instead @@ -85,7 +85,7 @@ got_devicenumber: ldy LINNUM+1 bne got_loadaddress -got_secondaryaddress: +cmd_load_got_secondaryaddress: // input for tape wedge ldy TXTTAB+1 ldx TXTTAB+0 diff --git a/c64/basic/wedge_tape.s b/c64/basic/wedge_tape.s index 9eaffab5..4edbe8e8 100644 --- a/c64/basic/wedge_tape.s +++ b/c64/basic/wedge_tape.s @@ -28,9 +28,7 @@ wedge_tape: ldy TXTTAB+1 ldx TXTTAB+0 - jsr JLOAD - - jmp basic_main_loop + jmp cmd_load_got_secondaryaddress #endif // CONFIG_TAPE_WEDGE diff --git a/c64/kernal/tape/load_tape_turbo.s b/c64/kernal/tape/load_tape_turbo.s index e1cfe6b7..6b9ef138 100644 --- a/c64/kernal/tape/load_tape_turbo.s +++ b/c64/kernal/tape/load_tape_turbo.s @@ -73,10 +73,7 @@ load_tape_turbo_payload: load_tape_turbo_loop: jsr tape_turbo_get_byte - - dec CPU_R6510 // to load below I/O area sta (STAL),y - inc CPU_R6510 eor PRTY // handle checksum sta PRTY @@ -126,7 +123,11 @@ tape_turbo_get_bit: asl sta SID_SIGVOL beq !+ +#if CONFIG_COLORS_BRAND && CONFIG_BRAND_ULTIMATE_64 + lda #$0B +#else lda #$06 +#endif !: sta VIC_EXTCOL pla diff --git a/c64/kernal/tape/tape_common.s b/c64/kernal/tape/tape_common.s index 24acc279..e6bb200e 100644 --- a/c64/kernal/tape/tape_common.s +++ b/c64/kernal/tape/tape_common.s @@ -300,7 +300,7 @@ tape_load_success: jsr tape_screen_show_motor_off jsr lvs_display_done -!: + cli jmp lvs_return_last_address