Apple IIe lives (but doesn't get very far)
This commit is contained in:
parent
0d0a093f4e
commit
a732bae8f9
|
@ -37,7 +37,6 @@ class AppleIIBase: NSObject, EmulatedSystem {
|
||||||
var videoSoftswitches = VideoSoftswitches()
|
var videoSoftswitches = VideoSoftswitches()
|
||||||
var videoMode: VideoMode = .Text
|
var videoMode: VideoMode = .Text
|
||||||
|
|
||||||
//let cg = A2CharacterGenerator(romPath: "/Users/luigi/apple2/apple2/a2.chr");
|
|
||||||
let keyboardController = KeyboardController()
|
let keyboardController = KeyboardController()
|
||||||
|
|
||||||
var emulatorViewDelegate: ScreenDelegate
|
var emulatorViewDelegate: ScreenDelegate
|
||||||
|
@ -97,7 +96,7 @@ class AppleIIBase: NSObject, EmulatedSystem {
|
||||||
for page in ramPages ..< 192 {
|
for page in ramPages ..< 192 {
|
||||||
CPU.sharedInstance.memoryInterface.pages[page] = MemoryInterface.pageMode.null //not connected
|
CPU.sharedInstance.memoryInterface.pages[page] = MemoryInterface.pageMode.null //not connected
|
||||||
}
|
}
|
||||||
for page in 208 ..< 256 {
|
for page in 192 ..< 256 {
|
||||||
CPU.sharedInstance.memoryInterface.pages[page] = MemoryInterface.pageMode.rw //Bankswitching area
|
CPU.sharedInstance.memoryInterface.pages[page] = MemoryInterface.pageMode.rw //Bankswitching area
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,9 +28,8 @@ class AppleIIe: AppleIIBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
override func loadROMs() {
|
override func loadROMs() {
|
||||||
//Applesoft BASIC
|
CPU.sharedInstance.memoryInterface.loadBinary(path: "/Users/luigi/apple2/apple2e/342-0135-b.64", offset: 0xC000, length: 0x2000)
|
||||||
CPU.sharedInstance.memoryInterface.loadBinary(path: "/Users/luigi/apple2/apple2e/342-0135-b.64", offset: 0xD000, length: 0x1000)
|
CPU.sharedInstance.memoryInterface.loadBinary(path: "/Users/luigi/apple2/apple2e/342-0134-a.64", offset: 0xE000, length: 0x2000)
|
||||||
CPU.sharedInstance.memoryInterface.loadBinary(path: "/Users/luigi/apple2/apple2e/342-0134-a.64", offset: 0xE000, length: 0x1000)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func installOverrides() {
|
override func installOverrides() {
|
||||||
|
|
|
@ -49,11 +49,11 @@ class LanguageCard16K: NSObject, Peripheral, HasROM {
|
||||||
super.init()
|
super.init()
|
||||||
|
|
||||||
RDLCBNKOverride = ReadOverride(start: UInt16(0xC011 + (0x10 * slotNumber)),
|
RDLCBNKOverride = ReadOverride(start: UInt16(0xC011 + (0x10 * slotNumber)),
|
||||||
end: UInt16(0xC012 + (0x10 * slotNumber)),
|
end: UInt16(0xC011 + (0x10 * slotNumber)),
|
||||||
readAnyway: false,
|
readAnyway: false,
|
||||||
action: actionRDLCBNK)
|
action: actionRDLCBNK)
|
||||||
|
|
||||||
RDLCRAMOverride = ReadOverride(start: UInt16(0xC011 + (0x10 * slotNumber)),
|
RDLCRAMOverride = ReadOverride(start: UInt16(0xC012 + (0x10 * slotNumber)),
|
||||||
end: UInt16(0xC012 + (0x10 * slotNumber)),
|
end: UInt16(0xC012 + (0x10 * slotNumber)),
|
||||||
readAnyway: false,
|
readAnyway: false,
|
||||||
action: actionRDLCRAM)
|
action: actionRDLCRAM)
|
||||||
|
|
|
@ -45,7 +45,7 @@ class AppleIIViewController: NSViewController {
|
||||||
EmulatedSystemInstance = AppleII.sharedInstance
|
EmulatedSystemInstance = AppleII.sharedInstance
|
||||||
} else if(model == "Apple ][+") {
|
} else if(model == "Apple ][+") {
|
||||||
EmulatedSystemInstance = AppleIIPlus.sharedInstance
|
EmulatedSystemInstance = AppleIIPlus.sharedInstance
|
||||||
} else if(model == "Apple IIe") {
|
} else if(model == "Apple //e") {
|
||||||
EmulatedSystemInstance = AppleIIe.sharedInstance
|
EmulatedSystemInstance = AppleIIe.sharedInstance
|
||||||
} else {
|
} else {
|
||||||
/* ??? */
|
/* ??? */
|
||||||
|
|
|
@ -241,6 +241,9 @@
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Apple ][ (Original)" state="on" id="4DB-sZ-RHB"/>
|
<menuItem title="Apple ][ (Original)" state="on" id="4DB-sZ-RHB"/>
|
||||||
<menuItem title="Apple ][+" id="lk3-qa-sTr"/>
|
<menuItem title="Apple ][+" id="lk3-qa-sTr"/>
|
||||||
|
<menuItem title="Apple //e" id="lv7-TL-Unl">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
</menuItem>
|
||||||
</items>
|
</items>
|
||||||
</menu>
|
</menu>
|
||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
|
|
|
@ -35,7 +35,7 @@ class PreferencesWindowController: NSWindowController {
|
||||||
|
|
||||||
func setupDefaultsIfRequired() {
|
func setupDefaultsIfRequired() {
|
||||||
var model = defaults.string(forKey: "a2_Model")
|
var model = defaults.string(forKey: "a2_Model")
|
||||||
if(model == nil) { model = "Apple ][+" }
|
if(model == nil) { model = "Apple //e" }
|
||||||
defaults.set(model, forKey: "a2_Model")
|
defaults.set(model, forKey: "a2_Model")
|
||||||
|
|
||||||
var slot0 = defaults.string(forKey: "a2_Peripherals_Slot0")
|
var slot0 = defaults.string(forKey: "a2_Peripherals_Slot0")
|
||||||
|
@ -87,6 +87,8 @@ class PreferencesWindowController: NSWindowController {
|
||||||
defaults.set(a2_Peripherals_Slot0.selectedItem?.title, forKey: "a2_Peripherals_Slot0")
|
defaults.set(a2_Peripherals_Slot0.selectedItem?.title, forKey: "a2_Peripherals_Slot0")
|
||||||
defaults.set(a2_Peripherals_Slot6.selectedItem?.title, forKey: "a2_Peripherals_Slot6")
|
defaults.set(a2_Peripherals_Slot6.selectedItem?.title, forKey: "a2_Peripherals_Slot6")
|
||||||
|
|
||||||
|
defaults.set(a2_Model.selectedItem?.title, forKey: "a2_Model")
|
||||||
|
|
||||||
defaults.synchronize()
|
defaults.synchronize()
|
||||||
|
|
||||||
NotificationCenter.default.post(name: EmulationNotifications.StartEmulation, object: nil)
|
NotificationCenter.default.post(name: EmulationNotifications.StartEmulation, object: nil)
|
||||||
|
|
Loading…
Reference in New Issue