generate ONESQUARE data at runtime

This commit is contained in:
4am 2020-11-18 19:25:17 -05:00
parent 3280b0c607
commit dbbf21f455
2 changed files with 147 additions and 1049 deletions

View File

@ -1,972 +0,0 @@
!byte 0,0
!byte 0,1
!byte 0,2
!byte 0,3
!byte 0,4
!byte 0,5
!byte 0,6
!byte 0,7
!byte 0,8
!byte 0,9
!byte 0,10
!byte 0,11
!byte 0,12
!byte 0,13
!byte 0,14
!byte 0,15
!byte 0,16
!byte 0,17
!byte 0,18
!byte 0,19
!byte 0,20
!byte 0,21
!byte 0,22
!byte 0,23
!byte 0,24
!byte 0,25
!byte 0,26
!byte 0,27
!byte 0,28
!byte 0,29
!byte 0,30
!byte 0,31
!byte 0,32
!byte 0,33
!byte 0,34
!byte 0,35
!byte 0,36
!byte 0,37
!byte 0,38
!byte 0,39
!byte 1,0
!byte 1,39
!byte 2,0
!byte 2,39
!byte 3,0
!byte 3,39
!byte 4,0
!byte 4,39
!byte 5,0
!byte 5,39
!byte 6,0
!byte 6,39
!byte 7,0
!byte 7,39
!byte 8,0
!byte 8,39
!byte 9,0
!byte 9,39
!byte 10,0
!byte 10,39
!byte 11,0
!byte 11,39
!byte 12,0
!byte 12,39
!byte 13,0
!byte 13,39
!byte 14,0
!byte 14,39
!byte 15,0
!byte 15,39
!byte 16,0
!byte 16,39
!byte 17,0
!byte 17,39
!byte 18,0
!byte 18,39
!byte 19,0
!byte 19,39
!byte 20,0
!byte 20,39
!byte 21,0
!byte 21,39
!byte 22,0
!byte 22,39
!byte 23,0
!byte 23,1
!byte 23,2
!byte 23,3
!byte 23,4
!byte 23,5
!byte 23,6
!byte 23,7
!byte 23,8
!byte 23,9
!byte 23,10
!byte 23,11
!byte 23,12
!byte 23,13
!byte 23,14
!byte 23,15
!byte 23,16
!byte 23,17
!byte 23,18
!byte 23,19
!byte 23,20
!byte 23,21
!byte 23,22
!byte 23,23
!byte 23,24
!byte 23,25
!byte 23,26
!byte 23,27
!byte 23,28
!byte 23,29
!byte 23,30
!byte 23,31
!byte 23,32
!byte 23,33
!byte 23,34
!byte 23,35
!byte 23,36
!byte 23,37
!byte 23,38
!byte 23,39
!byte 255,255
!byte 1,1
!byte 1,2
!byte 1,3
!byte 1,4
!byte 1,5
!byte 1,6
!byte 1,7
!byte 1,8
!byte 1,9
!byte 1,10
!byte 1,11
!byte 1,12
!byte 1,13
!byte 1,14
!byte 1,15
!byte 1,16
!byte 1,17
!byte 1,18
!byte 1,19
!byte 1,20
!byte 1,21
!byte 1,22
!byte 1,23
!byte 1,24
!byte 1,25
!byte 1,26
!byte 1,27
!byte 1,28
!byte 1,29
!byte 1,30
!byte 1,31
!byte 1,32
!byte 1,33
!byte 1,34
!byte 1,35
!byte 1,36
!byte 1,37
!byte 1,38
!byte 2,1
!byte 2,38
!byte 3,1
!byte 3,38
!byte 4,1
!byte 4,38
!byte 5,1
!byte 5,38
!byte 6,1
!byte 6,38
!byte 7,1
!byte 7,38
!byte 8,1
!byte 8,38
!byte 9,1
!byte 9,38
!byte 10,1
!byte 10,38
!byte 11,1
!byte 11,38
!byte 12,1
!byte 12,38
!byte 13,1
!byte 13,38
!byte 14,1
!byte 14,38
!byte 15,1
!byte 15,38
!byte 16,1
!byte 16,38
!byte 17,1
!byte 17,38
!byte 18,1
!byte 18,38
!byte 19,1
!byte 19,38
!byte 20,1
!byte 20,38
!byte 21,1
!byte 21,38
!byte 22,1
!byte 22,2
!byte 22,3
!byte 22,4
!byte 22,5
!byte 22,6
!byte 22,7
!byte 22,8
!byte 22,9
!byte 22,10
!byte 22,11
!byte 22,12
!byte 22,13
!byte 22,14
!byte 22,15
!byte 22,16
!byte 22,17
!byte 22,18
!byte 22,19
!byte 22,20
!byte 22,21
!byte 22,22
!byte 22,23
!byte 22,24
!byte 22,25
!byte 22,26
!byte 22,27
!byte 22,28
!byte 22,29
!byte 22,30
!byte 22,31
!byte 22,32
!byte 22,33
!byte 22,34
!byte 22,35
!byte 22,36
!byte 22,37
!byte 22,38
!byte 255,255
!byte 2,2
!byte 2,3
!byte 2,4
!byte 2,5
!byte 2,6
!byte 2,7
!byte 2,8
!byte 2,9
!byte 2,10
!byte 2,11
!byte 2,12
!byte 2,13
!byte 2,14
!byte 2,15
!byte 2,16
!byte 2,17
!byte 2,18
!byte 2,19
!byte 2,20
!byte 2,21
!byte 2,22
!byte 2,23
!byte 2,24
!byte 2,25
!byte 2,26
!byte 2,27
!byte 2,28
!byte 2,29
!byte 2,30
!byte 2,31
!byte 2,32
!byte 2,33
!byte 2,34
!byte 2,35
!byte 2,36
!byte 2,37
!byte 3,2
!byte 3,37
!byte 4,2
!byte 4,37
!byte 5,2
!byte 5,37
!byte 6,2
!byte 6,37
!byte 7,2
!byte 7,37
!byte 8,2
!byte 8,37
!byte 9,2
!byte 9,37
!byte 10,2
!byte 10,37
!byte 11,2
!byte 11,37
!byte 12,2
!byte 12,37
!byte 13,2
!byte 13,37
!byte 14,2
!byte 14,37
!byte 15,2
!byte 15,37
!byte 16,2
!byte 16,37
!byte 17,2
!byte 17,37
!byte 18,2
!byte 18,37
!byte 19,2
!byte 19,37
!byte 20,2
!byte 20,37
!byte 21,2
!byte 21,3
!byte 21,4
!byte 21,5
!byte 21,6
!byte 21,7
!byte 21,8
!byte 21,9
!byte 21,10
!byte 21,11
!byte 21,12
!byte 21,13
!byte 21,14
!byte 21,15
!byte 21,16
!byte 21,17
!byte 21,18
!byte 21,19
!byte 21,20
!byte 21,21
!byte 21,22
!byte 21,23
!byte 21,24
!byte 21,25
!byte 21,26
!byte 21,27
!byte 21,28
!byte 21,29
!byte 21,30
!byte 21,31
!byte 21,32
!byte 21,33
!byte 21,34
!byte 21,35
!byte 21,36
!byte 21,37
!byte 255,255
!byte 3,3
!byte 3,4
!byte 3,5
!byte 3,6
!byte 3,7
!byte 3,8
!byte 3,9
!byte 3,10
!byte 3,11
!byte 3,12
!byte 3,13
!byte 3,14
!byte 3,15
!byte 3,16
!byte 3,17
!byte 3,18
!byte 3,19
!byte 3,20
!byte 3,21
!byte 3,22
!byte 3,23
!byte 3,24
!byte 3,25
!byte 3,26
!byte 3,27
!byte 3,28
!byte 3,29
!byte 3,30
!byte 3,31
!byte 3,32
!byte 3,33
!byte 3,34
!byte 3,35
!byte 3,36
!byte 4,3
!byte 4,36
!byte 5,3
!byte 5,36
!byte 6,3
!byte 6,36
!byte 7,3
!byte 7,36
!byte 8,3
!byte 8,36
!byte 9,3
!byte 9,36
!byte 10,3
!byte 10,36
!byte 11,3
!byte 11,36
!byte 12,3
!byte 12,36
!byte 13,3
!byte 13,36
!byte 14,3
!byte 14,36
!byte 15,3
!byte 15,36
!byte 16,3
!byte 16,36
!byte 17,3
!byte 17,36
!byte 18,3
!byte 18,36
!byte 19,3
!byte 19,36
!byte 20,3
!byte 20,4
!byte 20,5
!byte 20,6
!byte 20,7
!byte 20,8
!byte 20,9
!byte 20,10
!byte 20,11
!byte 20,12
!byte 20,13
!byte 20,14
!byte 20,15
!byte 20,16
!byte 20,17
!byte 20,18
!byte 20,19
!byte 20,20
!byte 20,21
!byte 20,22
!byte 20,23
!byte 20,24
!byte 20,25
!byte 20,26
!byte 20,27
!byte 20,28
!byte 20,29
!byte 20,30
!byte 20,31
!byte 20,32
!byte 20,33
!byte 20,34
!byte 20,35
!byte 20,36
!byte 255,255
!byte 4,4
!byte 4,5
!byte 4,6
!byte 4,7
!byte 4,8
!byte 4,9
!byte 4,10
!byte 4,11
!byte 4,12
!byte 4,13
!byte 4,14
!byte 4,15
!byte 4,16
!byte 4,17
!byte 4,18
!byte 4,19
!byte 4,20
!byte 4,21
!byte 4,22
!byte 4,23
!byte 4,24
!byte 4,25
!byte 4,26
!byte 4,27
!byte 4,28
!byte 4,29
!byte 4,30
!byte 4,31
!byte 4,32
!byte 4,33
!byte 4,34
!byte 4,35
!byte 5,4
!byte 5,35
!byte 6,4
!byte 6,35
!byte 7,4
!byte 7,35
!byte 8,4
!byte 8,35
!byte 9,4
!byte 9,35
!byte 10,4
!byte 10,35
!byte 11,4
!byte 11,35
!byte 12,4
!byte 12,35
!byte 13,4
!byte 13,35
!byte 14,4
!byte 14,35
!byte 15,4
!byte 15,35
!byte 16,4
!byte 16,35
!byte 17,4
!byte 17,35
!byte 18,4
!byte 18,35
!byte 19,4
!byte 19,5
!byte 19,6
!byte 19,7
!byte 19,8
!byte 19,9
!byte 19,10
!byte 19,11
!byte 19,12
!byte 19,13
!byte 19,14
!byte 19,15
!byte 19,16
!byte 19,17
!byte 19,18
!byte 19,19
!byte 19,20
!byte 19,21
!byte 19,22
!byte 19,23
!byte 19,24
!byte 19,25
!byte 19,26
!byte 19,27
!byte 19,28
!byte 19,29
!byte 19,30
!byte 19,31
!byte 19,32
!byte 19,33
!byte 19,34
!byte 19,35
!byte 255,255
!byte 5,5
!byte 5,6
!byte 5,7
!byte 5,8
!byte 5,9
!byte 5,10
!byte 5,11
!byte 5,12
!byte 5,13
!byte 5,14
!byte 5,15
!byte 5,16
!byte 5,17
!byte 5,18
!byte 5,19
!byte 5,20
!byte 5,21
!byte 5,22
!byte 5,23
!byte 5,24
!byte 5,25
!byte 5,26
!byte 5,27
!byte 5,28
!byte 5,29
!byte 5,30
!byte 5,31
!byte 5,32
!byte 5,33
!byte 5,34
!byte 6,5
!byte 6,34
!byte 7,5
!byte 7,34
!byte 8,5
!byte 8,34
!byte 9,5
!byte 9,34
!byte 10,5
!byte 10,34
!byte 11,5
!byte 11,34
!byte 12,5
!byte 12,34
!byte 13,5
!byte 13,34
!byte 14,5
!byte 14,34
!byte 15,5
!byte 15,34
!byte 16,5
!byte 16,34
!byte 17,5
!byte 17,34
!byte 18,5
!byte 18,6
!byte 18,7
!byte 18,8
!byte 18,9
!byte 18,10
!byte 18,11
!byte 18,12
!byte 18,13
!byte 18,14
!byte 18,15
!byte 18,16
!byte 18,17
!byte 18,18
!byte 18,19
!byte 18,20
!byte 18,21
!byte 18,22
!byte 18,23
!byte 18,24
!byte 18,25
!byte 18,26
!byte 18,27
!byte 18,28
!byte 18,29
!byte 18,30
!byte 18,31
!byte 18,32
!byte 18,33
!byte 18,34
!byte 255,255
!byte 6,6
!byte 6,7
!byte 6,8
!byte 6,9
!byte 6,10
!byte 6,11
!byte 6,12
!byte 6,13
!byte 6,14
!byte 6,15
!byte 6,16
!byte 6,17
!byte 6,18
!byte 6,19
!byte 6,20
!byte 6,21
!byte 6,22
!byte 6,23
!byte 6,24
!byte 6,25
!byte 6,26
!byte 6,27
!byte 6,28
!byte 6,29
!byte 6,30
!byte 6,31
!byte 6,32
!byte 6,33
!byte 7,6
!byte 7,33
!byte 8,6
!byte 8,33
!byte 9,6
!byte 9,33
!byte 10,6
!byte 10,33
!byte 11,6
!byte 11,33
!byte 12,6
!byte 12,33
!byte 13,6
!byte 13,33
!byte 14,6
!byte 14,33
!byte 15,6
!byte 15,33
!byte 16,6
!byte 16,33
!byte 17,6
!byte 17,7
!byte 17,8
!byte 17,9
!byte 17,10
!byte 17,11
!byte 17,12
!byte 17,13
!byte 17,14
!byte 17,15
!byte 17,16
!byte 17,17
!byte 17,18
!byte 17,19
!byte 17,20
!byte 17,21
!byte 17,22
!byte 17,23
!byte 17,24
!byte 17,25
!byte 17,26
!byte 17,27
!byte 17,28
!byte 17,29
!byte 17,30
!byte 17,31
!byte 17,32
!byte 17,33
!byte 255,255
!byte 7,7
!byte 7,8
!byte 7,9
!byte 7,10
!byte 7,11
!byte 7,12
!byte 7,13
!byte 7,14
!byte 7,15
!byte 7,16
!byte 7,17
!byte 7,18
!byte 7,19
!byte 7,20
!byte 7,21
!byte 7,22
!byte 7,23
!byte 7,24
!byte 7,25
!byte 7,26
!byte 7,27
!byte 7,28
!byte 7,29
!byte 7,30
!byte 7,31
!byte 7,32
!byte 8,7
!byte 8,32
!byte 9,7
!byte 9,32
!byte 10,7
!byte 10,32
!byte 11,7
!byte 11,32
!byte 12,7
!byte 12,32
!byte 13,7
!byte 13,32
!byte 14,7
!byte 14,32
!byte 15,7
!byte 15,32
!byte 16,7
!byte 16,8
!byte 16,9
!byte 16,10
!byte 16,11
!byte 16,12
!byte 16,13
!byte 16,14
!byte 16,15
!byte 16,16
!byte 16,17
!byte 16,18
!byte 16,19
!byte 16,20
!byte 16,21
!byte 16,22
!byte 16,23
!byte 16,24
!byte 16,25
!byte 16,26
!byte 16,27
!byte 16,28
!byte 16,29
!byte 16,30
!byte 16,31
!byte 16,32
!byte 255,255
!byte 8,8
!byte 8,9
!byte 8,10
!byte 8,11
!byte 8,12
!byte 8,13
!byte 8,14
!byte 8,15
!byte 8,16
!byte 8,17
!byte 8,18
!byte 8,19
!byte 8,20
!byte 8,21
!byte 8,22
!byte 8,23
!byte 8,24
!byte 8,25
!byte 8,26
!byte 8,27
!byte 8,28
!byte 8,29
!byte 8,30
!byte 8,31
!byte 9,8
!byte 9,31
!byte 10,8
!byte 10,31
!byte 11,8
!byte 11,31
!byte 12,8
!byte 12,31
!byte 13,8
!byte 13,31
!byte 14,8
!byte 14,31
!byte 15,8
!byte 15,9
!byte 15,10
!byte 15,11
!byte 15,12
!byte 15,13
!byte 15,14
!byte 15,15
!byte 15,16
!byte 15,17
!byte 15,18
!byte 15,19
!byte 15,20
!byte 15,21
!byte 15,22
!byte 15,23
!byte 15,24
!byte 15,25
!byte 15,26
!byte 15,27
!byte 15,28
!byte 15,29
!byte 15,30
!byte 15,31
!byte 255,255
!byte 9,9
!byte 9,10
!byte 9,11
!byte 9,12
!byte 9,13
!byte 9,14
!byte 9,15
!byte 9,16
!byte 9,17
!byte 9,18
!byte 9,19
!byte 9,20
!byte 9,21
!byte 9,22
!byte 9,23
!byte 9,24
!byte 9,25
!byte 9,26
!byte 9,27
!byte 9,28
!byte 9,29
!byte 9,30
!byte 10,9
!byte 10,30
!byte 11,9
!byte 11,30
!byte 12,9
!byte 12,30
!byte 13,9
!byte 13,30
!byte 14,9
!byte 14,10
!byte 14,11
!byte 14,12
!byte 14,13
!byte 14,14
!byte 14,15
!byte 14,16
!byte 14,17
!byte 14,18
!byte 14,19
!byte 14,20
!byte 14,21
!byte 14,22
!byte 14,23
!byte 14,24
!byte 14,25
!byte 14,26
!byte 14,27
!byte 14,28
!byte 14,29
!byte 14,30
!byte 255,255
!byte 10,10
!byte 10,11
!byte 10,12
!byte 10,13
!byte 10,14
!byte 10,15
!byte 10,16
!byte 10,17
!byte 10,18
!byte 10,19
!byte 10,20
!byte 10,21
!byte 10,22
!byte 10,23
!byte 10,24
!byte 10,25
!byte 10,26
!byte 10,27
!byte 10,28
!byte 10,29
!byte 11,10
!byte 11,29
!byte 12,10
!byte 12,29
!byte 13,10
!byte 13,11
!byte 13,12
!byte 13,13
!byte 13,14
!byte 13,15
!byte 13,16
!byte 13,17
!byte 13,18
!byte 13,19
!byte 13,20
!byte 13,21
!byte 13,22
!byte 13,23
!byte 13,24
!byte 13,25
!byte 13,26
!byte 13,27
!byte 13,28
!byte 13,29
!byte 255,255
!byte 11,11
!byte 11,12
!byte 11,13
!byte 11,14
!byte 11,15
!byte 11,16
!byte 11,17
!byte 11,18
!byte 11,19
!byte 11,20
!byte 11,21
!byte 11,22
!byte 11,23
!byte 11,24
!byte 11,25
!byte 11,26
!byte 11,27
!byte 11,28
!byte 12,11
!byte 12,12
!byte 12,13
!byte 12,14
!byte 12,15
!byte 12,16
!byte 12,17
!byte 12,18
!byte 12,19
!byte 12,20
!byte 12,21
!byte 12,22
!byte 12,23
!byte 12,24
!byte 12,25
!byte 12,26
!byte 12,27
!byte 12,28
!byte 255,255

View File

@ -1,77 +1,147 @@
;license:MIT
;(c) 2018 by 4am
;
!cpu 6502
!to "build/FX/ONESQUARE",plain
*=$6000
lda #<@coords
sta $FE
lda #>@coords
sta $FF
ldy #$00
@loop1
lda ($FE),y
bpl @copy
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @next ; always branches
@copy
tax
iny
lda ($fe),y
tay
txa
jsr HGRBlockToWhite
@next
inc $FE
bne +
inc $FF
+ inc $FE
bne +
inc $FF
+ ldy #$00
lda ($FE),y
cmp #$80
bne @loop1
@loop2
dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ ldy #$00
lda ($FE),y
cmp #$80
beq @exit
lda ($FE),y
bpl @copy2
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @loop2 ; always branches
@copy2
tax
iny
lda ($fe),y
tay
txa
jsr HGRBlockCopy
beq @loop2 ; always branches
@exit rts
!byte $80,$80
@coords
!source "src/fx/fx.hgr.onesquare.data.a"
!byte $80
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
+HGR_WHITE_ROUTINES
+HGR_BLOCK_COPY_ROUTINES
;license:MIT
;(c) 2018-2020 by 4am/qkumba
;
!cpu 6502
!to "build/FX/ONESQUARE",plain
*=$6000
ldy #0
sty $FA
ldx #40
stx $FB
dex
stx $FC
lda #23
sta $FD
lda #<Coordinates
sta $FE
lda #>Coordinates
sta $FF
-- ldx $FA
- lda $FA
sta ($FE), y
iny
txa
sta ($FE), y
iny
bne +
inc $FF
+ inx
cpx $FB
bne -
ldx $FA
- inx
cpx $FD
bcs +
txa
sta ($FE), y
iny
lda $FA
sta ($FE), y
iny
txa
sta ($FE), y
iny
lda $FC
sta ($FE), y
iny
bne -
inc $FF
bne - ; always branches
+ ldx $FA
- lda $FD
sta ($FE), y
iny
txa
sta ($FE), y
iny
bne +
inc $FF
+ inx
cpx $FB
bne -
lda #$FF
sta ($FE), y
iny
sta ($FE), y
iny
dec $FB
dec $FC
dec $FD
inc $FA
lda $FA
cmp #12
bne --
lda #$80
sta Coordinates+$798
lda #<Coordinates
sta $FE
lda #>Coordinates
sta $FF
ldy #$00
@loop1
lda ($FE),y
bpl @copy
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @next ; always branches
@copy
tax
iny
lda ($fe),y
tay
txa
jsr HGRBlockToWhite
@next
inc $FE
bne +
inc $FF
+ inc $FE
bne +
inc $FF
+ ldy #$00
lda ($FE),y
cmp #$80
bne @loop1
@loop2
dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ ldy #$00
lda ($FE),y
cmp #$80
beq @exit
lda ($FE),y
bpl @copy2
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @loop2 ; always branches
@copy2
tax
iny
lda ($fe),y
tay
txa
jsr HGRBlockCopy
beq @loop2 ; always branches
@exit rts
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
+HGR_WHITE_ROUTINES
+HGR_BLOCK_COPY_ROUTINES
!byte $80,$80
Coordinates