new dither transition effects

This commit is contained in:
4am 2022-08-24 22:30:49 -04:00
parent 07ac765e25
commit 0cf8c9c7ee
64 changed files with 1180 additions and 54 deletions

View File

@ -28,83 +28,104 @@ MANDELBROT.IN
RADIAL RADIAL
STAGGER.LR STAGGER.LR
SOFT.UD SOFT.UD
DITHER.IRIS
HEART.IN HEART.IN
CRYSTAL CRYSTAL
STAR.RIPPLE STAR.RIPPLE
BIT2.FIZZLE BIT2.FIZZLE
DITHER.HEART
MEETINTHEMIDDLE MEETINTHEMIDDLE
BOXES48 BOXES48
APPLE.IN APPLE.IN
FLOWER.RAD.RIP FLOWER.RAD.RIP
DITHER.CORNER4
SOFT.IRIS SOFT.IRIS
W.RIPPLE.BLOOM W.RIPPLE.BLOOM
DIAGONAL DIAGONAL
PINWHEELS PINWHEELS
DITHER.SLOWSTAR
STAGGERWHITE.UD STAGGERWHITE.UD
BOXES48.SYNCC BOXES48.SYNCC
CORNER4.RIP CORNER4.RIP
BOLT BOLT
DITHER.SNOWFLAK
RADIAL2 RADIAL2
STAR STAR
FLOWER.IN FLOWER.IN
R.BY.PIXEL R.BY.PIXEL
DITHER.BUTTERFL
WAVY.IRIS WAVY.IRIS
BIT.FIZZLE BIT.FIZZLE
STAR.IN STAR.IN
BOXES48.PAGEC BOXES48.PAGEC
DITHER.MAPLE
DIAG.STRIPES DIAG.STRIPES
APPLE APPLE
MANDELBROT.RIP MANDELBROT.RIP
SOFT.L SOFT.L
DITHER.SOFTIRIS
HEART.RIPPLE HEART.RIPPLE
FLOWER.RAD FLOWER.RAD
SLOW.STAR.IN SLOW.STAR.IN
IRIS.IN IRIS.IN
DITHER.STAR
BUTTERFLYRIPPLE BUTTERFLYRIPPLE
BOXES48.SPIRALC BOXES48.SPIRALC
W.IRIS.BLOOM.IN W.IRIS.BLOOM.IN
CENTER.BY.PIXEL CENTER.BY.PIXEL
DITHER.WAVYIRIS
RADBUBBLES RADBUBBLES
SNOWFLAKE.IN SNOWFLAKE.IN
FLOWER FLOWER
APPLE.RIPPLE APPLE.RIPPLE
DITHER.DISSOLVE
DIAGONAL2 DIAGONAL2
STAR.BLOOM STAR.BLOOM
DIAMOND.STRIPES DIAMOND.STRIPES
BOXES48.SYNC BOXES48.SYNC
DITHER.RADIAL
THIN.DISSOLVE
PALETTE.FIZZLE PALETTE.FIZZLE
BUTTERFLY BUTTERFLY
BUBBLES BUBBLES
DITHER.RADIAL2
FLOWER.RIPPLE FLOWER.RIPPLE
SPLIT.UD.INTRO SPLIT.UD.INTRO
WAVY.IRIS.IN WAVY.IRIS.IN
R.BY.2 R.BY.2
DITHER.RADIAL4
HALF.FIZZLE HALF.FIZZLE
BOXES48.LDIAGON BOXES48.LDIAGON
SNOWFLAKE.RIP SNOWFLAKE.RIP
RADIAL3 RADIAL3
HEART HEART
BOLT.IN BOLT.IN
DITHER.RADIAL5
FLOWER.RAD.IN FLOWER.RAD.IN
DIAGONAL3 DIAGONAL3
MANDELBROT MANDELBROT
BOXES48.SPIRAL BOXES48.SPIRAL
DITHER.APPLE
WAVY.RIPPLE WAVY.RIPPLE
CORNER4.OUT CORNER4.OUT
LATTICE LATTICE
BAR.DISSOLVE BAR.DISSOLVE
DITHER.BOLT
R.BY.PALETTE R.BY.PALETTE
FOURSPIRAL FOURSPIRAL
SOFT.R SOFT.R
MAPLE.IN MAPLE.IN
DITHER.FLOWER
BOXES48.SNAKEC BOXES48.SNAKEC
RADIAL4 RADIAL4
IRIS IRIS
CASCADE CASCADE
DITHER.FLOWERRD
SNOWFLAKE SNOWFLAKE
VERTICAL.BLINDS VERTICAL.BLINDS
BUTTERFLY.IN BUTTERFLY.IN
LR.BY.PIXEL LR.BY.PIXEL
DITHER.MANDEL
CHECKERB.FIZZLE CHECKERB.FIZZLE
BOXES48.SIDES BOXES48.SIDES
CIRCLE.STRIPES CIRCLE.STRIPES

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.APPLE",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.3bit.a"
+FX_INITONCE_3BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_3BIT_DITHER Coordinates3Bit, EndCoordinates3Bit
CoordinatesFile
!byte 13
!text "FX/APPLE.DATA"

View File

@ -0,0 +1,19 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
; https://thenounproject.com/ArtZ91/collection/pure-lines/?i=550425
; Lightning Bolt by Arthur Shlain from the Noun Project
; CC-BY
!cpu 6502
!to "build/FX.INDEXED/DITHER.BOLT",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.3bit.a"
+FX_INITONCE_3BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_3BIT_DITHER Coordinates3Bit, EndCoordinates3Bit
CoordinatesFile
!byte 12
!text "FX/BOLT.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.BUTTERFL",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 17
!text "FX/BUTTERFLY.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.CORNER4",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_1BIT_DITHER Coordinates1Bit, EndCoordinates1Bit
CoordinatesFile
!byte 15
!text "FX/CORNER4.DATA"

View File

@ -0,0 +1,68 @@
;license:MIT
;(c) 2022 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.DISSOLVE",plain
*=$6000
row1 = $fe
row2 = $ff
src = $3c
dst = $26
lda #$00
sta row1
lda #$BF
sta row2
@loop lda row1
jsr HGRCalc
ldy #$27
- tya
and #$03
tax
lda (src),y
eor (dst),y ; merge source and destination bits
@amask and mask1,x ; isolate the bits to replace, zero the rest
eor (dst),y ; unmerge source and destination bits, leaves 'to keep' destination bits intact
sta (dst),y ; write the result
dey
bpl -
lda row2
jsr HGRCalc
ldy #$27
- tya
and #$03
tax
lda (src),y
eor (dst),y
@bmask and mask3,x
eor (dst),y
sta (dst),y
dey
bpl -
lda #$28
jsr WaitForKeyWithTimeout
bmi @exit
inc row1
dec row2
lda row1
cmp #$60
beq @loop
ldx @amask+1
ldy @bmask+1
stx @bmask+1
sty @amask+1
cmp #$C0
bne @loop
@exit rts
mask1 !byte %10110011
mask2 !byte %11100110
mask3 !byte %11001100
mask4 !byte %10011001
!byte %10110011
!byte %11100110
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
+HGR_CALC_ROUTINES

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.FLOWER",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.3bit.a"
+FX_INITONCE_3BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_3BIT_DITHER Coordinates3Bit, EndCoordinates3Bit
CoordinatesFile
!byte 14
!text "FX/FLOWER.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.FLOWERRD",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.3bit.a"
+FX_INITONCE_3BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_3BIT_DITHER Coordinates3Bit, EndCoordinates3Bit
CoordinatesFile
!byte 18
!text "FX/FLOWER.RAD.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.HEART",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 13
!text "FX/HEART.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.IRIS",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_1BIT_DITHER Coordinates1Bit, EndCoordinates1Bit
CoordinatesFile
!byte 12
!text "FX/IRIS.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.MANDEL",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.3bit.a"
+FX_INITONCE_3BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_3BIT_DITHER Coordinates3Bit, EndCoordinates3Bit
CoordinatesFile
!byte 18
!text "FX/MANDELBROT.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.MAPLE",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 13
!text "FX/MAPLE.DATA"

View File

@ -0,0 +1,117 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.RADIAL",plain
*=$6000
evenrow_ptr = $E4 ; word
oddrow_ptr = $E6 ; word
mirror_src1 = $E8 ; word
mirror_dest1 = $EA ; word
mirror_src2 = $EC ; word
mirror_dest2 = $EE ; word
src1 = $F0 ; word
dest1 = $F2 ; word
src2 = $F4 ; word
dest2 = $F6 ; word
input = $FE ; word
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
lda #$80
sta Coordinates1Bit-2
+BUILD_DITHER_MASKS dither_masks, evenrow_masks, oddrow_masks, no_masks
+BUILD_HGR_LOOKUP_TABLES hgrlo, hgr1hi
+BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror
+BUILD_MIRROR_COLS mirror_cols
+BUILD_SPARSE_BITMASKS copymasks, mirror_copymasks
Start
+LDADDR evenrow_masks
+ST16 evenrow_ptr
+LDADDR oddrow_masks
+ST16 oddrow_ptr
jsr FullRadial
bit KBD
bpl +
rts
+ lda #<no_masks
sta <evenrow_ptr
sta <oddrow_ptr
; /!\ execution falls through here
FullRadial
+LDADDR EndCoordinates1Bit-2
+ST16 input
LoopBL ; bottom-left quadrant (opposite row, original column, reverse input order)
ldy #0
lda (input),y
bmi DoneBL
tax
+ROW_X_TO_MIRROR_ADDRESSES
iny
lda (input),y
+HIGH_3_LOW_5 input
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks, oddrow_ptr
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks, evenrow_ptr
+DEC_INPUT_AND_LOOP LoopBL
DoneBL
+LDADDR Coordinates1Bit
+ST16 input
LoopTL ; top-left quadrant
ldy #0
lda (input),y
bmi DoneTL
tax
+ROW_X_TO_BASE_ADDRESSES
inc input
lda (input),y
+HIGH_3_LOW_5 input
+COPY_BIT_DITHER src1, dest1, copymasks, evenrow_ptr
+COPY_BIT_DITHER src2, dest2, copymasks, oddrow_ptr
+INC_INPUT_AND_LOOP LoopTL
DoneTL
+LDADDR EndCoordinates1Bit-2
+ST16 input
LoopTR ; top-right quadrant (same row, opposite column, reverse input order)
ldy #0
lda (input),y
bmi DoneTR
tax
+ROW_X_TO_BASE_ADDRESSES
iny
lda (input),y
+HIGH_3_LOW_5 input
lda mirror_cols,y
tay
+COPY_BIT_DITHER src1, dest1, mirror_copymasks, evenrow_ptr
+COPY_BIT_DITHER src2, dest2, mirror_copymasks, oddrow_ptr
+DEC_INPUT_AND_LOOP LoopTR
DoneTR
+LDADDR Coordinates1Bit
+ST16 input
LoopBR ; bottom-right quadrant (opposite row, opposite column, original input order)
ldy #0
lda (input),y
bmi DoneBR
tax
+ROW_X_TO_MIRROR_ADDRESSES
inc input
lda (input),y
+HIGH_3_LOW_5 input
lda mirror_cols,y
tay
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks, oddrow_ptr
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks, evenrow_ptr
+INC_INPUT_AND_LOOP LoopBR
DoneBR
rts
+DITHER_MASK_DATA
CoordinatesFile
!byte 14
!text "FX/RADIAL.DATA"

View File

@ -0,0 +1,91 @@
evenrow_ptr = $E4 ; word
oddrow_ptr = $E6 ; word
mirror_src1 = $E8 ; word
mirror_dest1 = $EA ; word
mirror_src2 = $EC ; word
mirror_dest2 = $EE ; word
src1 = $F0 ; word
dest1 = $F2 ; word
src2 = $F4 ; word
dest2 = $F6 ; word
reverse_input = $FC ; word
input = $FE ; word
+BUILD_DITHER_MASKS dither_masks, evenrow_masks, oddrow_masks, no_masks
+BUILD_MIRROR_COLS mirror_cols
+BUILD_HGR_LOOKUP_TABLES_X_IS_ALREADY_0 hgrlo, hgr1hi
+BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror
+BUILD_SPARSE_BITMASKS copymasks, mirror_copymasks
+LDADDR evenrow_masks
+ST16 evenrow_ptr
+LDADDR oddrow_masks
+ST16 oddrow_ptr
jsr FullRadial
bit KBD
bmi Exit
lda #<no_masks
sta <evenrow_ptr
sta <oddrow_ptr
; /!\ execution falls through here
FullRadial
+LDADDR Coordinates
+ST16 input
+LDADDR EndCoordinates-2
+ST16 reverse_input
+HIDE_NEXT_BYTE
Exit rts
Loop ldy #0
lda (input),y
bmi Exit
tax
+ROW_X_TO_BASE_ADDRESSES
+ROW_X_TO_MIRROR_ADDRESSES
inc input
lda (input),y
+HIGH_3_LOW_5 input
; top-left quadrant (original row, original column, original input order)
+COPY_BIT_DITHER src1, dest1, copymasks, evenrow_ptr
+COPY_BIT_DITHER src2, dest2, copymasks, oddrow_ptr
; bottom-right quadrant (opposite row, opposite column, original input order)
lda mirror_cols,y
tay
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks, oddrow_ptr
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks, evenrow_ptr
ldy #0
lda (reverse_input),y
tax
+ROW_X_TO_BASE_ADDRESSES
+ROW_X_TO_MIRROR_ADDRESSES
iny
lda (reverse_input),y
+HIGH_3_LOW_5 reverse_input
; bottom-left quadrant (opposite row, original column, reverse input order)
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks, oddrow_ptr
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks, evenrow_ptr
; top-right quadrant (same row, opposite column, reverse input order)
lda mirror_cols,y
tay
+COPY_BIT_DITHER src1, dest1, mirror_copymasks, evenrow_ptr
+COPY_BIT_DITHER src2, dest2, mirror_copymasks, oddrow_ptr
inc input
bne +
inc input+1
+ lda reverse_input
php
dec reverse_input
dec reverse_input
plp
bne +
dec reverse_input+1
bit $c000
bmi ++
+ jmp Loop
++ rts
+DITHER_MASK_DATA

View File

@ -0,0 +1,20 @@
;license:MIT
;(c) 2019-2020 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.RADIAL2",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
+FX_RIPPLE_1BIT aslmod
Start
!source "src/fx/fx.hgr.dither.radial.common.a"
CoordinatesFile
!byte 14
!text "FX/RADIAL.DATA"
Coordinates=Coordinates1Bit
EndCoordinates=EndCoordinates1Bit

View File

@ -0,0 +1,20 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.RADIAL4",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
jsr EndCoordinates1Bit+1
Start
!source "src/fx/fx.hgr.dither.radial.common.a"
CoordinatesFile
!byte 14
!text "FX/RADIAL.DATA"
Coordinates=Coordinates1Bit
EndCoordinates=EndCoordinates1Bit

View File

@ -0,0 +1,20 @@
;license:MIT
;(c) 2019-2020 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.RADIAL5",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
+FX_RIPPLE_1BIT aslmod3
Start
!source "src/fx/fx.hgr.dither.radial.common.a"
CoordinatesFile
!byte 14
!text "FX/RADIAL.DATA"
Coordinates=Coordinates1Bit
EndCoordinates=EndCoordinates1Bit

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.SLOWSTAR",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_1BIT_DITHER Coordinates1Bit, EndCoordinates1Bit
CoordinatesFile
!byte 17
!text "FX/SLOW.STAR.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.SNOWFLAK",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
+FX_INITONCE_1BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_1BIT_DITHER Coordinates1Bit, EndCoordinates1Bit
CoordinatesFile
!byte 17
!text "FX/SNOWFLAKE.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.SOFTIRIS",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 17
!text "FX/SOFT.IRIS.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.STAR",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 12
!text "FX/STAR.DATA"

View File

@ -0,0 +1,16 @@
;license:MIT
;(c) 2019-2022 by 4am/qkumba
;
!cpu 6502
!to "build/FX.INDEXED/DITHER.WAVYIRIS",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.2bit.a"
+FX_INITONCE_2BIT CoordinatesFile, Start
Start
+FX_PRECOMPUTED_2BIT_DITHER Coordinates2Bit, EndCoordinates2Bit
CoordinatesFile
!byte 17
!text "FX/WAVY.IRIS.DATA"

View File

@ -1,5 +1,5 @@
;license:MIT ;license:MIT
;(c) 2019 by 4am ;(c) 2019-2022 by 4am
; ;
copymasks = $0200 ; $100 bytes but sparse, index is 0..6 but in high 3 bits, so $00, $20, $40, $60, $80, $A0, $C0 copymasks = $0200 ; $100 bytes but sparse, index is 0..6 but in high 3 bits, so $00, $20, $40, $60, $80, $A0, $C0
mirror_copymasks = $0201 mirror_copymasks = $0201
@ -8,6 +8,10 @@ hgrlomirror = $BD40 ; $C0 bytes
mirror_cols = $BE00 ; $28 bytes mirror_cols = $BE00 ; $28 bytes
hgr1hi = $BE40 ; $C0 bytes hgr1hi = $BE40 ; $C0 bytes
hgr1himirror = $BF40 ; $C0 bytes hgr1himirror = $BF40 ; $C0 bytes
; the next 3 addresses should all be on the same page
evenrow_masks = $8500 ; $28 bytes (for dithering)
oddrow_masks = $8528 ; $28 bytes (for dithering)
no_masks = $8550 ; $28 bytes (for dithering)
Coordinates1Bit= $8600 ; $3481 bytes ($3480 on disk + 1 byte EOF marker) Coordinates1Bit= $8600 ; $3481 bytes ($3480 on disk + 1 byte EOF marker)
EndCoordinates1Bit=Coordinates1Bit+$3480 EndCoordinates1Bit=Coordinates1Bit+$3480
@ -101,7 +105,7 @@ EndCoordinates1Bit=Coordinates1Bit+$3480
inc <input inc <input
beq + beq +
jmp .loop jmp .loop
+ bit $c000 + bit KBD
bmi + bmi +
inc <input+1 inc <input+1
jmp .loop jmp .loop
@ -116,7 +120,7 @@ EndCoordinates1Bit=Coordinates1Bit+$3480
plp plp
bne + bne +
dec input+1 dec input+1
bit $c000 bit KBD
bpl .loop bpl .loop
bmi ++ bmi ++
+ jmp .loop + jmp .loop
@ -331,7 +335,142 @@ mirror_dest2=*+1
+INC_INPUT_AND_LOOP InputLoop +INC_INPUT_AND_LOOP InputLoop
} }
end end
!if * and 1 {
!byte 0 ;align 2 but avoids the fake allocation bug if it was aligned already
} }
!macro FX_PRECOMPUTED_1BIT_DITHER .coords, .endcoords {
+BUILD_DITHER_MASKS dither_masks, evenrow_masks, oddrow_masks, no_masks
+BUILD_HGR_LOOKUP_TABLES hgrlo, hgr1hi
+BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror
+BUILD_MIRROR_COLS mirror_cols
+BUILD_SPARSE_BITMASKS copymasks, mirror_copymasks
; phase 1 - in reverse, with additional masking
+COPY_TO_0 start, end
; set up starting coordinate for reading coordinates in reverse order
+LDADDR .endcoords-2
sta <input
sty <input+1
; set up EOF marker to stop reading coordinates in reverse order
lda #$80
sta .coords-2
; set up logic to advance to next coordinates in reverse order
ldx #(next2_end-next2_start-1)
- lda next2_start, x
sta <next, x
dex
bpl -
jsr InputLoop
bit KBD
bmi start
; phase 2 - in order, without additional masking
+COPY_TO_0 start, end
; redirect additional masking pointers to an array that contains #$FFs (so no masking)
lda #<no_masks
sta <evenrow_ptr
sta <oddrow_ptr
jmp InputLoop
start
!pseudopc 0 {
Exit1Bit rts
evenrow_ptr
!word evenrow_masks
oddrow_ptr
!word oddrow_masks
InputLoop
ldy #0
input=*+1
ldx .coords ; first value: HGR row (only 0..95 will be in input array)
bmi Exit1Bit ; if > 127 then we're done
+ROW_X_TO_BASE_ADDRESSES
+ROW_X_TO_MIRROR_ADDRESSES
iny
lda (<input), y
+HIGH_3_LOW_5 input
; main 1x2 block in top-left quadrant
src1=*+1
lda $FDFD, y
eor (<dest1), y
and copymasks, x
and (<evenrow_ptr), y
eor (<dest1), y
dest1=*+1
sta $FDFD, y
src2=*+1
lda $FDFD, y
eor (<dest2), y
and copymasks, x
and (<oddrow_ptr), y
eor (<dest2), y
dest2=*+1
sta $FDFD, y
; corresponding 1x2 block in top-right quadrant (same row, opposite column)
lda mirror_cols, y
tay
+COPY_BIT_DITHER src1, dest1, mirror_copymasks, evenrow_ptr
+COPY_BIT_DITHER src2, dest2, mirror_copymasks, oddrow_ptr
; corresponding 1x2 block in bottom-right quadrant (opposite row, opposite column)
mirror_src1=*+1
lda $FDFD, y
eor (<mirror_dest1), y
and mirror_copymasks, x
and (<oddrow_ptr), y
eor (<mirror_dest1), y
mirror_dest1=*+1
sta $FDFD, y
mirror_src2=*+1
lda $FDFD, y
eor (<mirror_dest2), y
and mirror_copymasks, x
and (<evenrow_ptr), y
eor (<mirror_dest2), y
mirror_dest2=*+1
sta $FDFD, y
; corresponding 1x2 block in bottom-left quadrant (opposite row, original column)
lda mirror_cols, y
tay
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks, oddrow_ptr
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks, evenrow_ptr
next
inc <input
inc <input
bne +
bit KBD
bmi ++
inc <input+1
+ jmp InputLoop
++ rts
}
end
next2_start
!pseudopc next {
lda <input
php
dec <input
dec <input
plp
bne +
dec <input+1
bit KBD
bmi ++
+ jmp InputLoop
++ rts
}
next2_end
+DITHER_MASK_DATA
} }

View File

@ -1,5 +1,5 @@
;license:MIT ;license:MIT
;(c) 2019-2020 by 4am ;(c) 2019-2022 by 4am
; ;
copymasks = $0200 ; $100 bytes but sparse, index is 0..4 but in high 3 bits, so $00, $20, $40, $60, $80 copymasks = $0200 ; $100 bytes but sparse, index is 0..4 but in high 3 bits, so $00, $20, $40, $60, $80
mirror_copymasks = $0201 mirror_copymasks = $0201
@ -8,7 +8,12 @@ hgrlomirror = $BD40 ; $C0 bytes
mirror_cols = $BE00 ; $28 bytes mirror_cols = $BE00 ; $28 bytes
hgr1hi = $BE40 ; $C0 bytes hgr1hi = $BE40 ; $C0 bytes
hgr1himirror = $BF40 ; $C0 bytes hgr1himirror = $BF40 ; $C0 bytes
; the next 3 addresses should all be on the same page
evenrow_masks = $8000 ; $28 bytes (used for dithering)
oddrow_masks = $8028 ; $28 bytes (used for dithering)
no_masks = $8050 ; $28 bytes (used for dithering)
Coordinates2Bit= $8100 ; $3C01 bytes ($3C00 on disk + 1 byte as EOF) Coordinates2Bit= $8100 ; $3C01 bytes ($3C00 on disk + 1 byte as EOF)
EndCoordinates2Bit = Coordinates2Bit + $3C00
!source "src/fx/macros.a" !source "src/fx/macros.a"
@ -92,7 +97,7 @@ InitOnce
+LOAD_FILE_AT .CoordinatesFile, Coordinates2Bit +LOAD_FILE_AT .CoordinatesFile, Coordinates2Bit
+READ_RAM1_WRITE_RAM1 +READ_RAM1_WRITE_RAM1
lda #$00 lda #$00
sta Coordinates2Bit + $3C00 sta EndCoordinates2Bit
} }
!macro FX_REVERSE_2BIT { !macro FX_REVERSE_2BIT {
@ -100,9 +105,9 @@ InitOnce
sty $f0 sty $f0
lda #>Coordinates2Bit lda #>Coordinates2Bit
sta $f1 sta $f1
lda #<(Coordinates2Bit + $3C00 - 2) lda #<(EndCoordinates2Bit - 2)
sta $f2 sta $f2
lda #>(Coordinates2Bit + $3C00 - 2) lda #>(EndCoordinates2Bit - 2)
sta $f3 sta $f3
ldx #$1E ; #$3C/2 ldx #$1E ; #$3C/2
@ -305,13 +310,134 @@ dest2=*+1
inc <input inc <input
bne InputLoop bne InputLoop
bit $c000 bit KBD
bmi Exit2Bit bmi Exit2Bit
inc <input+1 inc <input+1
bne InputLoop ; always branches bne InputLoop ; always branches
} }
end end
!if * and 1 {
!byte 0 ;align 2 but avoids the fake allocation bug if it was aligned already
} }
!macro FX_PRECOMPUTED_2BIT_DITHER .coords, .endcoords {
+BUILD_DITHER_MASKS dither_masks, evenrow_masks, oddrow_masks, no_masks
+BUILD_HGR_LOOKUP_TABLES hgrlo, hgr1hi
+BUILD_MIRROR_COLS mirror_cols
+BUILD_SPARSE_BITMASKS_2BIT copymasks, mirror_copymasks
; phase 1 - in reverse, with additional masking (dithering)
jsr copytozp
; set up starting coordinate for reading coordinates in reverse order
+LDADDR .endcoords-2
sta <input
sty <input+1
; set up EOF marker to stop reading coordinates in reverse order
lda #$00
sta .coords-2
; set up logic to advance to next coordinates in reverse order
ldx #(next2_end-next2_start-1)
- lda next2_start, x
sta <next, x
dex
bpl -
jsr InputLoop
bit KBD
bmi start
; phase 2 - in order, without additional masking
jsr copytozp
; redirect additional masking pointers to an array that contains #$FFs (so no dithering)
lda #<no_masks
sta <evenrow_ptr
sta <oddrow_ptr
jmp InputLoop
copytozp
+COPY_TO_0 start, end
start
!pseudopc 0 {
Exit2Bit rts
evenrow_ptr
!word evenrow_masks
oddrow_ptr
!word oddrow_masks
InputLoop
ldy #0
input=*+1
ldx .coords ; first value: HGR row + 1
beq Exit2Bit ; if 0 then we're done
+ROW_X_TO_2BIT_BASE_ADDRESSES
iny
lda (<input), y
+HIGH_3_LOW_5 input
; main 2x2 block in left half
src1=*+1
lda $FDFD, y
eor (<dest1), y
and copymasks, x
and (<evenrow_ptr), y
eor (<dest1), y
dest1=*+1
sta $FDFD, y
src2=*+1
lda $FDFD, y
eor (<dest2), y
and copymasks, x
and (<oddrow_ptr), y
eor (<dest2), y
dest2=*+1
sta $FDFD, y
; corresponding 2x2 block in right half (same row, opposite column)
lda mirror_cols, y
tay
lda (src1), y
eor (dest1), y
and mirror_copymasks, x
and (<evenrow_ptr), y
eor (dest1), y
sta (dest1), y
lda (src2), y
eor (dest2), y
and mirror_copymasks, x
and (<oddrow_ptr), y
eor (dest2), y
sta (dest2), y
next
inc <input
inc <input
bne InputLoop
bit KBD
bmi Exit2Bit
inc <input+1
bne InputLoop ; always branches
}
end
next2_start
!pseudopc next {
lda <input
php
dec <input
dec <input
plp
bne InputLoop
dec <input+1
bit KBD
bpl InputLoop
rts
}
next2_end
+DITHER_MASK_DATA
} }

View File

@ -1,5 +1,5 @@
;license:MIT ;license:MIT
;(c) 2019-2020 by 4am ;(c) 2019-2022 by 4am
; ;
copymasks = $0200 ; $100 bytes but sparse, index is 0..7 but in high 3 bits, so $00, $20, $40... copymasks = $0200 ; $100 bytes but sparse, index is 0..7 but in high 3 bits, so $00, $20, $40...
@ -12,10 +12,18 @@ hgrlo3c = $BD00 ; $80 bytes
hgrhi3a = $BD80 ; $80 bytes hgrhi3a = $BD80 ; $80 bytes
hgrhi3b = $BE00 ; $80 bytes hgrhi3b = $BE00 ; $80 bytes
hgrhi3c = $BE80 ; $80 bytes hgrhi3c = $BE80 ; $80 bytes
dither1_lo = $6900 ; $80 bytes
dither2_lo = $6980 ; $80 bytes
dither3_lo = $6A00 ; $80 bytes
; the next 3 addresses should all be on the same page
evenrow_masks = $6A80 ; $28 bytes (for dithering)
oddrow_masks = $6AA8 ; $28 bytes (for dithering)
no_masks = $6AD0 ; $28 bytes (for dithering)
Coordinates3Bit= $6B00 ; pixel data is $5001 bytes ($5000 on disk + 1 byte as EOF marker) Coordinates3Bit= $6B00 ; pixel data is $5001 bytes ($5000 on disk + 1 byte as EOF marker)
; and for optimization we only support loading external files page-aligned ; and for optimization we only support loading external files page-aligned
; and $BC00+ is used by the 3bit macros for data tables ; and $BC00+ is used by the 3bit macros for data tables
; so we load at $6B00 and waste $FF bytes at $BB01+ but it's okay ; so we load at $6B00 and waste $FF bytes at $BB01+ but it's okay
EndCoordinates3Bit = Coordinates3Bit + $5000
!source "src/fx/macros.a" !source "src/fx/macros.a"
@ -279,13 +287,159 @@ dest3=*+1
inc <input inc <input
bne InputLoop bne InputLoop
bit $c000 bit KBD
bmi Exit3Bit bmi Exit3Bit
inc <input+1 inc <input+1
bne InputLoop ; always branches bne InputLoop ; always branches
} }
end end
!if * and 1 {
!byte 0 ;align 2 but avoids the fake allocation bug if it was aligned already
} }
!macro FX_PRECOMPUTED_3BIT_DITHER .coords, .endcoords {
+BUILD_DITHER_MASKS dither_masks, evenrow_masks, oddrow_masks, no_masks
+BUILD_3BIT_HGR_LOOKUP_TABLES
+BUILD_EXTRA_COLS
+BUILD_SPARSE_BITMASKS_3BIT
; phase 1 - in reverse, with additional masking
+COPY_TO_0 start, end
; set up starting coordinate for reading coordinates in reverse order
+LDADDR .endcoords-2
sta <input
sty <input+1
; set up EOF marker to stop reading coordinates in reverse order
lda #$80
sta .coords-2
; set up logic to advance to next coordinates in reverse order
ldx #(next2_end-next2_start-1)
- lda next2_start, x
sta <next, x
dex
bpl -
; set up pointers to dither mask pointers so even rows do even-row dithering and odd rows do odd-row dithering
ldx #$7F
- lda #<evenrow_masks
sta dither1_lo, x
sta dither2_lo-1, x
sta dither3_lo, x
lda #<oddrow_masks
sta dither1_lo-1, x
sta dither2_lo, x
sta dither3_lo-1, x
dex
dex
bpl -
jsr InputLoop
bit KBD
bmi start
; phase 2 - in order, without additional masking
+COPY_TO_0 start, end
; set up pointers to dither mask pointers so all rows do no dithering
ldx #$7F
- lda #<no_masks
sta dither1_lo, x
sta dither2_lo, x
sta dither3_lo, x
dex
bpl -
jmp InputLoop
start
!pseudopc 0 {
Exit3Bit rts
dither1_ptr
!word evenrow_masks
dither2_ptr
!word oddrow_masks
dither3_ptr
!word evenrow_masks
InputLoop
ldy #0
input=*+1
lda .coords
bmi Exit3Bit ; if high bit is 1 then we're done
cmp #$40
php
tax
lda dither1_lo, x
sta dither1_ptr
lda dither2_lo, x
sta dither2_ptr
lda dither3_lo, x
sta dither3_ptr
+ROW_X_TO_3BIT_BASE_ADDRESSES
iny
lda (<input), y
and #%11100000
tax
eor (<input), y
plp
bcc +
tay
lda extra_cols, y
+ tay
; 2x3 block
src1=*+1
lda $FDFD, y
eor (<dest1), y
and copymasks, x
and (dither1_ptr), y
eor (<dest1), y
dest1=*+1
sta $FDFD, y
src2=*+1
lda $FDFD, y
eor (<dest2), y
and copymasks, x
and (dither2_ptr), y
eor (<dest2), y
dest2=*+1
sta $FDFD, y
src3=*+1
lda $FDFD, y
eor (<dest3), y
and copymasks, x
and (dither3_ptr), y
eor (<dest3), y
dest3=*+1
sta $FDFD, y
next
inc <input
inc <input
bne +
bit KBD
bmi ++
inc <input+1
+ jmp InputLoop
++ rts
}
end
next2_start
!pseudopc next {
lda <input
php
dec <input
dec <input
plp
bne +
dec <input+1
bit KBD
bmi ++
+ jmp InputLoop
++ rts
}
next2_end
+DITHER_MASK_DATA
} }

View File

@ -0,0 +1,72 @@
;license:MIT
;(c) 2022 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/THIN.DISSOLVE",plain
*=$6000
row1 = $fe
row2 = $ff
src = $3c
dst = $26
lda #$00
sta row1
lda #$BF
sta row2
@loop lda row1
jsr HGRCalc
ldy #$27
- tya
and #$03
tax
lda (src),y
eor (dst),y ; merge source and destination bits
and mask1,x ; isolate the bits to replace, zero the rest
eor (dst),y ; unmerge source and destination bits, leaves 'to keep' destination bits intact
sta (dst),y ; write the result
dey
bpl -
lda row2
jsr HGRCalc
ldy #$27
- tya
and #$03
tax
lda (src),y
eor (dst),y
and mask3,x
eor (dst),y
sta (dst),y
dey
bpl -
lda #$30
jsr WaitForKeyWithTimeout
bmi @exit
!if 0 {
ldx mask1
ldy mask3
stx mask3
sty mask1
ldx mask2
ldy mask4
stx mask4
sty mask2
}
inc row1
dec row2
lda row1
cmp #$C0
bne @loop
@exit rts
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
+HGR_CALC_ROUTINES
mask1 !byte %10110011
mask2 !byte %11100110
mask3 !byte %11001100
mask4 !byte %10011001
!byte %10110011
!byte %11100110

View File

@ -62,6 +62,22 @@
bne - bne -
} }
!macro BUILD_DITHER_MASKS .dither_masks, .evenrow_masks, .oddrow_masks, .no_masks {
ldy #$28
-- ldx #$03
- dey
lda .dither_masks, x
sta .evenrow_masks, y
lda .dither_masks+2, x
sta .oddrow_masks, y
lda #$FF
sta .no_masks, y
dex
bpl -
tya
bne --
}
!macro HGR_CALC { !macro HGR_CALC {
; in: A = HGR row (0x00..0xBF) ; in: A = HGR row (0x00..0xBF)
; out: A/X clobbered ; out: A/X clobbered
@ -126,6 +142,25 @@
sta (.dest1),y ; write the result sta (.dest1),y ; write the result
} }
!macro COPY_BIT_DITHER .src1, .dest1, .copymasks, .dithermaskptr {
lda (.src1),y
eor (.dest1),y ; merge source and destination bits
and .copymasks,x ; isolate the bits to replace, zero the rest
and (.dithermaskptr),y
eor (.dest1),y ; unmerge source and destination bits, leaves 'to keep' destination bits intact
sta (.dest1),y ; write the result
}
!macro DITHER_MASK_DATA {
dither_masks
!byte %10110011
!byte %11100110
!byte %11001100
!byte %10011001
!byte %10110011
!byte %11100110
}
!macro COPY_BIT_ZP .src1, .dest1, .zpcopymask { !macro COPY_BIT_ZP .src1, .dest1, .zpcopymask {
lda (.src1),y lda (.src1),y
eor (.dest1),y ; merge source and destination bits eor (.dest1),y ; merge source and destination bits

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11942238 !be24 11953057
!le16 5108 !le16 5108

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11892590 !be24 11902980
!le16 5405 !le16 5405

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11831498 !be24 11841888
!le16 3769 !le16 3769

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11844696 !be24 11855086
!le16 4189 !le16 4189

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11861141 !be24 11871531
!le16 5321 !le16 5321

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11880041 !be24 11890431
!le16 5949 !le16 5949

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11947346 !be24 11958165
!le16 410 !le16 410

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11948100 !be24 11958919
!le16 448 !le16 448

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11948548 !be24 11959367
!le16 303 !le16 303

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11900141 !be24 11910960
!le16 1242 !le16 1242

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11947832 !be24 11958651
!le16 67 !le16 67

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11942179 !be24 11952998
!le16 59 !le16 59

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11940645 !be24 11951464
!le16 1437 !le16 1437

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11926120 !be24 11936939
!le16 537 !le16 537

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11897995 !be24 11908385
!le16 2146 !le16 2575

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11901741 !be24 11912560
!le16 6600 !le16 6600

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11947756 !be24 11958575
!le16 76 !le16 76

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11942082 !be24 11952901
!le16 97 !le16 97

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11947899 !be24 11958718
!le16 201 !le16 201

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11926657 !be24 11937476
!le16 4436 !le16 4436

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11931093 !be24 11941912
!le16 1658 !le16 1658

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11932751 !be24 11943570
!le16 1053 !le16 1053

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11933804 !be24 11944623
!le16 3294 !le16 3294

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11937098 !be24 11947917
!le16 2954 !le16 2954

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11940052 !be24 11950871
!le16 479 !le16 479

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11940531 !be24 11951350
!le16 114 !le16 114

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11948851 !be24 11959670
!le16 2370 !le16 2370

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11913371 !be24 11924190
!le16 4383 !le16 4383

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11917754 !be24 11928573
!le16 2221 !le16 2221

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11885990 !be24 11896380
!le16 6600 !le16 6600

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11822943 !be24 11833333
!le16 8555 !le16 8555

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11835267 !be24 11845657
!le16 9429 !le16 9429

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11848885 !be24 11859275
!le16 12256 !le16 12256

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11866462 !be24 11876852
!le16 13579 !le16 13579

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11901383 !be24 11912202
!le16 358 !le16 358

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11908341 !be24 11919160
!le16 5030 !le16 5030

View File

@ -4,5 +4,5 @@
; This file is automatically generated ; This file is automatically generated
; ;
!byte 0 !byte 0
!be24 11919975 !be24 11930794
!le16 6145 !le16 6145