mirror of
https://github.com/a2-4am/4cade.git
synced 2026-04-26 12:19:00 +00:00
some wipes
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
RIPPLE
|
||||
RIPPLE
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user