From 572fcbf1d56e7e1bdecbebb8b3d8dd554bcddb33 Mon Sep 17 00:00:00 2001 From: tomcw Date: Tue, 31 Oct 2023 21:01:37 +0000 Subject: [PATCH] Add Disk2 LSS ROM --- resource/341-0028-a.rom | 65 +++++++++++++++++++++++++++++++++++++++++ resource/Applewin.rc | 1 + resource/resource.h | 1 + source/Disk.cpp | 5 ++++ source/Disk.h | 3 ++ 5 files changed, 75 insertions(+) create mode 100644 resource/341-0028-a.rom diff --git a/resource/341-0028-a.rom b/resource/341-0028-a.rom new file mode 100644 index 00000000..09e9d838 --- /dev/null +++ b/resource/341-0028-a.rom @@ -0,0 +1,65 @@ +Ø + + + +99;;8( + + + +99;;-Ø8H + + + +(H(H(H(H-H8H + + + +(H(H(H(HØØØØ + + + +XxXxXxXxXxXx + + + +XxXxXxXxØØØØ + + + +hhˆhhˆhˆhˆ + + + +hhˆhhˆØÍØØ + + + +˜¹˜¹˜»˜»˜½˜¸ + + + +˜¹˜¹˜»˜»ØÙØØ + + + +¨È¨È¨È¨È)Y¨È + + + +¨È¨È¨È¨ÈÙýØø + + + +ØøØøØøØøÙý ø + + + +ØøØøØøØøØÝèà + + + +èˆèèˆèMèà + + + +èˆèèˆè \ No newline at end of file diff --git a/resource/Applewin.rc b/resource/Applewin.rc index 046ed933..176631e1 100644 --- a/resource/Applewin.rc +++ b/resource/Applewin.rc @@ -354,6 +354,7 @@ IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom" IDR_TK3000_2E_ROM ROM "TK3000e.rom" IDR_BASE_64A_ROM ROM "Base64A.rom" IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom" +IDR_DISK2_341_0028_A ROM "341-0028-a.rom" ///////////////////////////////////////////////////////////////////////////// // diff --git a/resource/resource.h b/resource/resource.h index cbe032fc..8c93e1df 100644 --- a/resource/resource.h +++ b/resource/resource.h @@ -52,6 +52,7 @@ #define IDR_APPLE2_JPLUS_VIDEO_ROM 152 #define IDR_BASE_64A_ROM 153 #define IDR_BASE64A_VIDEO_ROM 154 +#define IDR_DISK2_341_0028_A 155 #define IDC_KEYB_BUFFER_ENABLE 1005 #define IDC_SAVESTATE 1006 #define IDC_SAVESTATE_ON_EXIT 1007 diff --git a/source/Disk.cpp b/source/Disk.cpp index bc0a2c11..164de359 100644 --- a/source/Disk.cpp +++ b/source/Disk.cpp @@ -2376,6 +2376,11 @@ void Disk2InterfaceCard::InitializeIO(LPBYTE pCxRomPeripheral) res = GetFirmware(IDR_DISK2_16SECTOR_FW, m_16SectorFirmware); _ASSERT(res); + BYTE* pData = GetFrame().GetResource(IDR_DISK2_341_0028_A, "ROM", DISK2_LSS_SIZE); + _ASSERT(pData); + if (pData) + memcpy(m_16SectorLSSROM, pData, DISK2_LSS_SIZE); + // Note: We used to disable the track stepping delay in the Disk II controller firmware by // patching $C64C with $A9,$00,$EA. Now not doing this since: // . Authentic Speed should be authentic diff --git a/source/Disk.h b/source/Disk.h index 7b7f2520..94b42e9d 100644 --- a/source/Disk.h +++ b/source/Disk.h @@ -269,6 +269,9 @@ private: bool m_is13SectorFirmware; bool m_force13SectorFirmware; + static const UINT DISK2_LSS_SIZE = 256; + BYTE m_16SectorLSSROM[DISK2_LSS_SIZE]; + WORD m_currDrive; FloppyDrive m_floppyDrive[NUM_DRIVES]; BYTE m_floppyLatch;