From 10bf60e1494e7ffef539d9a5867bab0e8b05ee97 Mon Sep 17 00:00:00 2001 From: TomCh Date: Fri, 22 Mar 2024 22:36:50 +0100 Subject: [PATCH] Support an extra Saturn card in slot 3 and for all Apple II models. (#1279, PR #1284) . Command line config only, and only permitted in slot 3 for now. . Save-state Unit v9: Extended: memory (added 'Last Slot to Set Main Mem LC', 'MMU LC Mode'). . Add LanguageCardManager class. --- help/CommandLine.html | 3 + help/dbg-screen-layout.html | 2 +- help/savestate.html | 2 + source/CardManager.cpp | 33 +++-- source/CardManager.h | 7 +- source/CmdLine.cpp | 26 ++-- source/Debugger/Debugger_Display.cpp | 2 +- source/LanguageCard.cpp | 189 +++++++++++++++++++++++---- source/LanguageCard.h | 44 ++++++- source/Memory.cpp | 162 +++++++++++++---------- source/Memory.h | 3 +- source/SaveState.cpp | 5 +- source/Utilities.cpp | 1 + source/Windows/AppleWin.cpp | 6 +- 14 files changed, 348 insertions(+), 137 deletions(-) diff --git a/help/CommandLine.html b/help/CommandLine.html index 67cee417..093bbee3 100644 --- a/help/CommandLine.html +++ b/help/CommandLine.html @@ -43,6 +43,9 @@ -s0 <saturn|saturn64|saturn128>
Insert a Saturn 64K or Saturn 128K card into slot 0 in the Apple II or II+ machines (or similar clone).
Where -s0 saturn is an alias for -s0 saturn128.

+ -s3 <saturn|saturn128>
+ Insert a Saturn 128K card into slot 3 in any Apple II machine.
+ Use this configuration for Robocom Ltd's (Robo Systems') CAD software in combination with the Interface Module protection dongle in the Game I/O Connector.

-s0 <languagecard|lc>
Insert an Apple 16K Language Card into slot 0 in the original Apple II and use the F8 auto-start ROM.
NB. The Apple II+ already defaults to having a Language Card, so this switch is not required.

diff --git a/help/dbg-screen-layout.html b/help/dbg-screen-layout.html index af7403bb..c30c48ea 100644 --- a/help/dbg-screen-layout.html +++ b/help/dbg-screen-layout.html @@ -49,7 +49,7 @@
  • If 'W' is inverse: RAM is write enabled.
  • If 'W' is not inverse: RAM is write protected.
  • 'rNN' will appear if a RamWorks 64K bank is active. -
  • 'sNN' will appear if a Saturn 16K bank is active. +
  • 'sNN' will appear if a Saturn 16K bank is active (slot 0 only).

    diff --git a/help/savestate.html b/help/savestate.html index 06589606..e90740bc 100644 --- a/help/savestate.html +++ b/help/savestate.html @@ -23,6 +23,7 @@
  • Apple model: ][, ][+, //e, Enhanced //e or clone (eg. Pravets)
  • Apple ]['s slot-0 language card: 16K Language Card, Saturn 64K or Saturn 128K
  • Apple //e's auxiliary card: 80 Column, Extended 80 Column or RamWorks III
  • +
  • Any Apple II: Saturn 128K cards in slots other than slot 0
  • Disk][ (even during r/w operation)
  • Hard disk (even during r/w operation)
  • Mockingboard & Phasor cards
  • @@ -35,6 +36,7 @@
  • Uthernet & Uthernet II cards
  • 4Play & SNES MAX joystick cards
  • VidHD card
  • +
  • Game I/O Connector copy protection dongle
  • The following are not yet persisted to the file: