From d1eea6943d61f5a5b6e28a0fa6f13be30fe9922e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 5 Jul 2016 16:54:25 -0400 Subject: [PATCH] Ensured the 1540 ROM gets installed, at least. --- Machines/Commodore/1540/Commodore1540.cpp | 2 +- Machines/Commodore/1540/Commodore1540.hpp | 2 +- Machines/Commodore/Vic-20/Vic20.cpp | 1 + OSBindings/Mac/Clock Signal/Documents/Vic20Document.swift | 4 ++++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Machines/Commodore/1540/Commodore1540.cpp b/Machines/Commodore/1540/Commodore1540.cpp index 5fe054b7a..f53fa0527 100644 --- a/Machines/Commodore/1540/Commodore1540.cpp +++ b/Machines/Commodore/1540/Commodore1540.cpp @@ -29,7 +29,7 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin return 1; } -void Machine::set_rom(uint8_t *rom) +void Machine::set_rom(const uint8_t *rom) { memcpy(_rom, rom, sizeof(_rom)); } diff --git a/Machines/Commodore/1540/Commodore1540.hpp b/Machines/Commodore/1540/Commodore1540.hpp index e0d28d248..1e5608986 100644 --- a/Machines/Commodore/1540/Commodore1540.hpp +++ b/Machines/Commodore/1540/Commodore1540.hpp @@ -21,7 +21,7 @@ class Machine: public: unsigned int perform_bus_operation(CPU6502::BusOperation operation, uint16_t address, uint8_t *value); - void set_rom(uint8_t *rom); + void set_rom(const uint8_t *rom); private: uint8_t _ram[0x800]; diff --git a/Machines/Commodore/Vic-20/Vic20.cpp b/Machines/Commodore/Vic-20/Vic20.cpp index ab9c61a20..ba463e594 100644 --- a/Machines/Commodore/Vic-20/Vic20.cpp +++ b/Machines/Commodore/Vic-20/Vic20.cpp @@ -158,6 +158,7 @@ void Machine::set_rom(ROMSlot slot, size_t length, const uint8_t *data) case Characters: target = _characterROM; max_length = 0x1000; break; case BASIC: target = _basicROM; break; case Drive: + if(_c1540) _c1540->set_rom(data); return; } diff --git a/OSBindings/Mac/Clock Signal/Documents/Vic20Document.swift b/OSBindings/Mac/Clock Signal/Documents/Vic20Document.swift index f4b647b09..bbf5ddaee 100644 --- a/OSBindings/Mac/Clock Signal/Documents/Vic20Document.swift +++ b/OSBindings/Mac/Clock Signal/Documents/Vic20Document.swift @@ -31,6 +31,10 @@ class Vic20Document: MachineDocument { vic20.setBASICROM(basic) vic20.setCharactersROM(characters) } + + if let drive = dataForResource("1540", ofType: "bin", inDirectory: "ROMImages/Commodore1540") { + vic20.setDriveROM(drive) + } } override class func autosavesInPlace() -> Bool {