first lilia shot done
This commit is contained in:
parent
87799b691b
commit
33f326f132
9 changed files with 400 additions and 139 deletions
|
|
@ -419,6 +419,112 @@ code_start:
|
|||
lda #$27
|
||||
sta frame_until
|
||||
jsr wait_frame_until_2x
|
||||
|
||||
ldx #25
|
||||
:
|
||||
jsr wait_frame
|
||||
dex
|
||||
bpl :-
|
||||
|
||||
lda #$0b
|
||||
sta $d011
|
||||
|
||||
jsr clr_txt
|
||||
ldx #<gart_writ
|
||||
ldy #>gart_writ
|
||||
jsr write_txt5
|
||||
ldx #$80
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #1
|
||||
sta timer_mode
|
||||
|
||||
ldx #<fallingstarname
|
||||
ldy #>fallingstarname
|
||||
jsr loadraw
|
||||
lda #0
|
||||
sta ZX0_src
|
||||
lda #$80
|
||||
sta ZX0_src+1
|
||||
lda #0
|
||||
sta ZX0_dst
|
||||
lda #$20
|
||||
jsr zx02
|
||||
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
ldx #$48
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #2
|
||||
sta timer_mode
|
||||
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
jsr init_bmp
|
||||
|
||||
lda #$1d
|
||||
sta frame_until
|
||||
jsr wait_frame_until_2x
|
||||
|
||||
ldx #5
|
||||
:
|
||||
jsr wait_frame
|
||||
dex
|
||||
bpl :-
|
||||
|
||||
lda #$0b
|
||||
sta $d011
|
||||
|
||||
jsr clr_txt
|
||||
ldx #<music_writ
|
||||
ldy #>music_writ
|
||||
jsr write_txt4
|
||||
ldx #$80
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #1
|
||||
sta timer_mode
|
||||
|
||||
ldx #<lilianame
|
||||
ldy #>lilianame
|
||||
jsr loadraw
|
||||
lda #0
|
||||
sta ZX0_src
|
||||
lda #$80
|
||||
sta ZX0_src+1
|
||||
lda #0
|
||||
sta ZX0_dst
|
||||
lda #$20
|
||||
jsr zx02
|
||||
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
ldx #$10
|
||||
ldy #$01
|
||||
jsr init_timer
|
||||
lda #8*11
|
||||
sta timer
|
||||
lda #2
|
||||
sta timer_mode
|
||||
|
||||
|
||||
:
|
||||
lda timer_reached
|
||||
beq :-
|
||||
|
||||
jsr init_bmp
|
||||
|
||||
lda #$08
|
||||
sta frame_until
|
||||
jsr wait_frame_until_2x
|
||||
|
||||
jmp *
|
||||
|
||||
|
||||
|
|
@ -498,60 +604,6 @@ wait_frame:
|
|||
bmi @loop2
|
||||
rts
|
||||
|
||||
story_writ:
|
||||
.res 11, ' '
|
||||
.byte "story written by"
|
||||
.res 40-(16+11), ' '
|
||||
.res 11, ' '
|
||||
.res 5, ' '
|
||||
.byte "takahiro ohura"
|
||||
.res 40-(14+11+5), ' '
|
||||
.res 11, ' '
|
||||
.res 5, ' '
|
||||
.byte "tomoo yamane"
|
||||
.res 40-(12+11+5), ' '
|
||||
|
||||
scenario_writ:
|
||||
.res (40-24)/2, ' '
|
||||
.byte " scenario written by "
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " tomoyoshi miyazaki"
|
||||
.res (40-24)/2, ' '
|
||||
|
||||
prog_writ:
|
||||
.res (40-22)/2, ' '
|
||||
.byte " programmed by "
|
||||
.res (40-22)/2, ' '
|
||||
.res (40-22)/2, ' '
|
||||
.byte " masaya hashimoto"
|
||||
.res (40-22)/2, ' '
|
||||
|
||||
clr_txt:
|
||||
lda #$80
|
||||
ldx #0
|
||||
:
|
||||
.repeat 4, I
|
||||
sta $400+(I*250), x
|
||||
.endrepeat
|
||||
inx
|
||||
cpx #250
|
||||
bne :-
|
||||
lda #0
|
||||
ldx #0
|
||||
:
|
||||
.repeat 4, I
|
||||
sta $d800+(I*250), x
|
||||
.endrepeat
|
||||
inx
|
||||
cpx #250
|
||||
bne :-
|
||||
lda #$13
|
||||
sta $d018
|
||||
lda #$1b
|
||||
sta $d011
|
||||
rts
|
||||
|
||||
init_2x:
|
||||
lda #127
|
||||
sta $dc0d
|
||||
|
|
@ -914,20 +966,13 @@ update_bmp:
|
|||
bcc :+
|
||||
inc bmp_ptr+1
|
||||
:
|
||||
lda bmp_addr
|
||||
clc
|
||||
adc #8
|
||||
sta bmp_addr
|
||||
bcc :+
|
||||
inc bmp_addr+1
|
||||
:
|
||||
|
||||
ldy #0
|
||||
ldy #8
|
||||
lda (bmp_addr), y
|
||||
ldy scr_ptr_lo
|
||||
sta (scr_ptr), y
|
||||
|
||||
ldy #1
|
||||
ldy #9
|
||||
lda (bmp_addr), y
|
||||
ldy scr_ptr_lo
|
||||
sta (cram_ptr), y
|
||||
|
|
@ -940,7 +985,7 @@ update_bmp:
|
|||
|
||||
lda bmp_addr
|
||||
clc
|
||||
adc #2
|
||||
adc #10
|
||||
sta bmp_addr
|
||||
bcc :+
|
||||
inc bmp_addr+1
|
||||
|
|
@ -1009,6 +1054,8 @@ introname: .byte "intrbmp", 0
|
|||
towername: .byte "tower", 0
|
||||
towerbeamname: .byte "towerbm", 0
|
||||
fieldname: .byte "field", 0
|
||||
fallingstarname: .byte "fallstar", 0
|
||||
lilianame: .byte "lilia", 0
|
||||
|
||||
darmtower_txt:
|
||||
.res (40-26)/2, ' '
|
||||
|
|
@ -1025,78 +1072,6 @@ too_bad_txt:
|
|||
.byte "too bad..."
|
||||
.res (40-10)/2, ' '
|
||||
|
||||
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
|
||||
|
||||
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 :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+13*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
rts
|
||||
|
||||
upload_text:
|
||||
lda #$34
|
||||
sta $01
|
||||
|
|
@ -1181,4 +1156,282 @@ run_nufli_bmp:
|
|||
.include "zx02.asm"
|
||||
.include "thcmod_lz.asm"
|
||||
|
||||
story_writ:
|
||||
.res 11, ' '
|
||||
.byte "story written by"
|
||||
.res 40-(16+11), ' '
|
||||
.res 11, ' '
|
||||
.res 5, ' '
|
||||
.byte "takahiro ohura"
|
||||
.res 40-(14+11+5), ' '
|
||||
.res 11, ' '
|
||||
.res 5, ' '
|
||||
.byte "tomoo yamane"
|
||||
.res 40-(12+11+5), ' '
|
||||
|
||||
scenario_writ:
|
||||
.res (40-24)/2, ' '
|
||||
.byte " scenario written by "
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " tomoyoshi miyazaki"
|
||||
.res (40-24)/2, ' '
|
||||
|
||||
prog_writ:
|
||||
.res (40-22)/2, ' '
|
||||
.byte " programmed by "
|
||||
.res (40-22)/2, ' '
|
||||
.res (40-22)/2, ' '
|
||||
.byte " masaya hashimoto"
|
||||
.res (40-22)/2, ' '
|
||||
|
||||
gart_writ:
|
||||
.res (40-24)/2, ' '
|
||||
.byte "graphic arts designed by"
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " takahiro ohura "
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " ayano koshiro "
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " kazuhiko tsuzuki "
|
||||
.res (40-24)/2, ' '
|
||||
.res (40-24)/2, ' '
|
||||
.byte " tomoo yamane "
|
||||
.res (40-24)/2, ' '
|
||||
|
||||
music_writ:
|
||||
.res (40-20)/2, ' '
|
||||
.byte " music composed by "
|
||||
.res (40-20)/2, ' '
|
||||
.res (40-20)/2, ' '
|
||||
.byte " mieko ishikawa"
|
||||
.res (40-20)/2, ' '
|
||||
.res (40-20)/2, ' '
|
||||
.byte " yuzo koshiro "
|
||||
.res (40-20)/2, ' '
|
||||
.res (40-20)/2, ' '
|
||||
.byte " hideya nagata "
|
||||
.res (40-20)/2, ' '
|
||||
|
||||
clr_txt:
|
||||
lda #$80
|
||||
ldx #0
|
||||
:
|
||||
.repeat 4, I
|
||||
sta $400+(I*250), x
|
||||
.endrepeat
|
||||
inx
|
||||
cpx #250
|
||||
bne :-
|
||||
lda #0
|
||||
ldx #0
|
||||
:
|
||||
.repeat 4, I
|
||||
sta $d800+(I*250), x
|
||||
.endrepeat
|
||||
inx
|
||||
cpx #250
|
||||
bne :-
|
||||
lda #$13
|
||||
sta $d018
|
||||
lda #$1b
|
||||
sta $d011
|
||||
rts
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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 :-
|
||||
|
||||
ldx #0
|
||||
:
|
||||
lda (text_ptr), y
|
||||
sec
|
||||
sbc #$20
|
||||
ora #$80
|
||||
sta $400+13*40, x
|
||||
iny
|
||||
inx
|
||||
cpx #40
|
||||
bne :-
|
||||
rts
|
||||
|
||||
code_end:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue