diff --git a/a2bejwld.xcodeproj/project.pbxproj b/a2bejwld.xcodeproj/project.pbxproj index e01128f..f019831 100644 --- a/a2bejwld.xcodeproj/project.pbxproj +++ b/a2bejwld.xcodeproj/project.pbxproj @@ -3,189 +3,228 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ - 9D4D1AB11D6D708E00D20BB8 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B472E1D3FB16F00F6D704 /* main.c */; }; - 9D4D1AB21D6D709100D20BB8 /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B47431D403F5B00F6D704 /* ui.c */; }; - 9D4D1AB31D6D709600D20BB8 /* game.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B47401D40098300F6D704 /* game.c */; }; - 9D4D1AB41D6D709F00D20BB8 /* machine.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D4D1AA31D6D0E9B00D20BB8 /* machine.c */; }; - 9D4D1AB51D6D70A300D20BB8 /* anim.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B47481D4270EC00F6D704 /* anim.c */; }; - 9DB20B3E1E078FE20065E263 /* mockingboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DB20B3A1E078FE20065E263 /* mockingboard.c */; }; - 9DB20B3F1E078FE20065E263 /* mockingboard_speech.s in Sources */ = {isa = PBXBuildFile; fileRef = 9DB20B3C1E078FE20065E263 /* mockingboard_speech.s */; }; - 9DB20B421E07904A0065E263 /* sound.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DB20B401E07904A0065E263 /* sound.c */; }; + 9DF8AA5220D9F81600E306E4 /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA5120D9F81600E306E4 /* Makefile */; }; + 9DF8AA5520D9F81600E306E4 /* AppleCommander.jar in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DF8AA5420D9F81600E306E4 /* AppleCommander.jar */; }; + 9DF8AA5720D9F81600E306E4 /* createDiskImage in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA5620D9F81600E306E4 /* createDiskImage */; }; + 9DF8AA5920D9F81600E306E4 /* DevApple.vii in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA5820D9F81600E306E4 /* DevApple.vii */; }; + 9DF8AA5B20D9F81600E306E4 /* dos33_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA5A20D9F81600E306E4 /* dos33_template.dsk */; }; + 9DF8AA5D20D9F81600E306E4 /* head.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA5C20D9F81600E306E4 /* head.mk */; }; + 9DF8AA5F20D9F81600E306E4 /* prodos_template.dsk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA5E20D9F81600E306E4 /* prodos_template.dsk */; }; + 9DF8AA6120D9F81600E306E4 /* tail.mk in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA6020D9F81600E306E4 /* tail.mk */; }; + 9DF8AA6320D9F81600E306E4 /* V2Make.scpt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA6220D9F81600E306E4 /* V2Make.scpt */; }; + 9DF8AA6620D9F81600E306E4 /* a2bejwld.xcscheme in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9DF8AA6520D9F81600E306E4 /* a2bejwld.xcscheme */; }; + 9DF8AA8920D9F97400E306E4 /* mockingboard_speech.s in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7320D9F97300E306E4 /* mockingboard_speech.s */; }; + 9DF8AA8A20D9F97400E306E4 /* anim.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7520D9F97300E306E4 /* anim.c */; }; + 9DF8AA8B20D9F97400E306E4 /* game.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7620D9F97300E306E4 /* game.c */; }; + 9DF8AA8C20D9F97400E306E4 /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7920D9F97300E306E4 /* ui.c */; }; + 9DF8AA8D20D9F97400E306E4 /* mouseWrapper.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7A20D9F97300E306E4 /* mouseWrapper.c */; }; + 9DF8AA8E20D9F97400E306E4 /* mockingboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA7D20D9F97400E306E4 /* mockingboard.c */; }; + 9DF8AA8F20D9F97400E306E4 /* machine.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA8320D9F97400E306E4 /* machine.c */; }; + 9DF8AA9020D9F97400E306E4 /* vbl.s in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA8420D9F97400E306E4 /* vbl.s */; }; + 9DF8AA9120D9F97400E306E4 /* joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA8520D9F97400E306E4 /* joystick.c */; }; + 9DF8AA9320D9F97400E306E4 /* dbllores.s in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA8720D9F97400E306E4 /* dbllores.s */; }; + 9DF8AA9420D9F97400E306E4 /* sound.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA8820D9F97400E306E4 /* sound.c */; }; + 9DF8AA9820D9FA8100E306E4 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DF8AA9720D9FA8100E306E4 /* main.c */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 9D4D1AA71D6D704800D20BB8 /* CopyFiles */ = { + 9DF8AA4A20D9F81600E306E4 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = /usr/share/man/man1/; dstSubfolderSpec = 0; files = ( + 9DF8AA5720D9F81600E306E4 /* createDiskImage in CopyFiles */, + 9DF8AA5920D9F81600E306E4 /* DevApple.vii in CopyFiles */, + 9DF8AA6620D9F81600E306E4 /* a2bejwld.xcscheme in CopyFiles */, + 9DF8AA5B20D9F81600E306E4 /* dos33_template.dsk in CopyFiles */, + 9DF8AA6120D9F81600E306E4 /* tail.mk in CopyFiles */, + 9DF8AA6320D9F81600E306E4 /* V2Make.scpt in CopyFiles */, + 9DF8AA5F20D9F81600E306E4 /* prodos_template.dsk in CopyFiles */, + 9DF8AA5D20D9F81600E306E4 /* head.mk in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 9D3A9FB81D455CCF004C5897 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; - 9D3A9FB91D455CD8004C5897 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = ""; }; - 9D4D1AA31D6D0E9B00D20BB8 /* machine.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = machine.c; sourceTree = ""; }; - 9D4D1AA41D6D0E9B00D20BB8 /* machine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = ""; }; - 9D4D1AA91D6D704800D20BB8 /* dummy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dummy; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D509F911D654F9900161DDC /* mouseWrapper.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mouseWrapper.c; sourceTree = ""; }; - 9D509F921D654F9900161DDC /* mouseWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mouseWrapper.h; sourceTree = ""; }; - 9D509F941D66AE2800161DDC /* a2e.stdmou.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.stdmou.s; sourceTree = ""; }; - 9D6B472E1D3FB16F00F6D704 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; - 9D6B472F1D3FB16F00F6D704 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 9D6B47311D3FB16F00F6D704 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = ""; }; - 9D6B47321D3FB16F00F6D704 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = ""; }; - 9D6B47331D3FB16F00F6D704 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = ""; }; - 9D6B47341D3FB16F00F6D704 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = ""; }; - 9D6B47351D3FB16F00F6D704 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = ""; }; - 9D6B47361D3FB16F00F6D704 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = ""; }; - 9D6B47371D3FB16F00F6D704 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = ""; }; - 9D6B47381D3FB16F00F6D704 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = ""; }; - 9D6B473E1D3FB20000F6D704 /* dbllores.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = dbllores.s; sourceTree = ""; }; - 9D6B473F1D3FB5C800F6D704 /* dbllores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dbllores.h; sourceTree = ""; }; - 9D6B47401D40098300F6D704 /* game.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = game.c; sourceTree = ""; }; - 9D6B47411D40098300F6D704 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = ""; }; - 9D6B47421D400B4900F6D704 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; - 9D6B47431D403F5B00F6D704 /* ui.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ui.c; sourceTree = ""; }; - 9D6B47441D403F5B00F6D704 /* ui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = ""; }; - 9D6B47451D426E6300F6D704 /* vbl.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = vbl.s; sourceTree = ""; }; - 9D6B47471D42709200F6D704 /* vbl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vbl.h; sourceTree = ""; }; - 9D6B47481D4270EC00F6D704 /* anim.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = anim.c; sourceTree = ""; }; - 9D6B47491D4270EC00F6D704 /* anim.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = anim.h; sourceTree = ""; }; - 9D6B474A1D42DEB600F6D704 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 9D6B474C1D43BBAC00F6D704 /* a2bejwld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = a2bejwld.png; sourceTree = ""; }; - 9DB20B3A1E078FE20065E263 /* mockingboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mockingboard.c; sourceTree = ""; }; - 9DB20B3B1E078FE20065E263 /* mockingboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard.h; sourceTree = ""; }; - 9DB20B3C1E078FE20065E263 /* mockingboard_speech.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = mockingboard_speech.s; sourceTree = ""; }; - 9DB20B3D1E078FE20065E263 /* mockingboard_speech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard_speech.h; sourceTree = ""; }; - 9DB20B401E07904A0065E263 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = ""; }; - 9DB20B411E07904A0065E263 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = ""; }; + 9DF8AA4C20D9F81600E306E4 /* doNotBuild */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = doNotBuild; sourceTree = BUILT_PRODUCTS_DIR; }; + 9DF8AA5120D9F81600E306E4 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + 9DF8AA5420D9F81600E306E4 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = ""; }; + 9DF8AA5620D9F81600E306E4 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = ""; }; + 9DF8AA5820D9F81600E306E4 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = ""; }; + 9DF8AA5A20D9F81600E306E4 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = ""; }; + 9DF8AA5C20D9F81600E306E4 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = ""; }; + 9DF8AA5E20D9F81600E306E4 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = ""; }; + 9DF8AA6020D9F81600E306E4 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = ""; }; + 9DF8AA6220D9F81600E306E4 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = ""; }; + 9DF8AA6520D9F81600E306E4 /* a2bejwld.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = a2bejwld.xcscheme; path = a2bejwld.xcodeproj/xcshareddata/xcschemes/a2bejwld.xcscheme; sourceTree = SOURCE_ROOT; }; + 9DF8AA6F20D9F95800E306E4 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 9DF8AA7020D9F95800E306E4 /* a2bejwld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = a2bejwld.png; sourceTree = ""; }; + 9DF8AA7120D9F97300E306E4 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = ""; }; + 9DF8AA7220D9F97300E306E4 /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = ""; }; + 9DF8AA7320D9F97300E306E4 /* mockingboard_speech.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = mockingboard_speech.s; sourceTree = ""; }; + 9DF8AA7420D9F97300E306E4 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = ""; }; + 9DF8AA7520D9F97300E306E4 /* anim.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = anim.c; sourceTree = ""; }; + 9DF8AA7620D9F97300E306E4 /* game.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = game.c; sourceTree = ""; }; + 9DF8AA7720D9F97300E306E4 /* mockingboard_speech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard_speech.h; sourceTree = ""; }; + 9DF8AA7820D9F97300E306E4 /* vbl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbl.h; sourceTree = ""; }; + 9DF8AA7920D9F97300E306E4 /* ui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ui.c; sourceTree = ""; }; + 9DF8AA7A20D9F97300E306E4 /* mouseWrapper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mouseWrapper.c; sourceTree = ""; }; + 9DF8AA7B20D9F97300E306E4 /* dbllores.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbllores.h; sourceTree = ""; }; + 9DF8AA7C20D9F97400E306E4 /* mouseWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mouseWrapper.h; sourceTree = ""; }; + 9DF8AA7D20D9F97400E306E4 /* mockingboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mockingboard.c; sourceTree = ""; }; + 9DF8AA7E20D9F97400E306E4 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + 9DF8AA7F20D9F97400E306E4 /* mockingboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard.h; sourceTree = ""; }; + 9DF8AA8020D9F97400E306E4 /* machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = ""; }; + 9DF8AA8120D9F97400E306E4 /* anim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anim.h; sourceTree = ""; }; + 9DF8AA8220D9F97400E306E4 /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = ""; }; + 9DF8AA8320D9F97400E306E4 /* machine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = machine.c; sourceTree = ""; }; + 9DF8AA8420D9F97400E306E4 /* vbl.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = vbl.s; sourceTree = ""; }; + 9DF8AA8520D9F97400E306E4 /* joystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = ""; }; + 9DF8AA8720D9F97400E306E4 /* dbllores.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = dbllores.s; sourceTree = ""; }; + 9DF8AA8820D9F97400E306E4 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = ""; }; + 9DF8AA9720D9FA8100E306E4 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 9D4D1AA61D6D704800D20BB8 /* Frameworks */ = { + 9DF8AA4920D9F81600E306E4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9DF8AA5520D9F81600E306E4 /* AppleCommander.jar in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 9D3A9FBA1D4578B4004C5897 /* mouse */ = { + 9DF8AA4220D9F81600E306E4 = { isa = PBXGroup; children = ( - 9D509F941D66AE2800161DDC /* a2e.stdmou.s */, - 9D509F911D654F9900161DDC /* mouseWrapper.c */, - 9D509F921D654F9900161DDC /* mouseWrapper.h */, + 9DF8AA7020D9F95800E306E4 /* a2bejwld.png */, + 9DF8AA6F20D9F95800E306E4 /* README.md */, + 9DF8AA4E20D9F81600E306E4 /* a2bejwld */, + 9DF8AA4D20D9F81600E306E4 /* Products */, ); - name = mouse; sourceTree = ""; }; - 9D3A9FBE1D457973004C5897 /* joystick */ = { + 9DF8AA4D20D9F81600E306E4 /* Products */ = { isa = PBXGroup; children = ( - 9D3A9FB91D455CD8004C5897 /* joystick.c */, - 9D3A9FB81D455CCF004C5897 /* joystick.h */, - ); - name = joystick; - sourceTree = ""; - }; - 9D4D1AAA1D6D704800D20BB8 /* Products */ = { - isa = PBXGroup; - children = ( - 9D4D1AA91D6D704800D20BB8 /* dummy */, + 9DF8AA4C20D9F81600E306E4 /* doNotBuild */, ); name = Products; sourceTree = ""; }; - 9D6B47271D3FB16F00F6D704 = { + 9DF8AA4E20D9F81600E306E4 /* a2bejwld */ = { isa = PBXGroup; children = ( - 9D6B474A1D42DEB600F6D704 /* README.md */, - 9D6B474B1D43BB9100F6D704 /* screenshots */, - 9D6B472D1D3FB16F00F6D704 /* a2bejwld */, - 9D4D1AAA1D6D704800D20BB8 /* Products */, - ); - sourceTree = ""; - }; - 9D6B472D1D3FB16F00F6D704 /* a2bejwld */ = { - isa = PBXGroup; - children = ( - 9D6B472E1D3FB16F00F6D704 /* main.c */, - 9D6B47431D403F5B00F6D704 /* ui.c */, - 9D6B47441D403F5B00F6D704 /* ui.h */, - 9D6B47401D40098300F6D704 /* game.c */, - 9D6B47411D40098300F6D704 /* game.h */, - 9D6B47421D400B4900F6D704 /* types.h */, - 9D6B473E1D3FB20000F6D704 /* dbllores.s */, - 9D6B473F1D3FB5C800F6D704 /* dbllores.h */, - 9D6B47451D426E6300F6D704 /* vbl.s */, - 9D6B47471D42709200F6D704 /* vbl.h */, - 9D4D1AA31D6D0E9B00D20BB8 /* machine.c */, - 9D4D1AA41D6D0E9B00D20BB8 /* machine.h */, - 9D6B47481D4270EC00F6D704 /* anim.c */, - 9D6B47491D4270EC00F6D704 /* anim.h */, - 9DB20B401E07904A0065E263 /* sound.c */, - 9DB20B411E07904A0065E263 /* sound.h */, - 9D6B472F1D3FB16F00F6D704 /* Makefile */, - 9DB20B391E078FC70065E263 /* Mockingboard */, - 9D3A9FBE1D457973004C5897 /* joystick */, - 9D3A9FBA1D4578B4004C5897 /* mouse */, - 9D6B47301D3FB16F00F6D704 /* make */, + 9DF8AA5120D9F81600E306E4 /* Makefile */, + 9DF8AA9720D9FA8100E306E4 /* main.c */, + 9DF8AA7620D9F97300E306E4 /* game.c */, + 9DF8AA7420D9F97300E306E4 /* game.h */, + 9DF8AA8320D9F97400E306E4 /* machine.c */, + 9DF8AA8020D9F97400E306E4 /* machine.h */, + 9DF8AA7E20D9F97400E306E4 /* types.h */, + 9DF8AA7920D9F97300E306E4 /* ui.c */, + 9DF8AA7220D9F97300E306E4 /* ui.h */, + 9DF8AA9D20D9FAF500E306E4 /* sound */, + 9DF8AA9C20D9FAC100E306E4 /* gaphics */, + 9DF8AA9B20D9FABB00E306E4 /* mouse */, + 9DF8AA9A20D9FAB300E306E4 /* joystick */, + 9DF8AA9920D9FAA600E306E4 /* Mockingboard */, + 9DF8AA5320D9F81600E306E4 /* make */, + 9DF8AA6420D9F81600E306E4 /* Supporting Files */, ); path = a2bejwld; sourceTree = ""; }; - 9D6B47301D3FB16F00F6D704 /* make */ = { + 9DF8AA5320D9F81600E306E4 /* make */ = { isa = PBXGroup; children = ( - 9D6B47311D3FB16F00F6D704 /* AppleCommander.jar */, - 9D6B47321D3FB16F00F6D704 /* createDiskImage */, - 9D6B47331D3FB16F00F6D704 /* DevApple.vii */, - 9D6B47341D3FB16F00F6D704 /* dos33_template.dsk */, - 9D6B47351D3FB16F00F6D704 /* head.mk */, - 9D6B47361D3FB16F00F6D704 /* prodos_template.dsk */, - 9D6B47371D3FB16F00F6D704 /* tail.mk */, - 9D6B47381D3FB16F00F6D704 /* V2Make.scpt */, + 9DF8AA5420D9F81600E306E4 /* AppleCommander.jar */, + 9DF8AA5620D9F81600E306E4 /* createDiskImage */, + 9DF8AA5820D9F81600E306E4 /* DevApple.vii */, + 9DF8AA5A20D9F81600E306E4 /* dos33_template.dsk */, + 9DF8AA5C20D9F81600E306E4 /* head.mk */, + 9DF8AA5E20D9F81600E306E4 /* prodos_template.dsk */, + 9DF8AA6020D9F81600E306E4 /* tail.mk */, + 9DF8AA6220D9F81600E306E4 /* V2Make.scpt */, ); name = make; sourceTree = ""; }; - 9D6B474B1D43BB9100F6D704 /* screenshots */ = { + 9DF8AA6420D9F81600E306E4 /* Supporting Files */ = { isa = PBXGroup; children = ( - 9D6B474C1D43BBAC00F6D704 /* a2bejwld.png */, + 9DF8AA6520D9F81600E306E4 /* a2bejwld.xcscheme */, ); - name = screenshots; + name = "Supporting Files"; sourceTree = ""; }; - 9DB20B391E078FC70065E263 /* Mockingboard */ = { + 9DF8AA9920D9FAA600E306E4 /* Mockingboard */ = { isa = PBXGroup; children = ( - 9DB20B3A1E078FE20065E263 /* mockingboard.c */, - 9DB20B3B1E078FE20065E263 /* mockingboard.h */, - 9DB20B3C1E078FE20065E263 /* mockingboard_speech.s */, - 9DB20B3D1E078FE20065E263 /* mockingboard_speech.h */, + 9DF8AA7720D9F97300E306E4 /* mockingboard_speech.h */, + 9DF8AA7320D9F97300E306E4 /* mockingboard_speech.s */, + 9DF8AA7D20D9F97400E306E4 /* mockingboard.c */, + 9DF8AA7F20D9F97400E306E4 /* mockingboard.h */, ); name = Mockingboard; sourceTree = ""; }; + 9DF8AA9A20D9FAB300E306E4 /* joystick */ = { + isa = PBXGroup; + children = ( + 9DF8AA8520D9F97400E306E4 /* joystick.c */, + 9DF8AA8220D9F97400E306E4 /* joystick.h */, + ); + name = joystick; + sourceTree = ""; + }; + 9DF8AA9B20D9FABB00E306E4 /* mouse */ = { + isa = PBXGroup; + children = ( + 9DF8AA7A20D9F97300E306E4 /* mouseWrapper.c */, + 9DF8AA7C20D9F97400E306E4 /* mouseWrapper.h */, + ); + name = mouse; + sourceTree = ""; + }; + 9DF8AA9C20D9FAC100E306E4 /* gaphics */ = { + isa = PBXGroup; + children = ( + 9DF8AA7520D9F97300E306E4 /* anim.c */, + 9DF8AA8120D9F97400E306E4 /* anim.h */, + 9DF8AA7B20D9F97300E306E4 /* dbllores.h */, + 9DF8AA8720D9F97400E306E4 /* dbllores.s */, + 9DF8AA7820D9F97300E306E4 /* vbl.h */, + 9DF8AA8420D9F97400E306E4 /* vbl.s */, + ); + name = gaphics; + sourceTree = ""; + }; + 9DF8AA9D20D9FAF500E306E4 /* sound */ = { + isa = PBXGroup; + children = ( + 9DF8AA8820D9F97400E306E4 /* sound.c */, + 9DF8AA7120D9F97300E306E4 /* sound.h */, + ); + name = sound; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXLegacyTarget section */ - 9D6B472C1D3FB16F00F6D704 /* a2bejwld */ = { + 9DF8AA4720D9F81600E306E4 /* a2bejwld */ = { isa = PBXLegacyTarget; buildArgumentsString = "-C a2bejwld $(ACTION)"; - buildConfigurationList = 9D6B473B1D3FB16F00F6D704 /* Build configuration list for PBXLegacyTarget "a2bejwld" */; + buildConfigurationList = 9DF8AA6920D9F81600E306E4 /* Build configuration list for PBXLegacyTarget "a2bejwld" */; buildPhases = ( ); buildToolPath = /usr/bin/make; @@ -198,126 +237,126 @@ /* End PBXLegacyTarget section */ /* Begin PBXNativeTarget section */ - 9D4D1AA81D6D704800D20BB8 /* dummy */ = { + 9DF8AA4B20D9F81600E306E4 /* doNotBuild */ = { isa = PBXNativeTarget; - buildConfigurationList = 9D4D1AAE1D6D704800D20BB8 /* Build configuration list for PBXNativeTarget "dummy" */; + buildConfigurationList = 9DF8AA6C20D9F81600E306E4 /* Build configuration list for PBXNativeTarget "doNotBuild" */; buildPhases = ( - 9D4D1AA51D6D704800D20BB8 /* Sources */, - 9D4D1AA61D6D704800D20BB8 /* Frameworks */, - 9D4D1AA71D6D704800D20BB8 /* CopyFiles */, + 9DF8AA4820D9F81600E306E4 /* Sources */, + 9DF8AA4920D9F81600E306E4 /* Frameworks */, + 9DF8AA4A20D9F81600E306E4 /* CopyFiles */, ); buildRules = ( ); dependencies = ( ); - name = dummy; - productName = dummy; - productReference = 9D4D1AA91D6D704800D20BB8 /* dummy */; + name = doNotBuild; + productName = doNotBuild; + productReference = 9DF8AA4C20D9F81600E306E4 /* doNotBuild */; productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 9D6B47281D3FB16F00F6D704 /* Project object */ = { + 9DF8AA4320D9F81600E306E4 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0730; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = "Jeremy Rand"; TargetAttributes = { - 9D4D1AA81D6D704800D20BB8 = { - CreatedOnToolsVersion = 7.3.1; + 9DF8AA4720D9F81600E306E4 = { + CreatedOnToolsVersion = 9.4.1; }; - 9D6B472C1D3FB16F00F6D704 = { - CreatedOnToolsVersion = 7.3.1; + 9DF8AA4B20D9F81600E306E4 = { + CreatedOnToolsVersion = 9.4.1; }; }; }; - buildConfigurationList = 9D6B472B1D3FB16F00F6D704 /* Build configuration list for PBXProject "a2bejwld" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + buildConfigurationList = 9DF8AA4620D9F81600E306E4 /* Build configuration list for PBXProject "a2bejwld" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 9D6B47271D3FB16F00F6D704; - productRefGroup = 9D4D1AAA1D6D704800D20BB8 /* Products */; + mainGroup = 9DF8AA4220D9F81600E306E4; + productRefGroup = 9DF8AA4D20D9F81600E306E4 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 9D6B472C1D3FB16F00F6D704 /* a2bejwld */, - 9D4D1AA81D6D704800D20BB8 /* dummy */, + 9DF8AA4720D9F81600E306E4 /* a2bejwld */, + 9DF8AA4B20D9F81600E306E4 /* doNotBuild */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 9D4D1AA51D6D704800D20BB8 /* Sources */ = { + 9DF8AA4820D9F81600E306E4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9D4D1AB51D6D70A300D20BB8 /* anim.c in Sources */, - 9DB20B421E07904A0065E263 /* sound.c in Sources */, - 9DB20B3E1E078FE20065E263 /* mockingboard.c in Sources */, - 9D4D1AB31D6D709600D20BB8 /* game.c in Sources */, - 9D4D1AB11D6D708E00D20BB8 /* main.c in Sources */, - 9D4D1AB21D6D709100D20BB8 /* ui.c in Sources */, - 9DB20B3F1E078FE20065E263 /* mockingboard_speech.s in Sources */, - 9D4D1AB41D6D709F00D20BB8 /* machine.c in Sources */, + 9DF8AA9820D9FA8100E306E4 /* main.c in Sources */, + 9DF8AA8F20D9F97400E306E4 /* machine.c in Sources */, + 9DF8AA8B20D9F97400E306E4 /* game.c in Sources */, + 9DF8AA8C20D9F97400E306E4 /* ui.c in Sources */, + 9DF8AA8A20D9F97400E306E4 /* anim.c in Sources */, + 9DF8AA9120D9F97400E306E4 /* joystick.c in Sources */, + 9DF8AA8920D9F97400E306E4 /* mockingboard_speech.s in Sources */, + 9DF8AA8D20D9F97400E306E4 /* mouseWrapper.c in Sources */, + 9DF8AA5220D9F81600E306E4 /* Makefile in Sources */, + 9DF8AA9320D9F97400E306E4 /* dbllores.s in Sources */, + 9DF8AA9420D9F97400E306E4 /* sound.c in Sources */, + 9DF8AA9020D9F97400E306E4 /* vbl.s in Sources */, + 9DF8AA8E20D9F97400E306E4 /* mockingboard.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - 9D4D1AAF1D6D704800D20BB8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - 9D4D1AB01D6D704800D20BB8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; - 9D6B47391D3FB16F00F6D704 /* Debug */ = { + 9DF8AA6720D9F81600E306E4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 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_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\""; + 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; @@ -329,31 +368,44 @@ }; name = Debug; }; - 9D6B473A1D3FB16F00F6D704 /* Release */ = { + 9DF8AA6820D9F81600E306E4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 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_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -364,11 +416,13 @@ }; name = Release; }; - 9D6B473C1D3FB16F00F6D704 /* Debug */ = { + 9DF8AA6A20D9F81600E306E4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_STYLE = Automatic; DEBUGGING_SYMBOLS = YES; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = VD9FGCW36C; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; OTHER_CFLAGS = ""; @@ -377,47 +431,71 @@ }; name = Debug; }; - 9D6B473D1D3FB16F00F6D704 /* Release */ = { + 9DF8AA6B20D9F81600E306E4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = VD9FGCW36C; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; + 9DF8AA6D20D9F81600E306E4 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = VD9FGCW36C; + GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\""; + HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include; + PRODUCT_NAME = doNotBuild; + }; + name = Debug; + }; + 9DF8AA6E20D9F81600E306E4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = VD9FGCW36C; + GCC_PREPROCESSOR_DEFINITIONS = "__fastcall__=\"\""; + HEADER_SEARCH_PATHS = /usr/local/lib/cc65/include; + PRODUCT_NAME = doNotBuild; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 9D4D1AAE1D6D704800D20BB8 /* Build configuration list for PBXNativeTarget "dummy" */ = { + 9DF8AA4620D9F81600E306E4 /* Build configuration list for PBXProject "a2bejwld" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9D4D1AAF1D6D704800D20BB8 /* Debug */, - 9D4D1AB01D6D704800D20BB8 /* Release */, + 9DF8AA6720D9F81600E306E4 /* Debug */, + 9DF8AA6820D9F81600E306E4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9D6B472B1D3FB16F00F6D704 /* Build configuration list for PBXProject "a2bejwld" */ = { + 9DF8AA6920D9F81600E306E4 /* Build configuration list for PBXLegacyTarget "a2bejwld" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9D6B47391D3FB16F00F6D704 /* Debug */, - 9D6B473A1D3FB16F00F6D704 /* Release */, + 9DF8AA6A20D9F81600E306E4 /* Debug */, + 9DF8AA6B20D9F81600E306E4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9D6B473B1D3FB16F00F6D704 /* Build configuration list for PBXLegacyTarget "a2bejwld" */ = { + 9DF8AA6C20D9F81600E306E4 /* Build configuration list for PBXNativeTarget "doNotBuild" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9D6B473C1D3FB16F00F6D704 /* Debug */, - 9D6B473D1D3FB16F00F6D704 /* Release */, + 9DF8AA6D20D9F81600E306E4 /* Debug */, + 9DF8AA6E20D9F81600E306E4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 9D6B47281D3FB16F00F6D704 /* Project object */; + rootObject = 9DF8AA4320D9F81600E306E4 /* Project object */; } diff --git a/a2bejwld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/a2bejwld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/a2bejwld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/a2bejwld.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate b/a2bejwld.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..3067203 Binary files /dev/null and b/a2bejwld.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/a2bejwld.xcscheme b/a2bejwld.xcodeproj/xcshareddata/xcschemes/a2bejwld.xcscheme similarity index 73% rename from a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/a2bejwld.xcscheme rename to a2bejwld.xcodeproj/xcshareddata/xcschemes/a2bejwld.xcscheme index 412d2cb..17b52d2 100644 --- a/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/a2bejwld.xcscheme +++ b/a2bejwld.xcodeproj/xcshareddata/xcschemes/a2bejwld.xcscheme @@ -1,6 +1,6 @@ @@ -34,23 +34,41 @@ + + + + + + + + + + @@ -63,7 +81,7 @@ diff --git a/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist b/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist index 24136e5..1d077a9 100644 --- a/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/a2bejwld.xcodeproj/xcuserdata/jrand.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,29 +4,16 @@ SchemeUserState - a2bejwld.xcscheme + a2bejwld.xcscheme_^#shared#^_ orderHint 0 - dummy.xcscheme + doNotBuild.xcscheme orderHint 1 - SuppressBuildableAutocreation - - 9D4D1AA81D6D704800D20BB8 - - primary - - - 9D6B472C1D3FB16F00F6D704 - - primary - - - diff --git a/a2bejwld/Makefile b/a2bejwld/Makefile index 34cdde7..62bc4b9 100644 --- a/a2bejwld/Makefile +++ b/a2bejwld/Makefile @@ -48,21 +48,9 @@ CPU = 65C02 # Note: You can assemble for 65816 in 16-bit mode but the C compiler # will only produce 8-bit code. -# Any *.c files in your main project directory will automatically be -# built. But, if you have subdirectories with C files in them, you -# should add them to the list of C_SRCS to build. Do that by -# uncommenting the following line and changing "someSubDir" to match -# the subdirectory you have created. Add multiple lines like this -# for each subdirectory: -# C_SRCS += $(wildcard someSubDir/*.c) - -# Any *.s files in your main project directory will automatically be -# built. But, if you have subdirectories with assembly files in them, -# you should add them to the list of ASM_SRCS to build. Do that by -# uncommenting the following line and changing "someSubDir" to match -# the subdirectory you have created. Add multiple lines like this -# for each subdirectory: -# ASM_SRCS += $(wildcard someSubDir/*.s) +# Add any other directories where you are putting C or assembly source +# files to this list: +SRCDIRS+= # If you have a non-standard cc65 install, you may need to change # some of these. Uncomment the following line and change it to the @@ -85,10 +73,163 @@ CPU = 65C02 # this variable: # LDFLAGS += -v +# If you want to link the lores graphics driver with your executable, +# uncomment the next line. +# DRIVERS += loresgr +# +# To use the lores driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_lores_drv.h" +# int main(void) +# { +# tgi_install(&a2_lores_drv); +# tgi_init(); +# // Use the graphics driver +# tgi_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/tgi.h file to see what the +# driver interface provides. Also check out +# /usr/local/lib/cc65/include/apple2.h to see the colour definitions. + +# If you want to link the hires graphics driver with your executable, +# uncomment the next line. +# DRIVERS += hiresgr +# +# To use the hires driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_hires_drv.h" +# int main(void) +# { +# tgi_install(&a2_hires_drv); +# tgi_init(); +# // Use the graphics driver +# tgi_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/tgi.h file to see what the +# driver interface provides. Also check out +# /usr/local/lib/cc65/include/apple2.h to see the colour definitions. + +# If you want to link the extended memory driver with your executable, +# uncomment the next line. +# DRIVERS += auxmem +# +# To use the auxmem driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_auxmem_drv.h" +# int main(void) +# { +# em_install(&a2_auxmem_drv); +# // Use the auxmem driver +# em_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/em.h file to see what the +# driver interface provides. + +# If you want to link the joystick driver with your executable, +# uncomment the next line. +# DRIVERS += joystick +# +# To use the joystick driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_joystick_drv.h" +# int main(void) +# { +# joy_install(&a2_joystick_drv); +# // Use the joystick driver +# joy_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/joystick.h file to see what the +# driver interface provides. + +# If you want to link the mouse driver with your executable, +# uncomment the next line. +DRIVERS += mouse +# +# To use the mouse driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_mouse_drv.h" +# int main(void) +# { +# mouse_install(&mouse_def_callbacks, &a2_mouse_drv); +# // Use the mouse driver +# mouse_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/mouse.h file to see what the +# driver interface provides. + +# If you want to link the serial driver with your executable, +# uncomment the next line. +# DRIVERS += serial +# +# To use the serial driver, add code which looks like this to your +# project: +# +# #include "drivers/a2_serial_drv.h" +# int main(void) +# { +# ser_install(&a2_serial_drv); +# // Use the serial driver +# ser_uninstall(); +# } +# +# Read the /usr/local/lib/cc65/include/serial.h file to see what the +# driver interface provides. + # If you have java installed in a non-standard location, you can set # the path to it by uncommenting the following line: # export JAVA=/usr/bin/java +# If you want to copy one or more files or directories to the target disk +# image, add the root directory to this variable. All files will be +# copied from the source to the target using the same path from the source. +# +# For example, if you set COPYDIRS to dir and in your project you have +# the following files: +# dir/mySystemFile +# dir/newDir/anotherFile +# +# Then, during the copy phase, mySystemFile will be copied into the root +# of the disk and anotherFile will be copied into a directory named +# newDir. The newDir directory will be created if it does not already +# exist. +# +# The name of the file to copy is checked and if it ends in: +# .as - It assumes the file is in AppleSingle format. The .as +# suffix is stripped from the name when copied to the +# disk image. +# . - If the file ends with a single character which matches +# a DOS 3.3 file type (A, B, T, etc) it uses that value as +# the file type of the file copied to the disk image. The +# single character is removed from the file name. +# . - If the file ends with a three letter alpha extension, it +# uses that TLA as the file type of the file copied to the +# disk image. The TLA is removed from the file name. +# +# If you do not provide any type information for your filenames, +# it will be copied as a binary. +# +COPYDIRS= + +# Add any rules you want to execute before any compiles or assembly +# commands are called here, if any. You can generate .c, .s or .h +# files for example. You can generate data files. Whatever you +# might need. +gen: + +# For any files you generated in the gen target above, you should +# add rules in genclean to remove those generated files when you +# clean your build. +genclean: # Do not change anything else below here... include make/tail.mk diff --git a/a2bejwld/a2bejwld b/a2bejwld/a2bejwld new file mode 100644 index 0000000..8a211fd Binary files /dev/null and b/a2bejwld/a2bejwld differ diff --git a/a2bejwld/a2bejwld.dsk b/a2bejwld/a2bejwld.dsk new file mode 100644 index 0000000..b013bda Binary files /dev/null and b/a2bejwld/a2bejwld.dsk differ diff --git a/a2bejwld/a2bejwld.map b/a2bejwld/a2bejwld.map new file mode 100644 index 0000000..bfa87aa --- /dev/null +++ b/a2bejwld/a2bejwld.map @@ -0,0 +1,1942 @@ +Modules list: +------------- +anim.o: + CODE Offs = 000000 Size = 0020BA + BSS Offs = 000000 Size = 0002CA + DATA Offs = 000000 Size = 00000E +game.o: + CODE Offs = 0020BA Size = 001FCC + RODATA Offs = 000000 Size = 000033 + BSS Offs = 0002CA Size = 000089 + DATA Offs = 00000E Size = 000006 +joystick.o: + CODE Offs = 004086 Size = 0003E7 + BSS Offs = 000353 Size = 000003 + DATA Offs = 000014 Size = 000008 +machine.o: + CODE Offs = 00446D Size = 000157 + DATA Offs = 00001C Size = 000004 +main.o: + CODE Offs = 0045C4 Size = 000011 +mockingboard.o: + CODE Offs = 0045D5 Size = 000462 + RODATA Offs = 000033 Size = 00002C + DATA Offs = 000020 Size = 000012 +mouseWrapper.o: + CODE Offs = 004A37 Size = 0003F3 + BSS Offs = 000356 Size = 000008 + DATA Offs = 000032 Size = 00000C +sound.o: + CODE Offs = 004E2A Size = 000417 + BSS Offs = 00035E Size = 000004 + DATA Offs = 00003E Size = 0001EA +ui.o: + CODE Offs = 005241 Size = 0011B8 + RODATA Offs = 00005F Size = 0008CE + DATA Offs = 000228 Size = 000038 +dbllores.o: + CODE Offs = 0063F9 Size = 00049B + DATA Offs = 000280 Size = 00024A +mockingboard_speech.o: + CODE Offs = 006894 Size = 000109 + DATA Offs = 0004CA Size = 00000D +vbl.o: + CODE Offs = 00699D Size = 000022 + DATA Offs = 0004D7 Size = 000002 +a2_mouse_drv.o: + CODE Offs = 0069BF Size = 0001B5 + BSS Offs = 000362 Size = 00000F + DATA Offs = 0004D9 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(cgetc.o): + CODE Offs = 006B74 Size = 000012 +/usr/local/lib/cc65/lib/apple2enh.lib(close.o): + CODE Offs = 006B86 Size = 00001D +/usr/local/lib/cc65/lib/apple2enh.lib(clrscr.o): +/usr/local/lib/cc65/lib/apple2enh.lib(cout.o): + LOWCODE Offs = 000000 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(cputc.o): + CODE Offs = 006BA3 Size = 00005B + INIT Offs = 000000 Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(crt0.o): + RODATA Offs = 00092D Size = 000007 + BSS Offs = 000371 Size = 000003 + DATA Offs = 0004E6 Size = 000006 + EXEHDR Offs = 000000 Size = 000004 + STARTUP Offs = 000000 Size = 000078 + INIT Offs = 000007 Size = 000086 + LOWCODE Offs = 00000A Size = 00001C + ZPSAVE Offs = 000000 Size = 00001A +/usr/local/lib/cc65/lib/apple2enh.lib(ctype.o): + RODATA Offs = 000934 Size = 000100 +/usr/local/lib/cc65/lib/apple2enh.lib(dosdetect.o): + BSS Offs = 000374 Size = 000001 + INIT Offs = 00008D Size = 000014 +/usr/local/lib/cc65/lib/apple2enh.lib(filedes.o): + CODE Offs = 006BFE Size = 000016 + DATA Offs = 0004EC Size = 000020 +/usr/local/lib/cc65/lib/apple2enh.lib(fileerr.o): + CODE Offs = 006C14 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(filename.o): + CODE Offs = 006C1E Size = 00006C +/usr/local/lib/cc65/lib/apple2enh.lib(get_ostype.o): + CODE Offs = 006C8A Size = 000006 + BSS Offs = 000375 Size = 000001 + INIT Offs = 0000A1 Size = 000075 +/usr/local/lib/cc65/lib/apple2enh.lib(gotoxy.o): + CODE Offs = 006C90 Size = 00000E +/usr/local/lib/cc65/lib/apple2enh.lib(home.o): + LOWCODE Offs = 000026 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(iobuf.o): +/usr/local/lib/cc65/lib/apple2enh.lib(kbhit.o): + CODE Offs = 006C9E Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(mcbdefault.o): + CODE Offs = 006CA7 Size = 000058 + RODATA Offs = 000A34 Size = 000008 + BSS Offs = 000376 Size = 000001 + DATA Offs = 00050C Size = 000019 +/usr/local/lib/cc65/lib/apple2enh.lib(mli.o): + BSS Offs = 000377 Size = 00000C + DATA Offs = 000525 Size = 000016 +/usr/local/lib/cc65/lib/apple2enh.lib(open.o): + CODE Offs = 006CFF Size = 0000EA + RODATA Offs = 000A3C Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(rdkey.o): + LOWCODE Offs = 000030 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(read.o): + CODE Offs = 006DE9 Size = 000057 + INIT Offs = 000116 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(revers.o): + CODE Offs = 006E40 Size = 000013 +/usr/local/lib/cc65/lib/apple2enh.lib(rwcommon.o): + CODE Offs = 006E53 Size = 00003E +/usr/local/lib/cc65/lib/apple2enh.lib(videomode.o): + LOWCODE Offs = 00003A Size = 00002A +/usr/local/lib/cc65/lib/apple2enh.lib(vtabz.o): + LOWCODE Offs = 000064 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(wherex.o): + CODE Offs = 006E91 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(write.o): + CODE Offs = 006E96 Size = 000068 +/usr/local/lib/cc65/lib/apple2enh.lib(_fdesc.o): + CODE Offs = 006EFE Size = 00001D +/usr/local/lib/cc65/lib/apple2enh.lib(_file.o): + DATA Offs = 00053B Size = 00001E +/usr/local/lib/cc65/lib/apple2enh.lib(_fopen.o): + CODE Offs = 006F1B Size = 00007B + BSS Offs = 000383 Size = 000002 +/usr/local/lib/cc65/lib/apple2enh.lib(_heap.o): + DATA Offs = 000559 Size = 00000A + INIT Offs = 00011B Size = 000010 +/usr/local/lib/cc65/lib/apple2enh.lib(_hextab.o): + RODATA Offs = 000A45 Size = 000010 +/usr/local/lib/cc65/lib/apple2enh.lib(_oserror.o): + BSS Offs = 000385 Size = 000001 +/usr/local/lib/cc65/lib/apple2enh.lib(_printf.o): + CODE Offs = 006F96 Size = 0003A5 + BSS Offs = 000386 Size = 00002B + DATA Offs = 000563 Size = 000003 +/usr/local/lib/cc65/lib/apple2enh.lib(_seterrno.o): + CODE Offs = 00733B Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(errno.o): + BSS Offs = 0003B1 Size = 000002 +/usr/local/lib/cc65/lib/apple2enh.lib(fclose.o): + CODE Offs = 007344 Size = 000022 +/usr/local/lib/cc65/lib/apple2enh.lib(fopen.o): + CODE Offs = 007366 Size = 000018 +/usr/local/lib/cc65/lib/apple2enh.lib(fread.o): + CODE Offs = 00737E Size = 0000D3 + BSS Offs = 0003B3 Size = 000003 +/usr/local/lib/cc65/lib/apple2enh.lib(free.o): + CODE Offs = 007451 Size = 0001D3 +/usr/local/lib/cc65/lib/apple2enh.lib(fwrite.o): + CODE Offs = 007624 Size = 00007D + BSS Offs = 0003B6 Size = 000002 +/usr/local/lib/cc65/lib/apple2enh.lib(ltoa.o): + CODE Offs = 0076A1 Size = 0000AF + RODATA Offs = 000A55 Size = 00000C +/usr/local/lib/cc65/lib/apple2enh.lib(malloc.o): + CODE Offs = 007750 Size = 00010E +/usr/local/lib/cc65/lib/apple2enh.lib(memcmp.o): + CODE Offs = 00785E Size = 00003C +/usr/local/lib/cc65/lib/apple2enh.lib(memcpy.o): + CODE Offs = 00789A Size = 000041 +/usr/local/lib/cc65/lib/apple2enh.lib(memset.o): + CODE Offs = 0078DB Size = 000064 +/usr/local/lib/cc65/lib/apple2enh.lib(pmemalign.o): + CODE Offs = 00793F Size = 000283 +/usr/local/lib/cc65/lib/apple2enh.lib(printf.o): + CODE Offs = 007BC2 Size = 000033 + BSS Offs = 0003B8 Size = 000001 +/usr/local/lib/cc65/lib/apple2enh.lib(rand.o): + CODE Offs = 007BF5 Size = 00004C + DATA Offs = 000566 Size = 000004 +/usr/local/lib/cc65/lib/apple2enh.lib(strlen.o): + CODE Offs = 007C41 Size = 000016 +/usr/local/lib/cc65/lib/apple2enh.lib(strlower.o): + CODE Offs = 007C57 Size = 000028 +/usr/local/lib/cc65/lib/apple2enh.lib(vfprintf.o): + CODE Offs = 007C7F Size = 000060 + DATA Offs = 00056A Size = 000008 +/usr/local/lib/cc65/lib/apple2enh.lib(zerobss.o): + INIT Offs = 00012B Size = 000023 +/usr/local/lib/cc65/lib/apple2enh.lib(add.o): + CODE Offs = 007CDF Size = 000019 +/usr/local/lib/cc65/lib/apple2enh.lib(addysp.o): + CODE Offs = 007CF8 Size = 00000E +/usr/local/lib/cc65/lib/apple2enh.lib(and.o): + CODE Offs = 007D06 Size = 00000F +/usr/local/lib/cc65/lib/apple2enh.lib(aslax1.o): + CODE Offs = 007D15 Size = 000008 +/usr/local/lib/cc65/lib/apple2enh.lib(aslax3.o): + CODE Offs = 007D1D Size = 00000E +/usr/local/lib/cc65/lib/apple2enh.lib(aslax4.o): + CODE Offs = 007D2B Size = 000011 +/usr/local/lib/cc65/lib/apple2enh.lib(asrax2.o): + CODE Offs = 007D3C Size = 00000F +/usr/local/lib/cc65/lib/apple2enh.lib(asrax3.o): + CODE Offs = 007D4B Size = 000014 +/usr/local/lib/cc65/lib/apple2enh.lib(axlong.o): + CODE Offs = 007D5F Size = 000012 +/usr/local/lib/cc65/lib/apple2enh.lib(bneg.o): + CODE Offs = 007D71 Size = 00000E +/usr/local/lib/cc65/lib/apple2enh.lib(call.o): + CODE Offs = 007D7F Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(callirq.o): + DATA Offs = 000572 Size = 00001E +/usr/local/lib/cc65/lib/apple2enh.lib(callmain.o): + CODE Offs = 007D86 Size = 000017 + BSS Offs = 0003B9 Size = 000004 +/usr/local/lib/cc65/lib/apple2enh.lib(compl.o): + CODE Offs = 007D9D Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(condes.o): + CODE Offs = 007DA6 Size = 00000C + DATA Offs = 000590 Size = 000025 + INIT Offs = 00014E Size = 00000C +/usr/local/lib/cc65/lib/apple2enh.lib(decax1.o): + CODE Offs = 007DB2 Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(decax6.o): + CODE Offs = 007DB9 Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(decaxy.o): + CODE Offs = 007DC0 Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(decsp1.o): + CODE Offs = 007DC9 Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(decsp2.o): + CODE Offs = 007DD2 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(decsp3.o): + CODE Offs = 007DDF Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(decsp4.o): + CODE Offs = 007DEC Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(decsp6.o): + CODE Offs = 007DF9 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(decsp7.o): + CODE Offs = 007E06 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(decsp8.o): + CODE Offs = 007E13 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(div.o): + CODE Offs = 007E20 Size = 000018 +/usr/local/lib/cc65/lib/apple2enh.lib(eq.o): + CODE Offs = 007E38 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(ge.o): + CODE Offs = 007E42 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(gt.o): + CODE Offs = 007E4C Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(icmp.o): + CODE Offs = 007E56 Size = 00002E +/usr/local/lib/cc65/lib/apple2enh.lib(incax2.o): + CODE Offs = 007E84 Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(incax8.o): + CODE Offs = 007E8B Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incaxy.o): + CODE Offs = 007E90 Size = 00000B +/usr/local/lib/cc65/lib/apple2enh.lib(incsp1.o): + CODE Offs = 007E9B Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp2.o): + CODE Offs = 007EA2 Size = 000015 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp3.o): + CODE Offs = 007EB7 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp4.o): + CODE Offs = 007EBC Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp5.o): + CODE Offs = 007EC1 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp6.o): + CODE Offs = 007EC6 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp7.o): + CODE Offs = 007ECB Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(incsp8.o): + CODE Offs = 007ED0 Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(jmpvec.o): + DATA Offs = 0005B5 Size = 000003 +/usr/local/lib/cc65/lib/apple2enh.lib(ldai.o): + CODE Offs = 007ED5 Size = 00000C +/usr/local/lib/cc65/lib/apple2enh.lib(ldaui.o): + CODE Offs = 007EE1 Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(ldaxi.o): + CODE Offs = 007EEA Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(ldaxsp.o): + CODE Offs = 007EF7 Size = 000009 +/usr/local/lib/cc65/lib/apple2enh.lib(le.o): + CODE Offs = 007F00 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(leaaxsp.o): + CODE Offs = 007F0A Size = 00000C +/usr/local/lib/cc65/lib/apple2enh.lib(lpush.o): + CODE Offs = 007F16 Size = 00001E +/usr/local/lib/cc65/lib/apple2enh.lib(makebool.o): + CODE Offs = 007F34 Size = 000031 +/usr/local/lib/cc65/lib/apple2enh.lib(mod.o): + CODE Offs = 007F65 Size = 000014 +/usr/local/lib/cc65/lib/apple2enh.lib(mul.o): + CODE Offs = 007F79 Size = 000045 +/usr/local/lib/cc65/lib/apple2enh.lib(mul8.o): + CODE Offs = 007FBE Size = 00003A +/usr/local/lib/cc65/lib/apple2enh.lib(mulax10.o): + CODE Offs = 007FF8 Size = 000019 +/usr/local/lib/cc65/lib/apple2enh.lib(mulax3.o): + CODE Offs = 008011 Size = 000011 +/usr/local/lib/cc65/lib/apple2enh.lib(mulax6.o): + CODE Offs = 008022 Size = 000016 +/usr/local/lib/cc65/lib/apple2enh.lib(ne.o): + CODE Offs = 008038 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(neg.o): + CODE Offs = 008042 Size = 00000E +/usr/local/lib/cc65/lib/apple2enh.lib(or.o): + CODE Offs = 008050 Size = 000012 +/usr/local/lib/cc65/lib/apple2enh.lib(popa.o): + CODE Offs = 008062 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(popsreg.o): + CODE Offs = 00806C Size = 00000F +/usr/local/lib/cc65/lib/apple2enh.lib(push1.o): + CODE Offs = 00807B Size = 000005 +/usr/local/lib/cc65/lib/apple2enh.lib(pusha.o): + CODE Offs = 008080 Size = 000014 +/usr/local/lib/cc65/lib/apple2enh.lib(pushax.o): + CODE Offs = 008094 Size = 00001A +/usr/local/lib/cc65/lib/apple2enh.lib(pushwsp.o): + CODE Offs = 0080AE Size = 00001C +/usr/local/lib/cc65/lib/apple2enh.lib(return0.o): + CODE Offs = 0080CA Size = 000004 +/usr/local/lib/cc65/lib/apple2enh.lib(shelp.o): + CODE Offs = 0080CE Size = 00001E +/usr/local/lib/cc65/lib/apple2enh.lib(shl.o): + CODE Offs = 0080EC Size = 00002B +/usr/local/lib/cc65/lib/apple2enh.lib(shrax2.o): + CODE Offs = 008117 Size = 00000B +/usr/local/lib/cc65/lib/apple2enh.lib(staspidx.o): + CODE Offs = 008122 Size = 000016 +/usr/local/lib/cc65/lib/apple2enh.lib(staxsp.o): + CODE Offs = 008138 Size = 00000B +/usr/local/lib/cc65/lib/apple2enh.lib(staxspi.o): + CODE Offs = 008143 Size = 00001B +/usr/local/lib/cc65/lib/apple2enh.lib(sub.o): + CODE Offs = 00815E Size = 000014 +/usr/local/lib/cc65/lib/apple2enh.lib(subeqsp.o): + CODE Offs = 008172 Size = 000015 +/usr/local/lib/cc65/lib/apple2enh.lib(subysp.o): + CODE Offs = 008187 Size = 00000D +/usr/local/lib/cc65/lib/apple2enh.lib(udiv.o): + CODE Offs = 008194 Size = 00004F +/usr/local/lib/cc65/lib/apple2enh.lib(ugt.o): + CODE Offs = 0081E3 Size = 00000A +/usr/local/lib/cc65/lib/apple2enh.lib(ult.o): + CODE Offs = 0081ED Size = 000008 +/usr/local/lib/cc65/lib/apple2enh.lib(zeropage.o): + ZEROPAGE Offs = 000000 Size = 00001A +/usr/local/lib/cc65/lib/apple2enh.lib(cprintf.o): + CODE Offs = 0081F5 Size = 00002A + BSS Offs = 0003BD Size = 000001 +/usr/local/lib/cc65/lib/apple2enh.lib(cputs.o): + CODE Offs = 00821F Size = 000026 +/usr/local/lib/cc65/lib/apple2enh.lib(vcprintf.o): + CODE Offs = 008245 Size = 00007E + DATA Offs = 0005B8 Size = 000008 +/usr/local/lib/cc65/lib/apple2enh.lib(mouse-kernel.o): + CODE Offs = 0082C3 Size = 000097 + RODATA Offs = 000A61 Size = 000004 + BSS Offs = 0003BE Size = 000003 + DATA Offs = 0005C0 Size = 000025 +/usr/local/lib/cc65/lib/apple2enh.lib(mouse_info.o): + CODE Offs = 00835A Size = 000007 +/usr/local/lib/cc65/lib/apple2enh.lib(mouse_move.o): + CODE Offs = 008361 Size = 000006 +/usr/local/lib/cc65/lib/apple2enh.lib(mouse_show.o): + CODE Offs = 008367 Size = 00000E + + +Segment list: +------------- +Name Start End Size +-------------------------------------------- +EXEHDR 000000 000003 000004 +ZEROPAGE 000080 000099 00001A +STARTUP 000800 000877 000078 +LOWCODE 000878 0008E5 00006E +CODE 0008E6 008C5A 008375 +RODATA 008C5B 0096C6 000A6C +DATA 0096C7 009CAB 0005E5 +ZPSAVE 009CAC 009CC5 00001A +BSS 009CC6 00A086 0003C1 +INIT 00A087 00A1EA 000164 + + +Exports list: +------------- +COUT 000878 RLA HOME 00089E RLA +RDKEY 0008A8 RLA VTABZ 0008DC RLA +__BSS_RUN__ 009CC6 RLA __BSS_SIZE__ 0003C1 REA +__CONSTRUCTOR_COUNT__ 000005 REA __CONSTRUCTOR_TABLE__ 00A1E1 RLA +__DESTRUCTOR_COUNT__ 000001 REA __DESTRUCTOR_TABLE__ 0096C1 RLA +__INIT_SIZE__ 000164 REA __INTERRUPTOR_COUNT__ 000002 REA +__INTERRUPTOR_TABLE__ 0096C3 RLA __LC_LAST__ 00D400 RLA +__LC_START__ 00D400 RLA __MOVE_LAST__ 000164 RLA +__MOVE_START__ 000000 RLA __RAM_LAST__ 00A1EB RLA +__RAM_START__ 000800 RLA __STACKSIZE__ 000800 REA +__STARTUP__ 000001 REA __ZPSAVE_RUN__ 009CAC RLA +__ZP_START__ 000080 RLA __bzero 0081C1 RLA +__ctype 00958F RLA __dos_type 00A03A RLA +__errno 00A077 RLA __fdesc 0077E4 RLA +__filetab 009C02 RLA __fopen 007801 RLA +__heapend 009C24 RLA __heapfirst 009C26 RLA +__heaplast 009C28 RLA __heapptr 009C22 RLA +__hextab 0096A0 RLA __oserror 00A04B RLA +__printf 00796F RLA __seterrno 007C21 RLA +_a2_mouse_drv 0072A5 RLA _addClearAtSquare 000998 RLA +_beginClearGemAnim 00098A RLA _beginClearGemSound 0057A9 RLA +_beginDropAnim 000E19 RLA _cgetc 00745A RLA +_clearDblLoRes 006D45 RLA _close 00746C RLA +_clrscr 00089E RLA _cprintf 008ADB RLA +_cputc 007491 RLA _cputs 008B12 RLA +_cputsxy 008B05 RLA _doStarAnim 00092B RLA +_drawAndStarGemAtXY 006FCB RLA _drawBgSquare 006DE6 RLA +_drawGem 006F5F RLA _drawGemAtSquare 0008E6 RLA +_drawGemAtXY 006E4A RLA _drawScore 006FFC RLA +_dropSquareFromOffscreen 000F96 RLA _dropSquareFromTo 000E77 RLA +_endClearGemAnim 000A3A RLA _endDropAnim 00109C RLA +_exit 000842 RLA _explodeGemFrame1 00702A RLA +_explodeGemFrame2 007065 RLA _explodeGemFrame3 00709A RLA +_explodeGemFrame4 0070D5 RLA _explodeGemFrame5 007110 RLA +_explodeGemFrame6 007145 RLA _fclose 007C2A RLA +_fopen 007C4C RLA _fread 007C64 RLA +_free 007D37 RLA _fwrite 007F0A RLA +_gVblWait 0096E3 RLA _gameIsOver 002D16 RLA +_gemIsStarredAtSquare 002C70 RLA _gemTypeAtSquare 002C52 RLA +_getHintSquare 002D0D RLA _getLevel 002CFA RLA +_get_ostype 007570 RLA _gotox 007581 RLA +_gotoxy 007576 RLA _initGameEngine 0029A0 RLA +_initJoystick 00496C RLA _initMachine 004D53 RLA +_initMouse 00531D RLA _initUI 005B27 RLA +_isButtonPressed 00498F RLA _kbhit 007584 RLA +_loadGame 0031BA RLA _ltoa 007FA3 RLA +_main 004EAA RLA _malloc 008036 RLA +_memcmp 008144 RLA _memcpy 008180 RLA +_mixedTextMode 006D03 RLA _mockingBoardInit 004EBB RLA +_mockingBoardPlaySound 00509E RLA _mockingBoardShutdown 005084 RLA +_mockingBoardSpeak 005160 RLA _mockingBoardSpeakPriv 00719C RLA +_mockingBoardSpeechBusy 009B99 RLA _mockingBoardSpeechData 009B91 RLA +_mockingBoardSpeechInit 007182 RLA _mockingBoardSpeechIsBusy 005144 RLA +_mockingBoardSpeechIsPlaying 005152 RLA _mockingBoardSpeechLen 009B93 RLA +_mockingBoardSpeechPlaying 009B9A RLA _mockingBoardSpeechShutdown 007194 RLA +_mouse_def_callbacks 00968F RLA _mouse_hidden 00A086 RLA +_mouse_info 008C40 RLA _mouse_install 008BA9 RLA +_mouse_move 008C47 RLA _mouse_show 008C4D RLA +_mouse_uninstall 008C28 RLA _moveMouseToSquare 0056AC RLA +_moveSquareInDir 002A3F RLA _open 0075E5 RLA +_playClearGemSound 0057F6 RLA _playGame 005C3F RLA +_playLandingSound 0058D2 RLA _playSoundForExplodingGem 0057B1 RLA +_playSoundForSpecialGem 0057DF RLA _playSoundForStarringGem 0057C8 RLA +_pollJoystick 0049F1 RLA _pollMouse 0053A4 RLA +_posix_memalign 008225 RLA _printInstructions 005BCC RLA +_printf 0084A8 RLA _rand 0084DB RLA +_read 0076CF RLA _resetStarAnim 000909 RLA +_revers 007726 RLA _saveGame 003148 RLA +_selectSquare 006F7B RLA _showDblLoRes 006CDF RLA +_shutdownMouse 005391 RLA _soundInit 005710 RLA +_soundShutdown 005788 RLA _speakExcellent 005A3A RLA +_speakGetReady 00598F RLA _speakGo 005921 RLA +_speakGood 0059FD RLA _speakIncredible 005A77 RLA +_speakLevelComplete 005958 RLA _speakNoMoreMoves 0059C6 RLA +_srand 008518 RLA _starGem 006FDF RLA +_startNewGame 0029AF RLA _stdout 009C1C RLA +_strlen 008527 RLA _strlower 00853D RLA +_swapSquares 000B5A RLA _ultoa 007FFA RLA +_undoClearAtSquare 0009EB RLA _uninitMachine 004D86 RLA +_unshowDblLoRes 006CFF RLA _vblIRQCallback 007296 RLA +_vblInit2gs 007283 RLA _vblWait 007288 RLA +_vblWait2c 00729A RLA _vcprintf 008B79 RLA +_vfprintf 00859C RLA _videomode 0008B2 RLA +_wherex 007777 RLA _write 00777C RLA +addysp 0085DF RLA addysp1 0085DE RLA +aslax1 0085FB RLA aslax3 008603 RLA +aslax4 008611 RLA asrax2 008622 RLA +asrax3 008631 RLA axlong 00864C RLA +axulong 008645 RLA bnega 00865B RLA +booleq 008820 RLA boolge 008830 RLA +boolgt 00882E RLA boolle 008826 RLA +boolne 00881A RLA boolugt 00883E RLA +boolult 008838 RLA callax 008665 RLA +callirq 009C39 RLA callmain 00866C RLA +callmli 009BEC RLA closeallfiles 0076C3 LAI +closedirect 0076C5 RLA complax 008683 RLA +decax1 008698 RLA decax6 00869F RLA +decaxy 0086A6 RLA decsp1 0086AF RLA +decsp2 0086B8 RLA decsp3 0086C5 RLA +decsp4 0086D2 RLA decsp6 0086DF RLA +decsp7 0086EC RLA decsp8 0086F9 RLA +donelib 00868C RLA errnoexit 0074FA RLA +fdtab 009BB3 RLA freebuffer 0076BB RLA +getfd 0074E4 RLA incax2 00876A RLA +incax4 008776 RLA incax8 008771 RLA +incaxy 008778 RLA incsp1 008781 RLA +incsp2 00878F RLA incsp3 00879D RLA +incsp4 0087A2 RLA incsp5 0087A7 RLA +incsp6 0087AC RLA incsp7 0087B1 RLA +incsp8 0087B6 RLA initconio 00A087 LAI +initdostype 00A114 LAI initheap 00A1A2 LAI +initlib 00A1D5 RLA initostype 00A128 LAI +initprompt 00A19D LAI iobuf_alloc 008225 RLA +iobuf_free 007D37 RLA jmpvec 009C7C RLA +ldaidx 0087BB RLA ldauidx 0087C7 RLA +ldax0sp 0087DD RLA ldaxidx 0087D2 RLA +ldaxysp 0087DF RLA leaa0sp 0087F0 RLA +mliparam 00A03D RLA mock_irq 009B9B LAI +mouse_info 009CA2 RLA mouse_irq 009CA8 LAI +mouse_move 009C99 RLA mouse_show 009C90 RLA +mul8x16 0088A6 RLA mul8x16a 0088B1 RLA +mulax10 0088DE RLA mulax3 0088F7 RLA +mulax6 008908 RLA negax 008928 RLA +oserrexit 0074FD RLA popa 008948 RLA +popax 008788 RLA popname 00756B RLA +popsargs 0089B4 RLA popsreg 008952 RLA +ptr1 000088 RLZ ptr2 00008A RLZ +ptr3 00008C RLZ ptr4 00008E RLZ +push1 008961 RLA pusha 00896A RLA +pusha0 00897C RLA pushax 00897E RLA +pusheax 008802 RLA pushname 007504 RLA +pushwysp 008996 RLA regbank 000094 RLZ +regsave 000084 RLZ return0 0089B0 RLA +rwcommon 00774A RLA rwepilog 00776D RLA +rwprolog 007739 RLA shlax1 0085FB RLA +shlax3 008603 RLA shrax2 0089FD RLA +sp 000080 RLZ sreg 000082 RLZ +staspidx 008A08 RLA staxspidx 008A29 RLA +staxysp 008A20 RLA subeqysp 008A5A RLA +subysp 008A6D RLA tmp1 000090 RLZ +tmp2 000091 RLZ tmp3 000092 RLZ +tosaddax 0085C7 RLA tosandax 0085EE RLA +tosaslax 0089D2 RLA tosdivax 008708 RLA +toseqax 008722 RLA tosgeax 00872C RLA +tosgtax 008736 RLA tosicmp 00873E RLA +tosleax 0087EA RLA tosmodax 00884D RLA +tosneax 008922 RLA tosorax 008938 RLA +tossubax 008A46 RLA tosudivax 008A7C RLA +tosugtax 008ACD RLA tosultax 008AD5 RLA +tosumulax 00885F RLA udiv16 008A8B RLA +zerobss 00A1B2 RLA + + +Imports list: +------------- +COUT (cout.o): + write.o ../apple2/write.s(10) + read.o ../apple2/read.s(11) + videomode.o ../apple2/videomode.s(8) +HOME (home.o): + clrscr.o ../apple2/clrscr.s(8) +RDKEY (rdkey.o): + read.o ../apple2/read.s(11) +VTABZ (vtabz.o): + gotoxy.o ../apple2/gotoxy.s(9) + cputc.o ../apple2/cputc.s(13) +__BSS_RUN__ ([linker generated]): + _heap.o _heap.s(8) + zerobss.o zerobss.s(8) +__BSS_SIZE__ ([linker generated]): + _heap.o _heap.s(8) + zerobss.o zerobss.s(8) +__CONSTRUCTOR_COUNT__ ([linker generated]): + condes.o condes.s(18) +__CONSTRUCTOR_TABLE__ ([linker generated]): + condes.o condes.s(18) +__DESTRUCTOR_COUNT__ ([linker generated]): + condes.o condes.s(19) +__DESTRUCTOR_TABLE__ ([linker generated]): + condes.o condes.s(19) +__INIT_SIZE__ ([linker generated]): + crt0.o ../apple2/crt0.s(15) +__INTERRUPTOR_COUNT__ ([linker generated]): + callirq.o callirq.s(33) + crt0.o ../apple2/crt0.s(16) +__INTERRUPTOR_TABLE__ ([linker generated]): + callirq.o callirq.s(33) +__LC_LAST__ ([linker generated]): + crt0.o ../apple2/crt0.s(14) +__LC_START__ ([linker generated]): + crt0.o ../apple2/crt0.s(14) +__MOVE_LAST__ ([linker generated]): + crt0.o ../apple2/crt0.s(13) +__MOVE_START__ ([linker generated]): + crt0.o ../apple2/crt0.s(13) +__RAM_LAST__ ([linker generated]): + crt0.o ../apple2/crt0.s(12) +__RAM_START__ ([linker generated]): + crt0.o ../apple2/crt0.s(12) +__STACKSIZE__ ([linker generated]): + _heap.o _heap.s(8) +__STARTUP__ (crt0.o): + main.o main.s(12) +__ZPSAVE_RUN__ ([linker generated]): + crt0.o ../apple2/crt0.s(15) +__ZP_START__ ([linker generated]): + a2_mouse_drv.o drivers/a2_mouse_drv.s(424) +__bzero (memset.o): + anim.o anim.s(768) +__ctype (ctype.o): + strlower.o strlower.s(12) +__dos_type (dosdetect.o): + mli.o ../apple2/mli.s(7) +__errno (errno.o): + _seterrno.o ../../asminc/errno.inc(7) +__fdesc (_fdesc.o): + fopen.o fopen.s(10) +__filetab (_file.o): + _fdesc.o ../../asminc/_file.inc(25) +__fopen (_fopen.o): + fopen.o fopen.s(10) +__heapend (_heap.o): + malloc.o ../../asminc/_heap.inc(33) +__heapfirst (_heap.o): + malloc.o ../../asminc/_heap.inc(34) + free.o ../../asminc/_heap.inc(34) +__heaplast (_heap.o): + malloc.o ../../asminc/_heap.inc(35) + free.o ../../asminc/_heap.inc(35) +__heapptr (_heap.o): + malloc.o ../../asminc/_heap.inc(32) + free.o ../../asminc/_heap.inc(32) +__hextab (_hextab.o): + ltoa.o ltoa.s(10) +__oserror (_oserror.o): + fileerr.o ../../asminc/errno.inc(7) +__printf (_printf.o): + vcprintf.o vcprintf.s(9) + vfprintf.o vfprintf.s(10) +__seterrno (_seterrno.o): + _fopen.o ../../asminc/errno.inc(9) + fileerr.o ../../asminc/errno.inc(9) + fwrite.o ../../asminc/errno.inc(9) + fread.o ../../asminc/errno.inc(9) + fopen.o ../../asminc/errno.inc(9) + fclose.o ../../asminc/errno.inc(9) +_a2_mouse_drv (a2_mouse_drv.o): + mouseWrapper.o mouseWrapper.s(23) +_addClearAtSquare (anim.o): + ui.o ui.s(40) +_beginClearGemAnim (anim.o): + ui.o ui.s(39) +_beginClearGemSound (sound.o): + anim.o anim.s(37) +_beginDropAnim (anim.o): + ui.o ui.s(44) +_cgetc (cgetc.o): + ui.o ui.s(22) +_clearDblLoRes (dbllores.o): + ui.o ui.s(49) +_close (close.o): + fclose.o fclose.s(10) +_clrscr (clrscr.o): + ui.o ui.s(13) +_cprintf (cprintf.o): + ui.o ui.s(21) +_cputc (cputc.o): + vcprintf.o vcprintf.s(9) + cputs.o cputs.s(9) + ui.o ui.s(18) +_cputs (cputs.o): + ui.o ui.s(19) +_cputsxy (cputs.o): + ui.o ui.s(20) +_doStarAnim (anim.o): + ui.o ui.s(38) +_drawAndStarGemAtXY (dbllores.o): + anim.o anim.s(626) + anim.o anim.s(1443) +_drawBgSquare (dbllores.o): + ui.o ui.s(52) + anim.o anim.s(26) +_drawGem (dbllores.o): + anim.o anim.s(95) +_drawGemAtSquare (anim.o): + ui.o ui.s(36) +_drawGemAtXY (dbllores.o): + anim.o anim.s(631) + anim.o anim.s(1448) +_drawScore (dbllores.o): + ui.o ui.s(55) +_dropSquareFromOffscreen (anim.o): + ui.o ui.s(46) +_dropSquareFromTo (anim.o): + ui.o ui.s(45) +_endClearGemAnim (anim.o): + ui.o ui.s(42) +_endDropAnim (anim.o): + ui.o ui.s(47) +_exit (crt0.o): + ui.o ui.s(30) +_explodeGemFrame1 (dbllores.o): + anim.o anim.s(27) +_explodeGemFrame2 (dbllores.o): + anim.o anim.s(28) +_explodeGemFrame3 (dbllores.o): + anim.o anim.s(29) +_explodeGemFrame4 (dbllores.o): + anim.o anim.s(30) +_explodeGemFrame5 (dbllores.o): + anim.o anim.s(31) +_explodeGemFrame6 (dbllores.o): + anim.o anim.s(32) +_fclose (fclose.o): + ui.o ui.s(24) + game.o game.s(12) +_fopen (fopen.o): + ui.o ui.s(25) + game.o game.s(13) +_fread (fread.o): + ui.o ui.s(26) + game.o game.s(14) +_free (free.o): + pmemalign.o pmemalign.s(18) + iobuf.o ../apple2/iobuf.s(8) +_fwrite (fwrite.o): + vfprintf.o vfprintf.s(10) + ui.o ui.s(27) + game.o game.s(15) +_gVblWait (machine.o): + anim.o anim.s(36) +_gameIsOver (game.o): + ui.o ui.s(62) +_gemIsStarredAtSquare (game.o): + ui.o ui.s(59) + anim.o anim.s(35) +_gemTypeAtSquare (game.o): + anim.o anim.s(34) +_getHintSquare (game.o): + ui.o ui.s(61) +_getLevel (game.o): + ui.o ui.s(60) +_get_ostype (get_ostype.o): + machine.o machine.s(12) +_gotox (gotoxy.o): + ui.o ui.s(15) +_gotoxy (gotoxy.o): + cputs.o cputs.s(9) + cputc.o ../apple2/cputc.s(13) + ui.o ui.s(16) +_initGameEngine (game.o): + ui.o ui.s(56) +_initJoystick (joystick.o): + ui.o ui.s(65) +_initMachine (machine.o): + ui.o ui.s(68) +_initMouse (mouseWrapper.o): + ui.o ui.s(70) +_initUI (ui.o): + main.o main.s(13) +_isButtonPressed (joystick.o): + ui.o ui.s(66) +_kbhit (kbhit.o): + ui.o ui.s(14) +_loadGame (game.o): + ui.o ui.s(64) +_ltoa (ltoa.o): + _printf.o _printf.s(10) +_main (main.o): + callmain.o callmain.s(11) +_malloc (malloc.o): + pmemalign.o pmemalign.s(17) +_memcmp (memcmp.o): + ui.o ui.s(31) +_memcpy (memcpy.o): + ui.o ui.s(32) +_mixedTextMode (dbllores.o): + ui.o ui.s(51) +_mockingBoardInit (mockingboard.o): + sound.o sound.s(12) +_mockingBoardPlaySound (mockingboard.o): + sound.o sound.s(14) +_mockingBoardShutdown (mockingboard.o): + sound.o sound.s(13) +_mockingBoardSpeak (mockingboard.o): + sound.o sound.s(17) +_mockingBoardSpeakPriv (mockingboard_speech.o): + mockingboard.o mockingboard.s(26) +_mockingBoardSpeechBusy (mockingboard_speech.o): + mockingboard.o mockingboard.s(22) +_mockingBoardSpeechData (mockingboard_speech.o): + mockingboard.o mockingboard.s(20) +_mockingBoardSpeechInit (mockingboard_speech.o): + mockingboard.o mockingboard.s(24) +_mockingBoardSpeechIsBusy (mockingboard.o): + sound.o sound.s(15) +_mockingBoardSpeechIsPlaying (mockingboard.o): + sound.o sound.s(16) +_mockingBoardSpeechLen (mockingboard_speech.o): + mockingboard.o mockingboard.s(21) +_mockingBoardSpeechPlaying (mockingboard_speech.o): + mockingboard.o mockingboard.s(23) +_mockingBoardSpeechShutdown (mockingboard_speech.o): + mockingboard.o mockingboard.s(25) +_mouse_def_callbacks (mcbdefault.o): + mouseWrapper.o mouseWrapper.s(12) +_mouse_hidden (mouse-kernel.o): + mouse_show.o ../../asminc/mouse-kernel.inc(142) +_mouse_info (mouse_info.o): + mouseWrapper.o mouseWrapper.s(17) +_mouse_install (mouse-kernel.o): + mouseWrapper.o mouseWrapper.s(13) +_mouse_move (mouse_move.o): + mouseWrapper.o mouseWrapper.s(16) +_mouse_show (mouse_show.o): + mouseWrapper.o mouseWrapper.s(15) +_mouse_uninstall (mouse-kernel.o): + mouseWrapper.o mouseWrapper.s(14) +_moveMouseToSquare (mouseWrapper.o): + ui.o ui.s(73) +_moveSquareInDir (game.o): + ui.o ui.s(58) +_open (open.o): + _fopen.o _fopen.s(10) +_playClearGemSound (sound.o): + anim.o anim.s(38) +_playGame (ui.o): + main.o main.s(15) +_playLandingSound (sound.o): + anim.o anim.s(39) +_playSoundForExplodingGem (sound.o): + ui.o ui.s(76) +_playSoundForSpecialGem (sound.o): + ui.o ui.s(78) +_playSoundForStarringGem (sound.o): + ui.o ui.s(77) +_pollJoystick (joystick.o): + ui.o ui.s(67) +_pollMouse (mouseWrapper.o): + ui.o ui.s(72) +_posix_memalign (pmemalign.o): + iobuf.o ../apple2/iobuf.s(8) +_printInstructions (ui.o): + main.o main.s(14) +_printf (printf.o): + ui.o ui.s(28) + mockingboard.o mockingboard.s(12) +_rand (rand.o): + game.o game.s(16) + anim.o anim.s(13) +_read (read.o): + fread.o fread.s(10) +_resetStarAnim (anim.o): + ui.o ui.s(37) +_revers (revers.o): + ui.o ui.s(23) +_saveGame (game.o): + ui.o ui.s(63) +_selectSquare (dbllores.o): + ui.o ui.s(54) +_showDblLoRes (dbllores.o): + ui.o ui.s(48) +_shutdownMouse (mouseWrapper.o): + ui.o ui.s(71) +_soundInit (sound.o): + ui.o ui.s(74) +_soundShutdown (sound.o): + ui.o ui.s(75) +_speakExcellent (sound.o): + ui.o ui.s(84) +_speakGetReady (sound.o): + ui.o ui.s(81) +_speakGo (sound.o): + ui.o ui.s(79) +_speakGood (sound.o): + ui.o ui.s(83) +_speakIncredible (sound.o): + ui.o ui.s(85) +_speakLevelComplete (sound.o): + ui.o ui.s(80) +_speakNoMoreMoves (sound.o): + ui.o ui.s(82) +_srand (rand.o): + ui.o ui.s(29) +_starGem (dbllores.o): + ui.o ui.s(53) + anim.o anim.s(33) +_startNewGame (game.o): + ui.o ui.s(57) +_stdout (_file.o): + printf.o printf.s(8) +_strlen (strlen.o): + _printf.o _printf.s(11) +_strlower (strlower.o): + _printf.o _printf.s(11) +_swapSquares (anim.o): + ui.o ui.s(43) +_ultoa (ltoa.o): + _printf.o _printf.s(10) +_undoClearAtSquare (anim.o): + ui.o ui.s(41) +_uninitMachine (machine.o): + ui.o ui.s(69) +_unshowDblLoRes (dbllores.o): + ui.o ui.s(50) +_vblIRQCallback (vbl.o): + mouseWrapper.o mouseWrapper.s(22) +_vblInit2gs (vbl.o): + machine.o machine.s(16) +_vblWait (vbl.o): + machine.o machine.s(17) +_vblWait2c (vbl.o): + machine.o machine.s(18) +_vcprintf (vcprintf.o): + cprintf.o cprintf.s(8) +_vfprintf (vfprintf.o): + printf.o printf.s(8) +_videomode (videomode.o): + ui.o ui.s(12) +_wherex (wherex.o): + ui.o ui.s(17) +_write (write.o): + fwrite.o fwrite.s(10) +addysp (addysp.o): + pmemalign.o pmemalign.s(522) + filename.o ../apple2/filename.s(8) + open.o ../apple2/open.s(16) + cprintf.o cprintf.s(8) + incsp8.o incsp8.s(8) + incsp7.o incsp7.s(8) + incsp6.o incsp6.s(8) + incsp5.o incsp5.s(8) + incsp4.o incsp4.s(8) + incsp3.o incsp3.s(8) + printf.o printf.s(8) + fwrite.o fwrite.s(11) + mockingboard.o mockingboard.s(673) + game.o game.s(1922) + game.o game.s(2246) + anim.o anim.s(747) +addysp1 (addysp.o): + sub.o sub.s(8) + or.o or.s(8) + and.o and.s(8) +aslax1 (aslax1.o): + mockingboard.o mockingboard.s(90) + mockingboard.o mockingboard.s(543) + mockingboard.o mockingboard.s(589) + game.o game.s(174) + game.o game.s(408) + game.o game.s(437) + game.o game.s(618) + game.o game.s(1350) + game.o game.s(1497) + game.o game.s(1640) + game.o game.s(1964) + game.o game.s(2298) + game.o game.s(2359) + game.o game.s(2514) + game.o game.s(2588) + game.o game.s(2999) + game.o game.s(3566) + game.o game.s(3948) + anim.o anim.s(369) +aslax3 (aslax3.o): + ui.o ui.s(1811) + ui.o ui.s(1975) + sound.o sound.s(745) + mouseWrapper.o mouseWrapper.s(259) + mouseWrapper.o mouseWrapper.s(468) + game.o game.s(250) + game.o game.s(605) + game.o game.s(1557) + game.o game.s(1693) + game.o game.s(2017) + game.o game.s(2986) + anim.o anim.s(854) + anim.o anim.s(1000) +aslax4 (aslax4.o): + sound.o sound.s(726) +asrax2 (asrax2.o): + joystick.o joystick.s(311) +asrax3 (asrax3.o): + ui.o ui.s(836) + ui.o ui.s(1695) + ui.o ui.s(1854) + mouseWrapper.o mouseWrapper.s(202) + mouseWrapper.o mouseWrapper.s(467) + game.o game.s(168) + game.o game.s(1416) + game.o game.s(1623) + game.o game.s(1941) + anim.o anim.s(219) + anim.o anim.s(269) + anim.o anim.s(466) + anim.o anim.s(829) + anim.o anim.s(975) +axlong (axlong.o): + _printf.o _printf.s(9) +axulong (axlong.o): + _printf.o _printf.s(9) +bnega (bneg.o): + ui.o ui.s(304) + ui.o ui.s(373) + ui.o ui.s(443) + ui.o ui.s(1561) + ui.o ui.s(2214) + sound.o sound.s(710) + sound.o sound.s(817) + sound.o sound.s(858) + sound.o sound.s(891) + sound.o sound.s(924) + sound.o sound.s(957) + sound.o sound.s(990) + sound.o sound.s(1027) + sound.o sound.s(1064) + mouseWrapper.o mouseWrapper.s(51) + mouseWrapper.o mouseWrapper.s(144) + mouseWrapper.o mouseWrapper.s(445) + mockingboard.o mockingboard.s(447) + mockingboard.o mockingboard.s(603) + game.o game.s(365) + game.o game.s(1141) + game.o game.s(1265) + game.o game.s(2541) + game.o game.s(2635) + anim.o anim.s(113) + anim.o anim.s(307) + anim.o anim.s(1105) +booleq (makebool.o): + eq.o eq.s(8) + ui.o ui.s(857) + ui.o ui.s(1039) + ui.o ui.s(1103) + ui.o ui.s(1251) + ui.o ui.s(1716) + ui.o ui.s(1871) + sound.o sound.s(660) + sound.o sound.s(719) + sound.o sound.s(826) + mouseWrapper.o mouseWrapper.s(76) + machine.o machine.s(192) + joystick.o joystick.s(78) + joystick.o joystick.s(193) + game.o game.s(288) + game.o game.s(471) + game.o game.s(634) + game.o game.s(1116) + game.o game.s(1424) + game.o game.s(1635) + game.o game.s(1959) + game.o game.s(2620) + game.o game.s(3015) + game.o game.s(3577) + anim.o anim.s(151) + anim.o anim.s(402) + anim.o anim.s(1162) +boolge (makebool.o): + ge.o ge.s(8) + game.o game.s(2978) +boolgt (makebool.o): + gt.o gt.s(8) +boolle (makebool.o): + le.o le.s(8) +boolne (makebool.o): + ne.o ne.s(8) + ui.o ui.s(681) + ui.o ui.s(992) + ui.o ui.s(1059) + ui.o ui.s(1512) + sound.o sound.s(539) + mouseWrapper.o mouseWrapper.s(160) + mockingboard.o mockingboard.s(322) + mockingboard.o mockingboard.s(369) + mockingboard.o mockingboard.s(410) + mockingboard.o mockingboard.s(429) + machine.o machine.s(169) + joystick.o joystick.s(131) + game.o game.s(731) + game.o game.s(1053) + game.o game.s(1136) + game.o game.s(1361) + game.o game.s(2275) + game.o game.s(2525) + game.o game.s(2661) + game.o game.s(3040) + game.o game.s(3750) + game.o game.s(4023) + anim.o anim.s(364) + anim.o anim.s(1116) +boolugt (makebool.o): + ugt.o ugt.s(8) +boolult (makebool.o): + ult.o ult.s(8) + ui.o ui.s(1359) + ui.o ui.s(1622) + sound.o sound.s(638) + sound.o sound.s(682) + mockingboard.o mockingboard.s(620) + joystick.o joystick.s(359) + game.o game.s(123) + game.o game.s(1856) + game.o game.s(2180) + game.o game.s(2508) + game.o game.s(3560) + game.o game.s(3942) + anim.o anim.s(318) + anim.o anim.s(777) + anim.o anim.s(1229) + anim.o anim.s(3241) + anim.o anim.s(3290) +callax (call.o): + mouseWrapper.o mouseWrapper.s(268) + joystick.o joystick.s(174) + game.o game.s(114) + game.o game.s(332) + game.o game.s(1248) + game.o game.s(1390) + game.o game.s(1597) + game.o game.s(2327) + game.o game.s(2417) + game.o game.s(2499) + game.o game.s(2773) + game.o game.s(2944) + game.o game.s(3550) + game.o game.s(3929) + anim.o anim.s(335) + anim.o anim.s(601) + anim.o anim.s(1420) + anim.o anim.s(3232) + anim.o anim.s(3281) +callirq (callirq.o): + crt0.o ../apple2/crt0.s(11) +callmain (callmain.o): + crt0.o ../apple2/crt0.s(11) +callmli (mli.o): + filename.o ../apple2/mli.inc(115) + write.o ../apple2/mli.inc(115) + rwcommon.o ../apple2/mli.inc(115) + open.o ../apple2/mli.inc(115) +closedirect (open.o): + close.o ../apple2/close.s(9) +complax (compl.o): + pmemalign.o pmemalign.s(217) + anim.o anim.s(285) +decax1 (decax1.o): + ui.o ui.s(1219) + game.o game.s(1434) + game.o game.s(1671) + game.o game.s(1995) + anim.o anim.s(141) +decax6 (decax6.o): + anim.o anim.s(1209) +decaxy (decaxy.o): + ui.o ui.s(1378) +decsp1 (decsp1.o): + filename.o ../apple2/filename.s(8) + ui.o ui.s(418) + ui.o ui.s(1239) + ui.o ui.s(1613) + ui.o ui.s(2212) + sound.o sound.s(1099) + mockingboard.o mockingboard.s(600) + game.o game.s(85) + game.o game.s(170) + game.o game.s(448) + game.o game.s(1201) + game.o game.s(1619) + game.o game.s(1937) + game.o game.s(2261) + game.o game.s(2492) + game.o game.s(3531) + anim.o anim.s(475) + anim.o anim.s(762) + anim.o anim.s(3229) + anim.o anim.s(3278) +decsp2 (decsp2.o): + ui.o ui.s(286) + mouseWrapper.o mouseWrapper.s(191) + mockingboard.o mockingboard.s(64) + machine.o machine.s(160) + game.o game.s(2344) + game.o game.s(2615) +decsp3 (decsp3.o): + joystick.o joystick.s(127) +decsp4 (decsp4.o): + lpush.o lpush.s(11) + mouseWrapper.o mouseWrapper.s(442) + anim.o anim.s(304) +decsp6 (decsp6.o): + pmemalign.o pmemalign.s(40) + _printf.o _printf.s(9) + ui.o ui.s(1460) + mouseWrapper.o mouseWrapper.s(139) + game.o game.s(561) +decsp7 (decsp7.o): + game.o game.s(2939) +decsp8 (decsp8.o): + anim.o anim.s(1102) +donelib (condes.o): + crt0.o ../apple2/crt0.s(10) +errnoexit (fileerr.o): + write.o ../apple2/write.s(9) + read.o ../apple2/read.s(10) + open.o ../apple2/open.s(14) + close.o ../apple2/close.s(10) +fdtab (filedes.o): + write.o ../apple2/filedes.inc(13) + read.o ../apple2/filedes.inc(13) + open.o ../apple2/filedes.inc(13) + close.o ../apple2/filedes.inc(13) +freebuffer (open.o): + close.o ../apple2/close.s(9) +getfd (filedes.o): + rwcommon.o ../apple2/filedes.inc(14) + close.o ../apple2/filedes.inc(14) +incax2 (incax2.o): + game.o game.s(3696) +incax4 (incaxy.o): + mouseWrapper.o mouseWrapper.s(469) +incax8 (incax8.o): + mouseWrapper.o mouseWrapper.s(369) +incaxy (incaxy.o): + open.o ../apple2/open.s(16) + incax8.o incax8.s(8) + mouseWrapper.o mouseWrapper.s(318) + mouseWrapper.o mouseWrapper.s(461) +incsp1 (incsp1.o): + ui.o ui.s(486) + ui.o ui.s(571) + ui.o ui.s(602) + ui.o ui.s(812) + ui.o ui.s(1224) + ui.o ui.s(1645) + ui.o ui.s(2195) + sound.o sound.s(800) + sound.o sound.s(841) + joystick.o joystick.s(110) + game.o game.s(144) + game.o game.s(419) + game.o game.s(1084) + game.o game.s(1309) + game.o game.s(1392) + game.o game.s(4042) + anim.o anim.s(96) + anim.o anim.s(805) + anim.o anim.s(3263) + anim.o anim.s(3311) +incsp2 (incsp2.o): + mouse_move.o mouse_move.s(12) + mouse-kernel.o mouse-kernel.s(7) + staxspi.o staxspi.s(8) + staspidx.o staspidx.s(8) + popsreg.o popsreg.s(8) + ui.o ui.s(344) + ui.o ui.s(401) + ui.o ui.s(540) + ui.o ui.s(785) + ui.o ui.s(1012) + ui.o ui.s(1073) + ui.o ui.s(2376) + sound.o sound.s(577) + mouseWrapper.o mouseWrapper.s(89) + mouseWrapper.o mouseWrapper.s(269) + mockingboard.o mockingboard.s(392) + joystick.o joystick.s(57) + joystick.o joystick.s(175) + joystick.o joystick.s(327) + game.o game.s(70) + game.o game.s(1085) + game.o game.s(1249) + game.o game.s(1391) + game.o game.s(2328) + game.o game.s(2418) + game.o game.s(2570) + game.o game.s(2785) + game.o game.s(3143) + game.o game.s(3551) + game.o game.s(3996) + game.o game.s(4043) + anim.o anim.s(391) +incsp3 (incsp3.o): + ui.o ui.s(661) + ui.o ui.s(1183) + ui.o ui.s(1445) + sound.o sound.s(1158) + joystick.o joystick.s(468) + game.o game.s(495) + game.o game.s(3910) + anim.o anim.s(241) + anim.o anim.s(289) +incsp4 (incsp4.o): + _fopen.o _fopen.s(11) + open.o ../apple2/open.s(16) + fread.o fread.s(12) + ui.o ui.s(745) + ui.o ui.s(928) + ui.o ui.s(1829) + mockingboard.o mockingboard.s(277) + mockingboard.o mockingboard.s(347) + mockingboard.o mockingboard.s(473) + joystick.o joystick.s(225) + joystick.o joystick.s(528) + game.o game.s(1186) + anim.o anim.s(434) +incsp5 (incsp5.o): + ui.o ui.s(1993) + mouseWrapper.o mouseWrapper.s(478) + mockingboard.o mockingboard.s(569) + game.o game.s(2477) +incsp6 (incsp6.o): + vfprintf.o vfprintf.s(9) + fwrite.o fwrite.s(11) + fread.o fread.s(12) + ui.o ui.s(1598) + game.o game.s(1026) +incsp7 (incsp7.o): + mouseWrapper.o mouseWrapper.s(427) + mockingboard.o mockingboard.s(526) + machine.o machine.s(218) + game.o game.s(1598) + game.o game.s(2922) + anim.o anim.s(1087) +incsp8 (incsp8.o): + game.o game.s(390) + game.o game.s(3492) + anim.o anim.s(951) + anim.o anim.s(3214) +initlib (condes.o): + crt0.o ../apple2/crt0.s(10) +iobuf_alloc (iobuf.o): + open.o ../apple2/open.s(15) +iobuf_free (iobuf.o): + open.o ../apple2/open.s(15) +jmpvec (jmpvec.o): + anim.o anim.s(385) +ldaidx (ldai.o): + ui.o ui.s(679) + ui.o ui.s(779) + sound.o sound.s(770) + joystick.o joystick.s(486) + anim.o anim.s(1191) +ldauidx (ldaui.o): + ui.o ui.s(689) + ui.o ui.s(763) + ui.o ui.s(1112) + mockingboard.o mockingboard.s(643) + machine.o machine.s(158) + joystick.o joystick.s(55) + joystick.o joystick.s(146) + joystick.o joystick.s(497) + game.o game.s(183) + game.o game.s(417) + game.o game.s(446) + game.o game.s(627) + game.o game.s(1359) + game.o game.s(1649) + game.o game.s(1973) + game.o game.s(2368) + game.o game.s(2523) + game.o game.s(2597) + game.o game.s(3008) + game.o game.s(3575) + game.o game.s(3957) + anim.o anim.s(230) + anim.o anim.s(280) + anim.o anim.s(355) + anim.o anim.s(1142) +ldax0sp (ldaxsp.o): + fread.o fread.s(13) +ldaxidx (ldaxi.o): + mouseWrapper.o mouseWrapper.s(254) + mockingboard.o mockingboard.s(113) + mockingboard.o mockingboard.s(552) + mockingboard.o mockingboard.s(598) + joystick.o joystick.s(164) + game.o game.s(113) + game.o game.s(331) + game.o game.s(1242) + game.o game.s(1383) + game.o game.s(1596) + game.o game.s(2315) + game.o game.s(2351) + game.o game.s(2498) + game.o game.s(2772) + game.o game.s(2943) + game.o game.s(3543) + game.o game.s(3928) + anim.o anim.s(378) + anim.o anim.s(1154) +ldaxysp (ldaxsp.o): + fwrite.o fwrite.s(11) + fread.o fread.s(13) + ui.o ui.s(376) + ui.o ui.s(632) + ui.o ui.s(677) + ui.o ui.s(761) + ui.o ui.s(988) + ui.o ui.s(1035) + ui.o ui.s(1092) + ui.o ui.s(1266) + mouseWrapper.o mouseWrapper.s(83) + mouseWrapper.o mouseWrapper.s(193) + mouseWrapper.o mouseWrapper.s(473) + mockingboard.o mockingboard.s(76) + mockingboard.o mockingboard.s(316) + mockingboard.o mockingboard.s(363) + mockingboard.o mockingboard.s(459) + mockingboard.o mockingboard.s(489) + mockingboard.o mockingboard.s(542) + mockingboard.o mockingboard.s(585) + machine.o machine.s(156) + joystick.o joystick.s(46) + joystick.o joystick.s(173) + joystick.o joystick.s(305) + joystick.o joystick.s(484) + game.o game.s(67) + game.o game.s(1049) + game.o game.s(1112) + game.o game.s(1247) + game.o game.s(1389) + game.o game.s(2326) + game.o game.s(2416) + game.o game.s(2783) + game.o game.s(3141) + game.o game.s(3549) + game.o game.s(4019) + anim.o anim.s(847) + anim.o anim.s(993) + anim.o anim.s(1140) +leaa0sp (leaaxsp.o): + mouseWrapper.o mouseWrapper.s(154) + joystick.o joystick.s(170) + game.o game.s(1122) +mliparam (mli.o): + filename.o ../apple2/mli.inc(114) + write.o ../apple2/mli.inc(114) + rwcommon.o ../apple2/mli.inc(114) + open.o ../apple2/mli.inc(114) +mouse_info (mouse-kernel.o): + mouse_info.o ../../asminc/mouse-kernel.inc(176) +mouse_move (mouse-kernel.o): + mouse_move.o ../../asminc/mouse-kernel.inc(173) +mouse_show (mouse-kernel.o): + mouse_show.o ../../asminc/mouse-kernel.inc(170) +mul8x16 (mul8.o): + mul.o mul.s(8) +mul8x16a (mul8.o): + mul.o mul.s(8) +mulax10 (mulax10.o): + anim.o anim.s(783) + anim.o anim.s(834) + anim.o anim.s(980) + anim.o anim.s(1129) +mulax3 (mulax3.o): + joystick.o joystick.s(306) +mulax6 (mulax6.o): + anim.o anim.s(467) + anim.o anim.s(864) + anim.o anim.s(1011) +negax (neg.o): + shelp.o shelp.s(11) + mod.o mod.s(11) + div.o div.s(11) +oserrexit (fileerr.o): + write.o ../apple2/write.s(9) + rwcommon.o ../apple2/rwcommon.s(6) + open.o ../apple2/open.s(14) + close.o ../apple2/close.s(10) +popa (popa.o): + cputs.o cputs.s(9) + gotoxy.o ../apple2/gotoxy.s(9) + cputc.o ../apple2/cputc.s(13) +popax (incsp2.o): + ltoa.o ltoa.s(9) + _printf.o _printf.s(9) + rwcommon.o ../apple2/rwcommon.s(7) + open.o ../apple2/open.s(16) + vcprintf.o vcprintf.s(8) + shl.o shl.s(15) + shelp.o shelp.s(11) + memset.o memset.s(19) + memcpy.o memcpy.s(14) + memcmp.o memcmp.s(8) +popname (filename.o): + open.o ../apple2/open.s(13) +popsargs (shelp.o): + mod.o mod.s(11) + div.o div.s(11) +popsreg (popsreg.o): + mouse-kernel.o mouse-kernel.s(7) + udiv.o udiv.s(8) + mul8.o mul8.s(9) + mul.o mul.s(9) +ptr1 (zeropage.o): + malloc.o malloc.s(108) + pmemalign.o pmemalign.s(10) + free.o free.s(62) + filename.o ../../asminc/zeropage.inc(12) + strlower.o strlower.s(13) + strlen.o strlen.s(8) + ltoa.o ltoa.s(11) + _printf.o _printf.s(12) + _fopen.o _fopen.s(12) + write.o ../../asminc/zeropage.inc(12) + rwcommon.o ../../asminc/zeropage.inc(12) + read.o ../../asminc/zeropage.inc(12) + mouse_info.o mouse_info.s(8) + mouse-kernel.o mouse-kernel.s(8) + vcprintf.o vcprintf.s(10) + cputs.o cputs.s(10) + cprintf.o cprintf.s(9) + udiv.o udiv.s(9) + staxspi.o staxspi.s(9) + staspidx.o staspidx.s(9) + mulax6.o mulax6.s(9) + mulax3.o mulax3.s(8) + mulax10.o mulax10.s(9) + mod.o mod.s(12) + ldaxi.o ldaxi.s(8) + ldaui.o ldaui.s(8) + ldai.o ldai.s(8) + call.o call.s(8) + zerobss.o zerobss.s(9) + vfprintf.o vfprintf.s(11) + printf.o printf.s(9) + memset.o memset.s(20) + memcpy.o memcpy.s(15) + memcmp.o memcmp.s(9) + fwrite.o fwrite.s(14) + fread.o fread.s(17) + fclose.o fclose.s(11) +ptr2 (zeropage.o): + malloc.o malloc.s(108) + free.o free.s(62) + strlower.o strlower.s(13) + ltoa.o ltoa.s(11) + _printf.o _printf.s(12) + write.o ../../asminc/zeropage.inc(12) + rwcommon.o ../../asminc/zeropage.inc(12) + read.o ../../asminc/zeropage.inc(12) + vcprintf.o vcprintf.s(10) + memset.o memset.s(20) + memcpy.o memcpy.s(15) + memcmp.o memcmp.s(9) +ptr3 (zeropage.o): + malloc.o malloc.s(108) + free.o free.s(62) + ltoa.o ltoa.s(11) + read.o ../../asminc/zeropage.inc(12) + vcprintf.o vcprintf.s(10) + memset.o memset.s(20) + memcpy.o memcpy.s(15) + memcmp.o memcmp.s(9) +ptr4 (zeropage.o): + free.o free.s(62) + udiv.o udiv.s(9) + shelp.o shelp.s(12) + mul8.o mul8.s(10) + mul.o mul.s(10) +push1 (push1.o): + _printf.o _printf.s(9) + vfprintf.o vfprintf.s(9) +pusha (pusha.o): + ui.o ui.s(335) + ui.o ui.s(417) + ui.o ui.s(560) + ui.o ui.s(618) + ui.o ui.s(717) + ui.o ui.s(780) + ui.o ui.s(801) + ui.o ui.s(828) + ui.o ui.s(1090) + ui.o ui.s(1307) + ui.o ui.s(1627) + ui.o ui.s(1687) + ui.o ui.s(1846) + ui.o ui.s(2009) + ui.o ui.s(2044) + ui.o ui.s(2106) + ui.o ui.s(2155) + ui.o ui.s(2211) + sound.o sound.s(543) + sound.o sound.s(771) + sound.o sound.s(837) + mouseWrapper.o mouseWrapper.s(141) + mockingboard.o mockingboard.s(101) + mockingboard.o mockingboard.s(375) + mockingboard.o mockingboard.s(610) + machine.o machine.s(159) + joystick.o joystick.s(126) + joystick.o joystick.s(298) + game.o game.s(128) + game.o game.s(164) + game.o game.s(447) + game.o game.s(714) + game.o game.s(1056) + game.o game.s(1101) + game.o game.s(1245) + game.o game.s(1387) + game.o game.s(1412) + game.o game.s(1618) + game.o game.s(1942) + game.o game.s(2267) + game.o game.s(2355) + game.o game.s(2494) + game.o game.s(2598) + game.o game.s(2938) + game.o game.s(3528) + game.o game.s(3932) + game.o game.s(4026) + anim.o anim.s(86) + anim.o anim.s(215) + anim.o anim.s(265) + anim.o anim.s(331) + anim.o anim.s(455) + anim.o anim.s(825) + anim.o anim.s(971) + anim.o anim.s(1271) + anim.o anim.s(3246) + anim.o anim.s(3295) +pusha0 (pushax.o): + push1.o push1.s(8) + fread.o fread.s(11) +pushax (pushax.o): + pmemalign.o pmemalign.s(35) + _printf.o _printf.s(9) + open.o ../apple2/open.s(16) + vcprintf.o vcprintf.s(8) + cprintf.o cprintf.s(8) + callmain.o callmain.s(11) + printf.o printf.s(8) + fwrite.o fwrite.s(11) + fread.o fread.s(11) + fopen.o fopen.s(11) + ui.o ui.s(293) + ui.o ui.s(361) + ui.o ui.s(427) + ui.o ui.s(589) + ui.o ui.s(630) + ui.o ui.s(947) + ui.o ui.s(982) + ui.o ui.s(1029) + ui.o ui.s(1093) + ui.o ui.s(1267) + ui.o ui.s(1475) + ui.o ui.s(1812) + ui.o ui.s(1976) + ui.o ui.s(2056) + ui.o ui.s(2344) + sound.o sound.s(723) + sound.o sound.s(830) + sound.o sound.s(870) + sound.o sound.s(903) + sound.o sound.s(936) + sound.o sound.s(969) + sound.o sound.s(1003) + sound.o sound.s(1040) + sound.o sound.s(1077) + mouseWrapper.o mouseWrapper.s(71) + mouseWrapper.o mouseWrapper.s(194) + mouseWrapper.o mouseWrapper.s(456) + mockingboard.o mockingboard.s(68) + mockingboard.o mockingboard.s(326) + mockingboard.o mockingboard.s(373) + mockingboard.o mockingboard.s(490) + mockingboard.o mockingboard.s(553) + mockingboard.o mockingboard.s(586) + machine.o machine.s(51) + machine.o machine.s(74) + machine.o machine.s(154) + joystick.o joystick.s(150) + joystick.o joystick.s(303) + joystick.o joystick.s(487) + game.o game.s(251) + game.o game.s(606) + game.o game.s(1043) + game.o game.s(1106) + game.o game.s(1204) + game.o game.s(1325) + game.o game.s(1375) + game.o game.s(1505) + game.o game.s(1679) + game.o game.s(2003) + game.o game.s(2306) + game.o game.s(2352) + game.o game.s(2764) + game.o game.s(2987) + game.o game.s(3508) + game.o game.s(3534) + game.o game.s(3958) + game.o game.s(4013) + anim.o anim.s(208) + anim.o anim.s(258) + anim.o anim.s(356) + anim.o anim.s(479) + anim.o anim.s(765) + anim.o anim.s(842) + anim.o anim.s(988) + anim.o anim.s(1182) +pusheax (lpush.o): + _printf.o _printf.s(9) +pushname (filename.o): + open.o ../apple2/open.s(13) +pushwysp (pushwsp.o): + vfprintf.o vfprintf.s(9) + fwrite.o fwrite.s(11) + fread.o fread.s(14) +regbank (zeropage.o): + pmemalign.o pmemalign.s(10) + _printf.o _printf.s(12) + fread.o fread.s(31) +regsave (zeropage.o): + ui.o ui.s(10) + sound.o sound.s(10) + mockingboard.o mockingboard.s(10) + game.o game.s(10) + anim.o anim.s(10) +return0 (return0.o): + _fopen.o _fopen.s(11) + _fdesc.o _fdesc.s(9) + close.o ../apple2/close.s(11) + mouse-kernel.o mouse-kernel.s(7) + ult.o ult.s(8) + memcmp.o memcmp.s(8) + fwrite.o fwrite.s(11) +rwcommon (rwcommon.o): + write.o ../apple2/write.s(8) + read.o ../apple2/read.s(9) +rwepilog (rwcommon.o): + write.o ../apple2/write.s(8) +rwprolog (rwcommon.o): + write.o ../apple2/write.s(8) + read.o ../apple2/read.s(9) +shlax1 (aslax1.o): + anim.o anim.s(395) +shlax3 (aslax3.o): + anim.o anim.s(454) +shrax2 (shrax2.o): + joystick.o joystick.s(316) +sp (zeropage.o): + _heap.o _heap.s(9) + subysp.o subysp.s(9) + subeqsp.o subeqsp.s(8) + pmemalign.o pmemalign.s(10) + filename.o ../../asminc/zeropage.inc(11) + lpush.o lpush.s(12) + _printf.o _printf.s(12) + _fopen.o _fopen.s(12) + open.o ../../asminc/zeropage.inc(11) + vcprintf.o vcprintf.s(10) + cprintf.o cprintf.s(9) + sub.o sub.s(9) + staxspi.o staxspi.s(9) + staxsp.o staxsp.s(8) + staspidx.o staspidx.s(9) + pushwsp.o pushwsp.s(8) + pushax.o pushax.s(8) + pusha.o pusha.s(8) + popsreg.o popsreg.s(9) + popa.o popa.s(8) + or.o or.s(9) + leaaxsp.o leaaxsp.s(8) + ldaxsp.o ldaxsp.s(8) + incsp2.o incsp2.s(8) + incsp1.o incsp1.s(8) + icmp.o icmp.s(9) + decsp8.o decsp8.s(8) + decsp7.o decsp7.s(8) + decsp6.o decsp6.s(8) + decsp4.o decsp4.s(8) + decsp3.o decsp3.s(8) + decsp2.o decsp2.s(8) + decsp1.o decsp1.s(8) + and.o and.s(9) + addysp.o addysp.s(8) + add.o add.s(11) + vfprintf.o vfprintf.s(11) + printf.o printf.s(9) + memset.o memset.s(20) + memcpy.o memcpy.s(15) + fread.o fread.s(17) + crt0.o ../../asminc/zeropage.inc(11) + ui.o ui.s(10) + sound.o sound.s(10) + mouseWrapper.o mouseWrapper.s(10) + mockingboard.o mockingboard.s(10) + machine.o machine.s(10) + joystick.o joystick.s(10) + game.o game.s(10) + anim.o anim.s(10) +sreg (zeropage.o): + lpush.o lpush.s(12) + axlong.o axlong.s(8) + ltoa.o ltoa.s(11) + _printf.o _printf.s(12) + mouse-kernel.o mouse-kernel.s(8) + udiv.o udiv.s(9) + shelp.o shelp.s(12) + popsreg.o popsreg.s(9) + mul8.o mul8.s(10) + mul.o mul.s(10) + icmp.o icmp.s(9) + div.o div.s(12) +staspidx (staspidx.o): + ui.o ui.s(1271) + mockingboard.o mockingboard.s(224) + mockingboard.o mockingboard.s(561) + mockingboard.o mockingboard.s(630) + machine.o machine.s(214) + joystick.o joystick.s(384) + game.o game.s(1379) + game.o game.s(1509) + game.o game.s(2311) + game.o game.s(2768) + game.o game.s(3058) + game.o game.s(3625) + anim.o anim.s(237) + anim.o anim.s(288) + anim.o anim.s(795) + anim.o anim.s(856) + anim.o anim.s(1002) + anim.o anim.s(1186) +staxspidx (staxspi.o): + pmemalign.o pmemalign.s(220) + mockingboard.o mockingboard.s(117) + game.o game.s(2460) + anim.o anim.s(950) + anim.o anim.s(1086) +staxysp (staxsp.o): + pmemalign.o pmemalign.s(264) + ui.o ui.s(383) + mouseWrapper.o mouseWrapper.s(463) + mockingboard.o mockingboard.s(74) + mockingboard.o mockingboard.s(501) + mockingboard.o mockingboard.s(660) + machine.o machine.s(174) + joystick.o joystick.s(308) + game.o game.s(2433) + anim.o anim.s(1138) +subeqysp (subeqsp.o): + pmemalign.o pmemalign.s(115) +subysp (subysp.o): + filename.o ../apple2/filename.s(8) +tmp1 (zeropage.o): + filename.o ../../asminc/zeropage.inc(13) + ltoa.o ltoa.s(11) + _printf.o _printf.s(12) + open.o ../../asminc/zeropage.inc(13) + mouse-kernel.o mouse-kernel.s(8) + vcprintf.o vcprintf.s(10) + cputs.o cputs.s(10) + staxspi.o staxspi.s(9) + staspidx.o staspidx.s(9) + shrax2.o shrax2.s(8) + shl.o shl.s(16) + shelp.o shelp.s(12) + or.o or.s(9) + mul.o mul.s(10) + mod.o mod.s(12) + incaxy.o incaxy.s(8) + div.o div.s(12) + decaxy.o decaxy.s(8) + asrax3.o asrax3.s(9) + asrax2.o asrax2.s(8) + aslax4.o aslax4.s(8) + aslax3.o aslax3.s(8) + aslax1.o aslax1.s(8) +tmp2 (zeropage.o): + open.o ../../asminc/zeropage.inc(13) + mouse-kernel.o mouse-kernel.s(8) + shelp.o shelp.s(12) + div.o div.s(12) +tmp3 (zeropage.o): + open.o ../../asminc/zeropage.inc(13) +tosaddax (add.o): + pmemalign.o pmemalign.s(158) + anim.o anim.s(1296) +tosandax (and.o): + pmemalign.o pmemalign.s(116) + anim.o anim.s(286) + anim.o anim.s(360) +tosaslax (shl.o): + anim.o anim.s(214) + anim.o anim.s(264) +tosdivax (div.o): + mouseWrapper.o mouseWrapper.s(197) +toseqax (eq.o): + ui.o ui.s(592) + game.o game.s(3962) + anim.o anim.s(1260) +tosgeax (ge.o): + game.o game.s(1685) + game.o game.s(2009) +tosgtax (gt.o): + anim.o anim.s(1308) +tosicmp (icmp.o): + ult.o ult.s(8) + ugt.o ugt.s(8) + ne.o ne.s(8) + le.o le.s(8) + gt.o gt.s(8) + ge.o ge.s(8) + eq.o eq.s(8) +tosleax (le.o): + game.o game.s(1528) + game.o game.s(1787) + game.o game.s(2111) + anim.o anim.s(1352) +tosmodax (mod.o): + game.o game.s(1328) + game.o game.s(3511) + anim.o anim.s(1197) +tosneax (ne.o): + ui.o ui.s(1113) + mouseWrapper.o mouseWrapper.s(235) + machine.o machine.s(185) + joystick.o joystick.s(492) + game.o game.s(710) + game.o game.s(1237) + game.o game.s(1720) + game.o game.s(2044) +tosorax (or.o): + ui.o ui.s(1818) + ui.o ui.s(1982) + mouseWrapper.o mouseWrapper.s(264) + mockingboard.o mockingboard.s(516) + game.o game.s(257) + game.o game.s(612) + game.o game.s(1564) + game.o game.s(1700) + game.o game.s(2024) + game.o game.s(2993) + anim.o anim.s(235) + anim.o anim.s(940) + anim.o anim.s(1076) +tossubax (sub.o): + pmemalign.o pmemalign.s(285) + anim.o anim.s(1198) +tosudivax (udiv.o): + fwrite.o fwrite.s(12) + fread.o fread.s(15) + game.o game.s(1229) +tosugtax (ugt.o): + anim.o anim.s(483) +tosultax (ult.o): + mouseWrapper.o mouseWrapper.s(322) + game.o game.s(1207) + game.o game.s(3537) + anim.o anim.s(567) +tosumulax (mul.o): + fwrite.o fwrite.s(12) + fread.o fread.s(15) + mouseWrapper.o mouseWrapper.s(459) + game.o game.s(3703) +udiv16 (udiv.o): + mod.o mod.s(11) + div.o div.s(11) +zerobss (zerobss.o): + crt0.o ../apple2/crt0.s(9) + diff --git a/a2bejwld/anim.o b/a2bejwld/anim.o new file mode 100644 index 0000000..70015e4 Binary files /dev/null and b/a2bejwld/anim.o differ diff --git a/a2bejwld/anim.u b/a2bejwld/anim.u new file mode 100644 index 0000000..b7ce9c2 --- /dev/null +++ b/a2bejwld/anim.u @@ -0,0 +1,2 @@ +anim.o: anim.c /usr/local/lib/cc65/include/conio.h /usr/local/lib/cc65/include/stdarg.h /usr/local/lib/cc65/include/apple2enh.h /usr/local/lib/cc65/include/apple2.h /usr/local/lib/cc65/include/stdbool.h /usr/local/lib/cc65/include/stdint.h /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/string.h /usr/local/lib/cc65/include/stdlib.h anim.h types.h dbllores.h game.h machine.h sound.h mockingboard.h ui.h + diff --git a/a2bejwld/dbllores.lst b/a2bejwld/dbllores.lst new file mode 100644 index 0000000..4299ae6 --- /dev/null +++ b/a2bejwld/dbllores.lst @@ -0,0 +1,1228 @@ +ca65 V2.13.3 - (C) Copyright 1998-2012 Ullrich von Bassewitz +Main file : dbllores.s +Current file: dbllores.s + +000000r 1 ; +000000r 1 ; dbllores.s +000000r 1 ; a2bejwld +000000r 1 ; +000000r 1 ; Created by Jeremy Rand on 2016-07-20. +000000r 1 ; Copyright © 2016 Jeremy Rand. All rights reserved. +000000r 1 ; +000000r 1 +000000r 1 .export _showDblLoRes, _clearDblLoRes, _unshowDblLoRes +000000r 1 .export _mixedTextMode +000000r 1 +000000r 1 .export _drawGem, _drawBgSquare +000000r 1 .export _drawScore, _selectSquare, _starGem +000000r 1 +000000r 1 .export _drawGemAtXY, _drawAndStarGemAtXY +000000r 1 +000000r 1 .export _explodeGemFrame1, _explodeGemFrame2 +000000r 1 .export _explodeGemFrame3, _explodeGemFrame4 +000000r 1 .export _explodeGemFrame5, _explodeGemFrame6 +000000r 1 +000000r 1 .include "apple2.inc" +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Zero page stuff +000000r 2 +000000r 2 WNDLFT := $20 ; Text window left +000000r 2 WNDWDTH := $21 ; Text window width +000000r 2 WNDTOP := $22 ; Text window top +000000r 2 WNDBTM := $23 ; Text window bottom+1 +000000r 2 CH := $24 ; Cursor horizontal position +000000r 2 CV := $25 ; Cursor vertical position +000000r 2 BASL := $28 ; Text base address low +000000r 2 BASH := $29 ; Text base address high +000000r 2 INVFLG := $32 ; Normal/inverse(/flash) +000000r 2 PROMPT := $33 ; Used by GETLN +000000r 2 RNDL := $4E ; Random counter low +000000r 2 RNDH := $4F ; Random counter high +000000r 2 HIMEM := $73 ; Highest available memory address+1 +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Vectors +000000r 2 +000000r 2 DOSWARM := $03D0 ; DOS warmstart vector +000000r 2 BRKVec := $03F0 ; Break vector +000000r 2 SOFTEV := $03F2 ; Vector for warm start +000000r 2 PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1 +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Hardware +000000r 2 +000000r 2 ; Keyboard input +000000r 2 KBD := $C000 ; Read keyboard +000000r 2 KBDSTRB := $C010 ; Clear keyboard strobe +000000r 2 +000000r 2 ; 80 column video switches +000000r 2 CLR80COL:= $C000 ; Disable 80 column store +000000r 2 SET80COL:= $C001 ; Enable 80 column store +000000r 2 RD80COL := $C018 ; >127 if 80 column store enabled +000000r 2 RD80VID := $C01F ; >127 if 80 column video enabled +000000r 2 +000000r 2 ; Character set switches +000000r 2 CLRALTCHAR := $C00E ; Normal Apple II char set +000000r 2 SETALTCHAR := $C00F ; Norm/inv LC, no flash +000000r 2 ALTCHARSET := $C01E ; >127 if alt charset switched in +000000r 2 +000000r 2 ; Language card switches +000000r 2 RDLCBNK2 := $C011 ; >127 if LC bank 2 in use +000000r 2 RDLCRAM := $C012 ; >127 if LC is read enabled +000000r 2 ROMIN := $C081 ; Swap in D000-FFFF ROM +000000r 2 LCBANK2 := $C083 ; Swap in LC bank 2 +000000r 2 LCBANK1 := $C08B ; Swap in LC bank 1 +000000r 2 +000000r 2 ; Video mode switches +000000r 2 TXTCLR := $C050 ; Display graphics +000000r 2 TXTSET := $C051 ; Display text +000000r 2 MIXCLR := $C052 ; Disable 4 lines of text +000000r 2 MIXSET := $C053 ; Enable 4 lines of text +000000r 2 LOWSCR := $C054 ; Page 1 +000000r 2 HISCR := $C055 ; Page 2 +000000r 2 LORES := $C056 ; Lores graphics +000000r 2 HIRES := $C057 ; Hires graphics +000000r 2 +000000r 2 ; Game controller +000000r 2 BUTN0 := $C061 ; Open-Apple Key +000000r 2 BUTN1 := $C062 ; Closed-Apple Key +000000r 2 +000000r 1 +000000r 1 SETAN3 := $C05E +000000r 1 SET80VID := $C00D +000000r 1 +000000r 1 LINE1 := $400 +000000r 1 LINE2 := $480 +000000r 1 LINE3 := $500 +000000r 1 LINE4 := $580 +000000r 1 LINE5 := $600 +000000r 1 LINE6 := $680 +000000r 1 LINE7 := $700 +000000r 1 LINE8 := $780 +000000r 1 LINE9 := $428 +000000r 1 LINE10 := $4a8 +000000r 1 LINE11 := $528 +000000r 1 LINE12 := $5a8 +000000r 1 LINE13 := $628 +000000r 1 LINE14 := $6a8 +000000r 1 LINE15 := $728 +000000r 1 LINE16 := $7a8 +000000r 1 LINE17 := $450 +000000r 1 LINE18 := $4d0 +000000r 1 LINE19 := $550 +000000r 1 LINE20 := $5d0 +000000r 1 LINE21 := $650 +000000r 1 LINE22 := $6d0 +000000r 1 LINE23 := $750 +000000r 1 LINE24 := $7d0 +000000r 1 +000000r 1 +000000r 1 ; I get a linker error with this so I am hard coding some ZP addresses instead +000000r 1 ;.ZEROPAGE +000000r 1 ;line1addr: .WORD $0 +000000r 1 ;line2addr: .WORD $0 +000000r 1 ;line3addr: .WORD $0 +000000r 1 ;gemmask: .WORD $0 +000000r 1 +000000r 1 line1addr := $82 +000000r 1 line2addr := $84 +000000r 1 line3addr := $86 +000000r 1 gemmask := $88 +000000r 1 +000000r 1 .CODE +000000r 1 +000000r 1 .proc _showDblLoRes +000000r 1 A9 00 lda #0 +000002r 1 85 20 sta WNDLFT +000004r 1 A9 50 lda #80 +000006r 1 85 21 sta WNDWDTH +000008r 1 A9 00 lda #0 +00000Ar 1 85 22 sta WNDTOP +00000Cr 1 A9 18 lda #24 +00000Er 1 85 23 sta WNDBTM +000010r 1 +000010r 1 AD 50 C0 lda TXTCLR +000013r 1 AD 52 C0 lda MIXCLR +000016r 1 AD 5E C0 lda SETAN3 +000019r 1 8D 0D C0 sta SET80VID +00001Cr 1 8D 01 C0 sta SET80COL +00001Fr 1 60 rts +000020r 1 .endproc +000020r 1 +000020r 1 +000020r 1 .proc _unshowDblLoRes +000020r 1 AD 51 C0 lda TXTSET +000023r 1 60 rts +000024r 1 .endproc +000024r 1 +000024r 1 +000024r 1 .proc _mixedTextMode +000024r 1 AD 53 C0 lda MIXSET +000027r 1 8D 54 C0 sta LOWSCR +00002Ar 1 A2 28 ldx #40 +00002Cr 1 A9 A0 lda #$a0 +00002Er 1 @L1: +00002Er 1 CA dex +00002Fr 1 9D 50 06 sta LINE21, X +000032r 1 9D D0 06 sta LINE22, X +000035r 1 9D 50 07 sta LINE23, X +000038r 1 9D D0 07 sta LINE24, X +00003Br 1 E0 00 cpx #0 +00003Dr 1 D0 EF bne @L1 +00003Fr 1 +00003Fr 1 8D 55 C0 sta HISCR +000042r 1 A2 28 ldx #40 +000044r 1 @L2: +000044r 1 CA dex +000045r 1 9D 50 06 sta LINE21, X +000048r 1 9D D0 06 sta LINE22, X +00004Br 1 9D 50 07 sta LINE23, X +00004Er 1 9D D0 07 sta LINE24, X +000051r 1 E0 00 cpx #0 +000053r 1 D0 EF bne @L2 +000055r 1 +000055r 1 A9 00 lda #0 +000057r 1 85 20 sta WNDLFT +000059r 1 A9 50 lda #80 +00005Br 1 85 21 sta WNDWDTH +00005Dr 1 A9 14 lda #20 +00005Fr 1 85 22 sta WNDTOP +000061r 1 A9 18 lda #24 +000063r 1 85 23 sta WNDBTM +000065r 1 +000065r 1 60 rts +000066r 1 .endproc +000066r 1 +000066r 1 +000066r 1 .proc _clearDblLoRes +000066r 1 8D 54 C0 sta LOWSCR +000069r 1 A2 28 ldx #40 +00006Br 1 @L1: +00006Br 1 CA dex +00006Cr 1 9E 00 04 stz LINE1, X +00006Fr 1 9E 80 04 stz LINE2, X +000072r 1 9E 00 05 stz LINE3, X +000075r 1 9E 80 05 stz LINE4, X +000078r 1 9E 00 06 stz LINE5, X +00007Br 1 9E 80 06 stz LINE6, X +00007Er 1 9E 00 07 stz LINE7, X +000081r 1 9E 80 07 stz LINE8, X +000084r 1 9E 28 04 stz LINE9, X +000087r 1 9E A8 04 stz LINE10, X +00008Ar 1 9E 28 05 stz LINE11, X +00008Dr 1 9E A8 05 stz LINE12, X +000090r 1 9E 28 06 stz LINE13, X +000093r 1 9E A8 06 stz LINE14, X +000096r 1 9E 28 07 stz LINE15, X +000099r 1 9E A8 07 stz LINE16, X +00009Cr 1 9E 50 04 stz LINE17, X +00009Fr 1 9E D0 04 stz LINE18, X +0000A2r 1 9E 50 05 stz LINE19, X +0000A5r 1 9E D0 05 stz LINE20, X +0000A8r 1 9E 50 06 stz LINE21, X +0000ABr 1 9E D0 06 stz LINE22, X +0000AEr 1 9E 50 07 stz LINE23, X +0000B1r 1 9E D0 07 stz LINE24, X +0000B4r 1 D0 B5 bne @L1 +0000B6r 1 +0000B6r 1 8D 55 C0 sta HISCR +0000B9r 1 A2 28 ldx #40 +0000BBr 1 @L2: +0000BBr 1 CA dex +0000BCr 1 9E 00 04 stz LINE1, X +0000BFr 1 9E 80 04 stz LINE2, X +0000C2r 1 9E 00 05 stz LINE3, X +0000C5r 1 9E 80 05 stz LINE4, X +0000C8r 1 9E 00 06 stz LINE5, X +0000CBr 1 9E 80 06 stz LINE6, X +0000CEr 1 9E 00 07 stz LINE7, X +0000D1r 1 9E 80 07 stz LINE8, X +0000D4r 1 9E 28 04 stz LINE9, X +0000D7r 1 9E A8 04 stz LINE10, X +0000DAr 1 9E 28 05 stz LINE11, X +0000DDr 1 9E A8 05 stz LINE12, X +0000E0r 1 9E 28 06 stz LINE13, X +0000E3r 1 9E A8 06 stz LINE14, X +0000E6r 1 9E 28 07 stz LINE15, X +0000E9r 1 9E A8 07 stz LINE16, X +0000ECr 1 9E 50 04 stz LINE17, X +0000EFr 1 9E D0 04 stz LINE18, X +0000F2r 1 9E 50 05 stz LINE19, X +0000F5r 1 9E D0 05 stz LINE20, X +0000F8r 1 9E 50 06 stz LINE21, X +0000FBr 1 9E D0 06 stz LINE22, X +0000FEr 1 9E 50 07 stz LINE23, X +000101r 1 9E D0 07 stz LINE24, X +000104r 1 D0 B5 bne @L2 +000106r 1 +000106r 1 60 rts +000107r 1 .endproc +000107r 1 +000107r 1 +000107r 1 .proc _drawBgSquare +000107r 1 ; A is the square position (from 0 to 63) +000107r 1 ; 0 through 7 are on the top row +000107r 1 AA tax +000108r 1 BD rr rr lda bgColor,X +00010Br 1 8D rr rr sta color +00010Er 1 BD rr rr lda bgAuxColor,X +000111r 1 8D rr rr sta colorAux +000114r 1 +000114r 1 8A txa +000115r 1 8D rr rr sta square +000118r 1 +000118r 1 29 07 and #7 +00011Ar 1 8D rr rr sta xPos +00011Dr 1 AD rr rr lda square +000120r 1 4A lsr +000121r 1 4A lsr +000122r 1 4A lsr +000123r 1 +000123r 1 ; Get line addrs +000123r 1 AA tax +000124r 1 BD rr rr lda bgLoLines1,X +000127r 1 85 82 sta line1addr +000129r 1 BD rr rr lda bgHiLines1,X +00012Cr 1 85 83 sta line1addr+1 +00012Er 1 +00012Er 1 BD rr rr lda bgLoLines2,X +000131r 1 85 84 sta line2addr +000133r 1 BD rr rr lda bgHiLines2,X +000136r 1 85 85 sta line2addr+1 +000138r 1 +000138r 1 BD rr rr lda bgLoLines3,X +00013Br 1 85 86 sta line3addr +00013Dr 1 BD rr rr lda bgHiLines3,X +000140r 1 85 87 sta line3addr+1 +000142r 1 +000142r 1 ; Write the square +000142r 1 AD rr rr lda xPos +000145r 1 0A asl +000146r 1 0A asl +000147r 1 A8 tay +000148r 1 A2 04 ldx #4 +00014Ar 1 @L1: +00014Ar 1 AD rr rr lda color +00014Dr 1 8D 54 C0 sta LOWSCR +000150r 1 91 82 sta (line1addr),Y +000152r 1 91 84 sta (line2addr),Y +000154r 1 91 86 sta (line3addr),Y +000156r 1 +000156r 1 AD rr rr lda colorAux +000159r 1 8D 55 C0 sta HISCR +00015Cr 1 91 82 sta (line1addr),Y +00015Er 1 91 84 sta (line2addr),Y +000160r 1 91 86 sta (line3addr),Y +000162r 1 +000162r 1 C8 iny +000163r 1 CA dex +000164r 1 D0 E4 bne @L1 +000166r 1 +000166r 1 +000166r 1 60 rts +000167r 1 ; Locals +000167r 1 +000167r 1 00 xPos: .BYTE $0 +000168r 1 00 square: .BYTE $0 +000169r 1 00 color: .BYTE $0 +00016Ar 1 00 colorAux: .BYTE $0 +00016Br 1 .endproc +00016Br 1 +00016Br 1 +00016Br 1 .proc _drawGemAtXY +00016Br 1 8E rr rr stx xPos +00016Er 1 C9 00 cmp #0 +000170r 1 10 08 bpl @L8 +000172r 1 4A lsr +000173r 1 09 80 ora #$80 +000175r 1 AA tax +000176r 1 90 12 bcc @L3 +000178r 1 80 04 bra @L9 +00017Ar 1 +00017Ar 1 @L8: +00017Ar 1 4A lsr +00017Br 1 AA tax +00017Cr 1 90 0C bcc @L3 +00017Er 1 +00017Er 1 @L9: +00017Er 1 B9 rr rr lda maskLoAddrs2,Y +000181r 1 85 88 sta gemmask +000183r 1 B9 rr rr lda maskHiAddrs2,Y +000186r 1 85 89 sta gemmask+1 +000188r 1 80 0A bra @L4 +00018Ar 1 +00018Ar 1 @L3: +00018Ar 1 B9 rr rr lda maskLoAddrs,Y +00018Dr 1 85 88 sta gemmask +00018Fr 1 B9 rr rr lda maskHiAddrs,Y +000192r 1 85 89 sta gemmask+1 +000194r 1 +000194r 1 @L4: +000194r 1 B9 rr rr lda gemColours,Y +000197r 1 8D rr rr sta gemColour +00019Ar 1 B9 rr rr lda gemAuxColours,Y +00019Dr 1 8D rr rr sta gemAuxColour +0001A0r 1 +0001A0r 1 9C rr rr stz isAux +0001A3r 1 AD rr rr lda xPos +0001A6r 1 4A lsr +0001A7r 1 8D rr rr sta xPos +0001AAr 1 B0 05 bcs @L5 +0001ACr 1 A9 01 lda #1 +0001AEr 1 8D rr rr sta isAux +0001B1r 1 +0001B1r 1 @L5: +0001B1r 1 ; Get line addrs +0001B1r 1 E8 inx +0001B2r 1 E8 inx +0001B3r 1 BD rr rr lda fakeLineLoAddrs,X +0001B6r 1 18 clc +0001B7r 1 6D rr rr adc xPos +0001BAr 1 85 82 sta line1addr +0001BCr 1 BD rr rr lda fakeLineHiAddrs,X +0001BFr 1 85 83 sta line1addr+1 +0001C1r 1 +0001C1r 1 E8 inx +0001C2r 1 BD rr rr lda fakeLineLoAddrs,X +0001C5r 1 18 clc +0001C6r 1 6D rr rr adc xPos +0001C9r 1 85 84 sta line2addr +0001CBr 1 BD rr rr lda fakeLineHiAddrs,X +0001CEr 1 85 85 sta line2addr+1 +0001D0r 1 +0001D0r 1 E8 inx +0001D1r 1 BD rr rr lda fakeLineLoAddrs,X +0001D4r 1 18 clc +0001D5r 1 6D rr rr adc xPos +0001D8r 1 85 86 sta line3addr +0001DAr 1 BD rr rr lda fakeLineHiAddrs,X +0001DDr 1 85 87 sta line3addr+1 +0001DFr 1 +0001DFr 1 ; Draw the gem +0001DFr 1 A0 00 ldy #0 +0001E1r 1 A2 08 ldx #8 +0001E3r 1 @L1: +0001E3r 1 +0001E3r 1 AD rr rr lda isAux +0001E6r 1 F0 44 beq @L6 +0001E8r 1 +0001E8r 1 8D 55 C0 sta HISCR +0001EBr 1 B2 82 lda (line1addr) +0001EDr 1 31 88 and (gemmask),Y +0001EFr 1 8D rr rr sta square +0001F2r 1 B1 88 lda (gemmask),Y +0001F4r 1 49 FF eor #$ff +0001F6r 1 2D rr rr and gemAuxColour +0001F9r 1 0D rr rr ora square +0001FCr 1 92 82 sta (line1addr) +0001FEr 1 C8 iny +0001FFr 1 +0001FFr 1 B2 84 lda (line2addr) +000201r 1 31 88 and (gemmask),Y +000203r 1 8D rr rr sta square +000206r 1 B1 88 lda (gemmask),Y +000208r 1 49 FF eor #$ff +00020Ar 1 2D rr rr and gemAuxColour +00020Dr 1 0D rr rr ora square +000210r 1 92 84 sta (line2addr) +000212r 1 C8 iny +000213r 1 +000213r 1 B2 86 lda (line3addr) +000215r 1 31 88 and (gemmask),Y +000217r 1 8D rr rr sta square +00021Ar 1 B1 88 lda (gemmask),Y +00021Cr 1 49 FF eor #$ff +00021Er 1 2D rr rr and gemAuxColour +000221r 1 0D rr rr ora square +000224r 1 92 86 sta (line3addr) +000226r 1 C8 iny +000227r 1 +000227r 1 9C rr rr stz isAux +00022Ar 1 +00022Ar 1 80 48 bra @L7 +00022Cr 1 +00022Cr 1 @L6: +00022Cr 1 8D 54 C0 sta LOWSCR +00022Fr 1 B2 82 lda (line1addr) +000231r 1 31 88 and (gemmask),Y +000233r 1 8D rr rr sta square +000236r 1 B1 88 lda (gemmask),Y +000238r 1 49 FF eor #$ff +00023Ar 1 2D rr rr and gemColour +00023Dr 1 0D rr rr ora square +000240r 1 92 82 sta (line1addr) +000242r 1 C8 iny +000243r 1 +000243r 1 B2 84 lda (line2addr) +000245r 1 31 88 and (gemmask),Y +000247r 1 8D rr rr sta square +00024Ar 1 B1 88 lda (gemmask),Y +00024Cr 1 49 FF eor #$ff +00024Er 1 2D rr rr and gemColour +000251r 1 0D rr rr ora square +000254r 1 92 84 sta (line2addr) +000256r 1 C8 iny +000257r 1 +000257r 1 B2 86 lda (line3addr) +000259r 1 31 88 and (gemmask),Y +00025Br 1 8D rr rr sta square +00025Er 1 B1 88 lda (gemmask),Y +000260r 1 49 FF eor #$ff +000262r 1 2D rr rr and gemColour +000265r 1 0D rr rr ora square +000268r 1 92 86 sta (line3addr) +00026Ar 1 C8 iny +00026Br 1 +00026Br 1 E6 82 inc line1addr +00026Dr 1 E6 84 inc line2addr +00026Fr 1 E6 86 inc line3addr +000271r 1 +000271r 1 EE rr rr inc isAux +000274r 1 +000274r 1 @L7: +000274r 1 CA dex +000275r 1 F0 03 beq @L2 +000277r 1 +000277r 1 4C rr rr jmp @L1 +00027Ar 1 @L2: +00027Ar 1 +00027Ar 1 60 rts +00027Br 1 ; Locals +00027Br 1 +00027Br 1 00 xPos: .BYTE $0 +00027Cr 1 00 square: .BYTE $0 +00027Dr 1 00 gemColour: .BYTE $0 +00027Er 1 00 gemAuxColour: .BYTE $0 +00027Fr 1 00 isAux: .BYTE $0 +000280r 1 .endproc +000280r 1 +000280r 1 +000280r 1 .proc _drawGem +000280r 1 ; A is the square position (from 0 to 63) +000280r 1 ; 0 through 7 are on the top row +000280r 1 8D rr rr sta square +000283r 1 +000283r 1 29 07 and #7 +000285r 1 0A asl +000286r 1 0A asl +000287r 1 0A asl +000288r 1 AA tax +000289r 1 AD rr rr lda square +00028Cr 1 ; Need to divide by 8 to get the y square +00028Cr 1 ; and then multiply by 6 to get the y +00028Cr 1 ; position (0-47) on the screen. +00028Cr 1 4A lsr +00028Dr 1 4A lsr +00028Er 1 4A lsr +00028Fr 1 8D rr rr sta square +000292r 1 0A asl +000293r 1 18 clc +000294r 1 6D rr rr adc square +000297r 1 0A asl +000298r 1 4C rr rr jmp _drawGemAtXY +00029Br 1 ; Locals +00029Br 1 +00029Br 1 00 square: .BYTE $0 +00029Cr 1 .endproc +00029Cr 1 +00029Cr 1 +00029Cr 1 .proc _selectSquare +00029Cr 1 A0 00 ldy #0 +00029Er 1 4C rr rr jmp _drawGem +0002A1r 1 .endproc +0002A1r 1 +0002A1r 1 +0002A1r 1 .proc _starGemAtXY +0002A1r 1 8E rr rr stx xPos +0002A4r 1 C9 00 cmp #0 +0002A6r 1 10 0A bpl @L4 +0002A8r 1 4A lsr +0002A9r 1 09 80 ora #$80 +0002ABr 1 AA tax +0002ACr 1 90 0C bcc @L1 +0002AEr 1 A9 F0 lda #$f0 +0002B0r 1 80 0A bra @L2 +0002B2r 1 +0002B2r 1 @L4: +0002B2r 1 4A lsr +0002B3r 1 AA tax +0002B4r 1 90 04 bcc @L1 +0002B6r 1 A9 F0 lda #$f0 +0002B8r 1 80 02 bra @L2 +0002BAr 1 @L1: +0002BAr 1 A9 0F lda #$0f +0002BCr 1 @L2: +0002BCr 1 8D rr rr sta starVal +0002BFr 1 E8 inx +0002C0r 1 +0002C0r 1 8D 54 C0 sta LOWSCR +0002C3r 1 AD rr rr lda xPos +0002C6r 1 4A lsr +0002C7r 1 A8 tay +0002C8r 1 90 04 bcc @L3 +0002CAr 1 8D 55 C0 sta HISCR +0002CDr 1 C8 iny +0002CEr 1 @L3: +0002CEr 1 C8 iny +0002CFr 1 C8 iny +0002D0r 1 8C rr rr sty xPos +0002D3r 1 +0002D3r 1 ; Get line addrs +0002D3r 1 BD rr rr lda lineLoAddrs,X +0002D6r 1 18 clc +0002D7r 1 6D rr rr adc xPos +0002DAr 1 85 84 sta line2addr +0002DCr 1 BD rr rr lda lineHiAddrs,X +0002DFr 1 85 85 sta line2addr+1 +0002E1r 1 +0002E1r 1 AD rr rr lda starVal +0002E4r 1 12 84 ora (line2addr) +0002E6r 1 92 84 sta (line2addr) +0002E8r 1 60 rts +0002E9r 1 +0002E9r 1 ; Locals +0002E9r 1 +0002E9r 1 00 xPos: .BYTE $0 +0002EAr 1 00 square: .BYTE $0 +0002EBr 1 00 starVal: .BYTE $0 +0002ECr 1 +0002ECr 1 .endproc +0002ECr 1 +0002ECr 1 +0002ECr 1 .proc _drawAndStarGemAtXY +0002ECr 1 8E rr rr stx xPos +0002EFr 1 8D rr rr sta yPos +0002F2r 1 20 rr rr jsr _drawGemAtXY +0002F5r 1 AE rr rr ldx xPos +0002F8r 1 AD rr rr lda yPos +0002FBr 1 4C rr rr jmp _starGemAtXY +0002FEr 1 +0002FEr 1 ; Locals +0002FEr 1 +0002FEr 1 00 xPos: .BYTE $0 +0002FFr 1 00 yPos: .BYTE $0 +000300r 1 +000300r 1 .endproc +000300r 1 +000300r 1 +000300r 1 .proc _starGem +000300r 1 ; A is the square position (from 0 to 63) +000300r 1 ; 0 through 7 are on the top row +000300r 1 8D rr rr sta square +000303r 1 +000303r 1 29 07 and #7 +000305r 1 0A asl +000306r 1 0A asl +000307r 1 0A asl +000308r 1 AA tax +000309r 1 AD rr rr lda square +00030Cr 1 ; Need to divide by 8 to get the y square +00030Cr 1 ; and then multiply by 3 to get the y +00030Cr 1 ; position (0-23) on the screen. +00030Cr 1 4A lsr +00030Dr 1 4A lsr +00030Er 1 4A lsr +00030Fr 1 8D rr rr sta square +000312r 1 0A asl +000313r 1 18 clc +000314r 1 6D rr rr adc square +000317r 1 0A asl +000318r 1 4C rr rr jmp _starGemAtXY +00031Br 1 +00031Br 1 ; Locals +00031Br 1 +00031Br 1 00 xPos: .BYTE $0 +00031Cr 1 00 square: .BYTE $0 +00031Dr 1 .endproc +00031Dr 1 +00031Dr 1 .proc _drawScore +00031Dr 1 ; A is a number from 0 to 24 +00031Dr 1 A8 tay +00031Er 1 A2 18 ldx #24 +000320r 1 A9 DD lda #$dd +000322r 1 8D rr rr sta color +000325r 1 8D 54 C0 sta LOWSCR +000328r 1 @L1: +000328r 1 CA dex +000329r 1 30 1E bmi @L2 +00032Br 1 C0 00 cpy #0 +00032Dr 1 D0 05 bne @L3 +00032Fr 1 A9 22 lda #$22 +000331r 1 8D rr rr sta color +000334r 1 @L3: +000334r 1 88 dey +000335r 1 +000335r 1 BD rr rr lda lineLoAddrs,X +000338r 1 18 clc +000339r 1 69 27 adc #39 +00033Br 1 85 82 sta line1addr +00033Dr 1 BD rr rr lda lineHiAddrs,X +000340r 1 85 83 sta line1addr+1 +000342r 1 +000342r 1 AD rr rr lda color +000345r 1 92 82 sta (line1addr) +000347r 1 +000347r 1 80 DF bra @L1 +000349r 1 +000349r 1 @L2: +000349r 1 60 rts +00034Ar 1 +00034Ar 1 ; Locals +00034Ar 1 +00034Ar 1 00 color: .BYTE $0 +00034Br 1 .endproc +00034Br 1 +00034Br 1 .proc _explodeGemFrame1 +00034Br 1 ; A is the square position (from 0 to 63) +00034Br 1 ; 0 through 7 are on the top row +00034Br 1 8D rr rr sta square +00034Er 1 +00034Er 1 29 07 and #7 +000350r 1 0A asl +000351r 1 0A asl +000352r 1 8D rr rr sta xPos +000355r 1 AD rr rr lda square +000358r 1 4A lsr +000359r 1 4A lsr +00035Ar 1 4A lsr +00035Br 1 +00035Br 1 ; Get line addrs +00035Br 1 AA tax +00035Cr 1 BD rr rr lda bgLoLines2,X +00035Fr 1 18 clc +000360r 1 6D rr rr adc xPos +000363r 1 85 84 sta line2addr +000365r 1 BD rr rr lda bgHiLines2,X +000368r 1 85 85 sta line2addr+1 +00036Ar 1 +00036Ar 1 A0 00 ldy #0 +00036Cr 1 @L1: +00036Cr 1 ; Draw the frame +00036Cr 1 8D 55 C0 sta HISCR +00036Fr 1 B1 84 lda (line2addr),Y +000371r 1 09 0F ora #$0f +000373r 1 91 84 sta (line2addr),Y +000375r 1 8D 54 C0 sta LOWSCR +000378r 1 B1 84 lda (line2addr),Y +00037Ar 1 09 0F ora #$0f +00037Cr 1 91 84 sta (line2addr),Y +00037Er 1 C8 iny +00037Fr 1 C0 04 cpy #4 +000381r 1 D0 E9 bne @L1 +000383r 1 +000383r 1 60 rts +000384r 1 +000384r 1 ; Locals +000384r 1 +000384r 1 00 xPos: .BYTE $0 +000385r 1 00 square: .BYTE $0 +000386r 1 .endproc +000386r 1 +000386r 1 +000386r 1 .proc _explodeGemFrame2 +000386r 1 ; A is the square position (from 0 to 63) +000386r 1 ; 0 through 7 are on the top row +000386r 1 8D rr rr sta square +000389r 1 +000389r 1 29 07 and #7 +00038Br 1 0A asl +00038Cr 1 0A asl +00038Dr 1 8D rr rr sta xPos +000390r 1 AD rr rr lda square +000393r 1 4A lsr +000394r 1 4A lsr +000395r 1 4A lsr +000396r 1 +000396r 1 ; Get line addrs +000396r 1 AA tax +000397r 1 BD rr rr lda bgLoLines2,X +00039Ar 1 18 clc +00039Br 1 6D rr rr adc xPos +00039Er 1 85 84 sta line2addr +0003A0r 1 BD rr rr lda bgHiLines2,X +0003A3r 1 85 85 sta line2addr+1 +0003A5r 1 +0003A5r 1 ; Draw the frame +0003A5r 1 A9 FF lda #$ff +0003A7r 1 A0 00 ldy #0 +0003A9r 1 +0003A9r 1 @L1: +0003A9r 1 8D 55 C0 sta HISCR +0003ACr 1 91 84 sta (line2addr),Y +0003AEr 1 8D 54 C0 sta LOWSCR +0003B1r 1 91 84 sta (line2addr),Y +0003B3r 1 +0003B3r 1 C8 iny +0003B4r 1 C0 04 cpy #4 +0003B6r 1 D0 F1 bne @L1 +0003B8r 1 +0003B8r 1 60 rts +0003B9r 1 +0003B9r 1 ; Locals +0003B9r 1 +0003B9r 1 00 xPos: .BYTE $0 +0003BAr 1 00 square: .BYTE $0 +0003BBr 1 .endproc +0003BBr 1 +0003BBr 1 +0003BBr 1 .proc _explodeGemFrame3 +0003BBr 1 ; A is the square position (from 0 to 63) +0003BBr 1 ; 0 through 7 are on the top row +0003BBr 1 8D rr rr sta square +0003BEr 1 +0003BEr 1 29 07 and #7 +0003C0r 1 0A asl +0003C1r 1 0A asl +0003C2r 1 8D rr rr sta xPos +0003C5r 1 AD rr rr lda square +0003C8r 1 4A lsr +0003C9r 1 4A lsr +0003CAr 1 4A lsr +0003CBr 1 +0003CBr 1 ; Get line addrs +0003CBr 1 AA tax +0003CCr 1 BD rr rr lda bgLoLines1,X +0003CFr 1 18 clc +0003D0r 1 6D rr rr adc xPos +0003D3r 1 85 82 sta line1addr +0003D5r 1 BD rr rr lda bgHiLines1,X +0003D8r 1 85 83 sta line1addr+1 +0003DAr 1 +0003DAr 1 A0 00 ldy #0 +0003DCr 1 @L1: +0003DCr 1 ; Draw the frame +0003DCr 1 8D 55 C0 sta HISCR +0003DFr 1 B1 82 lda (line1addr),Y +0003E1r 1 09 F0 ora #$f0 +0003E3r 1 91 82 sta (line1addr),Y +0003E5r 1 8D 54 C0 sta LOWSCR +0003E8r 1 B1 82 lda (line1addr),Y +0003EAr 1 09 F0 ora #$f0 +0003ECr 1 91 82 sta (line1addr),Y +0003EEr 1 +0003EEr 1 C8 iny +0003EFr 1 C0 04 cpy #4 +0003F1r 1 D0 E9 bne @L1 +0003F3r 1 +0003F3r 1 60 rts +0003F4r 1 +0003F4r 1 ; Locals +0003F4r 1 +0003F4r 1 00 xPos: .BYTE $0 +0003F5r 1 00 square: .BYTE $0 +0003F6r 1 .endproc +0003F6r 1 +0003F6r 1 +0003F6r 1 .proc _explodeGemFrame4 +0003F6r 1 ; A is the square position (from 0 to 63) +0003F6r 1 ; 0 through 7 are on the top row +0003F6r 1 8D rr rr sta square +0003F9r 1 +0003F9r 1 29 07 and #7 +0003FBr 1 0A asl +0003FCr 1 0A asl +0003FDr 1 8D rr rr sta xPos +000400r 1 AD rr rr lda square +000403r 1 4A lsr +000404r 1 4A lsr +000405r 1 4A lsr +000406r 1 +000406r 1 ; Get line addrs +000406r 1 AA tax +000407r 1 BD rr rr lda bgLoLines3,X +00040Ar 1 18 clc +00040Br 1 6D rr rr adc xPos +00040Er 1 85 86 sta line3addr +000410r 1 BD rr rr lda bgHiLines3,X +000413r 1 85 87 sta line3addr+1 +000415r 1 +000415r 1 A0 00 ldy #0 +000417r 1 @L1: +000417r 1 ; Draw the frame +000417r 1 8D 55 C0 sta HISCR +00041Ar 1 B1 86 lda (line3addr),Y +00041Cr 1 09 0F ora #$0f +00041Er 1 91 86 sta (line3addr),Y +000420r 1 8D 54 C0 sta LOWSCR +000423r 1 B1 86 lda (line3addr),Y +000425r 1 09 0F ora #$0f +000427r 1 91 86 sta (line3addr),Y +000429r 1 +000429r 1 C8 iny +00042Ar 1 C0 04 cpy #4 +00042Cr 1 D0 E9 bne @L1 +00042Er 1 +00042Er 1 60 rts +00042Fr 1 +00042Fr 1 ; Locals +00042Fr 1 +00042Fr 1 00 xPos: .BYTE $0 +000430r 1 00 square: .BYTE $0 +000431r 1 .endproc +000431r 1 +000431r 1 +000431r 1 .proc _explodeGemFrame5 +000431r 1 ; A is the square position (from 0 to 63) +000431r 1 ; 0 through 7 are on the top row +000431r 1 8D rr rr sta square +000434r 1 +000434r 1 29 07 and #7 +000436r 1 0A asl +000437r 1 0A asl +000438r 1 8D rr rr sta xPos +00043Br 1 AD rr rr lda square +00043Er 1 4A lsr +00043Fr 1 4A lsr +000440r 1 4A lsr +000441r 1 +000441r 1 ; Get line addrs +000441r 1 AA tax +000442r 1 BD rr rr lda bgLoLines1,X +000445r 1 18 clc +000446r 1 6D rr rr adc xPos +000449r 1 85 82 sta line1addr +00044Br 1 BD rr rr lda bgHiLines1,X +00044Er 1 85 83 sta line1addr+1 +000450r 1 +000450r 1 ; Draw the frame +000450r 1 A9 FF lda #$ff +000452r 1 A0 00 ldy #0 +000454r 1 +000454r 1 @L1: +000454r 1 8D 55 C0 sta HISCR +000457r 1 91 82 sta (line1addr),Y +000459r 1 8D 54 C0 sta LOWSCR +00045Cr 1 91 82 sta (line1addr),Y +00045Er 1 +00045Er 1 C8 iny +00045Fr 1 C0 04 cpy #4 +000461r 1 D0 F1 bne @L1 +000463r 1 +000463r 1 60 rts +000464r 1 +000464r 1 ; Locals +000464r 1 +000464r 1 00 xPos: .BYTE $0 +000465r 1 00 square: .BYTE $0 +000466r 1 .endproc +000466r 1 +000466r 1 +000466r 1 .proc _explodeGemFrame6 +000466r 1 ; A is the square position (from 0 to 63) +000466r 1 ; 0 through 7 are on the top row +000466r 1 8D rr rr sta square +000469r 1 +000469r 1 29 07 and #7 +00046Br 1 0A asl +00046Cr 1 0A asl +00046Dr 1 8D rr rr sta xPos +000470r 1 AD rr rr lda square +000473r 1 4A lsr +000474r 1 4A lsr +000475r 1 4A lsr +000476r 1 +000476r 1 ; Get line addrs +000476r 1 AA tax +000477r 1 BD rr rr lda bgLoLines3,X +00047Ar 1 18 clc +00047Br 1 6D rr rr adc xPos +00047Er 1 85 86 sta line3addr +000480r 1 BD rr rr lda bgHiLines3,X +000483r 1 85 87 sta line3addr+1 +000485r 1 +000485r 1 ; Draw the frame +000485r 1 A9 FF lda #$ff +000487r 1 A0 00 ldy #0 +000489r 1 +000489r 1 @L1: +000489r 1 8D 55 C0 sta HISCR +00048Cr 1 91 86 sta (line3addr),Y +00048Er 1 8D 54 C0 sta LOWSCR +000491r 1 91 86 sta (line3addr),Y +000493r 1 +000493r 1 C8 iny +000494r 1 C0 04 cpy #4 +000496r 1 D0 F1 bne @L1 +000498r 1 +000498r 1 60 rts +000499r 1 +000499r 1 ; Locals +000499r 1 +000499r 1 00 xPos: .BYTE $0 +00049Ar 1 00 square: .BYTE $0 +00049Br 1 .endproc +00049Br 1 +00049Br 1 +00049Br 1 .DATA +000000r 1 +000000r 1 .align 64 +000000r 1 +000000r 1 ; This block of bytes is used for writing to gems "above" the top of the screen. +000000r 1 ; Because we draw gems half off the screen, we have two fake lines above the +000000r 1 ; top of the screen which points to this buffer of 40 bytes (one line). +000000r 1 FakeLine: +000000r 1 00 00 00 00 .BYTE $0, $0, $0, $0, $0, $0, $0, $0 +000004r 1 00 00 00 00 +000008r 1 00 00 00 00 .BYTE $0, $0, $0, $0, $0, $0, $0, $0 +00000Cr 1 00 00 00 00 +000010r 1 00 00 00 00 .BYTE $0, $0, $0, $0, $0, $0, $0, $0 +000014r 1 00 00 00 00 +000018r 1 00 00 00 00 .BYTE $0, $0, $0, $0, $0, $0, $0, $0 +00001Cr 1 00 00 00 00 +000020r 1 00 00 00 00 .BYTE $0, $0, $0, $0, $0, $0, $0, $0 +000024r 1 00 00 00 00 +000028r 1 +000028r 1 ; Prefix this array with two pointers to "fake lines" +000028r 1 fakeLineLoAddrs: +000028r 1 rr rr .LOBYTES FakeLine, FakeLine +00002Ar 1 lineLoAddrs: +00002Ar 1 00 80 00 80 .LOBYTES LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7, LINE8 +00002Er 1 00 80 00 80 +000032r 1 28 A8 28 A8 .LOBYTES LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15, LINE16 +000036r 1 28 A8 28 A8 +00003Ar 1 50 D0 50 D0 .LOBYTES LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23, LINE24 +00003Er 1 50 D0 50 D0 +000042r 1 +000042r 1 ; Prefix this array with two pointers to "fake lines" +000042r 1 fakeLineHiAddrs: +000042r 1 rr rr .HIBYTES FakeLine, FakeLine +000044r 1 lineHiAddrs: +000044r 1 04 04 05 05 .HIBYTES LINE1, LINE2, LINE3, LINE4, LINE5, LINE6, LINE7, LINE8 +000048r 1 06 06 07 07 +00004Cr 1 04 04 05 05 .HIBYTES LINE9, LINE10, LINE11, LINE12, LINE13, LINE14, LINE15, LINE16 +000050r 1 06 06 07 07 +000054r 1 04 04 05 05 .HIBYTES LINE17, LINE18, LINE19, LINE20, LINE21, LINE22, LINE23, LINE24 +000058r 1 06 06 07 07 +00005Cr 1 +00005Cr 1 ; Index this with (xPos << 3) + yPos +00005Cr 1 bgColor: +00005Cr 1 00 55 00 55 .BYTE $0, $55, $0, $55, $0, $55, $0, $55 +000060r 1 00 55 00 55 +000064r 1 55 00 55 00 .BYTE $55, $0, $55, $0, $55, $0, $55, $0 +000068r 1 55 00 55 00 +00006Cr 1 00 55 00 55 .BYTE $0, $55, $0, $55, $0, $55, $0, $55 +000070r 1 00 55 00 55 +000074r 1 55 00 55 00 .BYTE $55, $0, $55, $0, $55, $0, $55, $0 +000078r 1 55 00 55 00 +00007Cr 1 00 55 00 55 .BYTE $0, $55, $0, $55, $0, $55, $0, $55 +000080r 1 00 55 00 55 +000084r 1 55 00 55 00 .BYTE $55, $0, $55, $0, $55, $0, $55, $0 +000088r 1 55 00 55 00 +00008Cr 1 00 55 00 55 .BYTE $0, $55, $0, $55, $0, $55, $0, $55 +000090r 1 00 55 00 55 +000094r 1 55 00 55 00 .BYTE $55, $0, $55, $0, $55, $0, $55, $0 +000098r 1 55 00 55 00 +00009Cr 1 +00009Cr 1 ; Index this with (xPos << 3) + yPos +00009Cr 1 bgAuxColor: +00009Cr 1 00 AA 00 AA .BYTE $0, $aa, $0, $aa, $0, $aa, $0, $aa +0000A0r 1 00 AA 00 AA +0000A4r 1 AA 00 AA 00 .BYTE $aa, $0, $aa, $0, $aa, $0, $aa, $0 +0000A8r 1 AA 00 AA 00 +0000ACr 1 00 AA 00 AA .BYTE $0, $aa, $0, $aa, $0, $aa, $0, $aa +0000B0r 1 00 AA 00 AA +0000B4r 1 AA 00 AA 00 .BYTE $aa, $0, $aa, $0, $aa, $0, $aa, $0 +0000B8r 1 AA 00 AA 00 +0000BCr 1 00 AA 00 AA .BYTE $0, $aa, $0, $aa, $0, $aa, $0, $aa +0000C0r 1 00 AA 00 AA +0000C4r 1 AA 00 AA 00 .BYTE $aa, $0, $aa, $0, $aa, $0, $aa, $0 +0000C8r 1 AA 00 AA 00 +0000CCr 1 00 AA 00 AA .BYTE $0, $aa, $0, $aa, $0, $aa, $0, $aa +0000D0r 1 00 AA 00 AA +0000D4r 1 AA 00 AA 00 .BYTE $aa, $0, $aa, $0, $aa, $0, $aa, $0 +0000D8r 1 AA 00 AA 00 +0000DCr 1 +0000DCr 1 bgLoLines1: +0000DCr 1 00 80 00 A8 .LOBYTES LINE1, LINE4, LINE7, LINE10, LINE13, LINE16, LINE19, LINE22 +0000E0r 1 28 A8 50 D0 +0000E4r 1 bgLoLines2: +0000E4r 1 80 00 80 28 .LOBYTES LINE2, LINE5, LINE8, LINE11, LINE14, LINE17, LINE20, LINE23 +0000E8r 1 A8 50 D0 50 +0000ECr 1 bgLoLines3: +0000ECr 1 00 80 28 A8 .LOBYTES LINE3, LINE6, LINE9, LINE12, LINE15, LINE18, LINE21, LINE24 +0000F0r 1 28 D0 50 D0 +0000F4r 1 +0000F4r 1 bgHiLines1: +0000F4r 1 04 05 07 04 .HIBYTES LINE1, LINE4, LINE7, LINE10, LINE13, LINE16, LINE19, LINE22 +0000F8r 1 06 07 05 06 +0000FCr 1 bgHiLines2: +0000FCr 1 04 06 07 05 .HIBYTES LINE2, LINE5, LINE8, LINE11, LINE14, LINE17, LINE20, LINE23 +000100r 1 06 04 05 07 +000104r 1 bgHiLines3: +000104r 1 05 06 04 05 .HIBYTES LINE3, LINE6, LINE9, LINE12, LINE15, LINE18, LINE21, LINE24 +000108r 1 07 04 06 07 +00010Cr 1 +00010Cr 1 +00010Cr 1 orangeMask: +00010Cr 1 greenMask: +00010Cr 1 FF FF FF .BYTE $ff, $ff, $ff +00010Fr 1 FF 00 FF .BYTE $ff, $00, $ff +000112r 1 0F 00 F0 .BYTE $0f, $00, $f0 +000115r 1 0F 00 F0 .BYTE $0f, $00, $f0 +000118r 1 0F 00 F0 .BYTE $0f, $00, $f0 +00011Br 1 0F 00 F0 .BYTE $0f, $00, $f0 +00011Er 1 FF 00 FF .BYTE $ff, $00, $ff +000121r 1 FF FF FF .BYTE $ff, $ff, $ff +000124r 1 +000124r 1 orangeMask2: +000124r 1 greenMask2: +000124r 1 FF FF FF .BYTE $ff, $ff, $ff +000127r 1 FF 0F F0 .BYTE $ff, $0f, $f0 +00012Ar 1 FF 00 00 .BYTE $ff, $00, $00 +00012Dr 1 FF 00 00 .BYTE $ff, $00, $00 +000130r 1 FF 00 00 .BYTE $ff, $00, $00 +000133r 1 FF 00 00 .BYTE $ff, $00, $00 +000136r 1 FF 0F F0 .BYTE $ff, $0f, $f0 +000139r 1 FF FF FF .BYTE $ff, $ff, $ff +00013Cr 1 +00013Cr 1 +00013Cr 1 greyMask: +00013Cr 1 purpleMask: +00013Cr 1 FF FF FF .BYTE $ff, $ff, $ff +00013Fr 1 FF 0F F0 .BYTE $ff, $0f, $f0 +000142r 1 FF 00 F0 .BYTE $ff, $00, $f0 +000145r 1 0F 00 F0 .BYTE $0f, $00, $f0 +000148r 1 0F 00 F0 .BYTE $0f, $00, $f0 +00014Br 1 FF 00 F0 .BYTE $ff, $00, $f0 +00014Er 1 FF 0F F0 .BYTE $ff, $0f, $f0 +000151r 1 FF FF FF .BYTE $ff, $ff, $ff +000154r 1 +000154r 1 +000154r 1 greyMask2: +000154r 1 purpleMask2: +000154r 1 FF FF FF .BYTE $ff, $ff, $ff +000157r 1 FF FF 00 .BYTE $ff, $ff, $00 +00015Ar 1 FF 0F 00 .BYTE $ff, $0f, $00 +00015Dr 1 FF 00 00 .BYTE $ff, $00, $00 +000160r 1 FF 00 00 .BYTE $ff, $00, $00 +000163r 1 FF 0F 00 .BYTE $ff, $0f, $00 +000166r 1 FF FF 00 .BYTE $ff, $ff, $00 +000169r 1 FF FF FF .BYTE $ff, $ff, $ff +00016Cr 1 +00016Cr 1 +00016Cr 1 specialMask: +00016Cr 1 yellowMask: +00016Cr 1 FF FF FF .BYTE $ff, $ff, $ff +00016Fr 1 FF FF FF .BYTE $ff, $ff, $ff +000172r 1 FF 00 FF .BYTE $ff, $00, $ff +000175r 1 0F 00 F0 .BYTE $0f, $00, $f0 +000178r 1 0F 00 F0 .BYTE $0f, $00, $f0 +00017Br 1 FF 00 FF .BYTE $ff, $00, $ff +00017Er 1 FF FF FF .BYTE $ff, $ff, $ff +000181r 1 FF FF FF .BYTE $ff, $ff, $ff +000184r 1 +000184r 1 +000184r 1 specialMask2: +000184r 1 yellowMask2: +000184r 1 FF FF FF .BYTE $ff, $ff, $ff +000187r 1 FF FF FF .BYTE $ff, $ff, $ff +00018Ar 1 FF 0F F0 .BYTE $ff, $0f, $f0 +00018Dr 1 FF 00 00 .BYTE $ff, $00, $00 +000190r 1 FF 00 00 .BYTE $ff, $00, $00 +000193r 1 FF 0F F0 .BYTE $ff, $0f, $f0 +000196r 1 FF FF FF .BYTE $ff, $ff, $ff +000199r 1 FF FF FF .BYTE $ff, $ff, $ff +00019Cr 1 +00019Cr 1 +00019Cr 1 blueMask: +00019Cr 1 FF FF FF .BYTE $ff, $ff, $ff +00019Fr 1 FF F0 FF .BYTE $ff, $f0, $ff +0001A2r 1 0F 00 FF .BYTE $0f, $00, $ff +0001A5r 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001A8r 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001ABr 1 0F 00 FF .BYTE $0f, $00, $ff +0001AEr 1 FF F0 FF .BYTE $ff, $f0, $ff +0001B1r 1 FF FF FF .BYTE $ff, $ff, $ff +0001B4r 1 +0001B4r 1 +0001B4r 1 blueMask2: +0001B4r 1 FF FF FF .BYTE $ff, $ff, $ff +0001B7r 1 FF 0F FF .BYTE $ff, $0f, $ff +0001BAr 1 FF 00 F0 .BYTE $ff, $00, $f0 +0001BDr 1 FF 00 00 .BYTE $ff, $00, $00 +0001C0r 1 FF 00 00 .BYTE $ff, $00, $00 +0001C3r 1 FF 00 F0 .BYTE $ff, $00, $f0 +0001C6r 1 FF 0F FF .BYTE $ff, $0f, $ff +0001C9r 1 FF FF FF .BYTE $ff, $ff, $ff +0001CCr 1 +0001CCr 1 +0001CCr 1 redMask: +0001CCr 1 FF FF FF .BYTE $ff, $ff, $ff +0001CFr 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001D2r 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001D5r 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001D8r 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001DBr 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001DEr 1 0F 00 F0 .BYTE $0f, $00, $f0 +0001E1r 1 FF FF FF .BYTE $ff, $ff, $ff +0001E4r 1 +0001E4r 1 +0001E4r 1 redMask2: +0001E4r 1 FF FF FF .BYTE $ff, $ff, $ff +0001E7r 1 FF 00 00 .BYTE $ff, $00, $00 +0001EAr 1 FF 00 00 .BYTE $ff, $00, $00 +0001EDr 1 FF 00 00 .BYTE $ff, $00, $00 +0001F0r 1 FF 00 00 .BYTE $ff, $00, $00 +0001F3r 1 FF 00 00 .BYTE $ff, $00, $00 +0001F6r 1 FF 00 00 .BYTE $ff, $00, $00 +0001F9r 1 FF FF FF .BYTE $ff, $ff, $ff +0001FCr 1 +0001FCr 1 +0001FCr 1 selectMask: +0001FCr 1 selectMask2: +0001FCr 1 00 00 00 .BYTE $00, $00, $00 +0001FFr 1 F0 FF 0F .BYTE $f0, $ff, $0f +000202r 1 F0 FF 0F .BYTE $f0, $ff, $0f +000205r 1 F0 FF 0F .BYTE $f0, $ff, $0f +000208r 1 F0 FF 0F .BYTE $f0, $ff, $0f +00020Br 1 F0 FF 0F .BYTE $f0, $ff, $0f +00020Er 1 F0 FF 0F .BYTE $f0, $ff, $0f +000211r 1 00 00 00 .BYTE $00, $00, $00 +000214r 1 +000214r 1 +000214r 1 ; The order of these must match the defines for the gems in types.h. +000214r 1 ; I also reuse 0 to mean "select" which isn't a real gem type but I +000214r 1 ; draw it like a gem. +000214r 1 +000214r 1 maskLoAddrs: +000214r 1 rr rr rr rr .LOBYTES selectMask, greenMask, redMask, purpleMask, orangeMask +000218r 1 rr +000219r 1 rr rr rr rr .LOBYTES greyMask, yellowMask, blueMask, specialMask +00021Dr 1 +00021Dr 1 maskHiAddrs: +00021Dr 1 rr rr rr rr .HIBYTES selectMask, greenMask, redMask, purpleMask, orangeMask +000221r 1 rr +000222r 1 rr rr rr rr .HIBYTES greyMask, yellowMask, blueMask, specialMask +000226r 1 +000226r 1 maskLoAddrs2: +000226r 1 rr rr rr rr .LOBYTES selectMask2, greenMask2, redMask2, purpleMask2, orangeMask2 +00022Ar 1 rr +00022Br 1 rr rr rr rr .LOBYTES greyMask2, yellowMask2, blueMask2, specialMask2 +00022Fr 1 +00022Fr 1 maskHiAddrs2: +00022Fr 1 rr rr rr rr .HIBYTES selectMask2, greenMask2, redMask2, purpleMask2, orangeMask2 +000233r 1 rr +000234r 1 rr rr rr rr .HIBYTES greyMask2, yellowMask2, blueMask2, specialMask2 +000238r 1 +000238r 1 gemColours: +000238r 1 FF .BYTE $ff ; select "gem" colour +000239r 1 CC .BYTE $cc ; green gem colour +00023Ar 1 11 .BYTE $11 ; red gem colour +00023Br 1 33 .BYTE $33 ; purple gem colour +00023Cr 1 99 .BYTE $99 ; orange gem colour +00023Dr 1 22 .BYTE $22 ; grey gem colour +00023Er 1 DD .BYTE $dd ; yellow gem colour +00023Fr 1 66 .BYTE $66 ; blue gem colour +000240r 1 FF .BYTE $ff ; special gem colour +000241r 1 gemAuxColours: +000241r 1 FF .BYTE $ff ; select "gem" colour +000242r 1 66 .BYTE $66 ; green gem colour +000243r 1 88 .BYTE $88 ; red gem colour +000244r 1 99 .BYTE $99 ; purple gem colour +000245r 1 CC .BYTE $cc ; orange gem colour +000246r 1 11 .BYTE $11 ; grey gem colour +000247r 1 EE .BYTE $ee ; yellow gem colour +000248r 1 33 .BYTE $33 ; blue gem colour +000249r 1 FF .BYTE $ff ; special gem colour +000249r 1 diff --git a/a2bejwld/dbllores.o b/a2bejwld/dbllores.o new file mode 100644 index 0000000..caee17a Binary files /dev/null and b/a2bejwld/dbllores.o differ diff --git a/a2bejwld/drivers/a2_mouse_drv.h b/a2bejwld/drivers/a2_mouse_drv.h new file mode 100644 index 0000000..477227b --- /dev/null +++ b/a2bejwld/drivers/a2_mouse_drv.h @@ -0,0 +1,2 @@ +#include +extern char a2_mouse_drv; diff --git a/a2bejwld/drivers/a2_mouse_drv.lst b/a2bejwld/drivers/a2_mouse_drv.lst new file mode 100644 index 0000000..3516a95 --- /dev/null +++ b/a2bejwld/drivers/a2_mouse_drv.lst @@ -0,0 +1,433 @@ +ca65 V2.13.3 - (C) Copyright 1998-2012 Ullrich von Bassewitz +Main file : drivers/a2_mouse_drv.s +Current file: drivers/a2_mouse_drv.s + +000000r 1 ; +000000r 1 ; File generated by co65 v 2.13.3 using model `cc65-module' +000000r 1 ; +000000r 1 .fopt compiler,"co65 v 2.13.3" +000000r 1 .case on +000000r 1 .debuginfo off +000000r 1 .export _a2_mouse_drv +000000r 1 +000000r 1 ; +000000r 1 ; CODE SEGMENT +000000r 1 ; +000000r 1 .segment "CODE" +000000r 1 _a2_mouse_drv: +000000r 1 6D .byte $6D +000001r 1 6F .byte $6F +000002r 1 75 .byte $75 +000003r 1 02 .byte $02 +000004r 1 rr rr .word _a2_mouse_drv+41 +000006r 1 rr rr .word _a2_mouse_drv+170 +000008r 1 rr rr .word _a2_mouse_drv+286 +00000Ar 1 rr rr .word _a2_mouse_drv+295 +00000Cr 1 rr rr .word _a2_mouse_drv+180 +00000Er 1 rr rr .word _a2_mouse_drv+238 +000010r 1 rr rr .word _a2_mouse_drv+253 +000012r 1 rr rr .word _a2_mouse_drv+299 +000014r 1 rr rr .word _a2_mouse_drv+305 +000016r 1 rr rr .word _a2_mouse_drv+309 +000018r 1 rr rr .word _a2_mouse_drv+322 +00001Ar 1 rr rr .word _a2_mouse_drv+327 +00001Cr 1 40 .byte $40 +00001Dr 1 4C .byte $4C +00001Er 1 00 .byte $00 +00001Fr 1 00 .byte $00 +000020r 1 4C .byte $4C +000021r 1 00 .byte $00 +000022r 1 00 .byte $00 +000023r 1 4C .byte $4C +000024r 1 00 .byte $00 +000025r 1 00 .byte $00 +000026r 1 4C .byte $4C +000027r 1 00 .byte $00 +000028r 1 00 .byte $00 +000029r 1 A9 .byte $A9 +00002Ar 1 00 .byte $00 +00002Br 1 85 .byte $85 +00002Cr 1 rr .byte <(ZEROPAGE+8) +00002Dr 1 A9 .byte $A9 +00002Er 1 C0 .byte $C0 +00002Fr 1 85 .byte $85 +000030r 1 rr .byte <(ZEROPAGE+9) +000031r 1 E6 .byte $E6 +000032r 1 rr .byte <(ZEROPAGE+9) +000033r 1 A5 .byte $A5 +000034r 1 rr .byte <(ZEROPAGE+9) +000035r 1 C9 .byte $C9 +000036r 1 C8 .byte $C8 +000037r 1 90 .byte $90 +000038r 1 05 .byte $05 +000039r 1 A9 .byte $A9 +00003Ar 1 04 .byte $04 +00003Br 1 A2 .byte $A2 +00003Cr 1 00 .byte $00 +00003Dr 1 60 .byte $60 +00003Er 1 A2 .byte $A2 +00003Fr 1 03 .byte $03 +000040r 1 BC .byte $BC +000041r 1 rr rr .word _a2_mouse_drv+421 +000043r 1 BD .byte $BD +000044r 1 rr rr .word _a2_mouse_drv+425 +000046r 1 D1 .byte $D1 +000047r 1 rr .byte <(ZEROPAGE+8) +000048r 1 D0 .byte $D0 +000049r 1 E7 .byte $E7 +00004Ar 1 CA .byte $CA +00004Br 1 10 .byte $10 +00004Cr 1 F3 .byte $F3 +00004Dr 1 A5 .byte $A5 +00004Er 1 rr .byte <(ZEROPAGE+9) +00004Fr 1 8D .byte $8D +000050r 1 rr rr .word DATA+2 +000052r 1 8D .byte $8D +000053r 1 rr rr .word DATA+7 +000055r 1 8D .byte $8D +000056r 1 rr rr .word DATA+12 +000058r 1 78 .byte $78 +000059r 1 29 .byte $29 +00005Ar 1 0F .byte $0F +00005Br 1 8D .byte $8D +00005Cr 1 rr rr .word BSS+13 +00005Er 1 0A .byte $0A +00005Fr 1 0A .byte $0A +000060r 1 0A .byte $0A +000061r 1 0A .byte $0A +000062r 1 8D .byte $8D +000063r 1 rr rr .word DATA+9 +000065r 1 2C .byte $2C +000066r 1 82 .byte $82 +000067r 1 C0 .byte $C0 +000068r 1 A2 .byte $A2 +000069r 1 19 .byte $19 +00006Ar 1 20 .byte $20 +00006Br 1 rr rr .word DATA+0 +00006Dr 1 2C .byte $2C +00006Er 1 80 .byte $80 +00006Fr 1 C0 .byte $C0 +000070r 1 A9 .byte $A9 +000071r 1 01 .byte $01 +000072r 1 A2 .byte $A2 +000073r 1 12 .byte $12 +000074r 1 20 .byte $20 +000075r 1 rr rr .word DATA+0 +000077r 1 A9 .byte $A9 +000078r 1 rr .byte <(_a2_mouse_drv+173) +000079r 1 A2 .byte $A2 +00007Ar 1 rr .byte >(_a2_mouse_drv+429) +00007Br 1 20 .byte $20 +00007Cr 1 rr rr .word _a2_mouse_drv+180 +00007Er 1 AE .byte $AE +00007Fr 1 rr rr .word BSS+13 +000081r 1 A9 .byte $A9 +000082r 1 8B .byte $8B +000083r 1 9D .byte $9D +000084r 1 78 .byte $78 +000085r 1 04 .byte $04 +000086r 1 A9 .byte $A9 +000087r 1 00 .byte $00 +000088r 1 9D .byte $9D +000089r 1 78 .byte $78 +00008Ar 1 05 .byte $05 +00008Br 1 A9 .byte $A9 +00008Cr 1 5F .byte $5F +00008Dr 1 9D .byte $9D +00008Er 1 F8 .byte $F8 +00008Fr 1 04 .byte $04 +000090r 1 A9 .byte $A9 +000091r 1 00 .byte $00 +000092r 1 9D .byte $9D +000093r 1 F8 .byte $F8 +000094r 1 05 .byte $05 +000095r 1 A2 .byte $A2 +000096r 1 16 .byte $16 +000097r 1 20 .byte $20 +000098r 1 rr rr .word DATA+0 +00009Ar 1 20 .byte $20 +00009Br 1 rr rr .word _a2_mouse_drv+372 +00009Dr 1 A9 .byte $A9 +00009Er 1 09 .byte $09 +00009Fr 1 A2 .byte $A2 +0000A0r 1 12 .byte $12 +0000A1r 1 20 .byte $20 +0000A2r 1 rr rr .word DATA+0 +0000A4r 1 58 .byte $58 +0000A5r 1 A9 .byte $A9 +0000A6r 1 00 .byte $00 +0000A7r 1 A2 .byte $A2 +0000A8r 1 00 .byte $00 +0000A9r 1 60 .byte $60 +0000AAr 1 78 .byte $78 +0000ABr 1 20 .byte $20 +0000ACr 1 rr rr .word _a2_mouse_drv+29 +0000AEr 1 A9 .byte $A9 +0000AFr 1 00 .byte $00 +0000B0r 1 A2 .byte $A2 +0000B1r 1 12 .byte $12 +0000B2r 1 D0 .byte $D0 +0000B3r 1 ED .byte $ED +0000B4r 1 85 .byte $85 +0000B5r 1 rr .byte <(ZEROPAGE+8) +0000B6r 1 86 .byte $86 +0000B7r 1 rr .byte <(ZEROPAGE+9) +0000B8r 1 A2 .byte $A2 +0000B9r 1 00 .byte $00 +0000BAr 1 A0 .byte $A0 +0000BBr 1 00 .byte $00 +0000BCr 1 20 .byte $20 +0000BDr 1 rr rr .word _a2_mouse_drv+195 +0000BFr 1 A2 .byte $A2 +0000C0r 1 01 .byte $01 +0000C1r 1 A0 .byte $A0 +0000C2r 1 02 .byte $02 +0000C3r 1 78 .byte $78 +0000C4r 1 B1 .byte $B1 +0000C5r 1 rr .byte <(ZEROPAGE+8) +0000C6r 1 99 .byte $99 +0000C7r 1 rr rr .word BSS+0 +0000C9r 1 8D .byte $8D +0000CAr 1 78 .byte $78 +0000CBr 1 04 .byte $04 +0000CCr 1 C8 .byte $C8 +0000CDr 1 B1 .byte $B1 +0000CEr 1 rr .byte <(ZEROPAGE+8) +0000CFr 1 99 .byte $99 +0000D0r 1 rr rr .word BSS+0 +0000D2r 1 8D .byte $8D +0000D3r 1 78 .byte $78 +0000D4r 1 05 .byte $05 +0000D5r 1 C8 .byte $C8 +0000D6r 1 C8 .byte $C8 +0000D7r 1 C8 .byte $C8 +0000D8r 1 B1 .byte $B1 +0000D9r 1 rr .byte <(ZEROPAGE+8) +0000DAr 1 99 .byte $99 +0000DBr 1 rr rr .word BSS+0 +0000DDr 1 8D .byte $8D +0000DEr 1 F8 .byte $F8 +0000DFr 1 04 .byte $04 +0000E0r 1 C8 .byte $C8 +0000E1r 1 B1 .byte $B1 +0000E2r 1 rr .byte <(ZEROPAGE+8) +0000E3r 1 99 .byte $99 +0000E4r 1 rr rr .word BSS+0 +0000E6r 1 8D .byte $8D +0000E7r 1 F8 .byte $F8 +0000E8r 1 05 .byte $05 +0000E9r 1 8A .byte $8A +0000EAr 1 A2 .byte $A2 +0000EBr 1 17 .byte $17 +0000ECr 1 D0 .byte $D0 +0000EDr 1 B3 .byte $B3 +0000EEr 1 85 .byte $85 +0000EFr 1 rr .byte <(ZEROPAGE+8) +0000F0r 1 86 .byte $86 +0000F1r 1 rr .byte <(ZEROPAGE+9) +0000F2r 1 A0 .byte $A0 +0000F3r 1 07 .byte $07 +0000F4r 1 B9 .byte $B9 +0000F5r 1 rr rr .word BSS+0 +0000F7r 1 91 .byte $91 +0000F8r 1 rr .byte <(ZEROPAGE+8) +0000F9r 1 88 .byte $88 +0000FAr 1 10 .byte $10 +0000FBr 1 F8 .byte $F8 +0000FCr 1 60 .byte $60 +0000FDr 1 AC .byte $AC +0000FEr 1 rr rr .word BSS+13 +000100r 1 78 .byte $78 +000101r 1 99 .byte $99 +000102r 1 F8 .byte $F8 +000103r 1 04 .byte $04 +000104r 1 8A .byte $8A +000105r 1 99 .byte $99 +000106r 1 F8 .byte $F8 +000107r 1 05 .byte $05 +000108r 1 98 .byte $98 +000109r 1 AA .byte $AA +00010Ar 1 A0 .byte $A0 +00010Br 1 00 .byte $00 +00010Cr 1 B1 .byte $B1 +00010Dr 1 rr .byte <(ZEROPAGE+0) +00010Er 1 C8 .byte $C8 +00010Fr 1 9D .byte $9D +000110r 1 78 .byte $78 +000111r 1 04 .byte $04 +000112r 1 B1 .byte $B1 +000113r 1 rr .byte <(ZEROPAGE+0) +000114r 1 9D .byte $9D +000115r 1 78 .byte $78 +000116r 1 05 .byte $05 +000117r 1 20 .byte $20 +000118r 1 rr rr .word _a2_mouse_drv+372 +00011Ar 1 A2 .byte $A2 +00011Br 1 16 .byte $16 +00011Cr 1 D0 .byte $D0 +00011Dr 1 83 .byte $83 +00011Er 1 CE .byte $CE +00011Fr 1 rr rr .word BSS+14 +000121r 1 78 .byte $78 +000122r 1 20 .byte $20 +000123r 1 rr rr .word _a2_mouse_drv+29 +000125r 1 58 .byte $58 +000126r 1 60 .byte $60 +000127r 1 EE .byte $EE +000128r 1 rr rr .word BSS+14 +00012Ar 1 60 .byte $60 +00012Br 1 AD .byte $AD +00012Cr 1 rr rr .word BSS+12 +00012Er 1 A2 .byte $A2 +00012Fr 1 00 .byte $00 +000130r 1 60 .byte $60 +000131r 1 A0 .byte $A0 +000132r 1 03 .byte $03 +000133r 1 D0 .byte $D0 +000134r 1 02 .byte $02 +000135r 1 A0 .byte $A0 +000136r 1 04 .byte $04 +000137r 1 78 .byte $78 +000138r 1 B9 .byte $B9 +000139r 1 rr rr .word BSS+8 +00013Br 1 91 .byte $91 +00013Cr 1 rr .byte <(ZEROPAGE+8) +00013Dr 1 88 .byte $88 +00013Er 1 10 .byte $10 +00013Fr 1 F8 .byte $F8 +000140r 1 58 .byte $58 +000141r 1 60 .byte $60 +000142r 1 A9 .byte $A9 +000143r 1 05 .byte $05 +000144r 1 A2 .byte $A2 +000145r 1 00 .byte $00 +000146r 1 60 .byte $60 +000147r 1 AD .byte $AD +000148r 1 rr rr .word BSS+13 +00014Ar 1 F0 .byte $F0 +00014Br 1 08 .byte $08 +00014Cr 1 A2 .byte $A2 +00014Dr 1 13 .byte $13 +00014Er 1 20 .byte $20 +00014Fr 1 rr rr .word DATA+0 +000151r 1 90 .byte $90 +000152r 1 02 .byte $02 +000153r 1 18 .byte $18 +000154r 1 60 .byte $60 +000155r 1 A2 .byte $A2 +000156r 1 14 .byte $14 +000157r 1 20 .byte $20 +000158r 1 rr rr .word DATA+0 +00015Ar 1 AC .byte $AC +00015Br 1 rr rr .word BSS+13 +00015Dr 1 B9 .byte $B9 +00015Er 1 78 .byte $78 +00015Fr 1 07 .byte $07 +000160r 1 AA .byte $AA +000161r 1 0A .byte $0A +000162r 1 29 .byte $29 +000163r 1 20 .byte $20 +000164r 1 F0 .byte $F0 +000165r 1 02 .byte $02 +000166r 1 A9 .byte $A9 +000167r 1 01 .byte $01 +000168r 1 90 .byte $90 +000169r 1 02 .byte $02 +00016Ar 1 09 .byte $09 +00016Br 1 10 .byte $10 +00016Cr 1 8D .byte $8D +00016Dr 1 rr rr .word BSS+12 +00016Fr 1 8A .byte $8A +000170r 1 29 .byte $29 +000171r 1 20 .byte $20 +000172r 1 F0 .byte $F0 +000173r 1 27 .byte $27 +000174r 1 20 .byte $20 +000175r 1 rr rr .word _a2_mouse_drv+29 +000177r 1 AC .byte $AC +000178r 1 rr rr .word BSS+13 +00017Ar 1 B9 .byte $B9 +00017Br 1 78 .byte $78 +00017Cr 1 04 .byte $04 +00017Dr 1 BE .byte $BE +00017Er 1 78 .byte $78 +00017Fr 1 05 .byte $05 +000180r 1 8D .byte $8D +000181r 1 rr rr .word BSS+8 +000183r 1 8E .byte $8E +000184r 1 rr rr .word BSS+9 +000186r 1 20 .byte $20 +000187r 1 rr rr .word _a2_mouse_drv+35 +000189r 1 AC .byte $AC +00018Ar 1 rr rr .word BSS+13 +00018Cr 1 B9 .byte $B9 +00018Dr 1 F8 .byte $F8 +00018Er 1 04 .byte $04 +00018Fr 1 BE .byte $BE +000190r 1 F8 .byte $F8 +000191r 1 05 .byte $05 +000192r 1 8D .byte $8D +000193r 1 rr rr .word BSS+10 +000195r 1 8E .byte $8E +000196r 1 rr rr .word BSS+11 +000198r 1 20 .byte $20 +000199r 1 rr rr .word _a2_mouse_drv+38 +00019Br 1 AD .byte $AD +00019Cr 1 rr rr .word BSS+14 +00019Er 1 F0 .byte $F0 +00019Fr 1 03 .byte $03 +0001A0r 1 20 .byte $20 +0001A1r 1 rr rr .word _a2_mouse_drv+32 +0001A3r 1 38 .byte $38 +0001A4r 1 60 .byte $60 +0001A5r 1 05 .byte $05 +0001A6r 1 07 .byte $07 +0001A7r 1 0B .byte $0B +0001A8r 1 0C .byte $0C +0001A9r 1 38 .byte $38 +0001AAr 1 18 .byte $18 +0001ABr 1 01 .byte $01 +0001ACr 1 20 .byte $20 +0001ADr 1 00 .byte $00 +0001AEr 1 00 .byte $00 +0001AFr 1 00 .byte $00 +0001B0r 1 00 .byte $00 +0001B1r 1 17 .byte $17 +0001B2r 1 01 .byte $01 +0001B3r 1 BF .byte $BF +0001B4r 1 00 .byte $00 +0001B5r 1 +0001B5r 1 ; +0001B5r 1 ; DATA SEGMENT +0001B5r 1 ; +0001B5r 1 .segment "DATA" +000000r 1 DATA: +000000r 1 BC .byte $BC +000001r 1 00 .byte $00 +000002r 1 FF .byte $FF +000003r 1 8C .byte $8C +000004r 1 rr rr .word DATA+11 +000006r 1 A2 .byte $A2 +000007r 1 FF .byte $FF +000008r 1 A0 .byte $A0 +000009r 1 FF .byte $FF +00000Ar 1 4C .byte $4C +00000Br 1 FF .byte $FF +00000Cr 1 FF .byte $FF +00000Dr 1 +00000Dr 1 ; +00000Dr 1 ; BSS SEGMENT +00000Dr 1 ; +00000Dr 1 .segment "BSS" +000000r 1 BSS: +000000r 1 xx xx xx xx .res 15 +000004r 1 xx xx xx xx +000008r 1 xx xx xx xx +00000Fr 1 +00000Fr 1 ; +00000Fr 1 ; ZEROPAGE SEGMENT +00000Fr 1 ; +00000Fr 1 .import __ZP_START__ ; Linker generated symbol +00000Fr 1 ZEROPAGE = __ZP_START__ +00000Fr 1 +00000Fr 1 .end diff --git a/a2bejwld/drivers/a2_mouse_drv.o b/a2bejwld/drivers/a2_mouse_drv.o new file mode 100644 index 0000000..568ac26 Binary files /dev/null and b/a2bejwld/drivers/a2_mouse_drv.o differ diff --git a/a2bejwld/a2e.stdmou.s b/a2bejwld/drivers/a2_mouse_drv.s similarity index 86% rename from a2bejwld/a2e.stdmou.s rename to a2bejwld/drivers/a2_mouse_drv.s index 4dfb3b3..bd1dc16 100644 --- a/a2bejwld/a2e.stdmou.s +++ b/a2bejwld/drivers/a2_mouse_drv.s @@ -4,29 +4,29 @@ .fopt compiler,"co65 v 2.13.3" .case on .debuginfo off -.export _a2e_stdmou_mou +.export _a2_mouse_drv ; ; CODE SEGMENT ; .segment "CODE" -_a2e_stdmou_mou: +_a2_mouse_drv: .byte $6D .byte $6F .byte $75 .byte $02 - .word _a2e_stdmou_mou+41 - .word _a2e_stdmou_mou+170 - .word _a2e_stdmou_mou+286 - .word _a2e_stdmou_mou+295 - .word _a2e_stdmou_mou+180 - .word _a2e_stdmou_mou+238 - .word _a2e_stdmou_mou+253 - .word _a2e_stdmou_mou+299 - .word _a2e_stdmou_mou+305 - .word _a2e_stdmou_mou+309 - .word _a2e_stdmou_mou+322 - .word _a2e_stdmou_mou+327 + .word _a2_mouse_drv+41 + .word _a2_mouse_drv+170 + .word _a2_mouse_drv+286 + .word _a2_mouse_drv+295 + .word _a2_mouse_drv+180 + .word _a2_mouse_drv+238 + .word _a2_mouse_drv+253 + .word _a2_mouse_drv+299 + .word _a2_mouse_drv+305 + .word _a2_mouse_drv+309 + .word _a2_mouse_drv+322 + .word _a2_mouse_drv+327 .byte $40 .byte $4C .byte $00 @@ -64,9 +64,9 @@ _a2e_stdmou_mou: .byte $A2 .byte $03 .byte $BC - .word _a2e_stdmou_mou+421 + .word _a2_mouse_drv+421 .byte $BD - .word _a2e_stdmou_mou+425 + .word _a2_mouse_drv+425 .byte $D1 .byte <(ZEROPAGE+8) .byte $D0 @@ -110,11 +110,11 @@ _a2e_stdmou_mou: .byte $20 .word DATA+0 .byte $A9 - .byte <(_a2e_stdmou_mou+173) + .byte <(_a2_mouse_drv+173) .byte $A2 - .byte >(_a2e_stdmou_mou+429) + .byte >(_a2_mouse_drv+429) .byte $20 - .word _a2e_stdmou_mou+180 + .word _a2_mouse_drv+180 .byte $AE .word BSS+13 .byte $A9 @@ -142,7 +142,7 @@ _a2e_stdmou_mou: .byte $20 .word DATA+0 .byte $20 - .word _a2e_stdmou_mou+372 + .word _a2_mouse_drv+372 .byte $A9 .byte $09 .byte $A2 @@ -157,7 +157,7 @@ _a2e_stdmou_mou: .byte $60 .byte $78 .byte $20 - .word _a2e_stdmou_mou+29 + .word _a2_mouse_drv+29 .byte $A9 .byte $00 .byte $A2 @@ -173,7 +173,7 @@ _a2e_stdmou_mou: .byte $A0 .byte $00 .byte $20 - .word _a2e_stdmou_mou+195 + .word _a2_mouse_drv+195 .byte $A2 .byte $01 .byte $A0 @@ -257,7 +257,7 @@ _a2e_stdmou_mou: .byte $78 .byte $05 .byte $20 - .word _a2e_stdmou_mou+372 + .word _a2_mouse_drv+372 .byte $A2 .byte $16 .byte $D0 @@ -266,7 +266,7 @@ _a2e_stdmou_mou: .word BSS+14 .byte $78 .byte $20 - .word _a2e_stdmou_mou+29 + .word _a2_mouse_drv+29 .byte $58 .byte $60 .byte $EE @@ -339,7 +339,7 @@ _a2e_stdmou_mou: .byte $F0 .byte $27 .byte $20 - .word _a2e_stdmou_mou+29 + .word _a2_mouse_drv+29 .byte $AC .word BSS+13 .byte $B9 @@ -353,7 +353,7 @@ _a2e_stdmou_mou: .byte $8E .word BSS+9 .byte $20 - .word _a2e_stdmou_mou+35 + .word _a2_mouse_drv+35 .byte $AC .word BSS+13 .byte $B9 @@ -367,13 +367,13 @@ _a2e_stdmou_mou: .byte $8E .word BSS+11 .byte $20 - .word _a2e_stdmou_mou+38 + .word _a2_mouse_drv+38 .byte $AD .word BSS+14 .byte $F0 .byte $03 .byte $20 - .word _a2e_stdmou_mou+32 + .word _a2_mouse_drv+32 .byte $38 .byte $60 .byte $05 diff --git a/a2bejwld/game.o b/a2bejwld/game.o new file mode 100644 index 0000000..68f13ab Binary files /dev/null and b/a2bejwld/game.o differ diff --git a/a2bejwld/game.u b/a2bejwld/game.u new file mode 100644 index 0000000..6ea519d --- /dev/null +++ b/a2bejwld/game.u @@ -0,0 +1,2 @@ +game.o: game.c /usr/local/lib/cc65/include/stdbool.h /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/stdarg.h /usr/local/lib/cc65/include/stdlib.h /usr/local/lib/cc65/include/string.h /usr/local/lib/cc65/include/conio.h /usr/local/lib/cc65/include/apple2enh.h /usr/local/lib/cc65/include/apple2.h game.h types.h /usr/local/lib/cc65/include/stdint.h + diff --git a/a2bejwld/joystick.o b/a2bejwld/joystick.o new file mode 100644 index 0000000..fee2251 Binary files /dev/null and b/a2bejwld/joystick.o differ diff --git a/a2bejwld/joystick.u b/a2bejwld/joystick.u new file mode 100644 index 0000000..b60a6a5 --- /dev/null +++ b/a2bejwld/joystick.u @@ -0,0 +1,2 @@ +joystick.o: joystick.c /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/stdarg.h /usr/local/lib/cc65/include/string.h joystick.h /usr/local/lib/cc65/include/stdint.h /usr/local/lib/cc65/include/stdbool.h + diff --git a/a2bejwld/machine.c b/a2bejwld/machine.c index fdfed8a..8918192 100644 --- a/a2bejwld/machine.c +++ b/a2bejwld/machine.c @@ -100,4 +100,4 @@ void uninitMachine(void) if (machineIs2GS()) { setGSSpeed(gOldSpeed); } -} \ No newline at end of file +} diff --git a/a2bejwld/machine.o b/a2bejwld/machine.o new file mode 100644 index 0000000..f64cfb5 Binary files /dev/null and b/a2bejwld/machine.o differ diff --git a/a2bejwld/machine.u b/a2bejwld/machine.u new file mode 100644 index 0000000..fb83161 --- /dev/null +++ b/a2bejwld/machine.u @@ -0,0 +1,2 @@ +machine.o: machine.c /usr/local/lib/cc65/include/apple2.h /usr/local/lib/cc65/include/stdbool.h /usr/local/lib/cc65/include/stdint.h machine.h vbl.h + diff --git a/a2bejwld/main.o b/a2bejwld/main.o new file mode 100644 index 0000000..52929f6 Binary files /dev/null and b/a2bejwld/main.o differ diff --git a/a2bejwld/main.u b/a2bejwld/main.u new file mode 100644 index 0000000..0d8f01b --- /dev/null +++ b/a2bejwld/main.u @@ -0,0 +1,2 @@ +main.o: main.c /usr/local/lib/cc65/include/stdbool.h ui.h + diff --git a/a2bejwld/make/AppleCommander.jar b/a2bejwld/make/AppleCommander.jar index f74e7cb..4d61bfc 100644 Binary files a/a2bejwld/make/AppleCommander.jar and b/a2bejwld/make/AppleCommander.jar differ diff --git a/a2bejwld/make/DevApple.vii b/a2bejwld/make/DevApple.vii index 964dbc1..d6eb59b 100644 Binary files a/a2bejwld/make/DevApple.vii and b/a2bejwld/make/DevApple.vii differ diff --git a/a2bejwld/make/V2Make.scpt b/a2bejwld/make/V2Make.scpt index 792f97b..d5ed732 100644 Binary files a/a2bejwld/make/V2Make.scpt and b/a2bejwld/make/V2Make.scpt differ diff --git a/a2bejwld/make/createDiskImage b/a2bejwld/make/createDiskImage index 276c036..25e1c47 100755 --- a/a2bejwld/make/createDiskImage +++ b/a2bejwld/make/createDiskImage @@ -29,10 +29,19 @@ then fi APPLECOMMANDER=$1 -MACHINE=$2 -DISKIMAGE=$3 -PROGRAM=$4 -STARTADDR=`echo $5 | sed 's/^0*//'` +shift + +MACHINE=$1 +shift + +DISKIMAGE=$1 +shift + +PROGRAM=$1 +shift + +STARTADDR=`echo $1 | sed 's/^0*//'` +shift if [ ! -f "$PROGRAM" ] then @@ -148,7 +157,7 @@ case "$MACHINE" in HASHEADER=1 FILETYPE="bin" TARGETFILE=`basename $PROGRAM` - MAXFILENAMELEN=8 + MAXFILENAMELEN=15 ;; *) @@ -185,7 +194,7 @@ then rm -f "$DISKIMAGE" exit 1 fi - "$JAVA" -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys + "$JAVA" -jar "$APPLECOMMANDER" -g "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys "$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM fi @@ -206,3 +215,54 @@ then else "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM" fi + +for DIR in $* +do + if [ ! -d "$DIR" ] + then + echo Unable to find directory $DIR + exit 1 + fi + + OLDPWD=`pwd` + cd $DIR + + find . -type f -print | while read FILE + do + TRANSFERARG=-p + FILETYPE=bin + DESTFILE=`echo $FILE | sed 's/^\.\///'` + + if echo $FILE | egrep '\.as$' > /dev/null + then + # If the file ends with .as, this means the input is AppleSingle format. + # Strip the .as from the end of the file name and set the args to do + # an AppleSingle transfer. + TRANSFERARG=-as + FILETYPE="" + DESTFILE=`echo $DESTFILE | sed 's/\.as$//'` + elif echo $FILE | egrep '\.[ABITSRab]$' > /dev/null + then + # If the file ends with a single character DOS 3.3 file type, then use + # that as the file type. + FILETYPE=`echo $DESTFILE | awk -F. '{print $NF}'` + DESTFILE=`echo $DESTFILE | sed 's/\.[ABITSRab]$//'` + elif echo $FILE | egrep '\.[a-zA-Z][a-zA-Z][a-zA-Z]$' > /dev/null + then + # If the file ends with a three letter extension, use that as + # the file type. + FILETYPE=`echo $DESTFILE | awk -F. '{print $NF}'` + DESTFILE=`echo $DESTFILE | sed 's/\.[a-zA-Z][a-zA-Z][a-zA-Z]$//'` + fi + + # If the file type is text, convert the line feeds to carriage return + if [ $FILETYPE = txt ] || [ $FILETYPE = T ] + then + tr '\n' '\r' < $FILE | "$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE + else + "$JAVA" -jar "$OLDPWD/$APPLECOMMANDER" $TRANSFERARG "$OLDPWD/$DISKIMAGE" "$DESTFILE" $FILETYPE < $FILE + fi + done + + cd "$OLDPWD" +done diff --git a/a2bejwld/make/head.mk b/a2bejwld/make/head.mk index 0710ce8..0f3205f 100644 --- a/a2bejwld/make/head.mk +++ b/a2bejwld/make/head.mk @@ -17,14 +17,32 @@ CC65_BIN = /usr/local/bin CL65=$(CC65_BIN)/cl65 CA65=$(CC65_BIN)/ca65 CC65=$(CC65_BIN)/cc65 +CO65=$(CC65_BIN)/co65 AC=make/AppleCommander.jar -C_SRCS=$(wildcard *.c) -ASM_SRCS=$(wildcard *.s) +SRCDIRS=. MACHINE=apple2 CPU=6502 CFLAGS= ASMFLAGS= LDFLAGS= +DRIVERS= +DRVDIR=drivers + +XCODE_PATH=/Applications/Xcode.app +XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist + +CC65_PLUGIN_PATH=$(HOME)/Library/Developer/Xcode/Plug-ins/cc65.ideplugin +CC65_PLUGIN_INFO=$(CC65_PLUGIN_PATH)/Contents/Info.plist + +XCODE_PLUGIN_COMPATIBILITY=DVTPlugInCompatibilityUUID + + +.PHONY: all gen genclean + +all: + @make gen + @make build + diff --git a/a2bejwld/make/prodos_template.dsk b/a2bejwld/make/prodos_template.dsk index d5c3b28..c7b2a75 100644 Binary files a/a2bejwld/make/prodos_template.dsk and b/a2bejwld/make/prodos_template.dsk differ diff --git a/a2bejwld/make/tail.mk b/a2bejwld/make/tail.mk index 4bca120..6463582 100644 --- a/a2bejwld/make/tail.mk +++ b/a2bejwld/make/tail.mk @@ -14,10 +14,18 @@ export PATH := $(PATH):$(CC65_BIN) CWD=$(shell pwd) +ifneq ($(DRIVERS),) + SRCDIRS+=$(DRVDIR) +endif + +C_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS)))) C_OBJS=$(C_SRCS:.c=.o) C_DEPS=$(C_SRCS:.c=.u) + +ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS)))) ASM_OBJS=$(ASM_SRCS:.s=.o) ASM_LSTS=$(ASM_SRCS:.s=.lst) + OBJS=$(C_OBJS) $(ASM_OBJS) MAPFILE=$(PGM).map @@ -28,10 +36,6 @@ LINK_ARGS= EXECCMD= ALLTARGET=$(DISKIMAGE) -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Darwin) - ALLTARGET=execute -endif ifneq ($(START_ADDR),) # If the MACHINE is set to an option which does not support a variable start @@ -57,6 +61,13 @@ ifneq ($(filter $(MACHINE), apple2 apple2enh apple2-dos33 apple2enh-dos33),) EXECCMD=$(shell echo brun $(PGM) | tr '[a-z]' '[A-Z]') endif +# By default, use the a2 drivers. If the machine is one of the enhanced +# targets though, use the a2e drivers. +DRV_BASE_MACHINE=a2 +ifneq ($(filter $(MACHINE), apple2enh apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),) + DRV_BASE_MACHINE=a2e +endif + MACHCONFIG= -t apple2 ifneq ($(filter $(MACHINE), apple2enh apple2apple2enh-dos33 apple2enh-system apple2enh-loader apple2enh-reboot),) @@ -67,20 +78,18 @@ ifeq ($(filter $(MACHINE), apple2 apple2enh),) MACHCONFIG += -C $(MACHINE).cfg endif -.PHONY: all execute clean +.PHONY: build execute clean xcodefix loresgr hiresgr auxmem joystick mouse serial -all: $(ALLTARGET) +build: $(ALLTARGET) -clean: +clean: genclean rm -f "$(PGM)" rm -f $(OBJS) rm -f $(C_DEPS) rm -f $(MAPFILE) rm -f $(ASM_LSTS) rm -f "$(DISKIMAGE)" - -createPackage: - pkg/createPackage + rm -Rf "$(DRVDIR)" cleanMacCruft: rm -rf pkg @@ -89,7 +98,7 @@ $(PGM): $(OBJS) $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(PGM)" $(OBJS) $(DISKIMAGE): $(PGM) - make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" + make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" $(COPYDIRS) execute: $(DISKIMAGE) osascript make/V2Make.scpt "$(CWD)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)" @@ -104,4 +113,90 @@ execute: $(DISKIMAGE) $(OBJS): Makefile + +# Some gen phase stuff... +gen: xcodefix $(DRIVERS) + +xcodefix: + defaults write "$(CC65_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)` + + +# Lores driver codegen +loresgr: $(DRVDIR)/a2_lores_drv.s $(DRVDIR)/a2_lores_drv.h + +$(DRVDIR)/a2_lores_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_lores_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).lo.tgi + +$(DRVDIR)/a2_lores_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_lores_drv;' >> $@ + + +# Hires driver codegen +hiresgr: $(DRVDIR)/a2_hires_drv.s $(DRVDIR)/a2_hires_drv.h + +$(DRVDIR)/a2_hires_drv.s: $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_hires_drv -o $@ $(CC65_HOME)/tgi/$(DRV_BASE_MACHINE).hi.tgi + +$(DRVDIR)/a2_hires_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_hires_drv;' >> $@ + + +# Auxmem driver codegen +auxmem: $(DRVDIR)/a2_auxmem_drv.s $(DRVDIR)/a2_auxmem_drv.h + +$(DRVDIR)/a2_auxmem_drv.s: $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_auxmem_drv -o $@ $(CC65_HOME)/emd/$(DRV_BASE_MACHINE).auxmem.emd + +$(DRVDIR)/a2_auxmem_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_auxmem_drv;' >> $@ + + +# Joystick driver codegen +joystick: $(DRVDIR)/a2_joystick_drv.s $(DRVDIR)/a2_joystick_drv.h + +$(DRVDIR)/a2_joystick_drv.s: $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_joystick_drv -o $@ $(CC65_HOME)/joy/$(DRV_BASE_MACHINE).stdjoy.joy + +$(DRVDIR)/a2_joystick_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_joystick_drv;' >> $@ + + +# Mouse driver codegen +mouse: $(DRVDIR)/a2_mouse_drv.s $(DRVDIR)/a2_mouse_drv.h + +$(DRVDIR)/a2_mouse_drv.s: $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_mouse_drv -o $@ $(CC65_HOME)/mou/$(DRV_BASE_MACHINE).stdmou.mou + +$(DRVDIR)/a2_mouse_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_mouse_drv;' >> $@ + + +# Serial driver codegen +serial: $(DRVDIR)/a2_serial_drv.s $(DRVDIR)/a2_serial_drv.h + +$(DRVDIR)/a2_serial_drv.s: $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser + mkdir -p $(DRVDIR) + $(CO65) --code-label _a2_serial_drv -o $@ $(CC65_HOME)/ser/$(DRV_BASE_MACHINE).ssc.ser + +$(DRVDIR)/a2_serial_drv.h: + mkdir -p $(DRVDIR) + echo '#include ' > $@ + echo 'extern char a2_serial_drv;' >> $@ + + -include $(C_DEPS) diff --git a/a2bejwld/mockingboard.o b/a2bejwld/mockingboard.o new file mode 100644 index 0000000..7a8511e Binary files /dev/null and b/a2bejwld/mockingboard.o differ diff --git a/a2bejwld/mockingboard.u b/a2bejwld/mockingboard.u new file mode 100644 index 0000000..6e5f6bc --- /dev/null +++ b/a2bejwld/mockingboard.u @@ -0,0 +1,2 @@ +mockingboard.o: mockingboard.c /usr/local/lib/cc65/include/stdbool.h /usr/local/lib/cc65/include/stdint.h /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/stdarg.h mockingboard.h mockingboard_speech.h + diff --git a/a2bejwld/mockingboard_speech.lst b/a2bejwld/mockingboard_speech.lst new file mode 100644 index 0000000..5822554 --- /dev/null +++ b/a2bejwld/mockingboard_speech.lst @@ -0,0 +1,270 @@ +ca65 V2.13.3 - (C) Copyright 1998-2012 Ullrich von Bassewitz +Main file : mockingboard_speech.s +Current file: mockingboard_speech.s + +000000r 1 ; +000000r 1 ; speech.s +000000r 1 ; mocktest +000000r 1 ; +000000r 1 ; Created by Jeremy Rand on 2016-09-29. +000000r 1 ; Copyright © 2016 Jeremy Rand. All rights reserved. +000000r 1 ; +000000r 1 +000000r 1 +000000r 1 .export _mockingBoardSpeechInit, _mockingBoardSpeechShutdown, _mockingBoardSpeakPriv +000000r 1 .export _mockingBoardSpeechData, _mockingBoardSpeechLen +000000r 1 .export _mockingBoardSpeechBusy, _mockingBoardSpeechPlaying +000000r 1 .interruptor mock_irq +000000r 1 +000000r 1 +000000r 1 TMPPTR := $FB ; Temporary pointer used in interrupt handler +000000r 1 IRQL := $03FE ; Interrupt vector, low byte +000000r 1 IRQH := $03FF ; Interrupt vector, high byte +000000r 1 BASE := $40 ; First speech chip +000000r 1 DURPHON := BASE ; Register 0 of speech chip +000000r 1 INFLECT := BASE+$01 ; Register 1 of speech chip +000000r 1 RATEINF := BASE+$02 ; Register 2 of speech chip +000000r 1 CTTRAMP := BASE+$03 ; Register 3 of speech chip +000000r 1 FILFREQ := BASE+$04 ; Register 4 of speech chip +000000r 1 DDRB := $02 +000000r 1 DDRA := $03 +000000r 1 PCR := $8C ; Peripheral control register, 6522 +000000r 1 IFR := $8D ; Interrupt flag register, 6522 +000000r 1 IER := $8E +000000r 1 +000000r 1 +000000r 1 .DATA +000000r 1 00 00 _mockingBoardSpeechData: .byte $00, $00 +000002r 1 00 00 _mockingBoardSpeechLen: .byte $00, $00 +000004r 1 00 00 _outptr: .byte $00, $00 +000006r 1 00 00 _endptr: .byte $00, $00 +000008r 1 00 _mockingBoardSpeechBusy: .byte $00 +000009r 1 00 _mockingBoardSpeechPlaying: .byte $00 +00000Ar 1 +00000Ar 1 60 mock_irq: .byte $60 +00000Br 1 rr .lobytes _mockInterrupt +00000Cr 1 rr .hibytes _mockInterrupt +00000Dr 1 +00000Dr 1 +00000Dr 1 .CODE +000000r 1 +000000r 1 writeChip: +000000r 1 9D 00 C0 sta $C000,X +000003r 1 60 rts +000004r 1 +000004r 1 readChip: +000004r 1 BD 00 C0 lda $C000,X +000007r 1 60 rts +000008r 1 +000008r 1 +000008r 1 .proc _mockingBoardSpeechInit +000008r 1 78 sei +000009r 1 +000009r 1 ; The accumulator has the slot number of the mockingboard. +000009r 1 ; Turn that into the address of the slot and set the address +000009r 1 ; in the read and write functions. +000009r 1 29 07 and #$7 +00000Br 1 09 C0 ora #$c0 +00000Dr 1 8D rr rr sta writeChip+2 +000010r 1 8D rr rr sta readChip+2 +000013r 1 +000013r 1 ; Write a jump instruction at mock_irq to turn on our handler +000013r 1 A9 4C lda #$4c +000015r 1 8D rr rr sta mock_irq +000018r 1 +000018r 1 58 cli +000019r 1 60 rts +00001Ar 1 .endproc +00001Ar 1 +00001Ar 1 +00001Ar 1 .proc _mockingBoardSpeechShutdown +00001Ar 1 78 sei +00001Br 1 +00001Br 1 ; Write a RTS instruction at mock_irq to disable our handler +00001Br 1 A9 60 lda #$60 +00001Dr 1 8D rr rr sta mock_irq +000020r 1 +000020r 1 58 cli +000021r 1 60 rts +000022r 1 .endproc +000022r 1 +000022r 1 +000022r 1 .proc _mockingBoardSpeakPriv +000022r 1 78 sei +000023r 1 A9 00 lda #$00 +000025r 1 A2 03 ldx #DDRA +000027r 1 20 rr rr jsr writeChip +00002Ar 1 A2 02 ldx #DDRB +00002Cr 1 20 rr rr jsr writeChip +00002Fr 1 +00002Fr 1 ; Get the starting address of the data and store in the work pointer +00002Fr 1 AD rr rr lda _mockingBoardSpeechData+1 +000032r 1 8D rr rr sta _outptr+1 +000035r 1 AD rr rr lda _mockingBoardSpeechData +000038r 1 8D rr rr sta _outptr +00003Br 1 +00003Br 1 ; Calculate the end address from the start address and the length +00003Br 1 AD rr rr lda _mockingBoardSpeechLen+1 +00003Er 1 18 clc +00003Fr 1 6D rr rr adc _mockingBoardSpeechData+1 +000042r 1 8D rr rr sta _endptr+1 +000045r 1 AD rr rr lda _mockingBoardSpeechLen +000048r 1 18 clc +000049r 1 6D rr rr adc _mockingBoardSpeechData +00004Cr 1 90 03 bcc @L2 +00004Er 1 EE rr rr inc _endptr+1 +000051r 1 @L2: +000051r 1 8D rr rr sta _endptr +000054r 1 +000054r 1 ; Set the busy flag +000054r 1 A9 FF lda #$FF +000056r 1 8D rr rr sta _mockingBoardSpeechBusy +000059r 1 +000059r 1 ; Set peripheral control register to recognize the signal from the +000059r 1 ; speech chip. +000059r 1 A9 0C lda #$0C +00005Br 1 A2 8C ldx #PCR +00005Dr 1 20 rr rr jsr writeChip +000060r 1 +000060r 1 ; Raise control bit in register 3 +000060r 1 A9 80 lda #$80 +000062r 1 A2 43 ldx #CTTRAMP +000064r 1 20 rr rr jsr writeChip +000067r 1 +000067r 1 ; Set transitioned inflection mode in register 0 +000067r 1 A9 C0 lda #$C0 +000069r 1 A2 40 ldx #DURPHON +00006Br 1 20 rr rr jsr writeChip +00006Er 1 +00006Er 1 ; Lower control bit +00006Er 1 A9 70 lda #$70 +000070r 1 A2 43 ldx #CTTRAMP +000072r 1 20 rr rr jsr writeChip +000075r 1 +000075r 1 ; Enable 6522 interrupts +000075r 1 A9 82 lda #$82 +000077r 1 A2 8E ldx #IER +000079r 1 20 rr rr jsr writeChip +00007Cr 1 +00007Cr 1 58 cli +00007Dr 1 60 rts +00007Er 1 .endproc +00007Er 1 +00007Er 1 +00007Er 1 .proc _mockInterrupt +00007Er 1 ; If we have a 6522 interrupt, jump to L4. +00007Er 1 A2 8D ldx #IFR +000080r 1 20 rr rr jsr readChip +000083r 1 30 02 bmi @L4 +000085r 1 +000085r 1 ; Otherwise clear the carry to indicate we didn't handle the interrupt +000085r 1 ; and return to the caller. +000085r 1 18 clc +000086r 1 60 rts +000087r 1 +000087r 1 @L4: +000087r 1 ; Clear the interrupt flag +000087r 1 A9 02 lda #$02 +000089r 1 A2 8D ldx #IFR +00008Br 1 20 rr rr jsr writeChip +00008Er 1 +00008Er 1 ; Check for end of data file. If not the end, jump to L1 +00008Er 1 AD rr rr lda _outptr+1 +000091r 1 CD rr rr cmp _endptr+1 +000094r 1 90 37 bcc @L1 +000096r 1 D0 08 bne @L5 +000098r 1 AD rr rr lda _outptr +00009Br 1 CD rr rr cmp _endptr +00009Er 1 90 2D bcc @L1 +0000A0r 1 +0000A0r 1 @L5: +0000A0r 1 +0000A0r 1 ; If at the end, turn everything off. Store a pause phoneme. +0000A0r 1 A9 00 lda #$00 +0000A2r 1 A2 40 ldx #DURPHON +0000A4r 1 20 rr rr jsr writeChip +0000A7r 1 +0000A7r 1 ; Zero amplitude +0000A7r 1 A9 70 lda #$70 +0000A9r 1 A2 43 ldx #CTTRAMP +0000ABr 1 20 rr rr jsr writeChip +0000AEr 1 +0000AEr 1 ; Clear busy and playing flags +0000AEr 1 A9 00 lda #$00 +0000B0r 1 8D rr rr sta _mockingBoardSpeechBusy +0000B3r 1 8D rr rr sta _mockingBoardSpeechPlaying +0000B6r 1 +0000B6r 1 ; Clear interrupt enable in 6522 +0000B6r 1 A9 02 lda #$02 +0000B8r 1 A2 8E ldx #IER +0000BAr 1 20 rr rr jsr writeChip +0000BDr 1 A9 FF lda #$FF +0000BFr 1 A2 03 ldx #DDRA +0000C1r 1 20 rr rr jsr writeChip +0000C4r 1 A9 07 lda #$07 +0000C6r 1 A2 02 ldx #DDRB +0000C8r 1 20 rr rr jsr writeChip +0000CBr 1 +0000CBr 1 @L2: +0000CBr 1 ; Set the carry flag to indicate we handled the interrupt and return to the caller. +0000CBr 1 38 sec +0000CCr 1 60 rts +0000CDr 1 +0000CDr 1 @L1: +0000CDr 1 +0000CDr 1 ; Set the speach playing flag +0000CDr 1 A9 FF lda #$ff +0000CFr 1 8D rr rr sta _mockingBoardSpeechPlaying +0000D2r 1 +0000D2r 1 ; Save the value of the tmp pointer on the stack +0000D2r 1 A5 FB lda TMPPTR +0000D4r 1 48 pha +0000D5r 1 A5 FC lda TMPPTR+1 +0000D7r 1 48 pha +0000D8r 1 +0000D8r 1 ; Move the _outptr into the tmp pointer +0000D8r 1 AD rr rr lda _outptr +0000DBr 1 85 FB sta TMPPTR +0000DDr 1 AD rr rr lda _outptr+1 +0000E0r 1 85 FC sta TMPPTR+1 +0000E2r 1 +0000E2r 1 ; Init registers +0000E2r 1 A0 00 ldy #$00 +0000E4r 1 A2 44 ldx #FILFREQ +0000E6r 1 +0000E6r 1 @L6: +0000E6r 1 ; Get the next data +0000E6r 1 B1 FB lda (TMPPTR),Y +0000E8r 1 +0000E8r 1 ; Store in the speech chip +0000E8r 1 20 rr rr jsr writeChip +0000EBr 1 +0000EBr 1 ; Next data +0000EBr 1 E6 FB inc TMPPTR +0000EDr 1 D0 02 bne @L3 +0000EFr 1 E6 FC inc TMPPTR+1 +0000F1r 1 +0000F1r 1 @L3: +0000F1r 1 ; Go to next register +0000F1r 1 CA dex +0000F2r 1 +0000F2r 1 ; If we are not done the last register, then loop back to L6 +0000F2r 1 E0 3F cpx #BASE-1 +0000F4r 1 D0 F0 bne @L6 +0000F6r 1 +0000F6r 1 ; We are done writing so move the tmp pointer back into _outptr +0000F6r 1 A5 FB lda TMPPTR +0000F8r 1 8D rr rr sta _outptr +0000FBr 1 A5 FC lda TMPPTR+1 +0000FDr 1 8D rr rr sta _outptr+1 +000100r 1 +000100r 1 ; Restore the tmp pointer from the stack +000100r 1 68 pla +000101r 1 85 FC sta TMPPTR+1 +000103r 1 68 pla +000104r 1 85 FB sta TMPPTR +000106r 1 +000106r 1 ; Finish the interrupt handler +000106r 1 4C rr rr jmp @L2 +000109r 1 .endproc +000109r 1 diff --git a/a2bejwld/mockingboard_speech.o b/a2bejwld/mockingboard_speech.o new file mode 100644 index 0000000..90e584e Binary files /dev/null and b/a2bejwld/mockingboard_speech.o differ diff --git a/a2bejwld/mouseWrapper.c b/a2bejwld/mouseWrapper.c index 81aaadc..80dd145 100644 --- a/a2bejwld/mouseWrapper.c +++ b/a2bejwld/mouseWrapper.c @@ -14,11 +14,7 @@ #include "mouseWrapper.h" #include "game.h" #include "vbl.h" - - -// Extern to mouse driver - -extern char a2e_stdmou_mou; +#include "drivers/a2_mouse_drv.h" // Globals @@ -42,7 +38,7 @@ bool initMouse(tMouseCallbacks *callbacks) gMouseDrvCallbacks.movex = mouse_def_callbacks.movex; gMouseDrvCallbacks.movey = mouse_def_callbacks.movey; - if (mouse_install(&gMouseDrvCallbacks, &a2e_stdmou_mou) == 0) { + if (mouse_install(&gMouseDrvCallbacks, &a2_mouse_drv) == 0) { gMouseInstalled = true; // This is required to ensure that the show callback is called @@ -162,4 +158,4 @@ void moveMouseToSquare(tSquare square) newY = (SQUARE_TO_Y(square) * 8) + 4; mouse_move(newX, newY); -} \ No newline at end of file +} diff --git a/a2bejwld/mouseWrapper.o b/a2bejwld/mouseWrapper.o new file mode 100644 index 0000000..51b3bd7 Binary files /dev/null and b/a2bejwld/mouseWrapper.o differ diff --git a/a2bejwld/mouseWrapper.u b/a2bejwld/mouseWrapper.u new file mode 100644 index 0000000..f6ef9d2 --- /dev/null +++ b/a2bejwld/mouseWrapper.u @@ -0,0 +1,2 @@ +mouseWrapper.o: mouseWrapper.c /usr/local/lib/cc65/include/conio.h /usr/local/lib/cc65/include/stdarg.h /usr/local/lib/cc65/include/apple2enh.h /usr/local/lib/cc65/include/apple2.h /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/mouse.h mouseWrapper.h /usr/local/lib/cc65/include/stdbool.h types.h /usr/local/lib/cc65/include/stdint.h game.h vbl.h drivers/a2_mouse_drv.h + diff --git a/a2bejwld/sound.o b/a2bejwld/sound.o new file mode 100644 index 0000000..2e58ad0 Binary files /dev/null and b/a2bejwld/sound.o differ diff --git a/a2bejwld/sound.u b/a2bejwld/sound.u new file mode 100644 index 0000000..bd23dee --- /dev/null +++ b/a2bejwld/sound.u @@ -0,0 +1,2 @@ +sound.o: sound.c sound.h /usr/local/lib/cc65/include/stdbool.h /usr/local/lib/cc65/include/stdint.h mockingboard.h + diff --git a/a2bejwld/ui.o b/a2bejwld/ui.o new file mode 100644 index 0000000..9c53032 Binary files /dev/null and b/a2bejwld/ui.o differ diff --git a/a2bejwld/ui.u b/a2bejwld/ui.u new file mode 100644 index 0000000..b6eeabf --- /dev/null +++ b/a2bejwld/ui.u @@ -0,0 +1,2 @@ +ui.o: ui.c /usr/local/lib/cc65/include/conio.h /usr/local/lib/cc65/include/stdarg.h /usr/local/lib/cc65/include/apple2enh.h /usr/local/lib/cc65/include/apple2.h /usr/local/lib/cc65/include/stdio.h /usr/local/lib/cc65/include/stddef.h /usr/local/lib/cc65/include/stdlib.h /usr/local/lib/cc65/include/string.h ui.h /usr/local/lib/cc65/include/stdbool.h anim.h types.h /usr/local/lib/cc65/include/stdint.h dbllores.h game.h joystick.h machine.h mouseWrapper.h sound.h mockingboard.h + diff --git a/a2bejwld/vbl.lst b/a2bejwld/vbl.lst new file mode 100644 index 0000000..d72933b --- /dev/null +++ b/a2bejwld/vbl.lst @@ -0,0 +1,134 @@ +ca65 V2.13.3 - (C) Copyright 1998-2012 Ullrich von Bassewitz +Main file : vbl.s +Current file: vbl.s + +000000r 1 ; +000000r 1 ; vbl.s +000000r 1 ; a2bejwld +000000r 1 ; +000000r 1 ; Created by Jeremy Rand on 2016-07-22. +000000r 1 ; Copyright © 2016 Jeremy Rand. All rights reserved. +000000r 1 ; +000000r 1 +000000r 1 +000000r 1 +000000r 1 .export _vblWait, _vblWait2c, _vblInit2gs +000000r 1 .export _vblIRQCallback +000000r 1 +000000r 1 +000000r 1 .include "apple2.inc" +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Zero page stuff +000000r 2 +000000r 2 WNDLFT := $20 ; Text window left +000000r 2 WNDWDTH := $21 ; Text window width +000000r 2 WNDTOP := $22 ; Text window top +000000r 2 WNDBTM := $23 ; Text window bottom+1 +000000r 2 CH := $24 ; Cursor horizontal position +000000r 2 CV := $25 ; Cursor vertical position +000000r 2 BASL := $28 ; Text base address low +000000r 2 BASH := $29 ; Text base address high +000000r 2 INVFLG := $32 ; Normal/inverse(/flash) +000000r 2 PROMPT := $33 ; Used by GETLN +000000r 2 RNDL := $4E ; Random counter low +000000r 2 RNDH := $4F ; Random counter high +000000r 2 HIMEM := $73 ; Highest available memory address+1 +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Vectors +000000r 2 +000000r 2 DOSWARM := $03D0 ; DOS warmstart vector +000000r 2 BRKVec := $03F0 ; Break vector +000000r 2 SOFTEV := $03F2 ; Vector for warm start +000000r 2 PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1 +000000r 2 +000000r 2 ;----------------------------------------------------------------------------- +000000r 2 ; Hardware +000000r 2 +000000r 2 ; Keyboard input +000000r 2 KBD := $C000 ; Read keyboard +000000r 2 KBDSTRB := $C010 ; Clear keyboard strobe +000000r 2 +000000r 2 ; 80 column video switches +000000r 2 CLR80COL:= $C000 ; Disable 80 column store +000000r 2 SET80COL:= $C001 ; Enable 80 column store +000000r 2 RD80COL := $C018 ; >127 if 80 column store enabled +000000r 2 RD80VID := $C01F ; >127 if 80 column video enabled +000000r 2 +000000r 2 ; Character set switches +000000r 2 CLRALTCHAR := $C00E ; Normal Apple II char set +000000r 2 SETALTCHAR := $C00F ; Norm/inv LC, no flash +000000r 2 ALTCHARSET := $C01E ; >127 if alt charset switched in +000000r 2 +000000r 2 ; Language card switches +000000r 2 RDLCBNK2 := $C011 ; >127 if LC bank 2 in use +000000r 2 RDLCRAM := $C012 ; >127 if LC is read enabled +000000r 2 ROMIN := $C081 ; Swap in D000-FFFF ROM +000000r 2 LCBANK2 := $C083 ; Swap in LC bank 2 +000000r 2 LCBANK1 := $C08B ; Swap in LC bank 1 +000000r 2 +000000r 2 ; Video mode switches +000000r 2 TXTCLR := $C050 ; Display graphics +000000r 2 TXTSET := $C051 ; Display text +000000r 2 MIXCLR := $C052 ; Disable 4 lines of text +000000r 2 MIXSET := $C053 ; Enable 4 lines of text +000000r 2 LOWSCR := $C054 ; Page 1 +000000r 2 HISCR := $C055 ; Page 2 +000000r 2 LORES := $C056 ; Lores graphics +000000r 2 HIRES := $C057 ; Hires graphics +000000r 2 +000000r 2 ; Game controller +000000r 2 BUTN0 := $C061 ; Open-Apple Key +000000r 2 BUTN1 := $C062 ; Closed-Apple Key +000000r 2 +000000r 1 +000000r 1 +000000r 1 RDVBLBAR := $C019 +000000r 1 +000000r 1 +000000r 1 .proc _vblInit2gs +000000r 1 A9 FE lda #$fe +000002r 1 8D rr rr sta compType +000005r 1 .endproc +000005r 1 +000005r 1 +000005r 1 .proc _vblWait +000005r 1 AD rr rr lda compType +000008r 1 @L1: +000008r 1 CD 19 C0 cmp RDVBLBAR +00000Br 1 10 FB bpl @L1 +00000Dr 1 @L2: +00000Dr 1 CD 19 C0 cmp RDVBLBAR +000010r 1 30 FB bmi @L2 +000012r 1 +000012r 1 60 rts +000013r 1 .endproc +000013r 1 +000013r 1 +000013r 1 .proc _vblIRQCallback +000013r 1 9C rr rr stz vbl2cByte +000016r 1 60 rts +000017r 1 .endproc +000017r 1 +000017r 1 +000017r 1 .proc _vblWait2c +000017r 1 A9 FF lda #$ff +000019r 1 8D rr rr sta vbl2cByte +00001Cr 1 +00001Cr 1 @L1: +00001Cr 1 AD rr rr lda vbl2cByte +00001Fr 1 D0 FB bne @L1 +000021r 1 +000021r 1 60 rts +000022r 1 .endproc +000022r 1 +000022r 1 +000022r 1 .data +000000r 1 +000000r 1 compType: +000000r 1 7E .BYTE $7e +000001r 1 +000001r 1 vbl2cByte: +000001r 1 00 .BYTE $00 +000001r 1 diff --git a/a2bejwld/vbl.o b/a2bejwld/vbl.o new file mode 100644 index 0000000..397ab1b Binary files /dev/null and b/a2bejwld/vbl.o differ