Upgrade to the new build engine.

This commit is contained in:
Jeremy Rand 2018-06-19 23:07:49 -04:00
parent a6750230da
commit 7d75ae8dcc
46 changed files with 4706 additions and 278 deletions

View File

@ -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 = "<group>"; };
9D3A9FB91D455CD8004C5897 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
9D4D1AA31D6D0E9B00D20BB8 /* machine.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = machine.c; sourceTree = "<group>"; };
9D4D1AA41D6D0E9B00D20BB8 /* machine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = "<group>"; };
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 = "<group>"; };
9D509F921D654F9900161DDC /* mouseWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mouseWrapper.h; sourceTree = "<group>"; };
9D509F941D66AE2800161DDC /* a2e.stdmou.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.stdmou.s; sourceTree = "<group>"; };
9D6B472E1D3FB16F00F6D704 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
9D6B472F1D3FB16F00F6D704 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9D6B47311D3FB16F00F6D704 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
9D6B47321D3FB16F00F6D704 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
9D6B47331D3FB16F00F6D704 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
9D6B47341D3FB16F00F6D704 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
9D6B47351D3FB16F00F6D704 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
9D6B47361D3FB16F00F6D704 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
9D6B47371D3FB16F00F6D704 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
9D6B47381D3FB16F00F6D704 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
9D6B473E1D3FB20000F6D704 /* dbllores.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = dbllores.s; sourceTree = "<group>"; };
9D6B473F1D3FB5C800F6D704 /* dbllores.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dbllores.h; sourceTree = "<group>"; };
9D6B47401D40098300F6D704 /* game.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = game.c; sourceTree = "<group>"; };
9D6B47411D40098300F6D704 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
9D6B47421D400B4900F6D704 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
9D6B47431D403F5B00F6D704 /* ui.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ui.c; sourceTree = "<group>"; };
9D6B47441D403F5B00F6D704 /* ui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = "<group>"; };
9D6B47451D426E6300F6D704 /* vbl.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = vbl.s; sourceTree = "<group>"; };
9D6B47471D42709200F6D704 /* vbl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vbl.h; sourceTree = "<group>"; };
9D6B47481D4270EC00F6D704 /* anim.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = anim.c; sourceTree = "<group>"; };
9D6B47491D4270EC00F6D704 /* anim.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = anim.h; sourceTree = "<group>"; };
9D6B474A1D42DEB600F6D704 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
9D6B474C1D43BBAC00F6D704 /* a2bejwld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = a2bejwld.png; sourceTree = "<group>"; };
9DB20B3A1E078FE20065E263 /* mockingboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mockingboard.c; sourceTree = "<group>"; };
9DB20B3B1E078FE20065E263 /* mockingboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard.h; sourceTree = "<group>"; };
9DB20B3C1E078FE20065E263 /* mockingboard_speech.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = mockingboard_speech.s; sourceTree = "<group>"; };
9DB20B3D1E078FE20065E263 /* mockingboard_speech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard_speech.h; sourceTree = "<group>"; };
9DB20B401E07904A0065E263 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = "<group>"; };
9DB20B411E07904A0065E263 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = "<group>"; };
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 = "<group>"; };
9DF8AA5420D9F81600E306E4 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
9DF8AA5620D9F81600E306E4 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
9DF8AA5820D9F81600E306E4 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
9DF8AA5A20D9F81600E306E4 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
9DF8AA5C20D9F81600E306E4 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
9DF8AA5E20D9F81600E306E4 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
9DF8AA6020D9F81600E306E4 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
9DF8AA6220D9F81600E306E4 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
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 = "<group>"; };
9DF8AA7020D9F95800E306E4 /* a2bejwld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = a2bejwld.png; sourceTree = "<group>"; };
9DF8AA7120D9F97300E306E4 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = "<group>"; };
9DF8AA7220D9F97300E306E4 /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = "<group>"; };
9DF8AA7320D9F97300E306E4 /* mockingboard_speech.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = mockingboard_speech.s; sourceTree = "<group>"; };
9DF8AA7420D9F97300E306E4 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
9DF8AA7520D9F97300E306E4 /* anim.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = anim.c; sourceTree = "<group>"; };
9DF8AA7620D9F97300E306E4 /* game.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = game.c; sourceTree = "<group>"; };
9DF8AA7720D9F97300E306E4 /* mockingboard_speech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard_speech.h; sourceTree = "<group>"; };
9DF8AA7820D9F97300E306E4 /* vbl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbl.h; sourceTree = "<group>"; };
9DF8AA7920D9F97300E306E4 /* ui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ui.c; sourceTree = "<group>"; };
9DF8AA7A20D9F97300E306E4 /* mouseWrapper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mouseWrapper.c; sourceTree = "<group>"; };
9DF8AA7B20D9F97300E306E4 /* dbllores.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dbllores.h; sourceTree = "<group>"; };
9DF8AA7C20D9F97400E306E4 /* mouseWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mouseWrapper.h; sourceTree = "<group>"; };
9DF8AA7D20D9F97400E306E4 /* mockingboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mockingboard.c; sourceTree = "<group>"; };
9DF8AA7E20D9F97400E306E4 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
9DF8AA7F20D9F97400E306E4 /* mockingboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mockingboard.h; sourceTree = "<group>"; };
9DF8AA8020D9F97400E306E4 /* machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = "<group>"; };
9DF8AA8120D9F97400E306E4 /* anim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anim.h; sourceTree = "<group>"; };
9DF8AA8220D9F97400E306E4 /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
9DF8AA8320D9F97400E306E4 /* machine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = machine.c; sourceTree = "<group>"; };
9DF8AA8420D9F97400E306E4 /* vbl.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = vbl.s; sourceTree = "<group>"; };
9DF8AA8520D9F97400E306E4 /* joystick.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
9DF8AA8720D9F97400E306E4 /* dbllores.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = dbllores.s; sourceTree = "<group>"; };
9DF8AA8820D9F97400E306E4 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = "<group>"; };
9DF8AA9720D9FA8100E306E4 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
/* 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 = "<group>";
};
9D3A9FBE1D457973004C5897 /* joystick */ = {
9DF8AA4D20D9F81600E306E4 /* Products */ = {
isa = PBXGroup;
children = (
9D3A9FB91D455CD8004C5897 /* joystick.c */,
9D3A9FB81D455CCF004C5897 /* joystick.h */,
);
name = joystick;
sourceTree = "<group>";
};
9D4D1AAA1D6D704800D20BB8 /* Products */ = {
isa = PBXGroup;
children = (
9D4D1AA91D6D704800D20BB8 /* dummy */,
9DF8AA4C20D9F81600E306E4 /* doNotBuild */,
);
name = Products;
sourceTree = "<group>";
};
9D6B47271D3FB16F00F6D704 = {
9DF8AA4E20D9F81600E306E4 /* a2bejwld */ = {
isa = PBXGroup;
children = (
9D6B474A1D42DEB600F6D704 /* README.md */,
9D6B474B1D43BB9100F6D704 /* screenshots */,
9D6B472D1D3FB16F00F6D704 /* a2bejwld */,
9D4D1AAA1D6D704800D20BB8 /* Products */,
);
sourceTree = "<group>";
};
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 = "<group>";
};
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 = "<group>";
};
9D6B474B1D43BB9100F6D704 /* screenshots */ = {
9DF8AA6420D9F81600E306E4 /* Supporting Files */ = {
isa = PBXGroup;
children = (
9D6B474C1D43BBAC00F6D704 /* a2bejwld.png */,
9DF8AA6520D9F81600E306E4 /* a2bejwld.xcscheme */,
);
name = screenshots;
name = "Supporting Files";
sourceTree = "<group>";
};
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 = "<group>";
};
9DF8AA9A20D9FAB300E306E4 /* joystick */ = {
isa = PBXGroup;
children = (
9DF8AA8520D9F97400E306E4 /* joystick.c */,
9DF8AA8220D9F97400E306E4 /* joystick.h */,
);
name = joystick;
sourceTree = "<group>";
};
9DF8AA9B20D9FABB00E306E4 /* mouse */ = {
isa = PBXGroup;
children = (
9DF8AA7A20D9F97300E306E4 /* mouseWrapper.c */,
9DF8AA7C20D9F97400E306E4 /* mouseWrapper.h */,
);
name = mouse;
sourceTree = "<group>";
};
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 = "<group>";
};
9DF8AA9D20D9FAF500E306E4 /* sound */ = {
isa = PBXGroup;
children = (
9DF8AA8820D9F97400E306E4 /* sound.c */,
9DF8AA7120D9F97300E306E4 /* sound.h */,
);
name = sound;
sourceTree = "<group>";
};
/* 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 */;
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0730"
LastUpgradeVersion = "0830"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9D6B472C1D3FB16F00F6D704"
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "a2bejwld"
BlueprintName = "a2bejwld"
ReferencedContainer = "container:a2bejwld.xcodeproj">
@ -34,23 +34,41 @@
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<PathRunnable
runnableDebuggingMode = "0"
FilePath = "/usr/bin/make">
</PathRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9D6B472C1D3FB16F00F6D704"
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "a2bejwld"
BlueprintName = "a2bejwld"
ReferencedContainer = "container:a2bejwld.xcodeproj">
</BuildableReference>
</MacroExpansion>
<CommandLineArguments>
<CommandLineArgument
argument = "-C"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "$PROJECT_DIR/a2bejwld"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "execute"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
@ -63,7 +81,7 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9D6B472C1D3FB16F00F6D704"
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
BuildableName = "a2bejwld"
BlueprintName = "a2bejwld"
ReferencedContainer = "container:a2bejwld.xcodeproj">

View File

@ -4,29 +4,16 @@
<dict>
<key>SchemeUserState</key>
<dict>
<key>a2bejwld.xcscheme</key>
<key>a2bejwld.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>dummy.xcscheme</key>
<key>doNotBuild.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>9D4D1AA81D6D704800D20BB8</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>9D6B472C1D3FB16F00F6D704</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

View File

@ -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.
# .<char> - 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.
# .<TLA> - 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

BIN
a2bejwld/a2bejwld Normal file

Binary file not shown.

BIN
a2bejwld/a2bejwld.dsk Normal file

Binary file not shown.

1942
a2bejwld/a2bejwld.map Normal file

File diff suppressed because it is too large Load Diff

BIN
a2bejwld/anim.o Normal file

Binary file not shown.

2
a2bejwld/anim.u Normal file
View File

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

1228
a2bejwld/dbllores.lst Normal file

File diff suppressed because it is too large Load Diff

BIN
a2bejwld/dbllores.o Normal file

Binary file not shown.

View File

@ -0,0 +1,2 @@
#include <mouse.h>
extern char a2_mouse_drv;

View File

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

Binary file not shown.

View File

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

BIN
a2bejwld/game.o Normal file

Binary file not shown.

2
a2bejwld/game.u Normal file
View File

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

BIN
a2bejwld/joystick.o Normal file

Binary file not shown.

2
a2bejwld/joystick.u Normal file
View File

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

View File

@ -100,4 +100,4 @@ void uninitMachine(void)
if (machineIs2GS()) {
setGSSpeed(gOldSpeed);
}
}
}

BIN
a2bejwld/machine.o Normal file

Binary file not shown.

2
a2bejwld/machine.u Normal file
View File

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

BIN
a2bejwld/main.o Normal file

Binary file not shown.

2
a2bejwld/main.u Normal file
View File

@ -0,0 +1,2 @@
main.o: main.c /usr/local/lib/cc65/include/stdbool.h ui.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

Binary file not shown.

View File

@ -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 <tgi.h>' > $@
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 <tgi.h>' > $@
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 <em.h>' > $@
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 <joystick.h>' > $@
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 <mouse.h>' > $@
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 <serial.h>' > $@
echo 'extern char a2_serial_drv;' >> $@
-include $(C_DEPS)

BIN
a2bejwld/mockingboard.o Normal file

Binary file not shown.

2
a2bejwld/mockingboard.u Normal file
View File

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

View File

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

Binary file not shown.

View File

@ -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);
}
}

BIN
a2bejwld/mouseWrapper.o Normal file

Binary file not shown.

2
a2bejwld/mouseWrapper.u Normal file
View File

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

BIN
a2bejwld/sound.o Normal file

Binary file not shown.

2
a2bejwld/sound.u Normal file
View File

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

BIN
a2bejwld/ui.o Normal file

Binary file not shown.

2
a2bejwld/ui.u Normal file
View File

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

134
a2bejwld/vbl.lst Normal file
View File

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

BIN
a2bejwld/vbl.o Normal file

Binary file not shown.