From 173841dedd753112a3a6a4218f144eebd0cd4465 Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 30 Nov 2020 22:07:48 -0500 Subject: [PATCH] construct half block fizzle data at runtime --- src/fx/fx.hgr.block.fizzle.common.a | 6 +- src/fx/fx.hgr.halfblock.fizzle.a | 85 +- src/fx/fx.hgr.halfblock.fizzle.common.a | 84 + src/fx/fx.hgr.halfblock.fizzle.data.a | 1921 ----------------------- src/fx/fx.hgr.halfblock.fizzle.white.a | 19 +- 5 files changed, 97 insertions(+), 2018 deletions(-) create mode 100644 src/fx/fx.hgr.halfblock.fizzle.common.a delete mode 100644 src/fx/fx.hgr.halfblock.fizzle.data.a diff --git a/src/fx/fx.hgr.block.fizzle.common.a b/src/fx/fx.hgr.block.fizzle.common.a index 69d626dc8..168e9ae6f 100644 --- a/src/fx/fx.hgr.block.fizzle.common.a +++ b/src/fx/fx.hgr.block.fizzle.common.a @@ -8,10 +8,8 @@ Coordinates = $7000 ; about $700 bytes, can be anywhere !source "src/fx/macros.a" !macro BUILD_BLOCK_FIZZLE_DATA { - lda #Coordinates - sta coord+1 + +LDADDR Coordinates + +ST16 coord ;init RNG diff --git a/src/fx/fx.hgr.halfblock.fizzle.a b/src/fx/fx.hgr.halfblock.fizzle.a index ba23e4564..f82497a64 100644 --- a/src/fx/fx.hgr.halfblock.fizzle.a +++ b/src/fx/fx.hgr.halfblock.fizzle.a @@ -5,79 +5,12 @@ !to "build/FX/HALF.FIZZLE",plain *=$6000 -coord = $FE + !source "src/fx/fx.hgr.halfblock.fizzle.common.a" - lda #Coordinates - sta coord+1 + +BUILD_HALFBLOCK_FIZZLE_DATA - ;init RNG - - ldx #1 - stx @rnd1+1 - dex - stx @rnd2+1 - - ;iterate - -@loop - ldy @rnd1+1 - ldx @rnd2+1 - lsr @rnd2+1 - ror @rnd1+1 - bcc + - - ;feedback polynomial forms #$500 for period of 2047 - - lda @rnd2+1 - eor #5 - sta @rnd2+1 - -+ tya - eor #$ff - ldy #0 -- cpx #0 - bne + - cmp #40 - bcc ++ -+ sbc #40 - pha - txa - sbc #0 - tax - pla - iny - bne - - -++ cpy #48 - bcs @rnd2 - tax - tya - jsr @stainc - txa - jsr @stainc - -@rnd2 lda #0 - bne @loop -@rnd1 lda #0 - cmp #1 - bne @loop - - ;include the missing point - - lda #6 - jsr @stainc - lda #15 - jsr @stainc - - lda #$ff - jsr @stainc - - lda #Coordinates - sta coord+1 + +LDADDR Coordinates + +ST16 coord @loop2 ldy #0 lda (coord),y @@ -100,16 +33,6 @@ coord = $FE + bne @loop2 @exit rts -@stainc - ldy #0 - sta (coord), y - inc coord - bne + - inc coord+1 -+ rts - !source "src/wait.a" !source "src/fx/fx.hgr.common.a" +HGR_HALF_BLOCK_COPY_ROUTINES - -Coordinates diff --git a/src/fx/fx.hgr.halfblock.fizzle.common.a b/src/fx/fx.hgr.halfblock.fizzle.common.a new file mode 100644 index 000000000..b09ec0d87 --- /dev/null +++ b/src/fx/fx.hgr.halfblock.fizzle.common.a @@ -0,0 +1,84 @@ +;license:MIT +;(c) 2020 by qkumba +; +coord = $FE +Coordinates = $7000 ; about $700 bytes, can be anywhere + + !source "src/fx/macros.a" + +!macro BUILD_HALFBLOCK_FIZZLE_DATA { + +LDADDR Coordinates + +ST16 coord + + ;init RNG + + ldx #1 + stx @rnd1+1 + dex + stx @rnd2+1 + + ;iterate + +@loop + ldy @rnd1+1 + ldx @rnd2+1 + lsr @rnd2+1 + ror @rnd1+1 + bcc + + + ;feedback polynomial forms #$500 for period of 2047 + + lda @rnd2+1 + eor #5 + sta @rnd2+1 + ++ tya + eor #$ff + ldy #0 +- cpx #0 + bne + + cmp #40 + bcc ++ ++ sbc #40 + pha + txa + sbc #0 + tax + pla + iny + bne - + +++ cpy #48 + bcs @rnd2 + tax + tya + jsr @stainc + txa + jsr @stainc + +@rnd2 lda #0 + bne @loop +@rnd1 lda #0 + cmp #1 + bne @loop + + ;include the missing point + + lda #6 + jsr @stainc + lda #15 + jsr @stainc + + lda #$ff + jsr @stainc + bne ++ ; always branches + +@stainc + ldy #0 + sta (coord), y + inc coord + bne + + inc coord+1 ++ rts +++ +} diff --git a/src/fx/fx.hgr.halfblock.fizzle.data.a b/src/fx/fx.hgr.halfblock.fizzle.data.a deleted file mode 100644 index 6eedbd9f1..000000000 --- a/src/fx/fx.hgr.halfblock.fizzle.data.a +++ /dev/null @@ -1,1921 +0,0 @@ - !byte 0,1 - !byte 25,24 - !byte 12,32 - !byte 32,0 - !byte 16,0 - !byte 33,24 - !byte 16,32 - !byte 34,0 - !byte 17,0 - !byte 34,4 - !byte 17,2 - !byte 34,5 - !byte 42,26 - !byte 46,37 - !byte 23,18 - !byte 37,13 - !byte 44,10 - !byte 47,29 - !byte 23,34 - !byte 37,21 - !byte 44,14 - !byte 47,31 - !byte 23,35 - !byte 11,37 - !byte 31,22 - !byte 15,31 - !byte 7,35 - !byte 29,21 - !byte 40,14 - !byte 45,31 - !byte 22,35 - !byte 11,17 - !byte 31,12 - !byte 15,26 - !byte 33,17 - !byte 42,12 - !byte 46,30 - !byte 24,19 - !byte 12,9 - !byte 31,28 - !byte 15,34 - !byte 33,21 - !byte 42,14 - !byte 46,31 - !byte 23,15 - !byte 11,27 - !byte 31,17 - !byte 41,12 - !byte 46,10 - !byte 24,14 - !byte 37,31 - !byte 44,19 - !byte 22,9 - !byte 11,4 - !byte 5,22 - !byte 2,31 - !byte 26,39 - !byte 39,3 - !byte 19,21 - !byte 9,30 - !byte 4,35 - !byte 28,1 - !byte 39,24 - !byte 45,16 - !byte 25,9 - !byte 12,24 - !byte 6,12 - !byte 3,6 - !byte 1,23 - !byte 26,15 - !byte 38,31 - !byte 19,15 - !byte 9,27 - !byte 30,17 - !byte 40,32 - !byte 46,0 - !byte 25,17 - !byte 12,28 - !byte 6,14 - !byte 3,7 - !byte 27,7 - !byte 39,7 - !byte 19,23 - !byte 9,31 - !byte 30,19 - !byte 40,33 - !byte 20,16 - !byte 35,32 - !byte 17,36 - !byte 34,22 - !byte 17,11 - !byte 8,25 - !byte 29,36 - !byte 14,38 - !byte 33,3 - !byte 42,5 - !byte 21,2 - !byte 36,5 - !byte 43,26 - !byte 47,17 - !byte 23,28 - !byte 37,18 - !byte 18,29 - !byte 9,14 - !byte 4,27 - !byte 27,37 - !byte 39,22 - !byte 45,15 - !byte 22,27 - !byte 11,13 - !byte 31,10 - !byte 15,25 - !byte 7,32 - !byte 3,36 - !byte 1,38 - !byte 0,39 - !byte 26,3 - !byte 38,25 - !byte 19,12 - !byte 35,10 - !byte 17,25 - !byte 8,32 - !byte 4,16 - !byte 2,8 - !byte 1,4 - !byte 0,22 - !byte 0,11 - !byte 25,29 - !byte 38,18 - !byte 44,33 - !byte 22,16 - !byte 36,32 - !byte 18,16 - !byte 34,32 - !byte 17,16 - !byte 34,12 - !byte 17,6 - !byte 34,7 - !byte 42,27 - !byte 21,13 - !byte 10,26 - !byte 5,13 - !byte 28,10 - !byte 14,5 - !byte 7,2 - !byte 3,21 - !byte 27,14 - !byte 13,27 - !byte 6,33 - !byte 29,0 - !byte 14,20 - !byte 32,34 - !byte 16,17 - !byte 8,8 - !byte 4,4 - !byte 2,2 - !byte 1,1 - !byte 26,4 - !byte 13,2 - !byte 32,5 - !byte 41,26 - !byte 46,17 - !byte 23,8 - !byte 37,8 - !byte 18,24 - !byte 34,36 - !byte 17,18 - !byte 34,13 - !byte 42,30 - !byte 46,39 - !byte 23,19 - !byte 11,29 - !byte 31,18 - !byte 15,29 - !byte 7,34 - !byte 3,37 - !byte 27,22 - !byte 13,31 - !byte 6,35 - !byte 29,1 - !byte 40,4 - !byte 45,26 - !byte 24,8 - !byte 37,28 - !byte 18,34 - !byte 35,1 - !byte 43,4 - !byte 47,6 - !byte 24,23 - !byte 12,11 - !byte 31,29 - !byte 41,18 - !byte 46,13 - !byte 23,6 - !byte 37,7 - !byte 44,7 - !byte 22,3 - !byte 11,1 - !byte 31,4 - !byte 15,22 - !byte 33,15 - !byte 42,11 - !byte 21,5 - !byte 10,22 - !byte 5,11 - !byte 28,9 - !byte 39,28 - !byte 45,18 - !byte 24,6 - !byte 37,27 - !byte 44,17 - !byte 22,8 - !byte 36,28 - !byte 18,14 - !byte 34,31 - !byte 42,39 - !byte 21,19 - !byte 10,29 - !byte 30,38 - !byte 15,19 - !byte 7,29 - !byte 29,18 - !byte 14,29 - !byte 7,14 - !byte 3,27 - !byte 27,17 - !byte 39,12 - !byte 45,10 - !byte 24,4 - !byte 37,26 - !byte 18,33 - !byte 9,16 - !byte 4,28 - !byte 2,14 - !byte 1,7 - !byte 26,7 - !byte 38,27 - !byte 19,13 - !byte 9,26 - !byte 4,33 - !byte 28,0 - !byte 14,0 - !byte 32,24 - !byte 16,12 - !byte 33,30 - !byte 16,35 - !byte 8,17 - !byte 29,32 - !byte 14,36 - !byte 33,2 - !byte 16,21 - !byte 8,10 - !byte 4,5 - !byte 27,26 - !byte 13,33 - !byte 6,36 - !byte 3,18 - !byte 1,29 - !byte 26,18 - !byte 13,9 - !byte 6,24 - !byte 3,12 - !byte 1,26 - !byte 0,33 - !byte 26,0 - !byte 13,0 - !byte 32,4 - !byte 16,2 - !byte 33,25 - !byte 42,16 - !byte 46,32 - !byte 25,18 - !byte 38,13 - !byte 44,30 - !byte 47,39 - !byte 23,39 - !byte 11,39 - !byte 31,23 - !byte 41,15 - !byte 20,27 - !byte 10,13 - !byte 30,30 - !byte 15,15 - !byte 7,27 - !byte 29,17 - !byte 40,12 - !byte 45,30 - !byte 24,9 - !byte 12,4 - !byte 6,2 - !byte 3,1 - !byte 27,4 - !byte 13,22 - !byte 32,15 - !byte 41,31 - !byte 20,35 - !byte 10,17 - !byte 30,32 - !byte 15,16 - !byte 33,12 - !byte 16,26 - !byte 33,37 - !byte 42,22 - !byte 46,35 - !byte 23,17 - !byte 11,28 - !byte 5,34 - !byte 2,37 - !byte 27,2 - !byte 13,21 - !byte 6,30 - !byte 3,15 - !byte 27,11 - !byte 39,9 - !byte 19,24 - !byte 35,16 - !byte 17,28 - !byte 34,18 - !byte 17,9 - !byte 8,24 - !byte 4,12 - !byte 2,6 - !byte 1,3 - !byte 26,5 - !byte 38,26 - !byte 44,37 - !byte 22,18 - !byte 36,33 - !byte 44,0 - !byte 47,24 - !byte 25,19 - !byte 12,29 - !byte 31,38 - !byte 15,39 - !byte 7,39 - !byte 29,23 - !byte 40,15 - !byte 20,7 - !byte 10,3 - !byte 30,25 - !byte 40,36 - !byte 46,2 - !byte 24,12 - !byte 37,30 - !byte 18,35 - !byte 9,17 - !byte 30,12 - !byte 15,6 - !byte 33,7 - !byte 42,7 - !byte 21,3 - !byte 10,21 - !byte 30,34 - !byte 15,17 - !byte 7,28 - !byte 3,34 - !byte 1,37 - !byte 26,22 - !byte 13,11 - !byte 6,25 - !byte 28,36 - !byte 14,18 - !byte 32,33 - !byte 42,0 - !byte 46,24 - !byte 25,12 - !byte 38,10 - !byte 19,5 - !byte 9,22 - !byte 4,31 - !byte 27,39 - !byte 39,23 - !byte 19,31 - !byte 9,35 - !byte 30,21 - !byte 40,34 - !byte 46,1 - !byte 23,0 - !byte 37,4 - !byte 18,22 - !byte 34,35 - !byte 43,1 - !byte 21,20 - !byte 36,14 - !byte 18,7 - !byte 9,3 - !byte 30,5 - !byte 40,26 - !byte 45,37 - !byte 22,38 - !byte 37,3 - !byte 44,5 - !byte 22,2 - !byte 36,25 - !byte 43,36 - !byte 47,22 - !byte 24,27 - !byte 12,13 - !byte 31,30 - !byte 15,35 - !byte 7,37 - !byte 29,22 - !byte 14,31 - !byte 7,15 - !byte 29,11 - !byte 40,9 - !byte 20,4 - !byte 35,26 - !byte 17,33 - !byte 8,36 - !byte 4,18 - !byte 2,9 - !byte 26,28 - !byte 13,14 - !byte 32,11 - !byte 41,29 - !byte 20,34 - !byte 36,1 - !byte 43,24 - !byte 47,16 - !byte 25,14 - !byte 38,11 - !byte 44,29 - !byte 22,14 - !byte 36,31 - !byte 43,39 - !byte 21,39 - !byte 10,39 - !byte 31,3 - !byte 41,5 - !byte 20,22 - !byte 35,35 - !byte 43,21 - !byte 21,30 - !byte 36,19 - !byte 43,33 - !byte 21,36 - !byte 36,22 - !byte 18,11 - !byte 9,5 - !byte 30,6 - !byte 15,3 - !byte 7,21 - !byte 29,14 - !byte 14,27 - !byte 7,13 - !byte 29,10 - !byte 14,25 - !byte 7,12 - !byte 3,26 - !byte 1,33 - !byte 26,20 - !byte 13,10 - !byte 32,9 - !byte 41,28 - !byte 46,18 - !byte 24,16 - !byte 37,32 - !byte 18,36 - !byte 35,2 - !byte 17,21 - !byte 8,30 - !byte 4,15 - !byte 27,31 - !byte 39,19 - !byte 19,29 - !byte 9,34 - !byte 4,37 - !byte 28,2 - !byte 14,1 - !byte 7,0 - !byte 3,20 - !byte 1,30 - !byte 0,35 - !byte 26,1 - !byte 38,24 - !byte 44,36 - !byte 24,32 - !byte 38,0 - !byte 19,0 - !byte 35,4 - !byte 17,22 - !byte 34,15 - !byte 42,31 - !byte 21,15 - !byte 10,27 - !byte 30,37 - !byte 41,2 - !byte 46,5 - !byte 23,2 - !byte 37,5 - !byte 44,6 - !byte 47,27 - !byte 23,33 - !byte 11,36 - !byte 5,38 - !byte 2,39 - !byte 27,3 - !byte 39,5 - !byte 19,22 - !byte 35,15 - !byte 43,11 - !byte 21,25 - !byte 10,32 - !byte 5,16 - !byte 2,28 - !byte 1,14 - !byte 0,27 - !byte 25,37 - !byte 38,22 - !byte 44,35 - !byte 22,17 - !byte 11,8 - !byte 5,24 - !byte 2,32 - !byte 1,16 - !byte 0,28 - !byte 0,14 - !byte 0,7 - !byte 25,27 - !byte 38,17 - !byte 19,8 - !byte 35,8 - !byte 17,24 - !byte 34,16 - !byte 17,8 - !byte 34,8 - !byte 17,4 - !byte 34,6 - !byte 17,3 - !byte 8,21 - !byte 29,34 - !byte 14,37 - !byte 7,18 - !byte 3,29 - !byte 27,18 - !byte 13,29 - !byte 6,34 - !byte 3,17 - !byte 27,12 - !byte 13,26 - !byte 32,17 - !byte 41,32 - !byte 46,20 - !byte 25,0 - !byte 38,4 - !byte 19,2 - !byte 35,5 - !byte 43,6 - !byte 47,7 - !byte 23,23 - !byte 11,31 - !byte 31,19 - !byte 41,13 - !byte 20,26 - !byte 35,37 - !byte 43,22 - !byte 47,15 - !byte 23,27 - !byte 11,33 - !byte 31,20 - !byte 15,30 - !byte 33,19 - !byte 42,13 - !byte 21,6 - !byte 36,7 - !byte 43,27 - !byte 21,33 - !byte 10,36 - !byte 5,18 - !byte 2,29 - !byte 26,38 - !byte 13,19 - !byte 6,29 - !byte 28,38 - !byte 14,19 - !byte 7,9 - !byte 29,8 - !byte 14,24 - !byte 32,36 - !byte 16,18 - !byte 33,33 - !byte 42,20 - !byte 46,34 - !byte 24,20 - !byte 37,34 - !byte 18,37 - !byte 9,18 - !byte 4,29 - !byte 27,38 - !byte 13,39 - !byte 6,39 - !byte 29,3 - !byte 40,5 - !byte 20,2 - !byte 35,25 - !byte 43,16 - !byte 47,12 - !byte 25,4 - !byte 38,6 - !byte 19,3 - !byte 9,21 - !byte 30,14 - !byte 15,7 - !byte 7,23 - !byte 29,15 - !byte 40,11 - !byte 20,5 - !byte 10,2 - !byte 5,1 - !byte 28,4 - !byte 14,2 - !byte 32,25 - !byte 41,36 - !byte 46,22 - !byte 24,17 - !byte 12,8 - !byte 6,4 - !byte 3,2 - !byte 1,21 - !byte 26,14 - !byte 13,7 - !byte 6,23 - !byte 28,35 - !byte 40,1 - !byte 20,0 - !byte 35,24 - !byte 17,32 - !byte 34,20 - !byte 17,10 - !byte 34,9 - !byte 42,28 - !byte 46,38 - !byte 24,21 - !byte 12,10 - !byte 6,5 - !byte 28,26 - !byte 14,13 - !byte 7,6 - !byte 3,23 - !byte 27,15 - !byte 39,11 - !byte 19,25 - !byte 9,32 - !byte 4,36 - !byte 2,18 - !byte 1,9 - !byte 26,8 - !byte 13,4 - !byte 32,6 - !byte 16,3 - !byte 8,1 - !byte 29,24 - !byte 14,32 - !byte 33,0 - !byte 16,20 - !byte 33,34 - !byte 16,37 - !byte 8,18 - !byte 4,9 - !byte 27,28 - !byte 13,34 - !byte 32,21 - !byte 41,34 - !byte 46,21 - !byte 23,10 - !byte 37,9 - !byte 44,8 - !byte 47,28 - !byte 25,6 - !byte 38,7 - !byte 44,27 - !byte 22,13 - !byte 11,6 - !byte 5,23 - !byte 28,15 - !byte 39,31 - !byte 19,35 - !byte 9,37 - !byte 30,22 - !byte 15,11 - !byte 7,25 - !byte 29,16 - !byte 14,28 - !byte 32,38 - !byte 16,19 - !byte 8,9 - !byte 29,28 - !byte 14,34 - !byte 33,1 - !byte 42,4 - !byte 46,26 - !byte 24,18 - !byte 37,33 - !byte 44,20 - !byte 47,34 - !byte 24,30 - !byte 37,39 - !byte 44,23 - !byte 22,11 - !byte 11,5 - !byte 31,6 - !byte 15,23 - !byte 7,31 - !byte 29,19 - !byte 40,13 - !byte 20,6 - !byte 35,27 - !byte 43,17 - !byte 21,28 - !byte 36,18 - !byte 18,9 - !byte 9,4 - !byte 4,22 - !byte 2,11 - !byte 26,29 - !byte 38,38 - !byte 45,3 - !byte 22,21 - !byte 11,10 - !byte 5,25 - !byte 28,16 - !byte 14,8 - !byte 32,28 - !byte 16,14 - !byte 33,31 - !byte 42,19 - !byte 21,9 - !byte 10,24 - !byte 5,12 - !byte 2,26 - !byte 1,13 - !byte 26,10 - !byte 13,5 - !byte 6,22 - !byte 3,11 - !byte 27,9 - !byte 39,8 - !byte 45,8 - !byte 25,16 - !byte 38,12 - !byte 19,6 - !byte 35,7 - !byte 43,7 - !byte 21,23 - !byte 10,31 - !byte 30,39 - !byte 41,3 - !byte 20,21 - !byte 10,10 - !byte 5,5 - !byte 28,6 - !byte 14,3 - !byte 7,1 - !byte 29,4 - !byte 14,22 - !byte 32,35 - !byte 42,1 - !byte 21,0 - !byte 36,4 - !byte 18,2 - !byte 34,25 - !byte 42,36 - !byte 47,2 - !byte 24,22 - !byte 37,35 - !byte 44,21 - !byte 22,10 - !byte 36,29 - !byte 43,38 - !byte 47,23 - !byte 23,31 - !byte 11,35 - !byte 31,21 - !byte 41,14 - !byte 46,11 - !byte 23,5 - !byte 11,22 - !byte 5,31 - !byte 28,19 - !byte 39,33 - !byte 19,36 - !byte 35,22 - !byte 17,31 - !byte 8,35 - !byte 30,1 - !byte 40,24 - !byte 45,36 - !byte 24,37 - !byte 12,18 - !byte 6,9 - !byte 28,28 - !byte 14,14 - !byte 32,31 - !byte 41,39 - !byte 20,39 - !byte 10,19 - !byte 30,33 - !byte 41,0 - !byte 46,4 - !byte 24,38 - !byte 38,3 - !byte 44,25 - !byte 22,12 - !byte 36,30 - !byte 18,15 - !byte 9,7 - !byte 30,7 - !byte 40,27 - !byte 20,13 - !byte 10,6 - !byte 5,3 - !byte 28,5 - !byte 39,26 - !byte 45,17 - !byte 22,28 - !byte 36,38 - !byte 18,19 - !byte 9,9 - !byte 30,8 - !byte 15,4 - !byte 33,6 - !byte 16,23 - !byte 8,11 - !byte 29,29 - !byte 40,18 - !byte 45,33 - !byte 22,36 - !byte 37,2 - !byte 18,21 - !byte 9,10 - !byte 4,25 - !byte 27,36 - !byte 13,38 - !byte 32,23 - !byte 41,35 - !byte 20,37 - !byte 10,18 - !byte 5,9 - !byte 28,8 - !byte 14,4 - !byte 32,26 - !byte 16,13 - !byte 8,6 - !byte 4,3 - !byte 27,25 - !byte 39,16 - !byte 45,12 - !byte 24,34 - !byte 38,1 - !byte 44,24 - !byte 47,36 - !byte 25,7 - !byte 12,23 - !byte 31,35 - !byte 41,21 - !byte 20,30 - !byte 35,39 - !byte 43,23 - !byte 21,31 - !byte 10,35 - !byte 31,1 - !byte 41,4 - !byte 46,6 - !byte 24,13 - !byte 12,6 - !byte 6,3 - !byte 28,25 - !byte 39,36 - !byte 45,22 - !byte 24,7 - !byte 12,3 - !byte 31,25 - !byte 41,16 - !byte 46,12 - !byte 24,39 - !byte 12,19 - !byte 31,33 - !byte 41,20 - !byte 46,14 - !byte 24,15 - !byte 12,7 - !byte 31,27 - !byte 41,17 - !byte 20,28 - !byte 35,38 - !byte 17,39 - !byte 8,39 - !byte 30,3 - !byte 40,25 - !byte 20,12 - !byte 35,30 - !byte 17,35 - !byte 8,37 - !byte 30,2 - !byte 15,1 - !byte 7,20 - !byte 3,30 - !byte 1,35 - !byte 26,21 - !byte 38,34 - !byte 45,1 - !byte 22,20 - !byte 36,34 - !byte 18,17 - !byte 9,8 - !byte 4,24 - !byte 2,12 - !byte 1,6 - !byte 0,23 - !byte 25,35 - !byte 38,21 - !byte 19,10 - !byte 35,9 - !byte 43,8 - !byte 47,8 - !byte 25,21 - !byte 12,30 - !byte 6,15 - !byte 28,31 - !byte 39,39 - !byte 19,39 - !byte 9,39 - !byte 30,23 - !byte 40,35 - !byte 20,17 - !byte 10,8 - !byte 5,4 - !byte 2,22 - !byte 1,11 - !byte 26,9 - !byte 38,28 - !byte 44,38 - !byte 24,1 - !byte 12,0 - !byte 6,0 - !byte 3,0 - !byte 1,20 - !byte 0,30 - !byte 0,15 - !byte 25,31 - !byte 38,19 - !byte 19,9 - !byte 9,24 - !byte 4,32 - !byte 2,16 - !byte 1,8 - !byte 0,24 - !byte 0,12 - !byte 0,6 - !byte 0,3 - !byte 25,25 - !byte 38,16 - !byte 44,32 - !byte 25,23 - !byte 12,31 - !byte 31,39 - !byte 41,23 - !byte 20,31 - !byte 10,15 - !byte 30,31 - !byte 40,39 - !byte 20,19 - !byte 10,9 - !byte 30,28 - !byte 15,14 - !byte 33,11 - !byte 42,9 - !byte 21,4 - !byte 36,6 - !byte 18,3 - !byte 9,1 - !byte 30,4 - !byte 15,2 - !byte 33,5 - !byte 42,6 - !byte 46,27 - !byte 23,13 - !byte 11,26 - !byte 5,33 - !byte 28,20 - !byte 14,10 - !byte 32,29 - !byte 41,38 - !byte 46,23 - !byte 23,11 - !byte 11,25 - !byte 31,16 - !byte 15,28 - !byte 33,18 - !byte 16,29 - !byte 8,14 - !byte 4,7 - !byte 27,27 - !byte 39,17 - !byte 19,28 - !byte 35,18 - !byte 17,29 - !byte 8,34 - !byte 4,17 - !byte 27,32 - !byte 13,36 - !byte 32,22 - !byte 16,11 - !byte 8,5 - !byte 29,26 - !byte 14,33 - !byte 7,16 - !byte 3,28 - !byte 1,34 - !byte 0,37 - !byte 26,2 - !byte 13,1 - !byte 6,20 - !byte 3,10 - !byte 1,25 - !byte 26,16 - !byte 13,8 - !byte 32,8 - !byte 16,4 - !byte 33,26 - !byte 16,33 - !byte 8,16 - !byte 4,8 - !byte 2,4 - !byte 1,2 - !byte 0,21 - !byte 25,34 - !byte 12,37 - !byte 6,18 - !byte 3,9 - !byte 27,8 - !byte 13,24 - !byte 32,16 - !byte 16,8 - !byte 33,28 - !byte 16,34 - !byte 34,1 - !byte 42,24 - !byte 46,36 - !byte 25,2 - !byte 38,5 - !byte 44,26 - !byte 47,37 - !byte 23,38 - !byte 37,23 - !byte 44,15 - !byte 22,7 - !byte 11,3 - !byte 31,5 - !byte 41,6 - !byte 46,7 - !byte 23,3 - !byte 11,21 - !byte 31,14 - !byte 15,27 - !byte 7,33 - !byte 29,20 - !byte 14,30 - !byte 32,39 - !byte 42,3 - !byte 21,1 - !byte 10,20 - !byte 5,10 - !byte 2,25 - !byte 26,36 - !byte 13,18 - !byte 32,13 - !byte 41,30 - !byte 46,19 - !byte 23,9 - !byte 11,24 - !byte 5,32 - !byte 2,36 - !byte 1,18 - !byte 0,29 - !byte 25,38 - !byte 12,39 - !byte 6,19 - !byte 28,33 - !byte 40,0 - !byte 45,24 - !byte 25,20 - !byte 38,14 - !byte 19,7 - !byte 9,23 - !byte 30,15 - !byte 40,31 - !byte 20,15 - !byte 10,7 - !byte 30,27 - !byte 40,37 - !byte 20,18 - !byte 35,33 - !byte 43,20 - !byte 47,14 - !byte 24,25 - !byte 12,12 - !byte 6,6 - !byte 3,3 - !byte 27,5 - !byte 39,6 - !byte 45,7 - !byte 22,23 - !byte 11,11 - !byte 31,9 - !byte 41,8 - !byte 46,8 - !byte 25,11 - !byte 12,25 - !byte 31,36 - !byte 15,38 - !byte 33,23 - !byte 42,15 - !byte 21,7 - !byte 10,23 - !byte 30,35 - !byte 41,1 - !byte 20,20 - !byte 35,34 - !byte 17,37 - !byte 8,38 - !byte 4,19 - !byte 27,33 - !byte 39,20 - !byte 45,14 - !byte 24,5 - !byte 12,2 - !byte 6,1 - !byte 28,24 - !byte 14,12 - !byte 32,30 - !byte 16,15 - !byte 8,7 - !byte 29,27 - !byte 40,17 - !byte 20,8 - !byte 35,28 - !byte 17,34 - !byte 34,21 - !byte 42,34 - !byte 47,1 - !byte 23,20 - !byte 37,14 - !byte 18,27 - !byte 9,13 - !byte 30,10 - !byte 15,5 - !byte 7,22 - !byte 3,31 - !byte 27,19 - !byte 39,13 - !byte 19,26 - !byte 35,17 - !byte 43,12 - !byte 47,10 - !byte 24,24 - !byte 37,36 - !byte 18,38 - !byte 35,3 - !byte 43,5 - !byte 21,22 - !byte 36,15 - !byte 43,31 - !byte 21,35 - !byte 10,37 - !byte 31,2 - !byte 15,21 - !byte 7,30 - !byte 3,35 - !byte 27,21 - !byte 39,14 - !byte 45,11 - !byte 22,25 - !byte 11,12 - !byte 5,26 - !byte 2,33 - !byte 27,0 - !byte 13,20 - !byte 32,14 - !byte 16,7 - !byte 8,3 - !byte 29,25 - !byte 40,16 - !byte 45,32 - !byte 25,10 - !byte 38,9 - !byte 44,28 - !byte 47,38 - !byte 24,31 - !byte 12,15 - !byte 31,31 - !byte 41,19 - !byte 20,29 - !byte 10,14 - !byte 5,7 - !byte 28,7 - !byte 39,27 - !byte 19,33 - !byte 9,36 - !byte 4,38 - !byte 2,19 - !byte 26,33 - !byte 39,0 - !byte 45,4 - !byte 24,33 - !byte 12,16 - !byte 6,8 - !byte 3,4 - !byte 1,22 - !byte 0,31 - !byte 25,39 - !byte 38,23 - !byte 19,11 - !byte 9,25 - !byte 30,16 - !byte 15,8 - !byte 33,8 - !byte 16,24 - !byte 33,36 - !byte 16,38 - !byte 34,3 - !byte 42,25 - !byte 21,12 - !byte 36,10 - !byte 18,5 - !byte 9,2 - !byte 4,21 - !byte 27,34 - !byte 13,37 - !byte 6,38 - !byte 3,19 - !byte 27,13 - !byte 39,10 - !byte 45,9 - !byte 22,24 - !byte 36,36 - !byte 18,18 - !byte 34,33 - !byte 43,0 - !byte 47,4 - !byte 25,3 - !byte 12,21 - !byte 31,34 - !byte 15,37 - !byte 7,38 - !byte 3,39 - !byte 27,23 - !byte 39,15 - !byte 19,27 - !byte 9,33 - !byte 30,20 - !byte 15,10 - !byte 33,9 - !byte 42,8 - !byte 46,28 - !byte 25,1 - !byte 12,20 - !byte 6,10 - !byte 3,5 - !byte 27,6 - !byte 13,23 - !byte 6,31 - !byte 28,39 - !byte 40,3 - !byte 20,1 - !byte 10,0 - !byte 5,0 - !byte 2,20 - !byte 1,10 - !byte 0,25 - !byte 25,36 - !byte 12,38 - !byte 32,3 - !byte 41,25 - !byte 20,32 - !byte 36,0 - !byte 18,0 - !byte 34,24 - !byte 17,12 - !byte 34,10 - !byte 17,5 - !byte 8,22 - !byte 4,11 - !byte 27,29 - !byte 39,18 - !byte 45,13 - !byte 22,26 - !byte 36,37 - !byte 44,2 - !byte 47,25 - !byte 23,32 - !byte 37,20 - !byte 18,30 - !byte 34,39 - !byte 43,3 - !byte 21,21 - !byte 10,30 - !byte 5,15 - !byte 28,11 - !byte 39,29 - !byte 19,34 - !byte 35,21 - !byte 43,14 - !byte 47,11 - !byte 23,25 - !byte 11,32 - !byte 5,36 - !byte 2,38 - !byte 1,19 - !byte 26,13 - !byte 38,30 - !byte 44,39 - !byte 22,19 - !byte 11,9 - !byte 31,8 - !byte 15,24 - !byte 33,16 - !byte 16,28 - !byte 33,38 - !byte 16,39 - !byte 8,19 - !byte 29,33 - !byte 40,20 - !byte 45,34 - !byte 24,10 - !byte 37,29 - !byte 44,18 - !byte 47,33 - !byte 23,36 - !byte 37,22 - !byte 18,31 - !byte 9,15 - !byte 30,11 - !byte 40,29 - !byte 20,14 - !byte 35,31 - !byte 43,19 - !byte 21,29 - !byte 10,34 - !byte 5,17 - !byte 28,12 - !byte 14,6 - !byte 32,27 - !byte 41,37 - !byte 20,38 - !byte 36,3 - !byte 43,25 - !byte 21,32 - !byte 36,20 - !byte 18,10 - !byte 34,29 - !byte 42,38 - !byte 47,3 - !byte 23,21 - !byte 11,30 - !byte 5,35 - !byte 28,21 - !byte 39,34 - !byte 45,21 - !byte 22,30 - !byte 36,39 - !byte 44,3 - !byte 22,1 - !byte 11,0 - !byte 5,20 - !byte 2,30 - !byte 1,15 - !byte 26,11 - !byte 38,29 - !byte 19,14 - !byte 35,11 - !byte 43,9 - !byte 21,24 - !byte 36,16 - !byte 18,8 - !byte 34,28 - !byte 17,14 - !byte 34,11 - !byte 42,29 - !byte 21,14 - !byte 36,11 - !byte 43,29 - !byte 21,34 - !byte 36,21 - !byte 43,34 - !byte 47,21 - !byte 23,30 - !byte 37,19 - !byte 44,13 - !byte 22,6 - !byte 36,27 - !byte 43,37 - !byte 21,38 - !byte 36,23 - !byte 43,35 - !byte 21,37 - !byte 10,38 - !byte 5,19 - !byte 28,13 - !byte 39,30 - !byte 45,19 - !byte 22,29 - !byte 11,14 - !byte 5,27 - !byte 28,17 - !byte 39,32 - !byte 45,20 - !byte 24,35 - !byte 12,17 - !byte 31,32 - !byte 15,36 - !byte 33,22 - !byte 16,31 - !byte 8,15 - !byte 29,31 - !byte 40,19 - !byte 20,9 - !byte 10,4 - !byte 5,2 - !byte 2,21 - !byte 26,34 - !byte 13,17 - !byte 6,28 - !byte 3,14 - !byte 1,27 - !byte 26,17 - !byte 38,32 - !byte 45,0 - !byte 25,8 - !byte 38,8 - !byte 19,4 - !byte 35,6 - !byte 17,23 - !byte 8,31 - !byte 29,39 - !byte 40,23 - !byte 20,11 - !byte 10,5 - !byte 30,26 - !byte 15,13 - !byte 7,26 - !byte 3,33 - !byte 27,20 - !byte 13,30 - !byte 32,19 - !byte 41,33 - !byte 20,36 - !byte 36,2 - !byte 18,1 - !byte 9,0 - !byte 4,20 - !byte 2,10 - !byte 1,5 - !byte 26,6 - !byte 13,3 - !byte 6,21 - !byte 28,34 - !byte 14,17 - !byte 7,8 - !byte 3,24 - !byte 1,32 - !byte 0,36 - !byte 0,18 - !byte 0,9 - !byte 25,28 - !byte 12,34 - !byte 32,1 - !byte 41,24 - !byte 46,16 - !byte 25,22 - !byte 38,15 - !byte 44,31 - !byte 22,15 - !byte 11,7 - !byte 31,7 - !byte 41,7 - !byte 20,23 - !byte 10,11 - !byte 30,29 - !byte 40,38 - !byte 46,3 - !byte 23,1 - !byte 11,20 - !byte 5,30 - !byte 2,35 - !byte 27,1 - !byte 39,4 - !byte 45,6 - !byte 24,3 - !byte 12,1 - !byte 31,24 - !byte 15,32 - !byte 33,20 - !byte 16,30 - !byte 33,39 - !byte 42,23 - !byte 21,11 - !byte 10,25 - !byte 30,36 - !byte 15,18 - !byte 33,13 - !byte 42,10 - !byte 46,29 - !byte 23,14 - !byte 37,11 - !byte 44,9 - !byte 22,4 - !byte 36,26 - !byte 18,13 - !byte 9,6 - !byte 4,23 - !byte 27,35 - !byte 39,21 - !byte 19,30 - !byte 35,19 - !byte 43,13 - !byte 21,26 - !byte 36,17 - !byte 43,32 - !byte 47,20 - !byte 25,5 - !byte 12,22 - !byte 6,11 - !byte 28,29 - !byte 39,38 - !byte 45,23 - !byte 22,31 - !byte 11,15 - !byte 31,11 - !byte 41,9 - !byte 20,24 - !byte 35,36 - !byte 17,38 - !byte 34,23 - !byte 42,35 - !byte 21,17 - !byte 10,28 - !byte 5,14 - !byte 2,27 - !byte 26,37 - !byte 39,2 - !byte 45,5 - !byte 22,22 - !byte 36,35 - !byte 44,1 - !byte 22,0 - !byte 36,24 - !byte 18,12 - !byte 34,30 - !byte 17,15 - !byte 8,27 - !byte 29,37 - !byte 40,22 - !byte 45,35 - !byte 22,37 - !byte 11,18 - !byte 5,29 - !byte 28,18 - !byte 14,9 - !byte 7,4 - !byte 3,22 - !byte 1,31 - !byte 26,19 - !byte 38,33 - !byte 19,16 - !byte 35,12 - !byte 17,26 - !byte 34,17 - !byte 42,32 - !byte 47,0 - !byte 25,13 - !byte 12,26 - !byte 6,13 - !byte 28,30 - !byte 14,15 - !byte 7,7 - !byte 29,7 - !byte 40,7 - !byte 20,3 - !byte 10,1 - !byte 30,24 - !byte 15,12 - !byte 33,10 - !byte 16,25 - !byte 8,12 - !byte 4,6 - !byte 2,3 - !byte 26,25 - !byte 38,36 - !byte 45,2 - !byte 24,2 - !byte 37,25 - !byte 44,16 - !byte 47,32 - !byte 25,15 - !byte 12,27 - !byte 31,37 - !byte 41,22 - !byte 46,15 - !byte 23,7 - !byte 11,23 - !byte 31,15 - !byte 41,11 - !byte 20,25 - !byte 10,12 - !byte 5,6 - !byte 2,23 - !byte 26,35 - !byte 39,1 - !byte 19,20 - !byte 35,14 - !byte 17,27 - !byte 8,33 - !byte 30,0 - !byte 15,0 - !byte 33,4 - !byte 16,22 - !byte 33,35 - !byte 42,21 - !byte 21,10 - !byte 36,9 - !byte 43,28 - !byte 47,18 - !byte 24,26 - !byte 37,37 - !byte 44,22 - !byte 47,35 - !byte 23,37 - !byte 11,38 - !byte 5,39 - !byte 28,23 - !byte 39,35 - !byte 19,37 - !byte 9,38 - !byte 4,39 - !byte 28,3 - !byte 39,25 - !byte 19,32 - !byte 35,20 - !byte 17,30 - !byte 34,19 - !byte 42,33 - !byte 21,16 - !byte 36,12 - !byte 18,6 - !byte 34,27 - !byte 42,37 - !byte 21,18 - !byte 36,13 - !byte 43,30 - !byte 47,19 - !byte 23,29 - !byte 11,34 - !byte 5,37 - !byte 28,22 - !byte 14,11 - !byte 7,5 - !byte 29,6 - !byte 14,23 - !byte 7,11 - !byte 29,9 - !byte 40,8 - !byte 45,28 - !byte 24,36 - !byte 38,2 - !byte 19,1 - !byte 9,20 - !byte 4,30 - !byte 2,15 - !byte 26,31 - !byte 38,39 - !byte 19,19 - !byte 9,29 - !byte 30,18 - !byte 15,9 - !byte 7,24 - !byte 3,32 - !byte 1,36 - !byte 0,38 - !byte 0,19 - !byte 25,33 - !byte 38,20 - !byte 44,34 - !byte 24,0 - !byte 37,24 - !byte 18,32 - !byte 35,0 - !byte 17,20 - !byte 34,14 - !byte 17,7 - !byte 8,23 - !byte 29,35 - !byte 40,21 - !byte 20,10 - !byte 35,29 - !byte 43,18 - !byte 47,13 - !byte 23,26 - !byte 37,17 - !byte 44,12 - !byte 47,30 - !byte 24,29 - !byte 12,14 - !byte 6,7 - !byte 28,27 - !byte 39,37 - !byte 19,38 - !byte 35,23 - !byte 43,15 - !byte 21,27 - !byte 10,33 - !byte 31,0 - !byte 15,20 - !byte 33,14 - !byte 16,27 - !byte 8,13 - !byte 29,30 - !byte 14,35 - !byte 7,17 - !byte 29,12 - !byte 14,26 - !byte 32,37 - !byte 42,2 - !byte 46,25 - !byte 23,12 - !byte 37,10 - !byte 18,25 - !byte 9,12 - !byte 4,26 - !byte 2,13 - !byte 26,30 - !byte 13,15 - !byte 6,27 - !byte 28,37 - !byte 40,2 - !byte 45,25 - !byte 22,32 - !byte 37,0 - !byte 18,20 - !byte 34,34 - !byte 17,17 - !byte 8,28 - !byte 4,14 - !byte 2,7 - !byte 26,27 - !byte 38,37 - !byte 19,18 - !byte 35,13 - !byte 43,10 - !byte 47,9 - !byte 23,24 - !byte 37,16 - !byte 18,28 - !byte 34,38 - !byte 17,19 - !byte 8,29 - !byte 29,38 - !byte 14,39 - !byte 7,19 - !byte 29,13 - !byte 40,10 - !byte 45,29 - !byte 22,34 - !byte 37,1 - !byte 44,4 - !byte 47,26 - !byte 24,28 - !byte 37,38 - !byte 18,39 - !byte 9,19 - !byte 30,13 - !byte 40,30 - !byte 45,39 - !byte 22,39 - !byte 11,19 - !byte 31,13 - !byte 41,10 - !byte 46,9 - !byte 23,4 - !byte 37,6 - !byte 18,23 - !byte 9,11 - !byte 30,9 - !byte 40,28 - !byte 45,38 - !byte 24,11 - !byte 12,5 - !byte 31,26 - !byte 15,33 - !byte 7,36 - !byte 3,38 - !byte 1,39 - !byte 26,23 - !byte 38,35 - !byte 19,17 - !byte 9,28 - !byte 4,34 - !byte 2,17 - !byte 26,32 - !byte 13,16 - !byte 32,12 - !byte 16,6 - !byte 33,27 - !byte 42,17 - !byte 21,8 - !byte 36,8 - !byte 18,4 - !byte 34,26 - !byte 17,13 - !byte 8,26 - !byte 4,13 - !byte 27,30 - !byte 13,35 - !byte 6,37 - !byte 29,2 - !byte 14,21 - !byte 7,10 - !byte 3,25 - !byte 27,16 - !byte 13,28 - !byte 32,18 - !byte 16,9 - !byte 8,4 - !byte 4,2 - !byte 2,1 - !byte 26,24 - !byte 13,12 - !byte 32,10 - !byte 16,5 - !byte 8,2 - !byte 4,1 - !byte 27,24 - !byte 13,32 - !byte 32,20 - !byte 16,10 - !byte 33,29 - !byte 42,18 - !byte 46,33 - !byte 23,16 - !byte 37,12 - !byte 18,26 - !byte 34,37 - !byte 43,2 - !byte 47,5 - !byte 23,22 - !byte 37,15 - !byte 44,11 - !byte 22,5 - !byte 11,2 - !byte 5,21 - !byte 28,14 - !byte 14,7 - !byte 7,3 - !byte 29,5 - !byte 40,6 - !byte 45,27 - !byte 22,33 - !byte 11,16 - !byte 5,28 - !byte 2,34 - !byte 1,17 - !byte 26,12 - !byte 13,6 - !byte 32,7 - !byte 41,27 - !byte 20,33 - !byte 10,16 - !byte 5,8 - !byte 2,24 - !byte 1,12 - !byte 0,26 - !byte 0,13 - !byte 25,30 - !byte 12,35 - !byte 6,17 - !byte 28,32 - !byte 14,16 - !byte 32,32 - !byte 16,16 - !byte 33,32 - !byte 16,36 - !byte 34,2 - !byte 17,1 - !byte 8,20 - !byte 4,10 - !byte 2,5 - !byte 26,26 - !byte 13,13 - !byte 6,26 - !byte 3,13 - !byte 27,10 - !byte 13,25 - !byte 6,32 - !byte 3,16 - !byte 1,28 - !byte 0,34 - !byte 0,17 - !byte 25,32 - !byte 12,36 - !byte 32,2 - !byte 16,1 - !byte 8,0 - !byte 4,0 - !byte 2,0 - !byte 1,0 - !byte 0,20 - !byte 0,10 - !byte 0,5 - !byte 25,26 - !byte 12,33 - !byte 6,16 - !byte 3,8 - !byte 1,24 - !byte 0,32 - !byte 0,16 - !byte 0,8 - !byte 0,4 - !byte 0,2 - !byte 0,0 - !byte 255 diff --git a/src/fx/fx.hgr.halfblock.fizzle.white.a b/src/fx/fx.hgr.halfblock.fizzle.white.a index ea939527b..64659cd70 100644 --- a/src/fx/fx.hgr.halfblock.fizzle.white.a +++ b/src/fx/fx.hgr.halfblock.fizzle.white.a @@ -5,12 +5,12 @@ !to "build/FX/HALF.MOSAIC",plain *=$6000 -coord = $FE + !source "src/fx/fx.hgr.halfblock.fizzle.common.a" - lda #<@coords - sta coord - lda #>@coords - sta coord+1 + +BUILD_HALFBLOCK_FIZZLE_DATA + + +LDADDR Coordinates + +ST16 coord @whiteloop ldy #0 lda (coord),y @@ -32,10 +32,8 @@ coord = $FE inc coord+1 + bne @whiteloop @endwhite - lda #<@coords - sta coord - lda #>@coords - sta coord+1 + +LDADDR Coordinates + +ST16 coord @copyloop ldy #0 lda (coord),y @@ -58,9 +56,6 @@ coord = $FE + bne @copyloop @exit rts -@coords - !source "src/fx/fx.hgr.halfblock.fizzle.data.a" - !source "src/wait.a" !source "src/fx/fx.hgr.common.a" +HGR_WHITE_ROUTINES