mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-26 11:30:12 +00:00
225 lines
3.5 KiB
ArmAsm
225 lines
3.5 KiB
ArmAsm
; Apple II Megademo
|
|
|
|
; by deater (Vince Weaver) <vince@deater.net>
|
|
|
|
.include "zp.inc"
|
|
.include "hardware.inc"
|
|
|
|
; external routines
|
|
|
|
play_music=$1000
|
|
mockingboard_init=$1100
|
|
mockingboard_mute=$11a1
|
|
|
|
|
|
megademo_start: ; this should end up at $4000
|
|
|
|
;===================
|
|
; 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
|
|
lda #$60
|
|
sta MB_FRAME
|
|
|
|
jsr mockingboard_init
|
|
|
|
;===================
|
|
; set graphics mode
|
|
;===================
|
|
jsr HOME
|
|
|
|
; jsr space_bars
|
|
|
|
; jsr arriving_there
|
|
|
|
; jsr fireworks
|
|
|
|
; C64 Opening Sequence
|
|
|
|
jsr c64_opener
|
|
|
|
; Falling Apple II
|
|
|
|
jsr falling_apple
|
|
|
|
; Starring Screens
|
|
jsr starring
|
|
|
|
jsr setup_people_fs
|
|
jsr starring_people
|
|
jsr setup_people_deater
|
|
jsr starring_people
|
|
jsr setup_people_lg
|
|
jsr starring_people
|
|
|
|
; E-mail arriving
|
|
jsr check_email
|
|
|
|
; Leaving house
|
|
jsr leaving_home
|
|
|
|
; Riding bird
|
|
jsr bird_mountain
|
|
|
|
; Waterfall
|
|
jsr waterfall
|
|
|
|
; Enter ship
|
|
jsr rocket_takeoff
|
|
|
|
; mode7 (???)
|
|
jsr mode7_flying
|
|
|
|
; Fly in space
|
|
jsr space_bars
|
|
|
|
; Arrive
|
|
jsr arriving_there
|
|
|
|
; Fireworks
|
|
jsr fireworks
|
|
|
|
;==================
|
|
; Game over
|
|
;==================
|
|
; we never get here
|
|
;game_over_man:
|
|
; jmp game_over_man
|
|
|
|
|
|
.align $100
|
|
.include "lz4_decode.s"
|
|
.include "c64_opener.s"
|
|
.include "falling_apple.s"
|
|
.include "gr_unrle.s"
|
|
.include "gr_copy.s"
|
|
.include "starring.s"
|
|
.include "starring_people.s"
|
|
.include "check_email.s"
|
|
.align $100
|
|
.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
|
|
.include "fireworks.s"
|
|
.include "hgr.s"
|
|
.include "bird_mountain.s"
|
|
.include "move_letters.s"
|
|
.align $100
|
|
.include "gr_putsprite.s"
|
|
.include "mode7.s"
|
|
.include "space_bars.s"
|
|
.include "takeoff.s"
|
|
.include "leaving.s"
|
|
.include "arrival.s"
|
|
.include "waterfall.s"
|
|
.include "text_print.s"
|
|
.align $100
|
|
.include "screen_split.s"
|
|
|
|
;============================
|
|
; Include Sprites
|
|
;============================
|
|
.align $100
|
|
.include "tfv_sprites.inc"
|
|
.include "mode7_sprites.inc"
|
|
|
|
;=================================
|
|
; Include Text for Sliding Letters
|
|
; *DONT CROSS PAGES*
|
|
;=================================
|
|
.include "letters.s"
|
|
|
|
;============================
|
|
; Include Lores Graphics
|
|
; No Alignment Needed
|
|
;============================
|
|
|
|
; falling_apple
|
|
.include "apple_40_96.inc"
|
|
|
|
; starring
|
|
.include "starring1.inc"
|
|
.include "starring2.inc"
|
|
.include "fs.inc"
|
|
.include "deater.inc"
|
|
.include "lg.inc"
|
|
.include "sp_names.inc"
|
|
|
|
; e-mail
|
|
.include "email_40_96.inc"
|
|
|
|
; leaving
|
|
.include "leaving.inc"
|
|
|
|
; waterfall
|
|
.include "waterfall_page1.inc"
|
|
.include "waterfall_page2.inc"
|
|
|
|
; takeoff
|
|
.include "takeoff.inc"
|
|
|
|
; arrival
|
|
.include "arrival.inc"
|
|
|
|
;background:
|
|
.include "fw_background.inc"
|
|
|
|
;============================
|
|
; Include Hires Graphics
|
|
; No Alignment Needed
|
|
; FIXME: we can save 8 bytes per file by stripping checksums off end
|
|
;============================
|
|
|
|
; 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:
|
|
|
|
; bird mountain
|
|
katahdin:
|
|
.incbin "KATC.BIN.lz4",11 ; skip the header
|
|
katahdin_end:
|
|
|
|
; takeoff
|
|
takeoff_hgr:
|
|
.incbin "takeoff.img.lz4",11
|
|
takeoff_hgr_end:
|
|
|
|
; spacebars
|
|
sb_background_hgr:
|
|
.incbin "SB_BACKGROUNDC.BIN.lz4",11
|
|
sb_background_hgr_end:
|
|
|
|
|
|
|
|
|