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