dos33fsprogs/games/peasant/vid_logo.s

305 lines
4.9 KiB
ArmAsm
Raw Normal View History

2021-08-11 03:43:30 +00:00
; Videlectrix Intro
; o/~ Make Good Graphics o/~
2021-08-11 03:43:30 +00:00
; 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
2021-08-11 03:43:30 +00:00
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
2021-08-11 19:58:10 +00:00
sta DISP_PAGE
lda #$40
sta DRAW_PAGE
2021-08-11 03:43:30 +00:00
;************************
; Intro
2021-08-11 03:43:30 +00:00
;************************
; Load logo offscreen at $9000
2021-08-11 03:43:30 +00:00
lda #<(videlectrix_lzsa)
sta getsrc_smc+1
lda #>(videlectrix_lzsa)
sta getsrc_smc+2
lda #$90
2021-08-11 03:43:30 +00:00
jsr decompress_lzsa2_fast
; jsr wait_until_keypress
2021-08-11 03:43:30 +00:00
2021-08-11 04:41:29 +00:00
ldy #0
animation_loop:
2021-09-23 17:16:18 +00:00
; flip between the two pages
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
2021-09-23 17:16:18 +00:00
; load delays
; $FF means we are done
2021-08-11 04:41:29 +00:00
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
2021-08-11 04:41:29 +00:00
jsr decompress_lzsa2_fast
jsr hgr_overlay
2021-08-11 04:41:29 +00:00
pla
tay
2021-09-23 17:16:18 +00:00
pha
; play sound if needed?
lda notes,Y
beq no_note
sta speaker_frequency
lda #50
sta speaker_duration
jsr speaker_beep
no_note:
pla ; restore Y
tay
2021-08-11 04:41:29 +00:00
iny
2021-09-23 17:16:18 +00:00
; exit if keypressed
2021-08-11 19:58:10 +00:00
lda KEYPRESS
bpl animation_loop
2021-08-11 04:41:29 +00:00
done_loop:
2021-08-11 19:58:10 +00:00
bit KEYRESET
2021-08-11 04:41:29 +00:00
rts
;forever:
; jmp forever
animation_low:
2021-08-11 19:58:10 +00:00
.byte <videlectrix_lzsa
; .byte <title_anim01_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim02_lzsa
.byte <title_anim03_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim04_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim05_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim06_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim07_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim08_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim09_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim10_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim11_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim12_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim13_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim14_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim15_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim16_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim17_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim18_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim19_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim20_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim21_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim22_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim23_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim24_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim25_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim26_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim27_lzsa
2021-08-11 19:58:10 +00:00
; .byte <title_anim28_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim29_lzsa
.byte <title_anim30_lzsa
.byte <title_anim31_lzsa
.byte <title_anim32_lzsa
.byte <title_anim33_lzsa
2021-08-11 19:58:10 +00:00
.byte <title_anim33_lzsa
.byte <title_anim33_lzsa
.byte <title_anim34_lzsa
2021-08-11 04:41:29 +00:00
.byte <title_anim34_lzsa
animation_high:
2021-08-11 19:58:10 +00:00
.byte >videlectrix_lzsa
; .byte >title_anim01_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim02_lzsa
.byte >title_anim03_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim04_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim05_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim06_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim07_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim08_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim09_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim10_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim11_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim12_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim13_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim14_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim15_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim16_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim17_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim18_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim19_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim20_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim21_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim22_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim23_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim24_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim25_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim26_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim27_lzsa
2021-08-11 19:58:10 +00:00
; .byte >title_anim28_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim29_lzsa
.byte >title_anim30_lzsa
.byte >title_anim31_lzsa
.byte >title_anim32_lzsa
.byte >title_anim33_lzsa
2021-08-11 19:58:10 +00:00
.byte >title_anim33_lzsa
.byte >title_anim33_lzsa
.byte >title_anim34_lzsa
2021-08-11 04:41:29 +00:00
.byte >title_anim34_lzsa
2021-09-23 17:16:18 +00:00
notes:
.byte 0 ; title ; .byte 0 ; 1
.byte 0 ; 2
.byte 0 ; 3 ; .byte 0 ; 4
.byte 0 ; 5 ; .byte 0 ; 6
.byte 0 ; 7 ; .byte 0 ; 8
.byte 0 ; 9 ; .byte 0 ; 10
.byte 0 ; 11 ; .byte 0 ; 12
.byte 0 ; 13 ; .byte 0 ; 14
.byte NOTE_E4 ; 15 ; .byte 0 ; 16
.byte NOTE_D4 ; 17 ; .byte 0 ; 18
.byte NOTE_F4 ; 19 ; .byte 0 ; 20
.byte 0 ; 21 ; .byte 0 ; 22
.byte 0 ; 23 ; .byte 0 ; 24
.byte 0 ; 25 ; .byte 0 ; 26
.byte NOTE_C4 ; 27 ; .byte 0 ; 28
.byte 0 ; 29
.byte 0 ; 30
.byte 0 ; 31
.byte NOTE_C5 ; 32
.byte NOTE_C5 ; 33
.byte 0 ; 33
.byte 0 ; 33
.byte NOTE_C4 ; 34
.byte 0 ; 34
2021-08-11 04:41:29 +00:00
delays:
2021-08-11 19:58:10 +00:00
.byte 1 ; title
; .byte 1 ; 1
2021-08-11 04:41:29 +00:00
.byte 1 ; 2
.byte 1 ; 3
2021-08-11 19:58:10 +00:00
; .byte 1 ; 4
2021-08-11 04:41:29 +00:00
.byte 1 ; 5
2021-08-11 19:58:10 +00:00
; .byte 1 ; 6
2021-08-11 04:41:29 +00:00
.byte 1 ; 7
2021-08-11 19:58:10 +00:00
; .byte 1 ; 8
2021-08-11 04:41:29 +00:00
.byte 1 ; 9
2021-08-11 19:58:10 +00:00
; .byte 1 ; 10
2021-08-11 04:41:29 +00:00
.byte 1 ; 11
2021-08-11 19:58:10 +00:00
; .byte 1 ; 12
2021-08-11 04:41:29 +00:00
.byte 1 ; 13
2021-08-11 19:58:10 +00:00
; .byte 1 ; 14
2021-08-11 04:41:29 +00:00
.byte 1 ; 15
2021-08-11 19:58:10 +00:00
; .byte 1 ; 16
2021-08-11 04:41:29 +00:00
.byte 1 ; 17
2021-08-11 19:58:10 +00:00
; .byte 1 ; 18
2021-08-11 04:41:29 +00:00
.byte 1 ; 19
2021-08-11 19:58:10 +00:00
; .byte 1 ; 20
2021-08-11 04:41:29 +00:00
.byte 1 ; 21
2021-08-11 19:58:10 +00:00
; .byte 1 ; 22
2021-08-11 04:41:29 +00:00
.byte 1 ; 23
2021-08-11 19:58:10 +00:00
; .byte 1 ; 24
2021-08-11 04:41:29 +00:00
.byte 1 ; 25
2021-08-11 19:58:10 +00:00
; .byte 1 ; 26
2021-08-11 04:41:29 +00:00
.byte 1 ; 27
2021-08-11 19:58:10 +00:00
; .byte 1 ; 28
2021-08-11 04:41:29 +00:00
.byte 1 ; 29
.byte 1 ; 30
.byte 1 ; 31
.byte 1 ; 32
.byte 1 ; 33
2021-08-11 19:58:10 +00:00
.byte 1 ; 33
.byte 1 ; 33
.byte 1 ; 34
2021-08-11 04:41:29 +00:00
.byte 1 ; 34
.byte $FF
2021-08-11 03:43:30 +00:00
.include "decompress_fast_v2.s"
.include "hgr_overlay.s"
2021-09-23 17:16:18 +00:00
.include "speaker_beeps.s"
2021-08-11 19:58:10 +00:00
;.include "wait_keypress.s"
2021-08-11 03:43:30 +00:00
.include "graphics_vid/vid_graphics.inc"
2021-09-23 17:16:18 +00:00