diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 57475055..7d407af1 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 a8762c7b..5ed25603 100644 Binary files a/bin/basic_mega65.rom and b/bin/basic_mega65.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index c0f41ac9..64e0dd6f 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 722812e8..31460665 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 b978c8a2..44b87750 100644 Binary files a/bin/kernal_mega65.rom and b/bin/kernal_mega65.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 0eff723a..bde1ca3e 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/c64/basic/cmd_load.s b/c64/basic/cmd_load.s index b02ee765..2af77bd3 100644 --- a/c64/basic/cmd_load.s +++ b/c64/basic/cmd_load.s @@ -127,10 +127,7 @@ got_loadaddress: // or go back to the READY prompt if LOAD was called from direct mode. // Reset to start of program - lda TXTTAB+0 - sta OLDTXT+0 - lda TXTTAB+1 - sta OLDTXT+1 + jsr init_oldtxt // XXX - should run program if LOAD was used in program mode jmp basic_main_loop @@ -139,10 +136,7 @@ got_loadaddress: basic_relink_program: // Start by getting pointer to the first line - lda TXTTAB+0 - sta OLDTXT+0 - lda TXTTAB+1 - sta OLDTXT+1 + jsr init_oldtxt basic_relink_loop: // Is the pointer to the end of the program diff --git a/c64/basic/init_oldtxt.s b/c64/basic/init_oldtxt.s new file mode 100644 index 00000000..6becf049 --- /dev/null +++ b/c64/basic/init_oldtxt.s @@ -0,0 +1,9 @@ + +init_oldtxt: + + lda TXTTAB+0 + sta OLDTXT+0 + lda TXTTAB+1 + sta OLDTXT+1 + + rts diff --git a/c64/kernal/fda3.ioinit.s b/c64/kernal/fda3.ioinit.s index 00fbf343..778d5492 100644 --- a/c64/kernal/fda3.ioinit.s +++ b/c64/kernal/fda3.ioinit.s @@ -69,11 +69,11 @@ IOINIT: // XXX: calibrate TOD for both CIA's, see here: https://codebase64.org/doku.php?id=base:efficient_tod_initialisation // Enable CIA1 IRQ and ~50Hz timer (https://csdb.dk/forums/?roomid=11&topicid=69037) + + // First disable IRQ generation for both CIA's lda #$7F - sta CIA1_ICR // disable all - - // Same for CIA2 - it can generate IRQs too, we definitely don't want this sta CIA2_ICR + sta CIA1_ICR // Set timer interval to ~1/60th of a second