Island transitions, more text
This commit is contained in:
parent
6c41c40f3d
commit
8649775d96
|
|
@ -109,7 +109,7 @@ code_start:
|
|||
ldx #<copyright
|
||||
ldy #>copyright
|
||||
jsr write_txt3
|
||||
ldx #$30
|
||||
ldx #$00
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #1
|
||||
|
|
@ -123,12 +123,9 @@ code_start:
|
|||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
ldx #250
|
||||
ldy #0
|
||||
ldx #$90
|
||||
ldy #$01
|
||||
jsr txt_fade_out
|
||||
lda #64
|
||||
sta frame_delay
|
||||
jsr wait_loop
|
||||
|
||||
sei
|
||||
jsr set_irq_badguy
|
||||
|
|
@ -169,7 +166,6 @@ code_start:
|
|||
jsr init_2x
|
||||
lda #$0b
|
||||
sta $d011
|
||||
; jmp part_11
|
||||
|
||||
jsr clr_txt
|
||||
ldx #<story_writ
|
||||
|
|
@ -398,15 +394,9 @@ code_start:
|
|||
|
||||
ldx #$10
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #8*11
|
||||
sta timer
|
||||
lda #2
|
||||
sta timer_mode
|
||||
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
jsr txt_fade_out_offset
|
||||
|
||||
ldx #$c4
|
||||
ldy #$01
|
||||
|
|
@ -471,7 +461,6 @@ part_9:
|
|||
; $7900-$79ff tileset CRAM colors
|
||||
; $9000- compressed tilemap
|
||||
|
||||
|
||||
jsr clr_txt
|
||||
ldx #<art_direct
|
||||
ldy #>art_direct
|
||||
|
|
@ -500,15 +489,8 @@ part_9:
|
|||
|
||||
ldx #$90
|
||||
ldy #$01
|
||||
;jsr txt_fade_out
|
||||
jsr init_timer
|
||||
lda #8
|
||||
sta timer
|
||||
lda #2
|
||||
sta timer_mode
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
jsr txt_fade_out_offset
|
||||
|
||||
lda #0
|
||||
sta $d011
|
||||
|
|
@ -606,7 +588,7 @@ part_9:
|
|||
lda #0
|
||||
sta vbl
|
||||
lda frame
|
||||
cmp #$e0 ; TODO
|
||||
cmp #$e1
|
||||
bcc :+
|
||||
jmp @finish
|
||||
:
|
||||
|
|
@ -642,10 +624,18 @@ part_9:
|
|||
jmp @loop
|
||||
|
||||
@finish:
|
||||
ldx #$a8
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
lda #$0b
|
||||
sta $d011
|
||||
lda #0
|
||||
sta timer_mode
|
||||
sta $d015
|
||||
; TODO is there a delay here
|
||||
lda #3
|
||||
sta $dd00
|
||||
|
||||
; we run out of space before the fixed location vector return now
|
||||
jmp part_10
|
||||
|
|
@ -714,12 +704,7 @@ intro:
|
|||
sta frame_delay
|
||||
jsr wait_loop
|
||||
|
||||
ldx #<empty_txt
|
||||
ldy #>empty_txt
|
||||
jsr upload_text
|
||||
ldx #<empty_txt
|
||||
ldy #>empty_txt
|
||||
jsr upload_text_bottom
|
||||
jsr clear_text
|
||||
|
||||
lda #$0d
|
||||
sta frame_until
|
||||
|
|
@ -736,20 +721,16 @@ intro:
|
|||
sta frame_delay
|
||||
jsr wait_loop
|
||||
|
||||
jsr clear_text
|
||||
ldx #<too_bad_txt
|
||||
ldy #>too_bad_txt
|
||||
jsr upload_text
|
||||
ldx #<empty_txt
|
||||
ldy #>empty_txt
|
||||
jsr upload_text_bottom
|
||||
|
||||
lda #50*5
|
||||
sta frame_delay
|
||||
jsr wait_loop
|
||||
|
||||
ldx #<empty_txt
|
||||
ldy #>empty_txt
|
||||
jsr upload_text
|
||||
jsr clear_text
|
||||
|
||||
lda #$13
|
||||
sta frame_until
|
||||
|
|
@ -904,14 +885,12 @@ irq_music:
|
|||
bne :+
|
||||
inc timer+1
|
||||
:
|
||||
lda timer+1
|
||||
cmp timer_limit+1
|
||||
bcc :++
|
||||
bne :+
|
||||
lda timer
|
||||
cmp timer_limit
|
||||
bcc :++
|
||||
:
|
||||
sec
|
||||
sbc timer_limit
|
||||
lda timer+1
|
||||
sbc timer_limit+1
|
||||
bcc :+
|
||||
lda #1
|
||||
sta timer_reached
|
||||
:
|
||||
|
|
@ -998,23 +977,6 @@ wait_frame_until:
|
|||
:
|
||||
rts
|
||||
|
||||
|
||||
wait_loop_2x:
|
||||
@loop:
|
||||
lda vbl
|
||||
cmp #2
|
||||
bcc @loop
|
||||
|
||||
lda #0
|
||||
sta vbl
|
||||
|
||||
dec frame_delay
|
||||
lda frame_delay
|
||||
beq :+
|
||||
jmp @loop
|
||||
:
|
||||
rts
|
||||
|
||||
wait_frame_until_2x:
|
||||
@loop:
|
||||
lda vbl
|
||||
|
|
@ -1036,7 +998,6 @@ wait_frame_until_2x:
|
|||
:
|
||||
rts
|
||||
|
||||
|
||||
init_bmp:
|
||||
lda #$0b
|
||||
sta $d011
|
||||
|
|
@ -1288,29 +1249,15 @@ cloudsname: .byte "clouds", 0
|
|||
|
||||
|
||||
darmtower_txt:
|
||||
.res (40-32)/2, ' '
|
||||
.byte "darm's tower has fallen silent. "
|
||||
.res (40-32)/2, ' '
|
||||
.res (40-32)/2, ' '
|
||||
.byte "what should we do? "
|
||||
.res (40-32)/2, ' '
|
||||
|
||||
empty_txt:
|
||||
.res 40, ' '
|
||||
.res 40, ' '
|
||||
.byte " darm's tower has fallen silent. "
|
||||
.byte " what should we do? "
|
||||
|
||||
adol_win:
|
||||
.res (40-28)/2, ' '
|
||||
.byte 34, "it must be adol, let's see "
|
||||
.res (40-28)/2, ' '
|
||||
.res (40-28)/2, ' '
|
||||
.byte "how far he'll get!", 34, " "
|
||||
.res (40-28)/2, ' '
|
||||
.byte " ", 34, "it must be adol, let's see "
|
||||
.byte " how far he'll get!", 34, " "
|
||||
|
||||
too_bad_txt:
|
||||
.res (40-16)/2, ' '
|
||||
.byte "as you command. "
|
||||
.res (40-16)/2, ' '
|
||||
.byte " as you command. "
|
||||
|
||||
upload_text:
|
||||
stx text_ptr
|
||||
|
|
@ -1340,6 +1287,16 @@ upload_text_bottom:
|
|||
bpl :-
|
||||
rts
|
||||
|
||||
clear_text:
|
||||
lda #$80
|
||||
ldy #39
|
||||
:
|
||||
sta $748, y
|
||||
sta $748+40+40, y
|
||||
dey
|
||||
bpl :-
|
||||
rts
|
||||
|
||||
run_nufli_bmp:
|
||||
lda #$01
|
||||
sta $81
|
||||
|
|
@ -1433,9 +1390,28 @@ part_10:
|
|||
; the sprite data is embedded into first few bitmap pixels
|
||||
; which are hidden by black border attributes
|
||||
@y = $60
|
||||
jsr clr_txt
|
||||
ldx #<total_direct
|
||||
ldy #>total_direct
|
||||
jsr write_txt2
|
||||
ldx #$c0
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #1
|
||||
sta timer_mode
|
||||
|
||||
ldx #<cloudsname
|
||||
ldy #>cloudsname
|
||||
jsr load_8000_zx02_2000
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
ldx #$48
|
||||
ldy #$01
|
||||
lda #$40
|
||||
jsr txt_fade_out_offset
|
||||
|
||||
jsr init_bmp
|
||||
ldx #0
|
||||
stx $d010
|
||||
|
|
@ -1547,6 +1523,11 @@ part_11:
|
|||
jsr load_8000_zx02
|
||||
cli
|
||||
|
||||
jsr clr_txt
|
||||
ldx #<turn_disk
|
||||
ldy #>turn_disk
|
||||
jsr write_txt
|
||||
|
||||
jmp end
|
||||
|
||||
.res ((*+$ff)&$ff00|2)-*
|
||||
|
|
@ -1697,6 +1678,16 @@ art_direct:
|
|||
.byte " art directed by "
|
||||
.byte " seigo oketani "
|
||||
|
||||
total_direct:
|
||||
.byte " total directed by "
|
||||
.byte " masaya hashimoto "
|
||||
|
||||
presented_by:
|
||||
.byte " presented by falcom "
|
||||
|
||||
turn_disk:
|
||||
.byte " insert datadisk in drive 8 "
|
||||
|
||||
clr_txt:
|
||||
lda #$80
|
||||
ldx #0
|
||||
|
|
@ -1725,190 +1716,84 @@ clr_txt:
|
|||
write_txt5:
|
||||
stx text_ptr
|
||||
sty text_ptr+1
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+8*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+10*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+12*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+14*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+16*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
rts
|
||||
lda #<($400+8*40)
|
||||
ldx #>($400+8*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+10*40)
|
||||
ldx #>($400+10*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+12*40)
|
||||
ldx #>($400+12*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+14*40)
|
||||
ldx #>($400+14*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+16*40)
|
||||
ldx #>($400+16*40)
|
||||
jmp write_txt_to
|
||||
|
||||
write_txt4:
|
||||
stx text_ptr
|
||||
sty text_ptr+1
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+9*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+11*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+13*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+15*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
rts
|
||||
lda #<($400+9*40)
|
||||
ldx #>($400+9*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+11*40)
|
||||
ldx #>($400+11*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+13*40)
|
||||
ldx #>($400+13*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+15*40)
|
||||
ldx #>($400+15*40)
|
||||
jmp write_txt_to
|
||||
|
||||
write_txt3:
|
||||
stx text_ptr
|
||||
sty text_ptr+1
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+10*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+12*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+14*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
rts
|
||||
lda #<($400+10*40)
|
||||
ldx #>($400+10*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+12*40)
|
||||
ldx #>($400+12*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+14*40)
|
||||
ldx #>($400+14*40)
|
||||
jmp write_txt_to
|
||||
|
||||
write_txt2:
|
||||
stx text_ptr
|
||||
sty text_ptr+1
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+11*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
lda #<($400+11*40)
|
||||
ldx #>($400+11*40)
|
||||
jsr write_txt_to
|
||||
lda #<($400+13*40)
|
||||
ldx #>($400+13*40)
|
||||
jmp write_txt_to
|
||||
|
||||
write_txt:
|
||||
stx text_ptr
|
||||
sty text_ptr+1
|
||||
ldy #0
|
||||
lda #<($400+12*40)
|
||||
ldx #>($400+12*40)
|
||||
; fall through
|
||||
|
||||
write_txt_to:
|
||||
sta @dst+1
|
||||
stx @dst+2
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+13*40, x
|
||||
@dst:
|
||||
sta $400, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
|
|
@ -1916,7 +1801,12 @@ write_txt2:
|
|||
rts
|
||||
|
||||
txt_fade_out:
|
||||
lda #0
|
||||
txt_fade_out_offset:
|
||||
pha
|
||||
jsr init_timer
|
||||
pla
|
||||
sta timer
|
||||
lda #2
|
||||
sta timer_mode
|
||||
:
|
||||
|
|
|
|||
Loading…
Reference in a new issue