From 87799b691bd1fd324cca43e7f44b2a05ceb945ab Mon Sep 17 00:00:00 2001 From: AArt1256 Date: Mon, 17 Nov 2025 16:37:55 +0300 Subject: [PATCH] tower beam and field done --- assets/05_field_will_loop.csv | 43 +++++++++ assets/ys2/05_field/koala/png/31.png | Bin 0 -> 767 bytes loader/samples/minexample/Makefile | 1 + loader/samples/minexample/conv_zx0.sh | 5 +- loader/samples/minexample/field.bin | Bin 0 -> 27599 bytes loader/samples/minexample/field.zx0 | Bin 0 -> 6112 bytes loader/samples/minexample/field.zx0.prg | Bin 0 -> 6114 bytes loader/samples/minexample/minexample.s | 114 +++++++++++++++++++++++- 8 files changed, 161 insertions(+), 2 deletions(-) create mode 100644 assets/05_field_will_loop.csv create mode 100644 assets/ys2/05_field/koala/png/31.png create mode 100644 loader/samples/minexample/field.bin create mode 100644 loader/samples/minexample/field.zx0 create mode 100644 loader/samples/minexample/field.zx0.prg diff --git a/assets/05_field_will_loop.csv b/assets/05_field_will_loop.csv new file mode 100644 index 0000000..09f99b7 --- /dev/null +++ b/assets/05_field_will_loop.csv @@ -0,0 +1,43 @@ +3,ys2/05_field/koala/png/01.png +3,ys2/05_field/koala/png/02.png +3,ys2/05_field/koala/png/03.png +3,ys2/05_field/koala/png/04.png +3,ys2/05_field/koala/png/05.png +3,ys2/05_field/koala/png/06.png +3,ys2/05_field/koala/png/07.png +3,ys2/05_field/koala/png/08.png + +3,ys2/05_field/koala/png/01.png +3,ys2/05_field/koala/png/02.png +3,ys2/05_field/koala/png/03.png +3,ys2/05_field/koala/png/04.png +3,ys2/05_field/koala/png/05.png +3,ys2/05_field/koala/png/06.png +3,ys2/05_field/koala/png/07.png +3,ys2/05_field/koala/png/08.png + +3,ys2/05_field/koala/png/09.png +3,ys2/05_field/koala/png/10.png +3,ys2/05_field/koala/png/11.png +3,ys2/05_field/koala/png/12.png +3,ys2/05_field/koala/png/13.png +3,ys2/05_field/koala/png/14.png +3,ys2/05_field/koala/png/15.png +3,ys2/05_field/koala/png/16.png +3,ys2/05_field/koala/png/17.png +3,ys2/05_field/koala/png/18.png +3,ys2/05_field/koala/png/19.png +3,ys2/05_field/koala/png/20.png +3,ys2/05_field/koala/png/21.png +3,ys2/05_field/koala/png/22.png +3,ys2/05_field/koala/png/23.png +3,ys2/05_field/koala/png/24.png +3,ys2/05_field/koala/png/25.png +3,ys2/05_field/koala/png/26.png +3,ys2/05_field/koala/png/27.png +3,ys2/05_field/koala/png/28.png +3,ys2/05_field/koala/png/29.png +3,ys2/05_field/koala/png/30.png +3,ys2/05_field/koala/png/31.png + + diff --git a/assets/ys2/05_field/koala/png/31.png b/assets/ys2/05_field/koala/png/31.png new file mode 100644 index 0000000000000000000000000000000000000000..e7a99b6d6e13d7c7bb5ef04badb7057612d332c4 GIT binary patch literal 767 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoPjIjS$(bw`s~H%Wj(NH`hE&XXd(DxTiBW*% zply@2%>o8XjRVZT_(Z4szR+U*{OXLM@pA^2yW7|qas(X|ycrsG7+E&42%HcaM4WfG znRi@!{qyd;590UcAOFUp_kfWpl8GaQQ(=N?gTpk2Q4TR-P tower.zx0.prg cat tower.zx0 >> tower.zx0.prg zx02/zx02 tower_beam.bin tower_beam.zx0 printf "\x00\x80" > tower_beam.zx0.prg -cat tower_beam.zx0 >> tower_beam.zx0.prg \ No newline at end of file +cat tower_beam.zx0 >> tower_beam.zx0.prg +zx02/zx02 field.bin field.zx0 +printf "\x00\x80" > field.zx0.prg +cat field.zx0 >> field.zx0.prg \ No newline at end of file diff --git a/loader/samples/minexample/field.bin b/loader/samples/minexample/field.bin new file mode 100644 index 0000000000000000000000000000000000000000..a4c130e912186eb6cfe56c12ca3463ae94d19f50 GIT binary patch literal 27599 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/field.zx0 b/loader/samples/minexample/field.zx0 new file mode 100644 index 0000000000000000000000000000000000000000..1af5fd0aad16e6289845bf0936ca7e995a94e13d GIT binary patch literal 6112 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 literal 0 HcmV?d00001 diff --git a/loader/samples/minexample/field.zx0.prg b/loader/samples/minexample/field.zx0.prg new file mode 100644 index 0000000000000000000000000000000000000000..ccc510b0cc2764395c9934596c1ec27508f34a57 GIT binary patch literal 6114 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 pZT=x;OxSE`Em5SOsspprog_writ + jsr write_txt2 + ldx #$a8 + ldy #$01 + jsr init_timer + lda #1 + sta timer_mode + + ldx #fieldname + 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 #0 + sta vbl + + lda #$08 + sta frame_until + jsr wait_frame_until_2x + lda bmp_addr + sta temp + lda bmp_addr+1 + sta temp+1 + lda cur_frame + sta temp+2 + + ldx #2 +: + txa + pha + lda temp+2 + sta cur_frame + lda temp + sta bmp_addr + lda temp+1 + sta bmp_addr+1 + lda #$08+8 + sta frame_until + jsr wait_frame_until_2x + pla + tax + dex + bpl :- + + + lda #0 + sta vbl + lda #$27 + sta frame_until + jsr wait_frame_until_2x jmp * @@ -416,6 +519,14 @@ scenario_writ: .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 @@ -897,6 +1008,7 @@ sidname: .byte "sid", 0 introname: .byte "intrbmp", 0 towername: .byte "tower", 0 towerbeamname: .byte "towerbm", 0 +fieldname: .byte "field", 0 darmtower_txt: .res (40-26)/2, ' '