mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-13 22:30:49 +00:00
ootw: credits: working a bit better
This commit is contained in:
parent
9b1be9508c
commit
283784c94a
@ -7,12 +7,6 @@ end_credits:
|
||||
lda KEYRESET
|
||||
bit SET_TEXT ; switch to text mode
|
||||
|
||||
; 0@24
|
||||
; 0@23,1@24
|
||||
; 0@22,1@23,2@24...
|
||||
; 0@0...
|
||||
|
||||
|
||||
; clear to space
|
||||
|
||||
lda #$a0
|
||||
@ -21,17 +15,37 @@ end_credits:
|
||||
|
||||
; X is starting YPOS to print at
|
||||
|
||||
ldx #46
|
||||
ldx #48
|
||||
stx YPOS
|
||||
|
||||
scroll_loop:
|
||||
; jsr HOME
|
||||
|
||||
jsr clear_all ; trashes A,Y
|
||||
|
||||
ldy #0
|
||||
stx XPOS ; X is YPOS to print at
|
||||
ldy #0 ; credit offset
|
||||
ldx YPOS
|
||||
print_loop:
|
||||
|
||||
cpx #48
|
||||
bcs after_print
|
||||
|
||||
cpy #48
|
||||
bcs after_print
|
||||
|
||||
; write next line
|
||||
|
||||
|
||||
;============================
|
||||
; set BASL/BASH to offset w Y
|
||||
|
||||
lda gr_offsets,X
|
||||
sta BASL
|
||||
lda gr_offsets+1,X
|
||||
clc
|
||||
adc DRAW_PAGE
|
||||
sta BASH
|
||||
|
||||
; get credit line
|
||||
lda credit_list,Y
|
||||
sta OUTL
|
||||
lda credit_list+1,Y
|
||||
@ -40,60 +54,46 @@ print_loop:
|
||||
tya
|
||||
pha
|
||||
|
||||
ldy XPOS ; YPOS on screen
|
||||
|
||||
;============================
|
||||
; set BASL/BASH to offset w Y
|
||||
|
||||
lda gr_offsets,Y
|
||||
sta BASL
|
||||
lda gr_offsets+1,Y
|
||||
clc
|
||||
adc DRAW_PAGE
|
||||
sta BASH
|
||||
|
||||
;============================
|
||||
; print the string
|
||||
jsr print_string
|
||||
jsr print_string ; trashes Y
|
||||
|
||||
pla
|
||||
tay
|
||||
|
||||
iny ; move to next line
|
||||
after_print:
|
||||
|
||||
inx
|
||||
inx
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
inc XPOS
|
||||
inc XPOS
|
||||
lda XPOS
|
||||
|
||||
cmp #48 ; if off screen, don't print
|
||||
cpx #48 ; if off screen, don't print
|
||||
bne print_loop
|
||||
|
||||
;====================
|
||||
; done printing
|
||||
|
||||
jsr page_flip ; flip to page
|
||||
jsr page_flip ; flip page
|
||||
|
||||
;====================
|
||||
; delay a bit
|
||||
;====================
|
||||
; 400ms normally
|
||||
; if credits on screen, wait much longer
|
||||
|
||||
txa
|
||||
pha
|
||||
ldx YPOS
|
||||
cpx #0
|
||||
beq credits_long_pause
|
||||
|
||||
credits_short_pause:
|
||||
ldx #40 ; time to sleep (X*10ms)
|
||||
jsr long_wait ; trashes A,X
|
||||
pla
|
||||
tax
|
||||
jmp credits_done_pause
|
||||
|
||||
;===================
|
||||
; scroll
|
||||
|
||||
dex
|
||||
dex
|
||||
bpl scroll_loop
|
||||
|
||||
;============================================
|
||||
credits_long_pause:
|
||||
; actual games pauses 10s, then scrolls again
|
||||
;============================================
|
||||
; delay 6s?
|
||||
|
||||
ldx #200
|
||||
@ -105,15 +105,43 @@ print_loop:
|
||||
ldx #200
|
||||
jsr long_wait
|
||||
|
||||
jsr HOME
|
||||
credits_done_pause:
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
|
||||
;===================
|
||||
; scroll
|
||||
|
||||
dec YPOS
|
||||
dec YPOS
|
||||
lda YPOS
|
||||
cmp #256-48 ; scroll until all off screen
|
||||
bne scroll_loop
|
||||
|
||||
|
||||
;============================================
|
||||
; actual games pauses 10s, then scrolls again
|
||||
;============================================
|
||||
; delay 6s?
|
||||
|
||||
; ldx #200
|
||||
; jsr long_wait
|
||||
|
||||
; ldx #200
|
||||
; jsr long_wait
|
||||
|
||||
; ldx #200
|
||||
; jsr long_wait
|
||||
|
||||
; jsr HOME
|
||||
bit KEYRESET
|
||||
|
||||
;======================
|
||||
; print end message
|
||||
; print final message
|
||||
;======================
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
jsr clear_all
|
||||
|
||||
lda #<end_message
|
||||
sta OUTL
|
||||
@ -122,6 +150,8 @@ print_loop:
|
||||
|
||||
jsr move_and_print
|
||||
|
||||
jsr page_flip
|
||||
|
||||
rts
|
||||
|
||||
|
||||
@ -143,18 +173,18 @@ print_loop:
|
||||
|
||||
credits0:.byte "",0
|
||||
credits1:.byte " DESIGNED BY ..... ERIC CHAHI",0
|
||||
credits2:.byte "",0
|
||||
;credits2:.byte "",0
|
||||
credits3:.byte " ARTWORK ......... ERIC CHAHI",0
|
||||
credits4:.byte "",0
|
||||
;credits4:.byte "",0
|
||||
credits5:.byte " MUSIC BY ........ JEAN-FRANCOIS FREITAS",0
|
||||
credits6:.byte "",0
|
||||
;credits6:.byte "",0
|
||||
credits7:.byte " SOUND EFFECTS",0
|
||||
credits8:.byte " JEAN-FRANCOIS FREITAS",0
|
||||
credits9:.byte " ERIC CHAHI",0
|
||||
credits10:.byte "",0
|
||||
;credits10:.byte "",0
|
||||
credits11:.byte " APPLE II+ PORT",0
|
||||
credits12:.byte " VINCE WEAVER",0
|
||||
credits13:.byte "",0
|
||||
credits12:.byte " VINCE 'DEATER' WEAVER",0
|
||||
;credits13:.byte "",0
|
||||
credits14:.byte " APPLE ][ FOREVER",0
|
||||
|
||||
credit_list:
|
||||
@ -162,28 +192,27 @@ credit_list:
|
||||
.word credits0 ; 1
|
||||
.word credits0 ; 2
|
||||
.word credits1 ; 3
|
||||
.word credits2 ; 4
|
||||
.word credits0 ; 4
|
||||
.word credits3 ; 5
|
||||
.word credits4 ; 6
|
||||
.word credits0 ; 6
|
||||
.word credits5 ; 7
|
||||
.word credits6 ; 8
|
||||
.word credits0 ; 8
|
||||
.word credits0 ; 9
|
||||
.word credits7 ; 10
|
||||
.word credits8 ; 11
|
||||
.word credits9 ; 12
|
||||
.word credits10 ; 13
|
||||
.word credits0 ; 13
|
||||
.word credits11 ; 14
|
||||
.word credits12 ; 16
|
||||
.word credits0 ; 15
|
||||
.word credits0 ; 18
|
||||
.word credits13 ; 17
|
||||
.word credits0 ; 17
|
||||
.word credits14 ; 19
|
||||
.word credits0 ; 20
|
||||
.word credits0 ; 21
|
||||
.word credits0 ; 22
|
||||
.word credits0 ; 23
|
||||
|
||||
end_message:
|
||||
.byte 6,10,"NOW GO BACK TO ANOTHER EARTH",0
|
||||
|
||||
|
||||
|
||||
|
@ -10,6 +10,15 @@
|
||||
|
||||
ending:
|
||||
|
||||
; temporary debug
|
||||
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
lda #0
|
||||
sta DISP_PAGE
|
||||
jmp handle_credits
|
||||
|
||||
;=========================
|
||||
; set up sound
|
||||
;=========================
|
||||
@ -132,10 +141,7 @@ cli_smc:
|
||||
; credits
|
||||
;===========================
|
||||
|
||||
;quit_level:
|
||||
; jsr TEXT
|
||||
; jsr HOME
|
||||
; lda KEYRESET ; clear strobe
|
||||
handle_credits:
|
||||
|
||||
;======================
|
||||
; scroll credits
|
||||
@ -167,7 +173,6 @@ sei_smc:
|
||||
; jmp repeat_ending
|
||||
|
||||
|
||||
|
||||
;======================
|
||||
; wait until keypressed
|
||||
;======================
|
||||
|
Loading…
x
Reference in New Issue
Block a user