]> Shamusworld >> Repos - apple2/commitdiff
Added known issues file, small fix for booting from running Apple.
authorShamus Hammons <jlhamm@acm.org>
Sat, 13 Aug 2022 02:58:03 +0000 (21:58 -0500)
committerShamus Hammons <jlhamm@acm.org>
Sat, 13 Aug 2022 02:58:03 +0000 (21:58 -0500)
known-issues.txt [new file with mode: 0644]
src/floppydrive.cpp
src/v65c02.cpp

diff --git a/known-issues.txt b/known-issues.txt
new file mode 100644 (file)
index 0000000..c9f7561
--- /dev/null
@@ -0,0 +1,43 @@
+KNOWN ISSUES WITH APPLE2 EMULATOR
+---------------------------------
+
+ - Some disk images don't properly boot when the apple is powered on and *then*
+   a disk is inserted (Ape Escape, Apple Panic).  Could be related to the
+   Infocom squeezed disk format problem (Border Zone, others).
+
+ - Border Zone doesn't read side B properly; there is a synchronization issue
+   where the disk read routines run at 27 cycles per byte while the LSS runs
+   with an OBT (optimal bit timing) of 28.  Eventually, the LSS will run
+   ahead(!) of the 65c02--even though the 65c02 is running a faster loop--
+   resulting in bytes being missed by the 65c02 (sometimes 2 bytes in a row
+   being missed).  Very strange!
+
+ - Inserting a new blank disk in drive #2 doesn't work (the code hasn't been
+   written yet)
+
+ - A new blank disk is given a default name and saved in the same folder as the
+   apple2 executable.  This should at a minimum save the image in the "disks"
+   folder (however that is defined in apple2.cfg); it should also allow the
+   user to set the name of the disk image as well.
+
+ - Saving/loading save states through the GUI doesn't work yet
+
+ - Some (most) config options don't work through the GUI yet
+
+ - Attaching hard drive images can only be done by editing apple2.cfg
+
+ - There is no emulation of 800K drives yet
+
+ - 13 sector disks don't work yet
+
+ - Scrolling though the list of disks to get to one near the end of the list
+   takes a *lot* of clicks.  Should probably make some form of type-ahead
+   filtering to narrow the list down.  Maybe should also sort the disks better
+   as well by ignoring starting articles such as a, an, the, & etc.
+
+ - The disk selector doesn't give you any useful information about the disk
+   you're highlighting (other than the full name at the top of the window); it
+   should probably at a minimum give memory/machine stats for the disk.
+
+ - No support for joysticks of any kind (even emulated Atari sticks via
+   keyboard)
index 92917191dd10e16c5bb9a57c3a96fae444f3e437..5df3964313e0fe21a9b1646eebe1d8111607c9bd 100644 (file)
@@ -948,7 +948,7 @@ void FloppyDrive::SetReadWriteSwitch(uint8_t state)
 uint8_t FloppyDrive::DataRegister(void)
 {
        // Sanity check
-       if (diskType[activeDrive] != DT_EMPTY)
+       if (diskImageReady && (diskType[activeDrive] != DT_EMPTY))
        {
                WOZ2 & woz = *((WOZ2 *)disk[activeDrive]);
                uint8_t tIdx = woz.tmap[headPos[activeDrive]];
index 82158c81ec3011322fed13643a4d7d263c8e2935..fbc5018a0b6b454c1a5dc614a09821ab212607e0 100644 (file)
@@ -2303,8 +2303,9 @@ void Execute65C02(V65C02REGS * context, uint32_t cycles)
 else if (regs->pc == 0x2141)
        dumpDis = false;*/
 
-#if 1
+#if 0
 // Bard's Tale II
+// Turns out a bug in floppydrive.cpp prevented this from working.  :-P
 static bool hitGo = false;
 
 if (regs->pc == 0xA000)