diff --git a/still_alive/README.still_alive b/still_alive/README.still_alive index f5ab134d..b4ffa43b 100644 --- a/still_alive/README.still_alive +++ b/still_alive/README.still_alive @@ -1,8 +1,8 @@ Still Alive for the Apple II - in roughly 20k + in roughly 16k By Deater (Vince Weaver) - + vince@deater.net BACKGROUND ~~~~~~~~~~ diff --git a/still_alive/interrupt_handler.s b/still_alive/interrupt_handler.s index 1d6556af..d701b681 100644 --- a/still_alive/interrupt_handler.s +++ b/still_alive/interrupt_handler.s @@ -11,7 +11,11 @@ ; Then it sets up the stack like an interrupt and calls 0x3fe interrupt_handler: - pha ; save A ; 3 +; pha ; save A ; 3 + txa + pha + tya + pha ; Should we save X and Y too? ; inc $0404 ; debug (flashes char onscreen) @@ -286,6 +290,12 @@ done_interrupt: exit_interrupt: pla ; restore a ; 4 + tay + pla + tax + + lda $45 ; restore A saved by firmware + ; needed on older (pre-enhanced IIe) rti ; return from interrupt ; 6 diff --git a/still_alive/still_alive.dsk b/still_alive/still_alive.dsk index 787b5c37..836df1d5 100644 Binary files a/still_alive/still_alive.dsk and b/still_alive/still_alive.dsk differ