dos33fsprogs/megademo/megademo.s

225 lines
3.5 KiB
ArmAsm
Raw Normal View History

2018-08-29 15:46:25 +00:00
; Apple II Megademo
; by deater (Vince Weaver) <vince@deater.net>
2018-08-29 21:14:43 +00:00
.include "zp.inc"
2018-08-29 15:57:54 +00:00
.include "hardware.inc"
; external routines
play_music=$1000
mockingboard_init=$1100
mockingboard_mute=$11a1
2018-08-29 15:57:54 +00:00
2018-10-13 20:55:14 +00:00
megademo_start: ; this should end up at $4000
2018-10-13 18:42:51 +00:00
;===================
; Check for Apple II and patch
;===================
lda $FBB3 ; IIe and newer is $06
cmp #6
beq apple_iie
lda #$54 ; patch the check_email font code
sta ce_patch+1
apple_iie:
;==================
; Init mockingboard
;==================
lda #0
sta MB_PATTERN
2018-10-29 04:36:32 +00:00
lda #$60
sta MB_FRAME
jsr mockingboard_init
2018-08-29 15:57:54 +00:00
;===================
; set graphics mode
;===================
jsr HOME
2018-10-29 21:09:02 +00:00
; jsr space_bars
2018-10-13 23:03:38 +00:00
2018-10-30 05:55:14 +00:00
; jsr arriving_there
; jsr fireworks
2018-09-17 04:12:51 +00:00
; C64 Opening Sequence
2018-08-29 21:14:43 +00:00
2018-09-23 03:07:59 +00:00
jsr c64_opener
2018-08-29 21:14:43 +00:00
2018-09-17 04:12:51 +00:00
; Falling Apple II
2018-08-29 21:14:43 +00:00
2018-09-17 04:12:51 +00:00
jsr falling_apple
2018-08-29 21:14:43 +00:00
2018-09-17 04:12:51 +00:00
; Starring Screens
2018-10-01 02:10:13 +00:00
jsr starring
2018-09-17 04:12:51 +00:00
2018-10-02 04:19:26 +00:00
jsr setup_people_fs
jsr starring_people
jsr setup_people_deater
jsr starring_people
jsr setup_people_lg
jsr starring_people
2018-10-02 04:19:26 +00:00
2018-09-17 04:12:51 +00:00
; E-mail arriving
2018-09-29 04:59:14 +00:00
jsr check_email
; Leaving house
2018-10-14 04:50:15 +00:00
jsr leaving_home
; Riding bird
2018-10-13 18:42:51 +00:00
jsr bird_mountain
; Waterfall
2018-10-06 03:57:39 +00:00
jsr waterfall
; Enter ship
2018-10-04 04:33:04 +00:00
jsr rocket_takeoff
2018-09-29 04:59:14 +00:00
; mode7 (???)
2018-10-13 18:42:51 +00:00
jsr mode7_flying
2018-09-29 04:59:14 +00:00
; Fly in space
2018-10-13 23:03:38 +00:00
jsr space_bars
; Arrive
2018-10-16 02:18:16 +00:00
jsr arriving_there
; Fireworks
2018-10-13 18:42:51 +00:00
jsr fireworks
;==================
; Game over
;==================
; we never get here
;game_over_man:
; jmp game_over_man
2018-08-29 15:46:25 +00:00
2018-10-29 04:36:32 +00:00
.align $100
2018-08-29 21:14:43 +00:00
.include "lz4_decode.s"
2018-09-17 04:12:51 +00:00
.include "c64_opener.s"
2018-09-17 04:44:32 +00:00
.include "falling_apple.s"
.include "gr_unrle.s"
.include "gr_copy.s"
2018-10-01 02:10:13 +00:00
.include "starring.s"
2018-10-02 04:19:26 +00:00
.include "starring_people.s"
2018-09-29 04:59:14 +00:00
.include "check_email.s"
2018-09-23 17:44:03 +00:00
.align $100
2018-09-17 17:26:45 +00:00
.include "gr_offsets.s"
.include "gr_hline.s"
.include "vapor_lock.s"
.include "delay_a.s"
; .include "wait_keypress.s"
.include "random16.s"
.align $100
2018-10-04 04:33:04 +00:00
.include "fireworks.s"
.include "hgr.s"
2018-10-13 18:42:51 +00:00
.include "bird_mountain.s"
.include "move_letters.s"
.align $100
.include "gr_putsprite.s"
2018-10-13 18:42:51 +00:00
.include "mode7.s"
2018-10-13 23:03:38 +00:00
.include "space_bars.s"
2018-10-04 04:33:04 +00:00
.include "takeoff.s"
2018-10-14 04:50:15 +00:00
.include "leaving.s"
2018-10-16 02:18:16 +00:00
.include "arrival.s"
2018-10-06 03:57:39 +00:00
.include "waterfall.s"
2018-10-13 23:03:38 +00:00
.include "text_print.s"
2018-10-14 03:35:03 +00:00
.align $100
.include "screen_split.s"
2018-10-06 03:57:39 +00:00
;============================
; Include Sprites
;============================
.align $100
.include "tfv_sprites.inc"
2018-10-14 03:35:03 +00:00
.include "mode7_sprites.inc"
2018-10-06 03:57:39 +00:00
2018-10-17 16:04:14 +00:00
;=================================
; Include Text for Sliding Letters
; *DONT CROSS PAGES*
;=================================
.include "letters.s"
2018-10-06 03:57:39 +00:00
;============================
2018-10-14 03:35:03 +00:00
; Include Lores Graphics
2018-10-17 16:04:14 +00:00
; No Alignment Needed
2018-10-06 03:57:39 +00:00
;============================
2018-10-17 16:04:14 +00:00
; falling_apple
.include "apple_40_96.inc"
2018-10-18 17:53:37 +00:00
; starring
.include "starring1.inc"
.include "starring2.inc"
.include "fs.inc"
.include "deater.inc"
.include "lg.inc"
.include "sp_names.inc"
2018-10-18 17:53:37 +00:00
2018-10-22 04:19:34 +00:00
; e-mail
.include "email_40_96.inc"
2018-10-14 04:50:15 +00:00
; leaving
.include "leaving.inc"
2018-10-17 16:04:14 +00:00
2018-10-06 19:43:10 +00:00
; waterfall
.include "waterfall_page1.inc"
.include "waterfall_page2.inc"
2018-10-17 16:04:14 +00:00
2018-10-19 02:27:08 +00:00
; takeoff
.include "takeoff.inc"
2018-10-16 02:18:16 +00:00
; arrival
.include "arrival.inc"
2018-10-14 04:50:15 +00:00
;background:
.include "fw_background.inc"
2018-10-14 03:35:03 +00:00
;============================
; Include Hires Graphics
2018-10-17 16:04:14 +00:00
; No Alignment Needed
; FIXME: we can save 8 bytes per file by stripping checksums off end
2018-10-14 03:35:03 +00:00
;============================
2018-10-17 16:04:14 +00:00
2018-10-18 17:53:37 +00:00
; starring
starring3:
.incbin "starring3.img.lz4",11
starring3_end:
fs_hgr:
.incbin "FS_HGRC.BIN.lz4",11
fs_hgr_end:
deater_hgr:
.incbin "DEATER_HGRC.BIN.lz4",11
deater_hgr_end:
lg_hgr:
.incbin "LG_HGRC.BIN.lz4",11
lg_hgr_end:
2018-10-18 17:53:37 +00:00
2018-10-17 16:04:14 +00:00
; bird mountain
2018-10-17 15:40:03 +00:00
katahdin:
.incbin "KATC.BIN.lz4",11 ; skip the header
katahdin_end:
2018-10-14 03:35:03 +00:00
2018-10-19 02:27:08 +00:00
; takeoff
takeoff_hgr:
.incbin "takeoff.img.lz4",11
takeoff_hgr_end:
2018-10-17 16:04:14 +00:00
; spacebars
sb_background_hgr:
.incbin "SB_BACKGROUNDC.BIN.lz4",11
sb_background_hgr_end:
2018-10-19 02:27:08 +00:00