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
|
|
||||||
|
|
||||||
|
|