Initial commit
The sprite generator basically works for the four primary hires colors. The included sample program renders all the sample sprites in various places on screen.
This commit is contained in:
commit
9a4c4b7b85
|
@ -0,0 +1,2 @@
|
||||||
|
/spritedemo.lst
|
||||||
|
/.DS_Store
|
Binary file not shown.
|
@ -0,0 +1,32 @@
|
||||||
|
#
|
||||||
|
# Makefile
|
||||||
|
# HGR
|
||||||
|
#
|
||||||
|
# Created by Quinn Dunki on 7/19/16
|
||||||
|
# One Girl, One Laptop Productions
|
||||||
|
# http://www.quinndunki.com
|
||||||
|
# http://www.quinndunki.com/blondihacks
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
CL65=cl65
|
||||||
|
AC=AppleCommander.jar
|
||||||
|
ADDR=6000
|
||||||
|
|
||||||
|
PGM=spritedemo
|
||||||
|
|
||||||
|
all: $(PGM)
|
||||||
|
|
||||||
|
|
||||||
|
$(PGM):
|
||||||
|
@PATH=$(PATH):/usr/local/bin; $(CL65) -t apple2enh --start-addr $(ADDR) -l$(PGM).lst $(PGM).s
|
||||||
|
java -jar $(AC) -d $(PGM).dsk $(PGM)
|
||||||
|
java -jar $(AC) -p $(PGM).dsk $(PGM) BIN 0x$(ADDR) < $(PGM)
|
||||||
|
rm -f $(PGM)
|
||||||
|
rm -f $(PGM).o
|
||||||
|
osascript V2Make.scpt $(PROJECT_DIR) $(PGM)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PGM)
|
||||||
|
rm -f $(PGM).o
|
||||||
|
|
|
@ -0,0 +1,207 @@
|
||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 46;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
701B5DF81D8478B500E6D330 /* spritedemo.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritedemo.s; sourceTree = "<group>"; };
|
||||||
|
701B5DF91D847ADA00E6D330 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||||
|
701B5DFB1D847B4100E6D330 /* hgrtableY.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtableY.s; sourceTree = "<group>"; };
|
||||||
|
701B5DFC1D847B6D00E6D330 /* SpriteGenerator.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = SpriteGenerator.py; sourceTree = "<group>"; };
|
||||||
|
701B5DFD1D847C3900E6D330 /* spritegen0.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen0.s; sourceTree = "<group>"; };
|
||||||
|
701B5DFE1D847C3900E6D330 /* spritegen1.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen1.s; sourceTree = "<group>"; };
|
||||||
|
701B5DFF1D847C3900E6D330 /* spritegen2.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen2.s; sourceTree = "<group>"; };
|
||||||
|
701B5E001D847C3900E6D330 /* spritegen3.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen3.s; sourceTree = "<group>"; };
|
||||||
|
701B5E011D847D9A00E6D330 /* hgrtableX.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtableX.s; sourceTree = "<group>"; };
|
||||||
|
701B5E021D847ED300E6D330 /* macros.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = macros.s; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
701B5DED1D84788F00E6D330 = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
701B5DF91D847ADA00E6D330 /* Makefile */,
|
||||||
|
701B5DFC1D847B6D00E6D330 /* SpriteGenerator.py */,
|
||||||
|
701B5E021D847ED300E6D330 /* macros.s */,
|
||||||
|
701B5DF81D8478B500E6D330 /* spritedemo.s */,
|
||||||
|
701B5E011D847D9A00E6D330 /* hgrtableX.s */,
|
||||||
|
701B5DFB1D847B4100E6D330 /* hgrtableY.s */,
|
||||||
|
701B5DFD1D847C3900E6D330 /* spritegen0.s */,
|
||||||
|
701B5DFE1D847C3900E6D330 /* spritegen1.s */,
|
||||||
|
701B5DFF1D847C3900E6D330 /* spritegen2.s */,
|
||||||
|
701B5E001D847C3900E6D330 /* spritegen3.s */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXLegacyTarget section */
|
||||||
|
701B5DF21D84788F00E6D330 /* SpriteGen */ = {
|
||||||
|
isa = PBXLegacyTarget;
|
||||||
|
buildArgumentsString = "$(ACTION)";
|
||||||
|
buildConfigurationList = 701B5DF51D84788F00E6D330 /* Build configuration list for PBXLegacyTarget "SpriteGen" */;
|
||||||
|
buildPhases = (
|
||||||
|
);
|
||||||
|
buildToolPath = /usr/bin/make;
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = SpriteGen;
|
||||||
|
passBuildSettingsInEnvironment = 1;
|
||||||
|
productName = SpriteGen;
|
||||||
|
};
|
||||||
|
/* End PBXLegacyTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
701B5DEE1D84788F00E6D330 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
LastUpgradeCheck = 0730;
|
||||||
|
ORGANIZATIONNAME = "Quinn Dunki";
|
||||||
|
TargetAttributes = {
|
||||||
|
701B5DF21D84788F00E6D330 = {
|
||||||
|
CreatedOnToolsVersion = 7.3.1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = 701B5DF11D84788F00E6D330 /* Build configuration list for PBXProject "SpriteGen" */;
|
||||||
|
compatibilityVersion = "Xcode 3.2";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = 701B5DED1D84788F00E6D330;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
701B5DF21D84788F00E6D330 /* SpriteGen */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
701B5DF31D84788F00E6D330 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
701B5DF41D84788F00E6D330 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
701B5DF61D84788F00E6D330 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
DEBUGGING_SYMBOLS = YES;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
OTHER_CFLAGS = "";
|
||||||
|
OTHER_LDFLAGS = "";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
701B5DF71D84788F00E6D330 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
OTHER_CFLAGS = "";
|
||||||
|
OTHER_LDFLAGS = "";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
701B5DF11D84788F00E6D330 /* Build configuration list for PBXProject "SpriteGen" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
701B5DF31D84788F00E6D330 /* Debug */,
|
||||||
|
701B5DF41D84788F00E6D330 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
701B5DF51D84788F00E6D330 /* Build configuration list for PBXLegacyTarget "SpriteGen" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
701B5DF61D84788F00E6D330 /* Debug */,
|
||||||
|
701B5DF71D84788F00E6D330 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 701B5DEE1D84788F00E6D330 /* Project object */;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:SpriteGen.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
BIN
SpriteGen.xcodeproj/project.xcworkspace/xcuserdata/qd.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
BIN
SpriteGen.xcodeproj/project.xcworkspace/xcuserdata/qd.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
Binary file not shown.
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "0730"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "701B5DF21D84788F00E6D330"
|
||||||
|
BuildableName = "SpriteGen"
|
||||||
|
BlueprintName = "SpriteGen"
|
||||||
|
ReferencedContainer = "container:SpriteGen.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "701B5DF21D84788F00E6D330"
|
||||||
|
BuildableName = "SpriteGen"
|
||||||
|
BlueprintName = "SpriteGen"
|
||||||
|
ReferencedContainer = "container:SpriteGen.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "701B5DF21D84788F00E6D330"
|
||||||
|
BuildableName = "SpriteGen"
|
||||||
|
BlueprintName = "SpriteGen"
|
||||||
|
ReferencedContainer = "container:SpriteGen.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>SchemeUserState</key>
|
||||||
|
<dict>
|
||||||
|
<key>SpriteGen.xcscheme</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>SuppressBuildableAutocreation</key>
|
||||||
|
<dict>
|
||||||
|
<key>701B5DF21D84788F00E6D330</key>
|
||||||
|
<dict>
|
||||||
|
<key>primary</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,182 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import sys,os,png
|
||||||
|
|
||||||
|
class Colors:
|
||||||
|
black,magenta,green,orange,blue = range(5)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
|
||||||
|
if len(argv)<1:
|
||||||
|
printHorzontalLookup()
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
pngfile = sys.argv[1]
|
||||||
|
|
||||||
|
reader = png.Reader(pngfile)
|
||||||
|
try:
|
||||||
|
pngdata = reader.asRGB8()
|
||||||
|
except:
|
||||||
|
usage()
|
||||||
|
|
||||||
|
disclaimer()
|
||||||
|
|
||||||
|
width = pngdata[0]
|
||||||
|
height = pngdata[1]
|
||||||
|
pixeldata = pngdata[2]
|
||||||
|
byteWidth = width/2+1+1 # TODO: Calculate a power of two for this
|
||||||
|
|
||||||
|
for shift in range(0,7):
|
||||||
|
print "%s_SHIFT%d: ;%d bytes per row" % (os.path.splitext(pngfile)[0].upper(),shift,byteWidth)
|
||||||
|
|
||||||
|
spriteChunks = layoutSpriteChunk(pixeldata,width,height,shift)
|
||||||
|
|
||||||
|
for row in range(height):
|
||||||
|
for chunkIndex in range(len(spriteChunks)):
|
||||||
|
print spriteChunks[chunkIndex][row]
|
||||||
|
|
||||||
|
print "\n"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def layoutSpriteChunk(pixeldata,width,height,shift):
|
||||||
|
|
||||||
|
bitmap = [[0 for x in range(width)] for y in range(height)]
|
||||||
|
|
||||||
|
byteWidth = width/2+1+1 # TODO: Calculate a power of two for this
|
||||||
|
spriteChunks = [["" for y in range(height)] for x in range(byteWidth)]
|
||||||
|
|
||||||
|
for row in range(height):
|
||||||
|
pixelRow = bitmap[row]
|
||||||
|
bitStream = ""
|
||||||
|
|
||||||
|
for pixelIndex in range(width):
|
||||||
|
pixel = pixelColor(pixeldata,row,pixelIndex)
|
||||||
|
if pixel == Colors.black:
|
||||||
|
bitStream += "00"
|
||||||
|
else:
|
||||||
|
if pixel == Colors.green or pixel == Colors.orange:
|
||||||
|
bitStream += "01"
|
||||||
|
else:
|
||||||
|
bitStream += "10"
|
||||||
|
|
||||||
|
bitStream = shiftStringRight(bitStream,shift)
|
||||||
|
bitStream = bitStream[:byteWidth*8]
|
||||||
|
|
||||||
|
bitPos = 0
|
||||||
|
byteSplits = [0 for x in range(byteWidth)]
|
||||||
|
|
||||||
|
for byteIndex in range(byteWidth):
|
||||||
|
remainingBits = len(bitStream) - bitPos
|
||||||
|
|
||||||
|
bitChunk = ""
|
||||||
|
|
||||||
|
if remainingBits < 0:
|
||||||
|
bitChunk = "0000000"
|
||||||
|
else:
|
||||||
|
if remainingBits < 7:
|
||||||
|
bitChunk = bitStream[bitPos:]
|
||||||
|
bitChunk += fillOutByte(7-remainingBits)
|
||||||
|
else:
|
||||||
|
bitChunk = bitStream[bitPos:bitPos+7]
|
||||||
|
|
||||||
|
bitChunk = bitChunk[::-1]
|
||||||
|
|
||||||
|
highBit = "0"
|
||||||
|
if pixel == Colors.orange or pixel == Colors.blue:
|
||||||
|
highBit = "1"
|
||||||
|
|
||||||
|
byteSplits[byteIndex] = highBit + bitChunk
|
||||||
|
bitPos += 7
|
||||||
|
|
||||||
|
for chunkIndex in range(len(byteSplits)):
|
||||||
|
spriteChunks[chunkIndex][row] = ".byte %%%s" % byteSplits[chunkIndex]
|
||||||
|
|
||||||
|
return spriteChunks
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def fillOutByte(numBits):
|
||||||
|
filler = ""
|
||||||
|
for bit in range(numBits):
|
||||||
|
filler += "0"
|
||||||
|
|
||||||
|
return filler
|
||||||
|
|
||||||
|
|
||||||
|
def shiftStringRight(string,shift):
|
||||||
|
if shift==0:
|
||||||
|
return string
|
||||||
|
|
||||||
|
shift *=2
|
||||||
|
result = ""
|
||||||
|
|
||||||
|
for i in range(shift):
|
||||||
|
result += "0"
|
||||||
|
|
||||||
|
result += string
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def pixelColor(pixeldata,row,col):
|
||||||
|
r = pixeldata[row][col*3]
|
||||||
|
g = pixeldata[row][col*3+1]
|
||||||
|
b = pixeldata[row][col*3+2]
|
||||||
|
color = Colors.black
|
||||||
|
|
||||||
|
if r==255 and g==0 and b==255:
|
||||||
|
color = Colors.magenta
|
||||||
|
else:
|
||||||
|
if r==0 and g==255 and b==0:
|
||||||
|
color = Colors.green
|
||||||
|
else:
|
||||||
|
if r==0 and g==0 and b==255:
|
||||||
|
color = Colors.blue
|
||||||
|
else:
|
||||||
|
if r==255 and g>0 and b==0:
|
||||||
|
color = Colors.orange
|
||||||
|
|
||||||
|
return color
|
||||||
|
|
||||||
|
|
||||||
|
def printHorzontalLookup():
|
||||||
|
disclaimer()
|
||||||
|
|
||||||
|
print "HGRROWBYTES:"
|
||||||
|
for byte in range(40):
|
||||||
|
pixels = 4
|
||||||
|
offset = 0
|
||||||
|
if (byte%2):
|
||||||
|
pixels = 3
|
||||||
|
offset = -1
|
||||||
|
|
||||||
|
for entry in range(pixels):
|
||||||
|
print "\t.byte $%02x" % (byte + offset)
|
||||||
|
|
||||||
|
print "\nHGRROWBYTES_BITSHIFT:"
|
||||||
|
for pixel in range(140):
|
||||||
|
print "\t.byte $%02x" % ((pixel % 7)*32) # 32 = 4 shifts of 8 bytes
|
||||||
|
|
||||||
|
|
||||||
|
def usage():
|
||||||
|
print '''
|
||||||
|
Usage: HiSprite <png file>
|
||||||
|
|
||||||
|
PNG file must not have an alpha channel!
|
||||||
|
'''
|
||||||
|
sys.exit(2)
|
||||||
|
|
||||||
|
|
||||||
|
def disclaimer():
|
||||||
|
print '''
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
'''
|
||||||
|
return
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main(sys.argv[1:])
|
||||||
|
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 164 B |
Binary file not shown.
After Width: | Height: | Size: 163 B |
Binary file not shown.
After Width: | Height: | Size: 166 B |
Binary file not shown.
After Width: | Height: | Size: 165 B |
|
@ -0,0 +1,287 @@
|
||||||
|
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
|
||||||
|
HGRROWBYTES:
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $02
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $04
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $06
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $08
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0a
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0c
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $0e
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $10
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $12
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $14
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $16
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $18
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1a
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1c
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $1e
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $20
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $22
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $24
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
.byte $26
|
||||||
|
|
||||||
|
HGRROWBYTES_BITSHIFT:
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
||||||
|
.byte $00
|
||||||
|
.byte $20
|
||||||
|
.byte $40
|
||||||
|
.byte $60
|
||||||
|
.byte $80
|
||||||
|
.byte $a0
|
||||||
|
.byte $c0
|
|
@ -0,0 +1,444 @@
|
||||||
|
;
|
||||||
|
; hgrtableY.s
|
||||||
|
;
|
||||||
|
; Created by Quinn Dunki on 7/19/16
|
||||||
|
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||||
|
;
|
||||||
|
|
||||||
|
HGRROWS_H:
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
;
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
;;
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $20
|
||||||
|
.byte $24
|
||||||
|
.byte $28
|
||||||
|
.byte $2C
|
||||||
|
.byte $30
|
||||||
|
.byte $34
|
||||||
|
.byte $38
|
||||||
|
.byte $3C
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $21
|
||||||
|
.byte $25
|
||||||
|
.byte $29
|
||||||
|
.byte $2D
|
||||||
|
.byte $31
|
||||||
|
.byte $35
|
||||||
|
.byte $39
|
||||||
|
.byte $3D
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $22
|
||||||
|
.byte $26
|
||||||
|
.byte $2A
|
||||||
|
.byte $2E
|
||||||
|
.byte $32
|
||||||
|
.byte $36
|
||||||
|
.byte $3A
|
||||||
|
.byte $3E
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
|
||||||
|
.byte $23
|
||||||
|
.byte $27
|
||||||
|
.byte $2B
|
||||||
|
.byte $2F
|
||||||
|
.byte $33
|
||||||
|
.byte $37
|
||||||
|
.byte $3B
|
||||||
|
.byte $3F
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
HGRROWS_L:
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $00
|
||||||
|
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
.byte $80
|
||||||
|
;
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
.byte $28
|
||||||
|
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
.byte $A8
|
||||||
|
;;
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
.byte $50
|
||||||
|
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
.byte $D0
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,165 @@
|
||||||
|
;
|
||||||
|
; macros.s
|
||||||
|
; Generally useful macros for 6502 code
|
||||||
|
;
|
||||||
|
; Created by Quinn Dunki on 8/15/14.
|
||||||
|
; Copyright (c) 2014 One Girl, One Laptop Productions. All rights reserved.
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
; Macros
|
||||||
|
|
||||||
|
.macro SETSWITCH name ; Sets the named softswitch (assumes write method)
|
||||||
|
sta name
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_AXY ; Saves all registers
|
||||||
|
pha
|
||||||
|
phx
|
||||||
|
phy
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_AXY ; Restores all registers
|
||||||
|
ply
|
||||||
|
plx
|
||||||
|
pla
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_AY ; Saves accumulator and Y index
|
||||||
|
pha
|
||||||
|
phy
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_AY ; Restores accumulator and Y index
|
||||||
|
ply
|
||||||
|
pla
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_AX ; Saves accumulator and X index
|
||||||
|
pha
|
||||||
|
phx
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_AX ; Restores accumulator and X index
|
||||||
|
plx
|
||||||
|
pla
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_XY ; Saves X and Y index
|
||||||
|
phx
|
||||||
|
phy
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_XY ; Restores X and Y index
|
||||||
|
ply
|
||||||
|
plx
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_ZPP ; Saves Zero Page locations we use for parameters
|
||||||
|
lda PARAM0
|
||||||
|
pha
|
||||||
|
lda PARAM1
|
||||||
|
pha
|
||||||
|
lda PARAM2
|
||||||
|
pha
|
||||||
|
lda PARAM3
|
||||||
|
pha
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_ZPP ; Restores Zero Page locations we use for parameters
|
||||||
|
pla
|
||||||
|
sta PARAM3
|
||||||
|
pla
|
||||||
|
sta PARAM2
|
||||||
|
pla
|
||||||
|
sta PARAM1
|
||||||
|
pla
|
||||||
|
sta PARAM0
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro SAVE_ZPS ; Saves Zero Page locations we use for scratch
|
||||||
|
lda SCRATCH0
|
||||||
|
pha
|
||||||
|
lda SCRATCH1
|
||||||
|
pha
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro RESTORE_ZPS ; Restores Zero Page locations we use for scratch
|
||||||
|
pla
|
||||||
|
sta SCRATCH1
|
||||||
|
pla
|
||||||
|
sta SCRATCH0
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro PARAM16 addr
|
||||||
|
lda #<addr
|
||||||
|
sta PARAM0
|
||||||
|
lda #>addr
|
||||||
|
sta PARAM1
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro CALL16 func,addr
|
||||||
|
PARAM16 addr
|
||||||
|
jsr func
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; Rendering macros
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
.macro LDY_AVIEW
|
||||||
|
asl ; Find our new view record
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl ; Records are 16 bytes wide
|
||||||
|
tay
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro LDY_ACTIVEVIEW
|
||||||
|
lda WG_ACTIVEVIEW ; Find our new view record
|
||||||
|
LDY_AVIEW
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro LDX_ACTIVEVIEW
|
||||||
|
lda WG_ACTIVEVIEW ; Find our new view record
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl ; Records are 16 bytes wide
|
||||||
|
tax
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro LDY_FOCUSVIEW
|
||||||
|
lda WG_FOCUSVIEW ; Find our new view record
|
||||||
|
LDY_AVIEW
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro VBL_SYNC ; Synchronize with vertical blanking
|
||||||
|
lda #$80
|
||||||
|
;macroWaitVBLToFinish:
|
||||||
|
; bit RDVBLBAR
|
||||||
|
; bmi macroWaitVBLToFinish
|
||||||
|
@macroWaitVBLToStart:
|
||||||
|
; bit RDVBLBAR
|
||||||
|
; bpl @macroWaitVBLToStart
|
||||||
|
.endmacro
|
Binary file not shown.
|
@ -0,0 +1,280 @@
|
||||||
|
;
|
||||||
|
; spritedemo
|
||||||
|
;
|
||||||
|
; Created by Quinn Dunki on 7/19/16
|
||||||
|
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
.org $6000
|
||||||
|
|
||||||
|
.include "macros.s"
|
||||||
|
|
||||||
|
; Softswitches
|
||||||
|
TEXT = $c050
|
||||||
|
HIRES1 = $c057
|
||||||
|
HIRES2 = $c058
|
||||||
|
|
||||||
|
|
||||||
|
; ROM entry points
|
||||||
|
COUT = $fded
|
||||||
|
ROMWAIT = $fca8
|
||||||
|
|
||||||
|
; Zero page locations we use (unused by Monitor, Applesoft, or ProDOS)
|
||||||
|
PARAM0 = $06
|
||||||
|
PARAM1 = $07
|
||||||
|
PARAM2 = $08
|
||||||
|
PARAM3 = $09
|
||||||
|
SCRATCH0 = $19
|
||||||
|
SCRATCH1 = $1a
|
||||||
|
|
||||||
|
; Macros
|
||||||
|
.macro BLITBYTE xPos,yPos,addr
|
||||||
|
lda #xPos
|
||||||
|
sta PARAM0
|
||||||
|
lda #yPos
|
||||||
|
sta PARAM1
|
||||||
|
lda #<addr
|
||||||
|
sta PARAM2
|
||||||
|
lda #>addr
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSpriteOnByte
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
.macro BLIT xPos,yPos,addr
|
||||||
|
lda #xPos
|
||||||
|
sta PARAM0
|
||||||
|
lda #yPos
|
||||||
|
sta PARAM1
|
||||||
|
lda #<addr
|
||||||
|
sta PARAM2
|
||||||
|
lda #>addr
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSprite
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
.macro WAIT
|
||||||
|
lda #$80
|
||||||
|
jsr $fca8
|
||||||
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main:
|
||||||
|
jsr EnableHires
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
jsr LinearFill
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
loop:
|
||||||
|
txa
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
sta PARAM0
|
||||||
|
lda #0
|
||||||
|
sta PARAM1
|
||||||
|
lda #<BOX_MAG_SHIFT0
|
||||||
|
sta PARAM2
|
||||||
|
lda #>BOX_MAG_SHIFT0
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSprite
|
||||||
|
|
||||||
|
lda #88
|
||||||
|
sta PARAM1
|
||||||
|
lda #<BOX_GRN_SHIFT0
|
||||||
|
sta PARAM2
|
||||||
|
lda #>BOX_GRN_SHIFT0
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSprite
|
||||||
|
|
||||||
|
lda #96
|
||||||
|
sta PARAM1
|
||||||
|
lda #<BOX_BLU_SHIFT0
|
||||||
|
sta PARAM2
|
||||||
|
lda #>BOX_BLU_SHIFT0
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSprite
|
||||||
|
|
||||||
|
lda #184
|
||||||
|
sta PARAM1
|
||||||
|
lda #<BOX_ORG_SHIFT0
|
||||||
|
sta PARAM2
|
||||||
|
lda #>BOX_ORG_SHIFT0
|
||||||
|
sta PARAM3
|
||||||
|
jsr BlitSprite
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #35
|
||||||
|
bne loop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; BlitSprite
|
||||||
|
; Trashes everything, including parameters
|
||||||
|
; PARAM0: X Pos
|
||||||
|
; PARAM1: Y Pos
|
||||||
|
; PARAM2: Sprite Ptr LSB
|
||||||
|
; PARAM3: Sprite Ptr MSB
|
||||||
|
;
|
||||||
|
BlitSprite:
|
||||||
|
SAVE_AXY
|
||||||
|
|
||||||
|
clc ; Compute sprite data base 2
|
||||||
|
ldx PARAM0 ; 3
|
||||||
|
lda HGRROWBYTES_BITSHIFT,x ; 4
|
||||||
|
adc PARAM2 ; 3
|
||||||
|
sta PARAM2 ; 3
|
||||||
|
lda #0 ; 2
|
||||||
|
adc PARAM3 ; 3
|
||||||
|
sta PARAM3 ; 3
|
||||||
|
|
||||||
|
lda #7 ; 2
|
||||||
|
sta SCRATCH0 ; Tracks row index 3
|
||||||
|
|
||||||
|
asl ; Multiply by byte width 2
|
||||||
|
asl ; 2
|
||||||
|
sta SCRATCH1 ; Tracks total bytes 3
|
||||||
|
ldy #0 ; 2
|
||||||
|
; 37 cycles overhead
|
||||||
|
|
||||||
|
blitSprite_Yloop:
|
||||||
|
clc ; Calculate Y line on screen 2
|
||||||
|
lda SCRATCH0 ; 3
|
||||||
|
adc PARAM1 ; 3
|
||||||
|
tax ; 2
|
||||||
|
|
||||||
|
lda HGRROWS_H,x ; Compute hires row 4
|
||||||
|
sta blitSprite_smc+2 ; Self-modifying code 4
|
||||||
|
sta blitSprite_smc+5 ; 4
|
||||||
|
lda HGRROWS_L,x ; 4
|
||||||
|
sta blitSprite_smc+1 ; 4
|
||||||
|
sta blitSprite_smc+4 ; 4
|
||||||
|
|
||||||
|
ldx PARAM0 ; Compute hires horizontal byte 3
|
||||||
|
lda HGRROWBYTES,x ; 4
|
||||||
|
tax ; 2
|
||||||
|
|
||||||
|
blitSprite_Xloop:
|
||||||
|
lda (PARAM2),y ; 5
|
||||||
|
|
||||||
|
blitSprite_smc:
|
||||||
|
ora $2000,x
|
||||||
|
sta $2000,x ; 5
|
||||||
|
inx ; 2
|
||||||
|
iny ; 2
|
||||||
|
tya ; End of row? 2
|
||||||
|
and #$03 ; If last two bits are zero, we've wrapped a row 2
|
||||||
|
bne blitSprite_Xloop ; 2
|
||||||
|
|
||||||
|
dec SCRATCH0 ; 5
|
||||||
|
bpl blitSprite_Yloop ; 3
|
||||||
|
; 71 cycles per row
|
||||||
|
RESTORE_AXY
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; BlitSpriteOnByte
|
||||||
|
; Trashes everything
|
||||||
|
; PARAM0: X Byte
|
||||||
|
; PARAM1: Y Pos
|
||||||
|
; PARAM2: Sprite Ptr MSB
|
||||||
|
; PARAM3: Sprite Ptr LSB
|
||||||
|
;
|
||||||
|
BlitSpriteOnByte:
|
||||||
|
ldy #7
|
||||||
|
|
||||||
|
blitSpriteOnByte_loop:
|
||||||
|
clc
|
||||||
|
tya
|
||||||
|
adc PARAM1 ; Calculate Y line
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda HGRROWS_H,x ; Compute hires row
|
||||||
|
sta blitSpriteOnByte_smc+2
|
||||||
|
lda HGRROWS_L,x
|
||||||
|
sta blitSpriteOnByte_smc+1
|
||||||
|
|
||||||
|
ldx PARAM0 ; Compute hires column
|
||||||
|
lda (PARAM2),y
|
||||||
|
|
||||||
|
blitSpriteOnByte_smc:
|
||||||
|
sta $2000,x
|
||||||
|
dey
|
||||||
|
bpl blitSpriteOnByte_loop
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; EnableHires
|
||||||
|
; Trashes A
|
||||||
|
;
|
||||||
|
EnableHires:
|
||||||
|
lda TEXT
|
||||||
|
lda HIRES1
|
||||||
|
lda HIRES2
|
||||||
|
rts
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; LinearFill
|
||||||
|
; A: Byte value to fill
|
||||||
|
; Trashes all registers
|
||||||
|
;
|
||||||
|
LinearFill:
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
linearFill_outer:
|
||||||
|
pha
|
||||||
|
lda HGRROWS_H,x
|
||||||
|
sta linearFill_inner+2
|
||||||
|
lda HGRROWS_L,x
|
||||||
|
sta linearFill_inner+1
|
||||||
|
pla
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
linearFill_inner:
|
||||||
|
sta $2000,y
|
||||||
|
dey
|
||||||
|
bpl linearFill_inner
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #192
|
||||||
|
bne linearFill_outer
|
||||||
|
rts
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; VenetianFill
|
||||||
|
; A: Byte value to fill
|
||||||
|
; Trashes all registers
|
||||||
|
;
|
||||||
|
VenetianFill:
|
||||||
|
ldx #$3f
|
||||||
|
venetianFill_outer:
|
||||||
|
stx venetianFill_inner+2
|
||||||
|
ldy #$00
|
||||||
|
venetianFill_inner:
|
||||||
|
sta $2000,y ; Upper byte of address is self-modified
|
||||||
|
iny
|
||||||
|
bne venetianFill_inner
|
||||||
|
dex
|
||||||
|
cpx #$1f
|
||||||
|
bne venetianFill_outer
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
.include "hgrtableX.s"
|
||||||
|
.include "hgrtableY.s"
|
||||||
|
.include "spritegen0.s"
|
||||||
|
.include "spritegen1.s"
|
||||||
|
.include "spritegen2.s"
|
||||||
|
.include "spritegen3.s"
|
||||||
|
|
||||||
|
; Suppress some linker warnings - Must be the last thing in the file
|
||||||
|
.SEGMENT "ZPSAVE"
|
||||||
|
.SEGMENT "EXEHDR"
|
||||||
|
.SEGMENT "STARTUP"
|
||||||
|
.SEGMENT "INIT"
|
||||||
|
.SEGMENT "LOWCODE"
|
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT0: ;4 bytes per row
|
||||||
|
.byte %01010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT1: ;4 bytes per row
|
||||||
|
.byte %01010100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT2: ;4 bytes per row
|
||||||
|
.byte %01010000
|
||||||
|
.byte %00001010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010000
|
||||||
|
.byte %00001010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT3: ;4 bytes per row
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT4: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT5: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101000
|
||||||
|
.byte %00000101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101000
|
||||||
|
.byte %00000101
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_MAG_SHIFT6: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010101
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT0: ;4 bytes per row
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT1: ;4 bytes per row
|
||||||
|
.byte %00101000
|
||||||
|
.byte %00000101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00101000
|
||||||
|
.byte %00000101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT2: ;4 bytes per row
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT3: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000001
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010101
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT4: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010100
|
||||||
|
.byte %00000010
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT5: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010000
|
||||||
|
.byte %00001010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00010000
|
||||||
|
.byte %00001000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01010000
|
||||||
|
.byte %00001010
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_GRN_SHIFT6: ;4 bytes per row
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00100000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %00000000
|
||||||
|
.byte %01000000
|
||||||
|
.byte %00101010
|
||||||
|
.byte %00000000
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT0: ;4 bytes per row
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT1: ;4 bytes per row
|
||||||
|
.byte %10101000
|
||||||
|
.byte %10000101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101000
|
||||||
|
.byte %10000101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT2: ;4 bytes per row
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT3: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT4: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT5: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010000
|
||||||
|
.byte %10001010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010000
|
||||||
|
.byte %10001010
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_ORG_SHIFT6: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
; This file was generated by SpriteGenerator.py, a sprite generation tool by Quinn Dunki.
|
||||||
|
; If you feel the need to modify this file, you are probably doing it wrong.
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT0: ;4 bytes per row
|
||||||
|
.byte %11010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT1: ;4 bytes per row
|
||||||
|
.byte %11010100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010100
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT2: ;4 bytes per row
|
||||||
|
.byte %11010000
|
||||||
|
.byte %10001010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11010000
|
||||||
|
.byte %10001010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT3: ;4 bytes per row
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %11000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT4: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101010
|
||||||
|
.byte %10000001
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT5: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101000
|
||||||
|
.byte %10000101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10001000
|
||||||
|
.byte %10000100
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10101000
|
||||||
|
.byte %10000101
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
||||||
|
BOX_BLU_SHIFT6: ;4 bytes per row
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010101
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10000000
|
||||||
|
.byte %10100000
|
||||||
|
.byte %10010101
|
||||||
|
.byte %10000000
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue