initial commit
This commit is contained in:
+164
@@ -0,0 +1,164 @@
|
||||
; -----------------------------------------------------------
|
||||
; credits.asm - the same crew as rabbitc64, but a new look:
|
||||
; rainbow bars scrolling along the top and bottom edges in
|
||||
; opposite directions, a rainbow sweep across the big
|
||||
; CREDITS, each crew line in its own fixed color and the
|
||||
; ai warning pulsing grey-white (no scroller, no parade)
|
||||
; -----------------------------------------------------------
|
||||
|
||||
credits_init:
|
||||
jsr clear_screen
|
||||
|
||||
; rainbow bars: solid blocks across rows 0 and 24
|
||||
ldx #39
|
||||
ci_bars:
|
||||
lda #$a0
|
||||
sta SCREEN,x
|
||||
sta SCREEN+24*40,x
|
||||
dex
|
||||
bpl ci_bars
|
||||
|
||||
+prbig 2, 6, WHITE, txt_credits, 7
|
||||
|
||||
+prtext 9, 13, WHITE, txt_ttgname, 14
|
||||
|
||||
+prtext 12, 8, YELLOW, txt_crew0, txt_crew0e-txt_crew0
|
||||
+prtext 13, 10, LGREEN, txt_crew1, txt_crew1e-txt_crew1
|
||||
+prtext 14, 9, CYAN, txt_crew2, txt_crew2e-txt_crew2
|
||||
+prtext 15, 10, LRED, txt_crew3, txt_crew3e-txt_crew3
|
||||
|
||||
+prtext 17, 9, LGREY, txt_ai1, txt_ai1e-txt_ai1
|
||||
+prtext 18, 12, LGREY, txt_ai2, txt_ai2e-txt_ai2
|
||||
|
||||
lda #0
|
||||
sta barphase
|
||||
+setupd credits_update
|
||||
rts
|
||||
|
||||
credits_update:
|
||||
; the edge bars crawl in opposite directions
|
||||
lda framectr
|
||||
and #3
|
||||
bne cu_barsdone
|
||||
inc barphase
|
||||
cu_barsdone:
|
||||
ldx #39
|
||||
cu_bars:
|
||||
txa
|
||||
clc
|
||||
adc barphase
|
||||
and #7
|
||||
tay
|
||||
lda raintbl,y
|
||||
sta COLRAM,x ; top bar: colors drift left
|
||||
lda barphase
|
||||
stx rtmp
|
||||
sec
|
||||
sbc rtmp
|
||||
and #7
|
||||
tay
|
||||
lda raintbl,y
|
||||
sta COLRAM+24*40,x ; bottom bar: colors drift right
|
||||
dex
|
||||
bpl cu_bars
|
||||
|
||||
; rainbow sweep across the big CREDITS (rows 2-6)
|
||||
lda #0
|
||||
sta rtmp2
|
||||
cu_sweep:
|
||||
lda #2
|
||||
clc
|
||||
adc rtmp2
|
||||
tax
|
||||
jsr row_ptr
|
||||
lda framectr
|
||||
lsr
|
||||
lsr
|
||||
clc
|
||||
adc rtmp2
|
||||
and #7
|
||||
tax
|
||||
lda raintbl,x
|
||||
sta rtmp
|
||||
ldy #32 ; the letters span columns 6-32
|
||||
cu_scol:
|
||||
lda (scrlo),y
|
||||
cmp #$a0 ; only touch the letter blocks
|
||||
bne cu_sskip
|
||||
lda rtmp
|
||||
sta (collo),y
|
||||
cu_sskip:
|
||||
dey
|
||||
cpy #5
|
||||
bne cu_scol
|
||||
inc rtmp2
|
||||
lda rtmp2
|
||||
cmp #5
|
||||
bne cu_sweep
|
||||
|
||||
; the ai warning pulses grey-white
|
||||
lda framectr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
and #7
|
||||
tax
|
||||
lda pulsetbl,x
|
||||
sta rtmp
|
||||
ldx #17
|
||||
jsr row_ptr
|
||||
ldy #30
|
||||
cu_p1:
|
||||
lda rtmp
|
||||
sta (collo),y
|
||||
dey
|
||||
cpy #8
|
||||
bne cu_p1
|
||||
ldx #18
|
||||
jsr row_ptr
|
||||
ldy #27
|
||||
cu_p2:
|
||||
lda rtmp
|
||||
sta (collo),y
|
||||
dey
|
||||
cpy #11
|
||||
bne cu_p2
|
||||
|
||||
; blink the return prompt
|
||||
lda framectr
|
||||
and #32
|
||||
bne cu_hide
|
||||
+prtext 21, 13, YELLOW, txt_return, 13
|
||||
jmp cu_input
|
||||
cu_hide:
|
||||
+prtext 21, 13, YELLOW, txt_blank, 13
|
||||
cu_input:
|
||||
jsr start_edge
|
||||
beq cu_stay
|
||||
jmp menu_init ; back to the menu
|
||||
cu_stay:
|
||||
rts
|
||||
|
||||
; ---- tables ----
|
||||
pulsetbl: ; grey-white pulse (8 entries, cyclic)
|
||||
!byte $0b, $0c, $0f, $01, $01, $0f, $0c, $0b
|
||||
|
||||
raintbl: ; rainbow ramp
|
||||
!byte $02, $08, $07, $0d, $03, $0e, $04, $0a
|
||||
|
||||
; ---- the crew (content ported from rabbitc64) ----
|
||||
txt_crew0: !scr "mr.zero - tasnadi zsolt"
|
||||
txt_crew0e:
|
||||
txt_crew1: !scr "mr.one - tari balazs"
|
||||
txt_crew1e:
|
||||
txt_crew2: !scr "mr.two - timar zoltan"
|
||||
txt_crew2e:
|
||||
txt_crew3: !scr "mr.three - mezo bela"
|
||||
txt_crew3e:
|
||||
txt_ai1: !scr "warning: this game was"
|
||||
txt_ai1e:
|
||||
txt_ai2: !scr "written by an ai"
|
||||
txt_ai2e:
|
||||
|
||||
; ---- credits variables ----
|
||||
barphase: !byte 0 ; edge bar scroll offset
|
||||
Reference in New Issue
Block a user