dos33fsprogs/still_alive/still_alive.s

86 lines
1.1 KiB
ArmAsm
Raw Normal View History

2018-04-28 01:24:57 +00:00
; And Believe Me, I'm Still Alive
.include "zp.inc"
2018-06-04 18:57:40 +00:00
still_alive:
2018-06-04 19:26:03 +00:00
;=============================
; Clear screen
;=============================
jsr HOME
jsr TEXT
;=============================
; setup Lyrics
;=============================
lda #<(lyrics)
sta LYRICSL
lda #>(lyrics)
sta LYRICSH
2018-06-04 19:26:03 +00:00
; See if Mockingboard or Electric Duet
lda USEMB
beq no_mockingboard
2018-06-04 18:57:40 +00:00
jsr still_alive_mb
2018-04-28 01:24:57 +00:00
2018-06-04 19:26:03 +00:00
jmp reset
no_mockingboard:
jsr still_alive_ed
2018-04-28 01:24:57 +00:00
2018-06-04 19:26:03 +00:00
reset:
2018-06-04 20:55:28 +00:00
lda $AA6A ; current disk slot, dos 3.3
ora #$c0
sta $3F3
lda #0
sta $3F2
2018-06-04 19:26:03 +00:00
jmp ($3F2) ; warm-start?
; want reboot, not BASIC
2018-04-28 01:24:57 +00:00
2018-06-04 20:55:28 +00:00
2018-06-04 18:57:40 +00:00
;==========
; main code
;==========
2018-04-28 01:24:57 +00:00
2018-06-04 18:57:40 +00:00
.include "sa_mb.s"
.include "sa_ed.s"
2018-04-28 01:24:57 +00:00
;=========
;routines
;=========
.include "../asm_routines/gr_offsets.s"
.include "../asm_routines/mockingboard_a.s"
.include "../asm_routines/lz4_decode.s"
2018-05-23 18:07:19 +00:00
.include "display_art.s"
.include "display_lyrics.s"
2018-04-28 01:24:57 +00:00
.include "interrupt_handler.s"
2018-06-04 18:57:40 +00:00
.include "duet.s"
2018-04-28 01:24:57 +00:00
;=========
; strings
;=========
2018-05-21 17:33:08 +00:00
2018-05-21 18:32:12 +00:00
lyrics:
.include "lyrics.inc"
art:
2018-05-23 20:09:44 +00:00
.include "ascii_art.inc"
2018-05-21 17:33:08 +00:00
LZ4_BUFFER:
2018-05-24 03:49:18 +00:00
.incbin "SA.KR4"
2018-05-21 17:33:08 +00:00
2018-06-04 18:57:40 +00:00
music_address:
.incbin "SA.ED"