some wipes

This commit is contained in:
4am
2019-11-27 15:07:28 -05:00
parent 7fe893d48a
commit c330027f77
6 changed files with 6749 additions and 35 deletions
+1 -1
View File
@@ -1 +1 @@
RIPPLE
RIPPLE
+1 -23
View File
@@ -3,27 +3,6 @@
from math import sqrt, sin, cos, acos, pi
import util
# Graph is plotted across the entire HGR screen, but only coordinates
# - in the left half of the screen, AND
# - on even rows, AND
# - on even columns
# are included. It is assumed that the graph is symmetrical across
# the left and half sides of the screen (along an axis at X=140).
#
# X coordinates are converted to byte+bitmask (but see notes below).
# Y coordinates are flipped (so 0,0 ends up on the bottom left) then
# incremented by 1 so that 0 can terminate the loop,
#
# 6502 code will be responsible for plotting each of these coordinates
# in a 2x2 block. The bitmask usually includes 2 adjacent pixels;
# the code will also plot the same 2 adjacent pixels in the adjacent row,
# AND mirror both of those plots in the right half of the screen.
#
# Unfortunately, since bytes are 7 bits across, some blocks will cross a
# byte boundary. To simplify the 6502 code, those are simply listed as
# separate coordinate pairs, each with a bitmask that includes 1 pixel
# instead of 2.
max_x = 280
max_y = 192
@@ -43,8 +22,7 @@ for i in range(2000000):
unique_coords = util.unique(coords)
unique_vals = util.vals_3bit(unique_coords)
ripple_vals = util.ripple(unique_vals)
ripple_vals = util.ripple(ripple_vals)
ripple_vals = util.ripple(util.ripple(unique_vals))
with open("../../../src/fx/fx.hgr.corner.superripple.data.a", "w") as f:
for aval, bval in ripple_vals:
f.write(" !byte %s,%s\n" % (aval, bval))
+7 -9
View File
@@ -39,15 +39,8 @@ with open("../../../src/fx/fx.hgr.ripple.data.a", "w") as f:
for aval, bval in ripple_vals:
f.write(" !byte %s,%s\n" % (aval, bval))
corner4_vals = []
for x, y in unique_coords:
x = 139-x
y = 95-y
aval = "$" + hex(y)[2:].rjust(2, "0").upper()
bval = "%" + \
bin(x%7)[2:].rjust(3, "0") + \
bin(x//7)[2:].rjust(5, "0")
corner4_vals.append((aval, bval))
corner4_coords = [(139-x,95-y) for (x,y) in unique_coords]
corner4_vals = util.vals_1bit(corner4_coords)
with open("../../../src/fx/fx.hgr.corner4.in.data.a", "w") as f:
for aval, bval in corner4_vals:
f.write(" !byte %s,%s\n" % (aval, bval))
@@ -55,3 +48,8 @@ corner4_vals.reverse()
with open("../../../src/fx/fx.hgr.corner4.out.data.a", "w") as f:
for aval, bval in corner4_vals:
f.write(" !byte %s,%s\n" % (aval, bval))
swirl_vals = util.ripple(util.ripple(corner4_vals))
with open("../../../src/fx/fx.hgr.swirl.data.a", "w") as f:
for aval, bval in swirl_vals:
f.write(" !byte %s,%s\n" % (aval, bval))
+3 -2
View File
@@ -1,3 +1,6 @@
even_byte_bitmask = (0, 0, 1, 1, 2, 2, 3)
odd_byte_bitmask = (5, 5, 6, 6, 7, 7, 4)
def unique(coords):
d = {}
unique_coords = []
@@ -18,8 +21,6 @@ def vals_1bit(unique_coords):
return unique_vals
def vals_2bit(unique_coords):
even_byte_bitmask = (0, 0, 1, 1, 2, 2, 3)
odd_byte_bitmask = (5, 5, 6, 6, 7, 7, 4)
unique_vals = []
for x, y in unique_coords:
y = 191 - y
+17
View File
@@ -0,0 +1,17 @@
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/SWIRL",plain
*=$6000
!source "src/fx/fx.hgr.precomputed.1bit.a"
!source "src/fx/fx.hgr.radial.common.a"
!if * and 1 {
!byte 0
}
Coordinates
!source "src/fx/fx.hgr.swirl.data.a"
EndCoordinates
!byte $80
File diff suppressed because it is too large Load Diff