dos33fsprogs/games/peasant/vid_logo.s

254 lines
4.0 KiB
ArmAsm

; Videlectrix Intro
; o/~ Make Good Graphics o/~
; HGR is a pain
; by Vince `deater` Weaver vince@deater.net
; with apologies to everyone
.include "hardware.inc"
NIBCOUNT = $09
GBASL = $26
GBASH = $27
CURSOR_X = $62
CURSOR_Y = $63
HGR_COLOR = $E4
HGR_PAGE = $E6
DISP_PAGE = $F0
DRAW_PAGE = $F1
P0 = $F1
P1 = $F2
P2 = $F3
P3 = $F4
P4 = $F5
P5 = $F6
INL = $FC
INH = $FD
OUTL = $FE
OUTH = $FF
hgr_display:
jsr HGR2 ; Hi-res graphics, no text at bottom
; Y=0, A=0 after this called
; HGR_PAGE=$40
lda #$20
sta DISP_PAGE
lda #$40
sta DRAW_PAGE
;************************
; Intro
;************************
; Load logo offscreen at $9000
lda #<(videlectrix_lzsa)
sta getsrc_smc+1
lda #>(videlectrix_lzsa)
sta getsrc_smc+2
lda #$90
jsr decompress_lzsa2_fast
; jsr wait_until_keypress
ldy #0
animation_loop:
lda DRAW_PAGE
cmp #$40
beq show_page2
show_page1:
bit PAGE1
lda #$40
bne done_page ; bra
show_page2:
bit PAGE2
lda #$20
done_page:
sta DRAW_PAGE
eor #$60
sta DISP_PAGE
lda delays,Y
bmi done_loop
lda animation_low,Y
sta getsrc_smc+1
lda animation_high,Y
sta getsrc_smc+2
tya
pha
lda DRAW_PAGE
jsr decompress_lzsa2_fast
jsr hgr_overlay
pla
tay
iny
lda KEYPRESS
bpl animation_loop
; jmp animation_loop
done_loop:
; jsr wait_until_keypress
bit KEYRESET
rts
;forever:
; jmp forever
animation_low:
.byte <videlectrix_lzsa
; .byte <title_anim01_lzsa
.byte <title_anim02_lzsa
.byte <title_anim03_lzsa
; .byte <title_anim04_lzsa
.byte <title_anim05_lzsa
; .byte <title_anim06_lzsa
.byte <title_anim07_lzsa
; .byte <title_anim08_lzsa
.byte <title_anim09_lzsa
; .byte <title_anim10_lzsa
.byte <title_anim11_lzsa
; .byte <title_anim12_lzsa
.byte <title_anim13_lzsa
; .byte <title_anim14_lzsa
.byte <title_anim15_lzsa
; .byte <title_anim16_lzsa
.byte <title_anim17_lzsa
; .byte <title_anim18_lzsa
.byte <title_anim19_lzsa
; .byte <title_anim20_lzsa
.byte <title_anim21_lzsa
; .byte <title_anim22_lzsa
.byte <title_anim23_lzsa
; .byte <title_anim24_lzsa
.byte <title_anim25_lzsa
; .byte <title_anim26_lzsa
.byte <title_anim27_lzsa
; .byte <title_anim28_lzsa
.byte <title_anim29_lzsa
.byte <title_anim30_lzsa
.byte <title_anim31_lzsa
.byte <title_anim32_lzsa
.byte <title_anim33_lzsa
.byte <title_anim33_lzsa
.byte <title_anim33_lzsa
.byte <title_anim34_lzsa
.byte <title_anim34_lzsa
animation_high:
.byte >videlectrix_lzsa
; .byte >title_anim01_lzsa
.byte >title_anim02_lzsa
.byte >title_anim03_lzsa
; .byte >title_anim04_lzsa
.byte >title_anim05_lzsa
; .byte >title_anim06_lzsa
.byte >title_anim07_lzsa
; .byte >title_anim08_lzsa
.byte >title_anim09_lzsa
; .byte >title_anim10_lzsa
.byte >title_anim11_lzsa
; .byte >title_anim12_lzsa
.byte >title_anim13_lzsa
; .byte >title_anim14_lzsa
.byte >title_anim15_lzsa
; .byte >title_anim16_lzsa
.byte >title_anim17_lzsa
; .byte >title_anim18_lzsa
.byte >title_anim19_lzsa
; .byte >title_anim20_lzsa
.byte >title_anim21_lzsa
; .byte >title_anim22_lzsa
.byte >title_anim23_lzsa
; .byte >title_anim24_lzsa
.byte >title_anim25_lzsa
; .byte >title_anim26_lzsa
.byte >title_anim27_lzsa
; .byte >title_anim28_lzsa
.byte >title_anim29_lzsa
.byte >title_anim30_lzsa
.byte >title_anim31_lzsa
.byte >title_anim32_lzsa
.byte >title_anim33_lzsa
.byte >title_anim33_lzsa
.byte >title_anim33_lzsa
.byte >title_anim34_lzsa
.byte >title_anim34_lzsa
delays:
.byte 1 ; title
; .byte 1 ; 1
.byte 1 ; 2
.byte 1 ; 3
; .byte 1 ; 4
.byte 1 ; 5
; .byte 1 ; 6
.byte 1 ; 7
; .byte 1 ; 8
.byte 1 ; 9
; .byte 1 ; 10
.byte 1 ; 11
; .byte 1 ; 12
.byte 1 ; 13
; .byte 1 ; 14
.byte 1 ; 15
; .byte 1 ; 16
.byte 1 ; 17
; .byte 1 ; 18
.byte 1 ; 19
; .byte 1 ; 20
.byte 1 ; 21
; .byte 1 ; 22
.byte 1 ; 23
; .byte 1 ; 24
.byte 1 ; 25
; .byte 1 ; 26
.byte 1 ; 27
; .byte 1 ; 28
.byte 1 ; 29
.byte 1 ; 30
.byte 1 ; 31
.byte 1 ; 32
.byte 1 ; 33
.byte 1 ; 33
.byte 1 ; 33
.byte 1 ; 34
.byte 1 ; 34
.byte $FF
.include "decompress_fast_v2.s"
.include "hgr_overlay.s"
;.include "wait_keypress.s"
.include "graphics_vid/vid_graphics.inc"