From bb4c4d2761e4da67094890211811dba8f4c0eff7 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Fri, 12 Aug 2022 21:58:03 -0500 Subject: [PATCH] Added known issues file, small fix for booting from running Apple. --- known-issues.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ src/floppydrive.cpp | 2 +- src/v65c02.cpp | 3 ++- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 known-issues.txt diff --git a/known-issues.txt b/known-issues.txt new file mode 100644 index 0000000..c9f7561 --- /dev/null +++ b/known-issues.txt @@ -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) diff --git a/src/floppydrive.cpp b/src/floppydrive.cpp index 9291719..5df3964 100644 --- a/src/floppydrive.cpp +++ b/src/floppydrive.cpp @@ -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]]; diff --git a/src/v65c02.cpp b/src/v65c02.cpp index 82158c8..fbc5018 100644 --- a/src/v65c02.cpp +++ b/src/v65c02.cpp @@ -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) -- 2.37.2