dos33fsprogs/still_alive/still_alive.s

121 lines
1.7 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-05 13:48:06 +00:00
;===========================
; setup text screens
;===========================
2018-06-05 13:48:06 +00:00
lda FORTYCOL
bne only_forty
switch_to_80:
; Initialize 80 column firmware
jsr $C300 ; same as PR#3
sta SET80COL ; 80store C001
; makes pageflip switch between
; regular/aux memory
only_forty:
; Clear text page0
jsr HOME
;============================
; Draw Lineart around edges
;============================
jsr setup_edges
jsr HOME
;=====================================
2018-06-04 19:26:03 +00:00
; See if Mockingboard or Electric Duet
2018-06-05 13:48:06 +00:00
;=====================================
2018-06-04 19:26:03 +00:00
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
jmp wait_for_keypress
2018-06-04 19:26:03 +00:00
no_mockingboard:
jsr still_alive_ed
2018-04-28 01:24:57 +00:00
wait_for_keypress:
lda KEYPRESS ; check if keypressed
bpl wait_for_keypress ; if not, loop
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 "gr_offsets.s"
.include "mockingboard_a.s"
.include "lz4_decode.s"
2018-04-28 01:24:57 +00:00
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-06-04 18:57:40 +00:00
music_address:
;.incbin "SA.KR4"
;.incbin "SA.ED"
2018-06-04 18:57:40 +00:00