Removed stuff from Quinn's demo that I'm not using
|
@ -1,214 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
7018A7A81E883A3A00C57515 /* spriteBuffers.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = spriteBuffers.s; sourceTree = "<group>"; };
|
||||
701B5E0E1D84810000E6D330 /* macros.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = macros.s; sourceTree = "<group>"; };
|
||||
701B5E0F1D84810000E6D330 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||
701B5E101D84813500E6D330 /* hisprite.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hisprite.s; sourceTree = "<group>"; };
|
||||
701B5E111D84817500E6D330 /* HiSprite.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = HiSprite.py; sourceTree = "<group>"; };
|
||||
701B5E121D8481C800E6D330 /* hgrtableX.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtableX.s; sourceTree = "<group>"; };
|
||||
701B5E131D84820100E6D330 /* spritegen0.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen0.s; sourceTree = "<group>"; };
|
||||
701B5E141D84823300E6D330 /* spritegen1.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen1.s; sourceTree = "<group>"; };
|
||||
701B5E151D84823300E6D330 /* spritegen2.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen2.s; sourceTree = "<group>"; };
|
||||
701B5E161D84823300E6D330 /* spritegen3.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen3.s; sourceTree = "<group>"; };
|
||||
701B5E171D84824400E6D330 /* hgrtableY.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = hgrtableY.s; sourceTree = "<group>"; };
|
||||
701B5E181D849F3800E6D330 /* graphics.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = graphics.s; sourceTree = "<group>"; };
|
||||
70A65D491E0B137D00FB9D02 /* spritegen4.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spritegen4.s; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
701B5E031D8480D200E6D330 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
701B5E0F1D84810000E6D330 /* Makefile */,
|
||||
701B5E111D84817500E6D330 /* HiSprite.py */,
|
||||
701B5E0E1D84810000E6D330 /* macros.s */,
|
||||
701B5E101D84813500E6D330 /* hisprite.s */,
|
||||
7018A7A81E883A3A00C57515 /* spriteBuffers.s */,
|
||||
701B5E181D849F3800E6D330 /* graphics.s */,
|
||||
701B5E121D8481C800E6D330 /* hgrtableX.s */,
|
||||
701B5E171D84824400E6D330 /* hgrtableY.s */,
|
||||
701B5E131D84820100E6D330 /* spritegen0.s */,
|
||||
701B5E141D84823300E6D330 /* spritegen1.s */,
|
||||
701B5E151D84823300E6D330 /* spritegen2.s */,
|
||||
701B5E161D84823300E6D330 /* spritegen3.s */,
|
||||
70A65D491E0B137D00FB9D02 /* spritegen4.s */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXLegacyTarget section */
|
||||
701B5E081D8480D200E6D330 /* HiSprite */ = {
|
||||
isa = PBXLegacyTarget;
|
||||
buildArgumentsString = "$(ACTION)";
|
||||
buildConfigurationList = 701B5E0B1D8480D200E6D330 /* Build configuration list for PBXLegacyTarget "HiSprite" */;
|
||||
buildPhases = (
|
||||
);
|
||||
buildToolPath = /usr/bin/make;
|
||||
dependencies = (
|
||||
);
|
||||
name = HiSprite;
|
||||
passBuildSettingsInEnvironment = 1;
|
||||
productName = HiSprite;
|
||||
};
|
||||
/* End PBXLegacyTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
701B5E041D8480D200E6D330 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0730;
|
||||
ORGANIZATIONNAME = "Quinn Dunki";
|
||||
TargetAttributes = {
|
||||
701B5E081D8480D200E6D330 = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 701B5E071D8480D200E6D330 /* Build configuration list for PBXProject "HiSprite" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 701B5E031D8480D200E6D330;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
701B5E081D8480D200E6D330 /* HiSprite */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
701B5E091D8480D200E6D330 /* 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;
|
||||
};
|
||||
701B5E0A1D8480D200E6D330 /* 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;
|
||||
};
|
||||
701B5E0C1D8480D200E6D330 /* 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;
|
||||
};
|
||||
701B5E0D1D8480D200E6D330 /* 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 */
|
||||
701B5E071D8480D200E6D330 /* Build configuration list for PBXProject "HiSprite" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
701B5E091D8480D200E6D330 /* Debug */,
|
||||
701B5E0A1D8480D200E6D330 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
701B5E0B1D8480D200E6D330 /* Build configuration list for PBXLegacyTarget "HiSprite" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
701B5E0C1D8480D200E6D330 /* Debug */,
|
||||
701B5E0D1D8480D200E6D330 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 701B5E041D8480D200E6D330 /* Project object */;
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:HiSprite.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -1,80 +0,0 @@
|
|||
<?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 = "701B5E081D8480D200E6D330"
|
||||
BuildableName = "HiSprite"
|
||||
BlueprintName = "HiSprite"
|
||||
ReferencedContainer = "container:HiSprite.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 = "701B5E081D8480D200E6D330"
|
||||
BuildableName = "HiSprite"
|
||||
BlueprintName = "HiSprite"
|
||||
ReferencedContainer = "container:HiSprite.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "701B5E081D8480D200E6D330"
|
||||
BuildableName = "HiSprite"
|
||||
BlueprintName = "HiSprite"
|
||||
ReferencedContainer = "container:HiSprite.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -1,22 +0,0 @@
|
|||
<?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>HiSprite.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>701B5E081D8480D200E6D330</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
KOLTitle.bin
32
Makefile
|
@ -1,32 +0,0 @@
|
|||
#
|
||||
# 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=hisprite
|
||||
|
||||
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
|
||||
|
BIN
V2Make.scpt
BIN
box_blu.png
Before Width: | Height: | Size: 164 B |
BIN
box_grn.png
Before Width: | Height: | Size: 163 B |
BIN
box_mag.png
Before Width: | Height: | Size: 166 B |
BIN
box_org.png
Before Width: | Height: | Size: 165 B |
BIN
boxw_mag.png
Before Width: | Height: | Size: 205 B |
BIN
boxw_mix.png
Before Width: | Height: | Size: 247 B |
BIN
boxw_org.png
Before Width: | Height: | Size: 206 B |
380
graphics.s
|
@ -1,380 +0,0 @@
|
|||
;
|
||||
; graphics.s
|
||||
;
|
||||
; Created by Quinn Dunki on 9/10/16
|
||||
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||
;
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; EnableHires
|
||||
; Trashes A
|
||||
;
|
||||
EnableHires:
|
||||
lda TEXT
|
||||
lda HIRES1
|
||||
lda HIRES2
|
||||
rts
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; SaveBackground
|
||||
; PARAM0: X pos
|
||||
; PARAM1: Y pos
|
||||
; PARAM2: Storage area (LSB)
|
||||
; PARAM3: Storage area (MSB)
|
||||
;
|
||||
; Assumes 6-byte-wide, 8px-high sprites
|
||||
;
|
||||
SaveBackground:
|
||||
SAVE_AXY
|
||||
ldy #0
|
||||
lda #0
|
||||
pha
|
||||
|
||||
saveBackground_loop:
|
||||
clc
|
||||
pla
|
||||
pha
|
||||
adc PARAM1 ; Calculate Y line
|
||||
tax
|
||||
|
||||
lda HGRROWS_H1,x ; Compute hires row
|
||||
sta saveBackground_smc0+2
|
||||
sta saveBackground_smc1+2
|
||||
sta saveBackground_smc2+2
|
||||
sta saveBackground_smc3+2
|
||||
sta saveBackground_smc4+2
|
||||
sta saveBackground_smc5+2
|
||||
lda HGRROWS_L,x
|
||||
sta saveBackground_smc0+1
|
||||
sta saveBackground_smc1+1
|
||||
sta saveBackground_smc2+1
|
||||
sta saveBackground_smc3+1
|
||||
sta saveBackground_smc4+1
|
||||
sta saveBackground_smc5+1
|
||||
|
||||
ldx PARAM0 ; Compute hires column
|
||||
lda DIV7_2,x
|
||||
tax
|
||||
|
||||
saveBackground_smc0:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
inx
|
||||
saveBackground_smc1:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
inx
|
||||
saveBackground_smc2:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
inx
|
||||
saveBackground_smc3:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
inx
|
||||
saveBackground_smc4:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
inx
|
||||
saveBackground_smc5:
|
||||
lda $2000,x
|
||||
sta (PARAM2),y
|
||||
iny
|
||||
|
||||
pla
|
||||
inc
|
||||
pha
|
||||
|
||||
cpy #48
|
||||
bne saveBackground_loop
|
||||
|
||||
pla
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; RestoreBackground
|
||||
; PARAM0: X pos
|
||||
; PARAM1: Y pos
|
||||
; PARAM2: Storage area (LSB)
|
||||
; PARAM3: Storage area (MSB)
|
||||
;
|
||||
; Assumes 4-byte-wide, 8px-high sprites
|
||||
;
|
||||
RestoreBackground:
|
||||
SAVE_AXY
|
||||
ldy #0
|
||||
lda #0
|
||||
pha
|
||||
|
||||
restoreBackground_loop:
|
||||
clc
|
||||
pla
|
||||
pha
|
||||
adc PARAM1 ; Calculate Y line
|
||||
tax
|
||||
|
||||
lda HGRROWS_H1,x ; Compute hires row
|
||||
sta restoreBackground_smc0+2
|
||||
sta restoreBackground_smc1+2
|
||||
sta restoreBackground_smc2+2
|
||||
sta restoreBackground_smc3+2
|
||||
sta restoreBackground_smc4+2
|
||||
sta restoreBackground_smc5+2
|
||||
lda HGRROWS_L,x
|
||||
sta restoreBackground_smc0+1
|
||||
sta restoreBackground_smc1+1
|
||||
sta restoreBackground_smc2+1
|
||||
sta restoreBackground_smc3+1
|
||||
sta restoreBackground_smc4+1
|
||||
sta restoreBackground_smc5+1
|
||||
|
||||
ldx PARAM0 ; Compute hires column
|
||||
lda DIV7_2,x
|
||||
tax
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc0:
|
||||
sta $2000,x
|
||||
iny
|
||||
inx
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc1:
|
||||
sta $2000,x
|
||||
iny
|
||||
inx
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc2:
|
||||
sta $2000,x
|
||||
iny
|
||||
inx
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc3:
|
||||
sta $2000,x
|
||||
iny
|
||||
inx
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc4:
|
||||
sta $2000,x
|
||||
iny
|
||||
inx
|
||||
|
||||
lda (PARAM2),y
|
||||
restoreBackground_smc5:
|
||||
sta $2000,x
|
||||
iny
|
||||
|
||||
pla
|
||||
inc
|
||||
pha
|
||||
|
||||
cpy #48
|
||||
bne restoreBackground_loop
|
||||
|
||||
pla
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; BlackRect
|
||||
; PARAM0: X pos
|
||||
; PARAM1: Y pos
|
||||
;
|
||||
; Assumes 4-byte-wide, 8px-high sprites
|
||||
;
|
||||
BlackRect:
|
||||
SAVE_AX
|
||||
lda #0
|
||||
pha
|
||||
|
||||
blackRect_loop:
|
||||
clc
|
||||
pla
|
||||
pha
|
||||
adc PARAM1 ; Calculate Y line
|
||||
tax
|
||||
|
||||
lda HGRROWS_H1,x ; Compute hires row
|
||||
sta blackRect_smc0+2
|
||||
sta blackRect_smc1+2
|
||||
sta blackRect_smc2+2
|
||||
sta blackRect_smc3+2
|
||||
sta blackRect_smc4+2
|
||||
sta blackRect_smc5+2
|
||||
lda HGRROWS_L,x
|
||||
sta blackRect_smc0+1
|
||||
sta blackRect_smc1+1
|
||||
sta blackRect_smc2+1
|
||||
sta blackRect_smc3+1
|
||||
sta blackRect_smc4+1
|
||||
sta blackRect_smc5+1
|
||||
|
||||
ldx PARAM0 ; Compute hires column
|
||||
lda DIV7_2,x
|
||||
tax
|
||||
|
||||
blackRect_smc0:
|
||||
stz $2000,x
|
||||
inx
|
||||
|
||||
blackRect_smc1:
|
||||
stz $2000,x
|
||||
inx
|
||||
|
||||
blackRect_smc2:
|
||||
stz $2000,x
|
||||
inx
|
||||
|
||||
blackRect_smc3:
|
||||
stz $2000,x
|
||||
inx
|
||||
|
||||
blackRect_smc4:
|
||||
stz $2000,x
|
||||
inx
|
||||
|
||||
blackRect_smc5:
|
||||
stz $2000,x
|
||||
|
||||
pla
|
||||
inc
|
||||
pha
|
||||
|
||||
cmp #8
|
||||
bne blackRect_loop
|
||||
|
||||
pla
|
||||
RESTORE_AX
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; LinearFill
|
||||
; A: Byte value to fill
|
||||
; Trashes all registers
|
||||
;
|
||||
LinearFill:
|
||||
ldx #0
|
||||
|
||||
linearFill_outer:
|
||||
pha
|
||||
lda HGRROWS_H1,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
|
||||
|
||||
|
||||
INBUF = $0200
|
||||
DOSCMD = $be03
|
||||
KBD = $c000
|
||||
KBDSTRB = $c010
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; CommandLine
|
||||
;
|
||||
; PARAM0: Command line string (LSB)
|
||||
; PARAM1: Command line string (MSB)
|
||||
;
|
||||
CommandLine:
|
||||
SAVE_AXY
|
||||
ldx #0
|
||||
ldy #0
|
||||
|
||||
CommandLine_loop:
|
||||
lda (PARAM0),y
|
||||
beq CommandLine_done
|
||||
sta $0200,x ; Keyboard input buffer
|
||||
inx
|
||||
iny
|
||||
bra CommandLine_loop
|
||||
|
||||
CommandLine_done:
|
||||
lda #$8d ; Terminate with return and null
|
||||
sta $0200,x
|
||||
inx
|
||||
lda #0
|
||||
sta $0200,x
|
||||
|
||||
jsr $be03 ; ProDOS 8 entry point
|
||||
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; BloadHires
|
||||
;
|
||||
; PARAM0: Filename (LSB)
|
||||
; PARAM1: Filename (MSB)
|
||||
;
|
||||
; Max filename length: 16 chars!
|
||||
;
|
||||
BloadHires:
|
||||
SAVE_AXY
|
||||
ldx #0
|
||||
ldy #0
|
||||
|
||||
BloadHires_loop:
|
||||
lda (PARAM0),y ; Copy filename into BLOAD buffer
|
||||
beq BloadHires_done
|
||||
sta BloadHires_buffer+6,x
|
||||
inx
|
||||
iny
|
||||
bra BloadHires_loop
|
||||
|
||||
BloadHires_done:
|
||||
lda #<BloadHires_buffer
|
||||
sta PARAM0
|
||||
lda #>BloadHires_buffer
|
||||
sta PARAM1
|
||||
jsr CommandLine
|
||||
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
BloadHires_buffer:
|
||||
.byte "BLOAD ",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
288
hgrtableX.s
|
@ -1,288 +0,0 @@
|
|||
|
||||
; 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.
|
||||
|
||||
DIV7_2:
|
||||
.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
|
||||
|
||||
|
||||
MOD7_2:
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
||||
.byte $00
|
||||
.byte $02
|
||||
.byte $04
|
||||
.byte $06
|
||||
.byte $08
|
||||
.byte $0a
|
||||
.byte $0c
|
661
hgrtableY.s
|
@ -1,661 +0,0 @@
|
|||
;
|
||||
; hgrtable.s
|
||||
;
|
||||
; Created by Quinn Dunki on 7/19/16
|
||||
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||
;
|
||||
|
||||
HGRROWS_H1:
|
||||
.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
|
||||
|
||||
|
||||
|
||||
HGRROWS_H2:
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
||||
;
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
||||
;;
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $40
|
||||
.byte $44
|
||||
.byte $48
|
||||
.byte $4C
|
||||
.byte $50
|
||||
.byte $54
|
||||
.byte $58
|
||||
.byte $5C
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $41
|
||||
.byte $45
|
||||
.byte $49
|
||||
.byte $4D
|
||||
.byte $51
|
||||
.byte $55
|
||||
.byte $59
|
||||
.byte $5D
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $42
|
||||
.byte $46
|
||||
.byte $4A
|
||||
.byte $4E
|
||||
.byte $52
|
||||
.byte $56
|
||||
.byte $5A
|
||||
.byte $5E
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
||||
|
||||
.byte $43
|
||||
.byte $47
|
||||
.byte $4B
|
||||
.byte $4F
|
||||
.byte $53
|
||||
.byte $57
|
||||
.byte $5B
|
||||
.byte $5F
|
BIN
hisprite.dsk
263
hisprite.s
|
@ -1,263 +0,0 @@
|
|||
;
|
||||
; hisprite.s
|
||||
;
|
||||
; 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
|
||||
SPRITEPTR_L = $1b
|
||||
SPRITEPTR_H = $1c
|
||||
|
||||
MAXSPRITEINDEX = 5 ; Sprite count - 1
|
||||
MAXPOSX = 127 ; This demo doesn't wanna do 16 bit math
|
||||
MAXPOSY = 127
|
||||
|
||||
; 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 VenetianFill
|
||||
|
||||
mainLoop:
|
||||
|
||||
; Draw sprites
|
||||
renderLoop:
|
||||
|
||||
; Find our sprite pointer
|
||||
lda spriteNum
|
||||
asl
|
||||
tax
|
||||
lda META_BUFFERS+1,x
|
||||
sta SPRITEPTR_H
|
||||
lda META_BUFFERS,x
|
||||
sta SPRITEPTR_L
|
||||
|
||||
; Find Y coordinate
|
||||
ldy #1
|
||||
lda (SPRITEPTR_L),y
|
||||
sta PARAM1
|
||||
|
||||
; Find X coordinate
|
||||
ldy #0
|
||||
lda (SPRITEPTR_L),y
|
||||
sta PARAM0
|
||||
|
||||
jsr BOXW_MAG
|
||||
|
||||
; Next sprite
|
||||
dec spriteNum
|
||||
bmi restartList
|
||||
jmp renderLoop
|
||||
|
||||
restartList:
|
||||
lda #MAXSPRITEINDEX
|
||||
sta spriteNum
|
||||
|
||||
VBL_SYNC
|
||||
|
||||
|
||||
; Background restore
|
||||
backgroundLoop:
|
||||
|
||||
; Find our sprite pointer
|
||||
lda spriteNum
|
||||
asl
|
||||
tax
|
||||
lda META_BUFFERS+1,x
|
||||
sta SPRITEPTR_H
|
||||
lda META_BUFFERS,x
|
||||
sta SPRITEPTR_L
|
||||
|
||||
; Find Y coordinate
|
||||
ldy #1
|
||||
lda (SPRITEPTR_L),y
|
||||
sta PARAM1
|
||||
|
||||
; Find X coordinate
|
||||
ldy #0
|
||||
lda (SPRITEPTR_L),y
|
||||
sta PARAM0
|
||||
|
||||
jsr BlackRect
|
||||
|
||||
; Next sprite
|
||||
dec spriteNum
|
||||
bmi backgroundRestartList
|
||||
jmp backgroundLoop
|
||||
|
||||
backgroundRestartList:
|
||||
lda #MAXSPRITEINDEX
|
||||
sta spriteNum
|
||||
jmp mainLoop ; Skip movement
|
||||
|
||||
movementLoop:
|
||||
; Find our sprite pointer
|
||||
lda spriteNum
|
||||
asl
|
||||
tax
|
||||
lda META_BUFFERS+1,x
|
||||
sta SPRITEPTR_H
|
||||
lda META_BUFFERS,x
|
||||
sta SPRITEPTR_L
|
||||
|
||||
; Apply X velocity to X coordinate
|
||||
clc
|
||||
ldy #0
|
||||
lda (SPRITEPTR_L),y
|
||||
ldy #2
|
||||
adc (SPRITEPTR_L),y
|
||||
bmi flipX
|
||||
cmp #MAXPOSX
|
||||
bpl flipX
|
||||
|
||||
; Store the new X
|
||||
ldy #0
|
||||
sta (SPRITEPTR_L),y
|
||||
|
||||
adjustY:
|
||||
; Apply Y velocity to Y coordinate
|
||||
clc
|
||||
ldy #1
|
||||
lda (SPRITEPTR_L),y
|
||||
ldy #3
|
||||
adc (SPRITEPTR_L),y
|
||||
bmi flipY
|
||||
cmp #MAXPOSY
|
||||
bpl flipY
|
||||
|
||||
; Store the new Y
|
||||
ldy #1
|
||||
sta (SPRITEPTR_L),y
|
||||
|
||||
continueMovementList:
|
||||
dec spriteNum
|
||||
bmi movementRestartList
|
||||
jmp movementLoop
|
||||
|
||||
flipX:
|
||||
lda (SPRITEPTR_L),y
|
||||
eor #$ff
|
||||
inc
|
||||
sta (SPRITEPTR_L),y
|
||||
bra adjustY
|
||||
|
||||
flipY:
|
||||
lda (SPRITEPTR_L),y
|
||||
eor #$ff
|
||||
inc
|
||||
sta (SPRITEPTR_L),y
|
||||
bra continueMovementList
|
||||
|
||||
movementRestartList:
|
||||
lda #MAXSPRITEINDEX
|
||||
sta spriteNum
|
||||
jmp renderLoop
|
||||
|
||||
|
||||
rts
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; delayShort
|
||||
; Sleeps for ~1/30th second
|
||||
;
|
||||
delayShort:
|
||||
SAVE_AXY
|
||||
|
||||
ldy #$06 ; Loop a bit
|
||||
delayShortOuter:
|
||||
ldx #$ff
|
||||
delayShortInner:
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
dex
|
||||
bne delayShortInner
|
||||
dey
|
||||
bne delayShortOuter
|
||||
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
|
||||
|
||||
spriteNum:
|
||||
.byte MAXSPRITEINDEX
|
||||
bgFilename:
|
||||
.byte "KOL",0
|
||||
|
||||
.include "graphics.s"
|
||||
.include "hgrtableX.s"
|
||||
.include "hgrtableY.s"
|
||||
.include "spriteBuffers.s"
|
||||
.include "spritegen0.s"
|
||||
;.include "spritegen1.s"
|
||||
;.include "spritegen2.s"
|
||||
;.include "spritegen3.s"
|
||||
;.include "spritegen4.s"
|
||||
|
||||
; Suppress some linker warnings - Must be the last thing in the file
|
||||
.SEGMENT "ZPSAVE"
|
||||
.SEGMENT "EXEHDR"
|
||||
.SEGMENT "STARTUP"
|
||||
.SEGMENT "INIT"
|
||||
.SEGMENT "LOWCODE"
|
132
macros.s
|
@ -1,132 +0,0 @@
|
|||
;
|
||||
; 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 VBL_SYNC ; Synchronize with vertical blanking
|
||||
@macroWaitVBLToFinish:
|
||||
lda $C019
|
||||
bpl @macroWaitVBLToFinish
|
||||
@macroWaitVBLToStart:
|
||||
lda $C019
|
||||
bmi @macroWaitVBLToStart
|
||||
.endmacro
|
157
spriteBuffers.s
|
@ -1,157 +0,0 @@
|
|||
;
|
||||
; spriteBuffers.s
|
||||
;
|
||||
; Created by Quinn Dunki on 7/19/16
|
||||
; Copyright (c) 2015 One Girl, One Laptop Productions. All rights reserved.
|
||||
;
|
||||
|
||||
META_BUFFERS:
|
||||
.addr metaBuffer0
|
||||
.addr metaBuffer1
|
||||
.addr metaBuffer2
|
||||
.addr metaBuffer3
|
||||
.addr metaBuffer4
|
||||
.addr metaBuffer5
|
||||
.addr metaBuffer6
|
||||
.addr metaBuffer7
|
||||
.addr metaBuffer8
|
||||
.addr metaBuffer9
|
||||
.addr metaBuffer10
|
||||
.addr metaBuffer11
|
||||
.addr metaBuffer12
|
||||
.addr metaBuffer13
|
||||
.addr metaBuffer14
|
||||
.addr metaBuffer15
|
||||
.addr metaBuffer16
|
||||
.addr metaBuffer17
|
||||
.addr metaBuffer18
|
||||
.addr metaBuffer19
|
||||
.addr metaBuffer20
|
||||
|
||||
metaBuffer0:
|
||||
.byte 80 ; X pos
|
||||
.byte 116 ; Y pos
|
||||
.byte -1 ; X vec
|
||||
.byte -3 ; Y vec
|
||||
|
||||
metaBuffer1:
|
||||
.byte 64 ; X pos
|
||||
.byte 126 ; Y pos
|
||||
.byte 4 ; X vec
|
||||
.byte 3 ; Y vec
|
||||
|
||||
metaBuffer2:
|
||||
.byte 42 ; X pos
|
||||
.byte 67 ; Y pos
|
||||
.byte -3 ; X vec
|
||||
.byte -3 ; Y vec
|
||||
|
||||
metaBuffer3:
|
||||
.byte 72 ; X pos
|
||||
.byte 70 ; Y pos
|
||||
.byte -3 ; X vec
|
||||
.byte 5 ; Y vec
|
||||
|
||||
metaBuffer4:
|
||||
.byte 75 ; X pos
|
||||
.byte 49 ; Y pos
|
||||
.byte -5 ; X vec
|
||||
.byte 3 ; Y vec
|
||||
|
||||
metaBuffer5:
|
||||
.byte 42 ; X pos
|
||||
.byte 101 ; Y pos
|
||||
.byte 4 ; X vec
|
||||
.byte 2 ; Y vec
|
||||
|
||||
metaBuffer6:
|
||||
.byte 40 ; X pos
|
||||
.byte 74 ; Y pos
|
||||
.byte 4 ; X vec
|
||||
.byte -5 ; Y vec
|
||||
|
||||
metaBuffer7:
|
||||
.byte 71 ; X pos
|
||||
.byte 58 ; Y pos
|
||||
.byte 5 ; X vec
|
||||
.byte 5 ; Y vec
|
||||
|
||||
metaBuffer8:
|
||||
.byte 20 ; X pos
|
||||
.byte 51 ; Y pos
|
||||
.byte -5 ; X vec
|
||||
.byte 3 ; Y vec
|
||||
|
||||
metaBuffer9:
|
||||
.byte 74 ; X pos
|
||||
.byte 61 ; Y pos
|
||||
.byte 1 ; X vec
|
||||
.byte -2 ; Y vec
|
||||
|
||||
metaBuffer10:
|
||||
.byte 115 ; X pos
|
||||
.byte 86 ; Y pos
|
||||
.byte 5 ; X vec
|
||||
.byte -2 ; Y vec
|
||||
|
||||
metaBuffer11:
|
||||
.byte 104 ; X pos
|
||||
.byte 53 ; Y pos
|
||||
.byte -5 ; X vec
|
||||
.byte 1 ; Y vec
|
||||
|
||||
metaBuffer12:
|
||||
.byte 21 ; X pos
|
||||
.byte 2 ; Y pos
|
||||
.byte 1 ; X vec
|
||||
.byte 3 ; Y vec
|
||||
|
||||
metaBuffer13:
|
||||
.byte 2 ; X pos
|
||||
.byte 127 ; Y pos
|
||||
.byte 1 ; X vec
|
||||
.byte -5 ; Y vec
|
||||
|
||||
metaBuffer14:
|
||||
.byte 97 ; X pos
|
||||
.byte 123 ; Y pos
|
||||
.byte 1 ; X vec
|
||||
.byte -5 ; Y vec
|
||||
|
||||
metaBuffer15:
|
||||
.byte 5 ; X pos
|
||||
.byte 12 ; Y pos
|
||||
.byte 1 ; X vec
|
||||
.byte -1 ; Y vec
|
||||
|
||||
metaBuffer16:
|
||||
.byte 4 ; X pos
|
||||
.byte 40 ; Y pos
|
||||
.byte -3 ; X vec
|
||||
.byte 4 ; Y vec
|
||||
|
||||
metaBuffer17:
|
||||
.byte 43 ; X pos
|
||||
.byte 67 ; Y pos
|
||||
.byte 4 ; X vec
|
||||
.byte -1 ; Y vec
|
||||
|
||||
metaBuffer18:
|
||||
.byte 105 ; X pos
|
||||
.byte 43 ; Y pos
|
||||
.byte -1 ; X vec
|
||||
.byte -2 ; Y vec
|
||||
|
||||
metaBuffer19:
|
||||
.byte 75 ; X pos
|
||||
.byte 4 ; Y pos
|
||||
.byte -3 ; X vec
|
||||
.byte -5 ; Y vec
|
||||
|
||||
metaBuffer20:
|
||||
.byte 61 ; X pos
|
||||
.byte 18 ; Y pos
|
||||
.byte -1 ; X vec
|
||||
.byte +1 ; Y vec
|
||||
|
||||
|