From a732bae8f9c535ee5f84afe0da22b7ff32f1c583 Mon Sep 17 00:00:00 2001 From: Luigi Thirty Date: Sun, 13 Aug 2017 01:59:32 -0400 Subject: [PATCH] Apple IIe lives (but doesn't get very far) --- FruitMachine/AppleII/AppleIIBase.swift | 3 +-- FruitMachine/AppleII/Models/AppleIIe.swift | 5 ++--- FruitMachine/AppleII/Peripherals/LanguageCard16K.swift | 4 ++-- FruitMachine/AppleIIViewController.swift | 2 +- FruitMachine/PreferencesWindow.xib | 3 +++ FruitMachine/PreferencesWindowController.swift | 4 +++- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/FruitMachine/AppleII/AppleIIBase.swift b/FruitMachine/AppleII/AppleIIBase.swift index 878f05e..7fd0e59 100644 --- a/FruitMachine/AppleII/AppleIIBase.swift +++ b/FruitMachine/AppleII/AppleIIBase.swift @@ -37,7 +37,6 @@ class AppleIIBase: NSObject, EmulatedSystem { var videoSoftswitches = VideoSoftswitches() var videoMode: VideoMode = .Text - //let cg = A2CharacterGenerator(romPath: "/Users/luigi/apple2/apple2/a2.chr"); let keyboardController = KeyboardController() var emulatorViewDelegate: ScreenDelegate @@ -97,7 +96,7 @@ class AppleIIBase: NSObject, EmulatedSystem { for page in ramPages ..< 192 { 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 } } diff --git a/FruitMachine/AppleII/Models/AppleIIe.swift b/FruitMachine/AppleII/Models/AppleIIe.swift index e6d2ed0..e953071 100644 --- a/FruitMachine/AppleII/Models/AppleIIe.swift +++ b/FruitMachine/AppleII/Models/AppleIIe.swift @@ -28,9 +28,8 @@ class AppleIIe: AppleIIBase { } override func loadROMs() { - //Applesoft BASIC - 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: 0x1000) + 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-0134-a.64", offset: 0xE000, length: 0x2000) } override func installOverrides() { diff --git a/FruitMachine/AppleII/Peripherals/LanguageCard16K.swift b/FruitMachine/AppleII/Peripherals/LanguageCard16K.swift index b5eb47f..5576b7f 100644 --- a/FruitMachine/AppleII/Peripherals/LanguageCard16K.swift +++ b/FruitMachine/AppleII/Peripherals/LanguageCard16K.swift @@ -49,11 +49,11 @@ class LanguageCard16K: NSObject, Peripheral, HasROM { super.init() RDLCBNKOverride = ReadOverride(start: UInt16(0xC011 + (0x10 * slotNumber)), - end: UInt16(0xC012 + (0x10 * slotNumber)), + end: UInt16(0xC011 + (0x10 * slotNumber)), readAnyway: false, action: actionRDLCBNK) - RDLCRAMOverride = ReadOverride(start: UInt16(0xC011 + (0x10 * slotNumber)), + RDLCRAMOverride = ReadOverride(start: UInt16(0xC012 + (0x10 * slotNumber)), end: UInt16(0xC012 + (0x10 * slotNumber)), readAnyway: false, action: actionRDLCRAM) diff --git a/FruitMachine/AppleIIViewController.swift b/FruitMachine/AppleIIViewController.swift index bceb0e1..b5e78c9 100644 --- a/FruitMachine/AppleIIViewController.swift +++ b/FruitMachine/AppleIIViewController.swift @@ -45,7 +45,7 @@ class AppleIIViewController: NSViewController { EmulatedSystemInstance = AppleII.sharedInstance } else if(model == "Apple ][+") { EmulatedSystemInstance = AppleIIPlus.sharedInstance - } else if(model == "Apple IIe") { + } else if(model == "Apple //e") { EmulatedSystemInstance = AppleIIe.sharedInstance } else { /* ??? */ diff --git a/FruitMachine/PreferencesWindow.xib b/FruitMachine/PreferencesWindow.xib index 6d7758a..f8a5bc3 100644 --- a/FruitMachine/PreferencesWindow.xib +++ b/FruitMachine/PreferencesWindow.xib @@ -241,6 +241,9 @@ + + + diff --git a/FruitMachine/PreferencesWindowController.swift b/FruitMachine/PreferencesWindowController.swift index 185adf9..3eee403 100644 --- a/FruitMachine/PreferencesWindowController.swift +++ b/FruitMachine/PreferencesWindowController.swift @@ -35,7 +35,7 @@ class PreferencesWindowController: NSWindowController { func setupDefaultsIfRequired() { var model = defaults.string(forKey: "a2_Model") - if(model == nil) { model = "Apple ][+" } + if(model == nil) { model = "Apple //e" } defaults.set(model, forKey: "a2_Model") 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_Slot6.selectedItem?.title, forKey: "a2_Peripherals_Slot6") + defaults.set(a2_Model.selectedItem?.title, forKey: "a2_Model") + defaults.synchronize() NotificationCenter.default.post(name: EmulationNotifications.StartEmulation, object: nil)