From 42402e19c56f254b1d4e083b2f5aedb2c979b30a Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 21 Feb 2021 23:10:30 -0500 Subject: [PATCH] pt3_player: making sure we match most recen pt3_lib have reports it breaks on some machines --- music/pt3_player/interrupt_handler.s | 8 ++++---- music/pt3_player/pt3_lib_irq_handler.s | 3 ++- music/pt3_player/qkumba_rts.s | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/music/pt3_player/interrupt_handler.s b/music/pt3_player/interrupt_handler.s index c427ed50..cbfa05b2 100644 --- a/music/pt3_player/interrupt_handler.s +++ b/music/pt3_player/interrupt_handler.s @@ -21,7 +21,8 @@ TIME_OFFSET = 13 interrupt_handler: - php + php ; save status flags + cld ; clear decimal mode pha ; save A ; 3 ; A is saved in $45 by firmware txa @@ -207,10 +208,9 @@ exit_interrupt: tay ; restore Y pla tax ; restore X + pla ; restore A ; 4 - pla ; restore a ; 4 - - ; this is needed on II+/IIe not not IIc + ; on II+/IIe (but not IIc) we need to do this? interrupt_smc: lda $45 ; restore A plp diff --git a/music/pt3_player/pt3_lib_irq_handler.s b/music/pt3_player/pt3_lib_irq_handler.s index 851a22bf..0de5309a 100644 --- a/music/pt3_player/pt3_lib_irq_handler.s +++ b/music/pt3_player/pt3_lib_irq_handler.s @@ -34,7 +34,8 @@ pt3_loop_smc: sta current_subframe_smc+1 sta DONE_SONG ; undo the next song - beq done_pt3_irq_handler ; branch always +; beq done_pt3_irq_handler ; branch always + beq pt3_play_music ; branch always move_to_next: ; same as "press right" diff --git a/music/pt3_player/qkumba_rts.s b/music/pt3_player/qkumba_rts.s index 20ca1879..a0d8101c 100644 --- a/music/pt3_player/qkumba_rts.s +++ b/music/pt3_player/qkumba_rts.s @@ -1,7 +1,7 @@ ; read any file slot 6 version ; based on FASTLD6 and RTS copyright (c) Peter Ferrie 2011-2013,2018 -; modified to assembled with ca64 -- vmw +; modified to assembled with ca65 -- vmw ; added code to patch it to run from current disk slot -- vmw