mirror of
https://github.com/RyuKojiro/apple1.git
synced 2025-01-29 22:30:02 +00:00
Got the project building, and used the sample v6502 implementation
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@3 64f78de7-aa59-e511-a0e8-0002a5492df0
This commit is contained in:
parent
73f32be51e
commit
ac87480ce8
@ -8,8 +8,96 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
E668389E1BA4F51E008F0F06 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = E668389D1BA4F51E008F0F06 /* main.c */; };
|
||||
E66839001BA4F75C008F0F06 /* liblibv6502.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E66838F61BA4F705008F0F06 /* liblibv6502.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
E66838E71BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E64198E117373A5A00D0EE25;
|
||||
remoteInfo = as6502;
|
||||
};
|
||||
E66838E91BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E622934B175BB52900AD2866;
|
||||
remoteInfo = easy6502;
|
||||
};
|
||||
E66838EB1BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E6FB94AB1791140B0053EB7E;
|
||||
remoteInfo = v6502;
|
||||
};
|
||||
E66838ED1BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E640E21917DFDCC9009C0718;
|
||||
remoteInfo = dis6502;
|
||||
};
|
||||
E66838EF1BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E640F6D9182D95B600A4C6A5;
|
||||
remoteInfo = ld6502;
|
||||
};
|
||||
E66838F11BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E6A306281B92F9F200B259E8;
|
||||
remoteInfo = kmapgen;
|
||||
};
|
||||
E66838F31BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E6DCD5221A56A7DE002008BE;
|
||||
remoteInfo = tests;
|
||||
};
|
||||
E66838F51BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E638A4911B8AAA2300B71420;
|
||||
remoteInfo = libv6502;
|
||||
};
|
||||
E66838F71BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E638A49E1B8AAA6300B71420;
|
||||
remoteInfo = libas6502;
|
||||
};
|
||||
E66838F91BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E638A4AC1B8AAA7800B71420;
|
||||
remoteInfo = libld6502;
|
||||
};
|
||||
E66838FB1BA4F705008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = E638A4C81B8AAABC00B71420;
|
||||
remoteInfo = libdis6502;
|
||||
};
|
||||
E66838FE1BA4F753008F0F06 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = E638A4901B8AAA2300B71420;
|
||||
remoteInfo = libv6502;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
E66838981BA4F51E008F0F06 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@ -25,6 +113,7 @@
|
||||
/* Begin PBXFileReference section */
|
||||
E668389A1BA4F51E008F0F06 /* apple1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = apple1; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E668389D1BA4F51E008F0F06 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; };
|
||||
E66838D31BA4F705008F0F06 /* v6502.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = v6502.xcodeproj; path = v6502/v6502.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -32,6 +121,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E66839001BA4F75C008F0F06 /* liblibv6502.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -42,6 +132,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E668389C1BA4F51E008F0F06 /* apple1 */,
|
||||
E66838D21BA4F6F8008F0F06 /* Frameworks */,
|
||||
E668389B1BA4F51E008F0F06 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
@ -62,6 +153,32 @@
|
||||
path = apple1;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E66838D21BA4F6F8008F0F06 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E66838D31BA4F705008F0F06 /* v6502.xcodeproj */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E66838D41BA4F705008F0F06 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E66838E81BA4F705008F0F06 /* as6502 */,
|
||||
E66838EA1BA4F705008F0F06 /* easy6502 */,
|
||||
E66838EC1BA4F705008F0F06 /* v6502 */,
|
||||
E66838EE1BA4F705008F0F06 /* dis6502 */,
|
||||
E66838F01BA4F705008F0F06 /* ld6502 */,
|
||||
E66838F21BA4F705008F0F06 /* kmapgen */,
|
||||
E66838F41BA4F705008F0F06 /* tests */,
|
||||
E66838F61BA4F705008F0F06 /* liblibv6502.a */,
|
||||
E66838F81BA4F705008F0F06 /* liblibas6502.a */,
|
||||
E66838FA1BA4F705008F0F06 /* liblibld6502.a */,
|
||||
E66838FC1BA4F705008F0F06 /* liblibdis6502.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -76,6 +193,7 @@
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
E66838FF1BA4F753008F0F06 /* PBXTargetDependency */,
|
||||
);
|
||||
name = apple1;
|
||||
productName = apple1;
|
||||
@ -106,6 +224,12 @@
|
||||
mainGroup = E66838911BA4F51E008F0F06;
|
||||
productRefGroup = E668389B1BA4F51E008F0F06 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = E66838D41BA4F705008F0F06 /* Products */;
|
||||
ProjectRef = E66838D31BA4F705008F0F06 /* v6502.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
E66838991BA4F51E008F0F06 /* apple1 */,
|
||||
@ -113,6 +237,86 @@
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
E66838E81BA4F705008F0F06 /* as6502 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = as6502;
|
||||
remoteRef = E66838E71BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838EA1BA4F705008F0F06 /* easy6502 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = easy6502;
|
||||
remoteRef = E66838E91BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838EC1BA4F705008F0F06 /* v6502 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = v6502;
|
||||
remoteRef = E66838EB1BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838EE1BA4F705008F0F06 /* dis6502 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = dis6502;
|
||||
remoteRef = E66838ED1BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838F01BA4F705008F0F06 /* ld6502 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = ld6502;
|
||||
remoteRef = E66838EF1BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838F21BA4F705008F0F06 /* kmapgen */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = kmapgen;
|
||||
remoteRef = E66838F11BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838F41BA4F705008F0F06 /* tests */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = "compiled.mach-o.executable";
|
||||
path = tests;
|
||||
remoteRef = E66838F31BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838F61BA4F705008F0F06 /* liblibv6502.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = liblibv6502.a;
|
||||
remoteRef = E66838F51BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838F81BA4F705008F0F06 /* liblibas6502.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = liblibas6502.a;
|
||||
remoteRef = E66838F71BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838FA1BA4F705008F0F06 /* liblibld6502.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = liblibld6502.a;
|
||||
remoteRef = E66838F91BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
E66838FC1BA4F705008F0F06 /* liblibdis6502.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = liblibdis6502.a;
|
||||
remoteRef = E66838FB1BA4F705008F0F06 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
E66838961BA4F51E008F0F06 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@ -124,6 +328,14 @@
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
E66838FF1BA4F753008F0F06 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = libv6502;
|
||||
targetProxy = E66838FE1BA4F753008F0F06 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
E668389F1BA4F51E008F0F06 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
@ -158,6 +370,11 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(PROJECT_DIR)/v6502/",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
@ -193,6 +410,11 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(PROJECT_DIR)/v6502/",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
@ -232,6 +454,7 @@
|
||||
E66838A31BA4F51E008F0F06 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
|
@ -12,6 +12,8 @@
|
||||
<dict>
|
||||
<key>64f78de7-aa59-e511-a0e8-0002a5492df0++505</key>
|
||||
<string>svn+ssh://svn.phoenixbox.net/svn/apple1/trunk</string>
|
||||
<key>96dfbd92-d197-e211-9ca9-00110a534b34++505</key>
|
||||
<string>svn+ssh://svn.phoenixbox.net/svn/v6502/trunk</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectPath</key>
|
||||
<string>apple1.xcodeproj</string>
|
||||
@ -19,11 +21,15 @@
|
||||
<dict>
|
||||
<key>64f78de7-aa59-e511-a0e8-0002a5492df0++505</key>
|
||||
<string>../..</string>
|
||||
<key>96dfbd92-d197-e211-9ca9-00110a534b34++505</key>
|
||||
<string>../../v6502/</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectRepositoryRootDictionary</key>
|
||||
<dict>
|
||||
<key>64f78de7-aa59-e511-a0e8-0002a5492df0++505</key>
|
||||
<string>svn+ssh://svn.phoenixbox.net/svn/apple1</string>
|
||||
<key>96dfbd92-d197-e211-9ca9-00110a534b34++505</key>
|
||||
<string>svn+ssh://svn.phoenixbox.net/svn/v6502</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectURL</key>
|
||||
<string>svn+ssh://svn.phoenixbox.net/svn/apple1/trunk/apple1.xcodeproj</string>
|
||||
@ -41,6 +47,14 @@
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>apple1</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.subversion</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>96dfbd92-d197-e211-9ca9-00110a534b34++505</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>v6502</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -6,10 +6,29 @@
|
||||
// Copyright (c) 2015 Daniel Loffgren. All rights reserved.
|
||||
//
|
||||
|
||||
#include <stdio.h>
|
||||
#include <v6502/cpu.h>
|
||||
#include <v6502/mem.h>
|
||||
|
||||
int main(int argc, const char * argv[]) {
|
||||
// insert code here...
|
||||
printf("Hello, World!\n");
|
||||
return 0;
|
||||
void fault(void *ctx, const char *e) {
|
||||
(*(int *)ctx)++;
|
||||
}
|
||||
|
||||
int main(int argc, const char * argv[])
|
||||
{
|
||||
int faulted = 0;
|
||||
|
||||
v6502_cpu *cpu = v6502_createCPU();
|
||||
cpu->memory = v6502_createMemory(0xFFFF);
|
||||
cpu->fault_callback = fault;
|
||||
cpu->fault_context = &faulted;
|
||||
|
||||
v6502_reset(cpu);
|
||||
|
||||
while (!faulted) {
|
||||
v6502_step(cpu);
|
||||
}
|
||||
|
||||
|
||||
v6502_destroyMemory(cpu->memory);
|
||||
v6502_destroyCPU(cpu);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user