From 8c5d37b6eea79d9d78c3adafae912c481f5051d7 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 3 May 2019 18:14:10 -0400 Subject: [PATCH] Refactors the AppleII into a sub-namespace to make room for other Apple machines. --- Machines/{ => Apple}/AppleII/AppleII.cpp | 80 ++++++++++--------- Machines/{ => Apple}/AppleII/AppleII.hpp | 12 +-- Machines/{ => Apple}/AppleII/Card.hpp | 10 ++- Machines/{ => Apple}/AppleII/DiskIICard.cpp | 2 +- Machines/{ => Apple}/AppleII/DiskIICard.hpp | 12 +-- Machines/{ => Apple}/AppleII/Video.cpp | 2 +- Machines/{ => Apple}/AppleII/Video.hpp | 10 ++- Machines/Utility/MachineForTarget.cpp | 6 +- .../Clock Signal.xcodeproj/project.pbxproj | 70 ++++++++-------- 9 files changed, 108 insertions(+), 96 deletions(-) rename Machines/{ => Apple}/AppleII/AppleII.cpp (93%) rename Machines/{ => Apple}/AppleII/AppleII.hpp (76%) rename Machines/{ => Apple}/AppleII/Card.hpp (95%) rename Machines/{ => Apple}/AppleII/DiskIICard.cpp (98%) rename Machines/{ => Apple}/AppleII/DiskIICard.hpp (83%) rename Machines/{ => Apple}/AppleII/Video.cpp (99%) rename Machines/{ => Apple}/AppleII/Video.hpp (99%) diff --git a/Machines/AppleII/AppleII.cpp b/Machines/Apple/AppleII/AppleII.cpp similarity index 93% rename from Machines/AppleII/AppleII.cpp rename to Machines/Apple/AppleII/AppleII.cpp index a8121e534..f36e93103 100644 --- a/Machines/AppleII/AppleII.cpp +++ b/Machines/Apple/AppleII/AppleII.cpp @@ -8,33 +8,34 @@ #include "AppleII.hpp" -#include "../../Activity/Source.hpp" -#include "../MediaTarget.hpp" -#include "../CRTMachine.hpp" -#include "../JoystickMachine.hpp" -#include "../KeyboardMachine.hpp" -#include "../Utility/MemoryFuzzer.hpp" -#include "../Utility/StringSerialiser.hpp" +#include "../../../Activity/Source.hpp" +#include "../../MediaTarget.hpp" +#include "../../CRTMachine.hpp" +#include "../../JoystickMachine.hpp" +#include "../../KeyboardMachine.hpp" +#include "../../Utility/MemoryFuzzer.hpp" +#include "../../Utility/StringSerialiser.hpp" -#include "../../Processors/6502/6502.hpp" -#include "../../Components/AudioToggle/AudioToggle.hpp" +#include "../../../Processors/6502/6502.hpp" +#include "../../../Components/AudioToggle/AudioToggle.hpp" -#include "../../Outputs/Speaker/Implementation/LowpassSpeaker.hpp" -#include "../../Outputs/Log.hpp" +#include "../../../Outputs/Speaker/Implementation/LowpassSpeaker.hpp" +#include "../../../Outputs/Log.hpp" #include "Card.hpp" #include "DiskIICard.hpp" #include "Video.hpp" -#include "../../Analyser/Static/AppleII/Target.hpp" -#include "../../ClockReceiver/ForceInline.hpp" -#include "../../Configurable/StandardOptions.hpp" +#include "../../../Analyser/Static/AppleII/Target.hpp" +#include "../../../ClockReceiver/ForceInline.hpp" +#include "../../../Configurable/StandardOptions.hpp" #include #include #include -namespace AppleII { +namespace Apple { +namespace II { std::vector> get_options() { return Configurable::standard_options( @@ -51,12 +52,12 @@ template class ConcreteMachine: public CPU::MOS6502::BusHandler, public Inputs::Keyboard, public Configurable::Device, - public AppleII::Machine, + public Apple::II::Machine, public Activity::Source, public JoystickMachine::Machine, - public AppleII::Card::Delegate { + public Apple::II::Card::Delegate { private: - struct VideoBusHandler : public AppleII::Video::BusHandler { + struct VideoBusHandler : public Apple::II::Video::BusHandler { public: VideoBusHandler(uint8_t *ram, uint8_t *aux_ram) : ram_(ram), aux_ram_(aux_ram) {} @@ -71,7 +72,7 @@ template class ConcreteMachine: CPU::MOS6502::Processor<(model == Analyser::Static::AppleII::Target::Model::EnhancedIIe) ? CPU::MOS6502::Personality::PSynertek65C02 : CPU::MOS6502::Personality::P6502, ConcreteMachine, false> m6502_; VideoBusHandler video_bus_handler_; - AppleII::Video::Video video_; + Apple::II::Video::Video video_; int cycles_into_current_line_ = 0; Cycles cycles_since_video_update_; @@ -109,28 +110,28 @@ template class ConcreteMachine: Cycles cycles_since_audio_update_; // MARK: - Cards - std::array, 7> cards_; + std::array, 7> cards_; Cycles cycles_since_card_update_; - std::vector every_cycle_cards_; - std::vector just_in_time_cards_; + std::vector every_cycle_cards_; + std::vector just_in_time_cards_; int stretched_cycles_since_card_update_ = 0; - void install_card(std::size_t slot, AppleII::Card *card) { + void install_card(std::size_t slot, Apple::II::Card *card) { assert(slot >= 1 && slot < 8); cards_[slot - 1].reset(card); card->set_delegate(this); pick_card_messaging_group(card); } - bool is_every_cycle_card(AppleII::Card *card) { + bool is_every_cycle_card(Apple::II::Card *card) { return !card->get_select_constraints(); } - void pick_card_messaging_group(AppleII::Card *card) { + void pick_card_messaging_group(Apple::II::Card *card) { const bool is_every_cycle = is_every_cycle_card(card); - std::vector &intended = is_every_cycle ? every_cycle_cards_ : just_in_time_cards_; - std::vector &undesired = is_every_cycle ? just_in_time_cards_ : every_cycle_cards_; + std::vector &intended = is_every_cycle ? every_cycle_cards_ : just_in_time_cards_; + std::vector &undesired = is_every_cycle ? just_in_time_cards_ : every_cycle_cards_; if(std::find(intended.begin(), intended.end(), card) != intended.end()) return; auto old_membership = std::find(undesired.begin(), undesired.end(), card); @@ -138,12 +139,12 @@ template class ConcreteMachine: intended.push_back(card); } - void card_did_change_select_constraints(AppleII::Card *card) override { + void card_did_change_select_constraints(Apple::II::Card *card) override { pick_card_messaging_group(card); } - AppleII::DiskIICard *diskii_card() { - return dynamic_cast(cards_[5].get()); + Apple::II::DiskIICard *diskii_card() { + return dynamic_cast(cards_[5].get()); } // MARK: - Memory Map. @@ -383,7 +384,7 @@ template class ConcreteMachine: if(target.disk_controller != Target::DiskController::None) { // Apple recommended slot 6 for the (first) Disk II. - install_card(6, new AppleII::DiskIICard(rom_fetcher, target.disk_controller == Target::DiskController::SixteenSector)); + install_card(6, new Apple::II::DiskIICard(rom_fetcher, target.disk_controller == Target::DiskController::SixteenSector)); } // Set up the default memory blocks. On a II or II+ these values will never change. @@ -700,7 +701,7 @@ template class ConcreteMachine: // If this is a card access, figure out which card is at play before determining // the totality of who needs messaging. size_t card_number = 0; - AppleII::Card::Select select = AppleII::Card::None; + Apple::II::Card::Select select = Apple::II::Card::None; if(address >= 0xc100) { /* @@ -708,20 +709,20 @@ template class ConcreteMachine: 0xCn00 to 0xCnff: card n. */ card_number = (address - 0xc100) >> 8; - select = AppleII::Card::Device; + select = Apple::II::Card::Device; } else { /* Decode the area conventionally used by cards for registers: C0n0 to C0nF: card n - 8. */ card_number = (address - 0xc090) >> 4; - select = AppleII::Card::IO; + select = Apple::II::Card::IO; } // If the selected card is a just-in-time card, update the just-in-time cards, // and then message it specifically. const bool is_read = isReadOperation(operation); - AppleII::Card *const target = cards_[static_cast(card_number)].get(); + Apple::II::Card *const target = cards_[static_cast(card_number)].get(); if(target && !is_every_cycle_card(target)) { update_just_in_time_cards(); target->perform_bus_operation(select, is_read, address, value); @@ -732,7 +733,7 @@ template class ConcreteMachine: for(const auto &card: every_cycle_cards_) { card->run_for(Cycles(1), is_stretched_cycle); card->perform_bus_operation( - (card == target) ? select : AppleII::Card::None, + (card == target) ? select : Apple::II::Card::None, is_read, address, value); } has_updated_cards = true; @@ -744,7 +745,7 @@ template class ConcreteMachine: const bool is_read = isReadOperation(operation); for(const auto &card: every_cycle_cards_) { card->run_for(Cycles(1), is_stretched_cycle); - card->perform_bus_operation(AppleII::Card::None, is_read, address, value); + card->perform_bus_operation(Apple::II::Card::None, is_read, address, value); } } @@ -818,7 +819,7 @@ template class ConcreteMachine: // MARK:: Configuration options. std::vector> get_options() override { - return AppleII::get_options(); + return Apple::II::get_options(); } void set_selections(const Configurable::SelectionSet &selections_by_option) override { @@ -860,9 +861,10 @@ template class ConcreteMachine: } }; +} } -using namespace AppleII; +using namespace Apple::II; Machine *Machine::AppleII(const Analyser::Static::Target *target, const ROMMachine::ROMFetcher &rom_fetcher) { using Target = Analyser::Static::AppleII::Target; diff --git a/Machines/AppleII/AppleII.hpp b/Machines/Apple/AppleII/AppleII.hpp similarity index 76% rename from Machines/AppleII/AppleII.hpp rename to Machines/Apple/AppleII/AppleII.hpp index c680b3163..ad4fededd 100644 --- a/Machines/AppleII/AppleII.hpp +++ b/Machines/Apple/AppleII/AppleII.hpp @@ -9,14 +9,15 @@ #ifndef AppleII_hpp #define AppleII_hpp -#include "../../Configurable/Configurable.hpp" -#include "../../Analyser/Static/StaticAnalyser.hpp" -#include "../ROMMachine.hpp" +#include "../../../Configurable/Configurable.hpp" +#include "../../../Analyser/Static/StaticAnalyser.hpp" +#include "../../ROMMachine.hpp" #include #include -namespace AppleII { +namespace Apple { +namespace II { /// @returns The options available for an Apple II. std::vector> get_options(); @@ -29,6 +30,7 @@ class Machine { static Machine *AppleII(const Analyser::Static::Target *target, const ROMMachine::ROMFetcher &rom_fetcher); }; -}; +} +} #endif /* AppleII_hpp */ diff --git a/Machines/AppleII/Card.hpp b/Machines/Apple/AppleII/Card.hpp similarity index 95% rename from Machines/AppleII/Card.hpp rename to Machines/Apple/AppleII/Card.hpp index 2b1ae664f..7e68daf81 100644 --- a/Machines/AppleII/Card.hpp +++ b/Machines/Apple/AppleII/Card.hpp @@ -9,11 +9,12 @@ #ifndef Card_h #define Card_h -#include "../../Processors/6502/6502.hpp" -#include "../../ClockReceiver/ClockReceiver.hpp" -#include "../../Activity/Observer.hpp" +#include "../../../Processors/6502/6502.hpp" +#include "../../../ClockReceiver/ClockReceiver.hpp" +#include "../../../Activity/Observer.hpp" -namespace AppleII { +namespace Apple { +namespace II { /*! This provides a small subset of the interface offered to cards installed in @@ -109,6 +110,7 @@ class Card { } }; +} } #endif /* Card_h */ diff --git a/Machines/AppleII/DiskIICard.cpp b/Machines/Apple/AppleII/DiskIICard.cpp similarity index 98% rename from Machines/AppleII/DiskIICard.cpp rename to Machines/Apple/AppleII/DiskIICard.cpp index a73d16844..2235cff6a 100644 --- a/Machines/AppleII/DiskIICard.cpp +++ b/Machines/Apple/AppleII/DiskIICard.cpp @@ -8,7 +8,7 @@ #include "DiskIICard.hpp" -using namespace AppleII; +using namespace Apple::II; DiskIICard::DiskIICard(const ROMMachine::ROMFetcher &rom_fetcher, bool is_16_sector) : diskii_(2045454) { const auto roms = rom_fetcher( diff --git a/Machines/AppleII/DiskIICard.hpp b/Machines/Apple/AppleII/DiskIICard.hpp similarity index 83% rename from Machines/AppleII/DiskIICard.hpp rename to Machines/Apple/AppleII/DiskIICard.hpp index 703788f05..3e8d3b962 100644 --- a/Machines/AppleII/DiskIICard.hpp +++ b/Machines/Apple/AppleII/DiskIICard.hpp @@ -10,17 +10,18 @@ #define DiskIICard_hpp #include "Card.hpp" -#include "../ROMMachine.hpp" +#include "../../ROMMachine.hpp" -#include "../../Components/DiskII/DiskII.hpp" -#include "../../Storage/Disk/Disk.hpp" -#include "../../ClockReceiver/ClockingHintSource.hpp" +#include "../../../Components/DiskII/DiskII.hpp" +#include "../../../Storage/Disk/Disk.hpp" +#include "../../../ClockReceiver/ClockingHintSource.hpp" #include #include #include -namespace AppleII { +namespace Apple { +namespace II { class DiskIICard: public Card, public ClockingHint::Observer { public: @@ -41,6 +42,7 @@ class DiskIICard: public Card, public ClockingHint::Observer { ClockingHint::Preference diskii_clocking_preference_ = ClockingHint::Preference::RealTime; }; +} } #endif /* DiskIICard_hpp */ diff --git a/Machines/AppleII/Video.cpp b/Machines/Apple/AppleII/Video.cpp similarity index 99% rename from Machines/AppleII/Video.cpp rename to Machines/Apple/AppleII/Video.cpp index 22474c8ae..5370aaab2 100644 --- a/Machines/AppleII/Video.cpp +++ b/Machines/Apple/AppleII/Video.cpp @@ -8,7 +8,7 @@ #include "Video.hpp" -using namespace AppleII::Video; +using namespace Apple::II::Video; VideoBase::VideoBase(bool is_iie, std::function &&target) : crt_(910, 1, Outputs::Display::Type::NTSC60, Outputs::Display::InputDataType::Luminance1), diff --git a/Machines/AppleII/Video.hpp b/Machines/Apple/AppleII/Video.hpp similarity index 99% rename from Machines/AppleII/Video.hpp rename to Machines/Apple/AppleII/Video.hpp index 3eccde46e..7ae6b179b 100644 --- a/Machines/AppleII/Video.hpp +++ b/Machines/Apple/AppleII/Video.hpp @@ -9,14 +9,15 @@ #ifndef Video_hpp #define Video_hpp -#include "../../Outputs/CRT/CRT.hpp" -#include "../../ClockReceiver/ClockReceiver.hpp" -#include "../../ClockReceiver/ClockDeferrer.hpp" +#include "../../../Outputs/CRT/CRT.hpp" +#include "../../../ClockReceiver/ClockReceiver.hpp" +#include "../../../ClockReceiver/ClockDeferrer.hpp" #include #include -namespace AppleII { +namespace Apple { +namespace II { namespace Video { class BusHandler { @@ -600,6 +601,7 @@ template class Video: public VideoBase { BusHandler &bus_handler_; }; +} } } diff --git a/Machines/Utility/MachineForTarget.cpp b/Machines/Utility/MachineForTarget.cpp index c975b6978..22df44a9b 100644 --- a/Machines/Utility/MachineForTarget.cpp +++ b/Machines/Utility/MachineForTarget.cpp @@ -9,7 +9,7 @@ #include "MachineForTarget.hpp" #include "../AmstradCPC/AmstradCPC.hpp" -#include "../AppleII/AppleII.hpp" +#include "../Apple/AppleII/AppleII.hpp" #include "../Atari2600/Atari2600.hpp" #include "../ColecoVision/ColecoVision.hpp" #include "../Commodore/Vic-20/Vic20.hpp" @@ -33,7 +33,7 @@ namespace { #define Bind(m) BindD(m, m) switch(target->machine) { Bind(AmstradCPC) - Bind(AppleII) + BindD(Apple::II, AppleII) Bind(Atari2600) BindD(Coleco::Vision, ColecoVision) Bind(Electron) @@ -132,7 +132,7 @@ std::map>> Machin std::map>> options; options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::AmstradCPC), AmstradCPC::get_options())); - options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::AppleII), AppleII::get_options())); + options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::AppleII), Apple::II::get_options())); options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::ColecoVision), Coleco::Vision::get_options())); options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::Electron), Electron::get_options())); options.emplace(std::make_pair(LongNameForTargetMachine(Analyser::Machine::MSX), MSX::get_options())); diff --git a/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj b/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj index 5e9773ab7..cc5674bbd 100644 --- a/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj +++ b/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj @@ -131,10 +131,6 @@ 4B1558C01F844ECD006E9A97 /* BitReverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1558BE1F844ECD006E9A97 /* BitReverse.cpp */; }; 4B15A9FC208249BB005E6C8D /* StaticAnalyser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15A9FA208249BB005E6C8D /* StaticAnalyser.cpp */; }; 4B15A9FD208249BB005E6C8D /* StaticAnalyser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15A9FA208249BB005E6C8D /* StaticAnalyser.cpp */; }; - 4B15AA0D2082C799005E6C8D /* Video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15AA0A2082C799005E6C8D /* Video.cpp */; }; - 4B15AA0E2082C799005E6C8D /* Video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15AA0A2082C799005E6C8D /* Video.cpp */; }; - 4B15AA0F2082C799005E6C8D /* AppleII.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15AA0C2082C799005E6C8D /* AppleII.cpp */; }; - 4B15AA102082C799005E6C8D /* AppleII.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B15AA0C2082C799005E6C8D /* AppleII.cpp */; }; 4B17B58B20A8A9D9007CCA8F /* StringSerialiser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B17B58920A8A9D9007CCA8F /* StringSerialiser.cpp */; }; 4B17B58C20A8A9D9007CCA8F /* StringSerialiser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B17B58920A8A9D9007CCA8F /* StringSerialiser.cpp */; }; 4B1B88BB202E2EC100B67DFF /* MultiKeyboardMachine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B1B88B9202E2EC100B67DFF /* MultiKeyboardMachine.cpp */; }; @@ -607,8 +603,6 @@ 4BBFBB6C1EE8401E00C01E7A /* ZX8081.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BBFBB6A1EE8401E00C01E7A /* ZX8081.cpp */; }; 4BBFE83D21015D9C00BF1C40 /* CSJoystickManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBFE83C21015D9C00BF1C40 /* CSJoystickManager.m */; }; 4BBFFEE61F7B27F1005F3FEB /* TrackSerialiser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BBFFEE51F7B27F1005F3FEB /* TrackSerialiser.cpp */; }; - 4BC39568208EE6CF0044766B /* DiskIICard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC39566208EE6CF0044766B /* DiskIICard.cpp */; }; - 4BC39569208EE6CF0044766B /* DiskIICard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC39566208EE6CF0044766B /* DiskIICard.cpp */; }; 4BC5FC3020CDDDEF00410AA0 /* AppleIIOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BC5FC2E20CDDDEE00410AA0 /* AppleIIOptions.xib */; }; 4BC751B21D157E61006C31D9 /* 6522Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BC751B11D157E61006C31D9 /* 6522Tests.swift */; }; 4BC76E691C98E31700E6EF73 /* FIRFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC76E671C98E31700E6EF73 /* FIRFilter.cpp */; }; @@ -618,6 +612,9 @@ 4BC9DF4F1D04691600F44158 /* 6560.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC9DF4D1D04691600F44158 /* 6560.cpp */; }; 4BC9E1EE1D23449A003FCEE4 /* 6502InterruptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BC9E1ED1D23449A003FCEE4 /* 6502InterruptTests.swift */; }; 4BCA6CC81D9DD9F000C2D7B2 /* CommodoreROM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BCA6CC61D9DD9F000C2D7B2 /* CommodoreROM.cpp */; }; + 4BCE0051227CE8CA000CA200 /* Video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE004D227CE8CA000CA200 /* Video.cpp */; }; + 4BCE0052227CE8CA000CA200 /* DiskIICard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE004E227CE8CA000CA200 /* DiskIICard.cpp */; }; + 4BCE0053227CE8CA000CA200 /* AppleII.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE0050227CE8CA000CA200 /* AppleII.cpp */; }; 4BCF1FA41DADC3DD0039D2E7 /* Oric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BCF1FA21DADC3DD0039D2E7 /* Oric.cpp */; }; 4BD191F42191180E0042E144 /* ScanTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD191F22191180E0042E144 /* ScanTarget.cpp */; }; 4BD191F52191180E0042E144 /* ScanTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD191F22191180E0042E144 /* ScanTarget.cpp */; }; @@ -749,10 +746,6 @@ 4B1558BF1F844ECD006E9A97 /* BitReverse.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = BitReverse.hpp; path = Data/BitReverse.hpp; sourceTree = ""; }; 4B15A9FA208249BB005E6C8D /* StaticAnalyser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = StaticAnalyser.cpp; path = AppleII/StaticAnalyser.cpp; sourceTree = ""; }; 4B15A9FB208249BB005E6C8D /* StaticAnalyser.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = StaticAnalyser.hpp; path = AppleII/StaticAnalyser.hpp; sourceTree = ""; }; - 4B15AA092082C799005E6C8D /* AppleII.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = AppleII.hpp; sourceTree = ""; }; - 4B15AA0A2082C799005E6C8D /* Video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Video.cpp; sourceTree = ""; }; - 4B15AA0B2082C799005E6C8D /* Video.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Video.hpp; sourceTree = ""; }; - 4B15AA0C2082C799005E6C8D /* AppleII.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppleII.cpp; sourceTree = ""; }; 4B1667F61FFF1E2400A16032 /* Konami.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = Konami.hpp; path = MSX/Cartridges/Konami.hpp; sourceTree = ""; }; 4B1667F91FFF215E00A16032 /* ASCII16kb.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ASCII16kb.hpp; path = MSX/Cartridges/ASCII16kb.hpp; sourceTree = ""; }; 4B1667FA1FFF215E00A16032 /* ASCII8kb.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ASCII8kb.hpp; path = MSX/Cartridges/ASCII8kb.hpp; sourceTree = ""; }; @@ -1363,9 +1356,6 @@ 4BBFE83C21015D9C00BF1C40 /* CSJoystickManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSJoystickManager.m; sourceTree = ""; }; 4BBFE83E21015DAE00BF1C40 /* CSJoystickManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CSJoystickManager.h; sourceTree = ""; }; 4BBFFEE51F7B27F1005F3FEB /* TrackSerialiser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TrackSerialiser.cpp; sourceTree = ""; }; - 4BC39565208EDFCE0044766B /* Card.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Card.hpp; sourceTree = ""; }; - 4BC39566208EE6CF0044766B /* DiskIICard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DiskIICard.cpp; sourceTree = ""; }; - 4BC39567208EE6CF0044766B /* DiskIICard.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = DiskIICard.hpp; sourceTree = ""; }; 4BC5FC2F20CDDDEE00410AA0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Clock Signal/Base.lproj/AppleIIOptions.xib"; sourceTree = SOURCE_ROOT; }; 4BC751B11D157E61006C31D9 /* 6522Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = 6522Tests.swift; sourceTree = ""; }; 4BC76E671C98E31700E6EF73 /* FIRFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FIRFilter.cpp; sourceTree = ""; }; @@ -1380,6 +1370,13 @@ 4BCA6CC61D9DD9F000C2D7B2 /* CommodoreROM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommodoreROM.cpp; path = Encodings/CommodoreROM.cpp; sourceTree = ""; }; 4BCA6CC71D9DD9F000C2D7B2 /* CommodoreROM.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CommodoreROM.hpp; path = Encodings/CommodoreROM.hpp; sourceTree = ""; }; 4BCA98C21D065CA20062F44C /* 6522.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = 6522.hpp; sourceTree = ""; }; + 4BCE004A227CE8CA000CA200 /* AppleII.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = AppleII.hpp; sourceTree = ""; }; + 4BCE004B227CE8CA000CA200 /* Card.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Card.hpp; sourceTree = ""; }; + 4BCE004C227CE8CA000CA200 /* DiskIICard.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DiskIICard.hpp; sourceTree = ""; }; + 4BCE004D227CE8CA000CA200 /* Video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Video.cpp; sourceTree = ""; }; + 4BCE004E227CE8CA000CA200 /* DiskIICard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DiskIICard.cpp; sourceTree = ""; }; + 4BCE004F227CE8CA000CA200 /* Video.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Video.hpp; sourceTree = ""; }; + 4BCE0050227CE8CA000CA200 /* AppleII.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppleII.cpp; sourceTree = ""; }; 4BCF1FA21DADC3DD0039D2E7 /* Oric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Oric.cpp; path = Oric/Oric.cpp; sourceTree = ""; }; 4BCF1FA31DADC3DD0039D2E7 /* Oric.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Oric.hpp; path = Oric/Oric.hpp; sourceTree = ""; }; 4BD060A51FE49D3C006E14BE /* Speaker.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Speaker.hpp; sourceTree = ""; }; @@ -1610,20 +1607,6 @@ name = AppleII; sourceTree = ""; }; - 4B15AA082082C799005E6C8D /* AppleII */ = { - isa = PBXGroup; - children = ( - 4B15AA0C2082C799005E6C8D /* AppleII.cpp */, - 4BC39566208EE6CF0044766B /* DiskIICard.cpp */, - 4B15AA0A2082C799005E6C8D /* Video.cpp */, - 4B15AA092082C799005E6C8D /* AppleII.hpp */, - 4BC39565208EDFCE0044766B /* Card.hpp */, - 4BC39567208EE6CF0044766B /* DiskIICard.hpp */, - 4B15AA0B2082C799005E6C8D /* Video.hpp */, - ); - path = AppleII; - sourceTree = ""; - }; 4B1667F81FFF1E2900A16032 /* Cartridges */ = { isa = PBXGroup; children = ( @@ -2911,7 +2894,7 @@ 4BA9C3CF1D8164A9002DDB61 /* MediaTarget.hpp */, 4BDCC5F81FB27A5E001220C5 /* ROMMachine.hpp */, 4B38F3491F2EC12000D9235D /* AmstradCPC */, - 4B15AA082082C799005E6C8D /* AppleII */, + 4BCE0048227CE8CA000CA200 /* Apple */, 4B2E2D961C3A06EC00138695 /* Atari2600 */, 4B7A90E22041097C008514A2 /* ColecoVision */, 4B4DC81D1D2C2425003C5BF8 /* Commodore */, @@ -3042,6 +3025,28 @@ name = Encodings; sourceTree = ""; }; + 4BCE0048227CE8CA000CA200 /* Apple */ = { + isa = PBXGroup; + children = ( + 4BCE0049227CE8CA000CA200 /* AppleII */, + ); + path = Apple; + sourceTree = ""; + }; + 4BCE0049227CE8CA000CA200 /* AppleII */ = { + isa = PBXGroup; + children = ( + 4BCE0050227CE8CA000CA200 /* AppleII.cpp */, + 4BCE004E227CE8CA000CA200 /* DiskIICard.cpp */, + 4BCE004D227CE8CA000CA200 /* Video.cpp */, + 4BCE004A227CE8CA000CA200 /* AppleII.hpp */, + 4BCE004B227CE8CA000CA200 /* Card.hpp */, + 4BCE004C227CE8CA000CA200 /* DiskIICard.hpp */, + 4BCE004F227CE8CA000CA200 /* Video.hpp */, + ); + path = AppleII; + sourceTree = ""; + }; 4BCF1FA51DADC3E10039D2E7 /* Oric */ = { isa = PBXGroup; children = ( @@ -3795,14 +3800,11 @@ 4B055ACA1FAE9AFB0060FFFF /* Vic20.cpp in Sources */, 4B055ABC1FAE86170060FFFF /* ZX8081.cpp in Sources */, 4B055AC91FAE9AFB0060FFFF /* Keyboard.cpp in Sources */, - 4B15AA0E2082C799005E6C8D /* Video.cpp in Sources */, 4B055A991FAE85CB0060FFFF /* DiskController.cpp in Sources */, 4B055ACC1FAE9B030060FFFF /* Electron.cpp in Sources */, - 4BC39569208EE6CF0044766B /* DiskIICard.cpp in Sources */, 4B055AB11FAE86070060FFFF /* Tape.cpp in Sources */, 4BFE7B881FC39D8900160B38 /* StandardOptions.cpp in Sources */, 4B894533201967B4007DE474 /* 6502.cpp in Sources */, - 4B15AA102082C799005E6C8D /* AppleII.cpp in Sources */, 4B055AA91FAE85EF0060FFFF /* CommodoreGCR.cpp in Sources */, 4B055ADB1FAE9B460060FFFF /* 6560.cpp in Sources */, 4B17B58C20A8A9D9007CCA8F /* StringSerialiser.cpp in Sources */, @@ -3894,6 +3896,7 @@ 4B1B88BB202E2EC100B67DFF /* MultiKeyboardMachine.cpp in Sources */, 4B4518A11F75FD1C00926311 /* D64.cpp in Sources */, 4B1558C01F844ECD006E9A97 /* BitReverse.cpp in Sources */, + 4BCE0052227CE8CA000CA200 /* DiskIICard.cpp in Sources */, 4BCF1FA41DADC3DD0039D2E7 /* Oric.cpp in Sources */, 4BD67DCB209BE4D700AB2146 /* StaticAnalyser.cpp in Sources */, 4B9BE400203A0C0600FFAE60 /* MultiSpeaker.cpp in Sources */, @@ -3906,7 +3909,6 @@ 4B595FAD2086DFBA0083CAA8 /* AudioToggle.cpp in Sources */, 4B1497921EE4B5A800CE2596 /* ZX8081.cpp in Sources */, 4B643F3F1D77B88000D431D6 /* DocumentController.swift in Sources */, - 4BC39568208EE6CF0044766B /* DiskIICard.cpp in Sources */, 4B05401E219D1618001BF69C /* ScanTarget.cpp in Sources */, 4B4518861F75E91A00926311 /* MFMDiskController.cpp in Sources */, 4B54C0BF1F8D8F450050900F /* Keyboard.cpp in Sources */, @@ -3989,7 +3991,6 @@ 4BB697CB1D4B6D3E00248BDF /* TimedEventLoop.cpp in Sources */, 4B54C0C21F8D91CD0050900F /* Keyboard.cpp in Sources */, 4BBC951E1F368D83008F4C34 /* i8272.cpp in Sources */, - 4B15AA0F2082C799005E6C8D /* AppleII.cpp in Sources */, 4B89449520194CB3007DE474 /* MachineForTarget.cpp in Sources */, 4B4A76301DB1A3FA007AAE2E /* AY38910.cpp in Sources */, 4B6A4C991F58F09E00E3F787 /* 6502Base.cpp in Sources */, @@ -4003,6 +4004,7 @@ 4B3051301D98ACC600B4FED8 /* Plus3.cpp in Sources */, 4B30512D1D989E2200B4FED8 /* Drive.cpp in Sources */, 4B83348C1F5DB99C0097E338 /* 6522Base.cpp in Sources */, + 4BCE0051227CE8CA000CA200 /* Video.cpp in Sources */, 4B894536201967B4007DE474 /* Z80.cpp in Sources */, 4BCA6CC81D9DD9F000C2D7B2 /* CommodoreROM.cpp in Sources */, 4BEA52661DF3472B007E74F2 /* TIASound.cpp in Sources */, @@ -4032,6 +4034,7 @@ 4B2A539F1D117D36003C6002 /* CSAudioQueue.m in Sources */, 4B89453E201967B4007DE474 /* StaticAnalyser.cpp in Sources */, 4B37EE821D7345A6006A09A4 /* BinaryDump.cpp in Sources */, + 4BCE0053227CE8CA000CA200 /* AppleII.cpp in Sources */, 4B8334821F5D9FF70097E338 /* PartialMachineCycle.cpp in Sources */, 4BD424E72193B5830097291A /* Rectangle.cpp in Sources */, 4B1B88C0202E3DB200B67DFF /* MultiConfigurable.cpp in Sources */, @@ -4039,7 +4042,6 @@ 4B54C0BC1F8D8E790050900F /* KeyboardMachine.cpp in Sources */, 4BB73EA21B587A5100552FC2 /* AppDelegate.swift in Sources */, 4B894534201967B4007DE474 /* AddressMapper.cpp in Sources */, - 4B15AA0D2082C799005E6C8D /* Video.cpp in Sources */, 4B1B88C8202E469300B67DFF /* MultiJoystickMachine.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0;