ibrumby / Crossrunner-Issues

Post any issues with Crossrunner here
17 stars 0 forks source link

Apple II DeskTop v1.4-alpha builds hang on startup #8

Closed inexorabletash closed 9 months ago

inexorabletash commented 9 months ago

I started debugging over in https://github.com/a2stuff/a2d/issues/780 but since this doesn't repro in real hardware, Ample/MAME, or KEGS I'm guessing this is an emulator issue. That said, v1.3 seems to work...

Repro:

  1. On a Windows machine, download/install/configure Crossrunner IIgs emulator from https://www.crossrunner.gs/ 2, Download and try a v1.3 build to verify you have Crossrunner configured correctly; inserting the 32MB HDV into the hard drive works.
  2. Download and try a v1.4-alpha build

Outcome;

After ProDOS starts, and before any A2D starting banner is seen, the screen goes mostly blank but flickers madly with some lines of garbage.

I've traced this as far as code in DESKTOP.SYSTEM enumerating SmartPort devices looking for a RAM disk. It passes through Slot 7 (STATUS into SP controller at $C70D) but things go off into the weeds with the STATUS call into the Slot 5 SP controller ($C50D).

inexorabletash commented 9 months ago

For assistance in debugging, a breakpoint at $2000 is useful. The first hit will be ProDOS-8 itself. The second will be CLOCK.SYSTEM loading. The third will be DESKTOP.SYSTEM which is the code we really care about.

inexorabletash commented 9 months ago

Root cause determined: the code was erroneously clearing bit 0 of NEWVIDEO.

The IIgs Firmware Reference says that programmers must not change the bit. So leaving it alone now! Fixed in https://github.com/a2stuff/a2d/commit/6543df6c2080fc32d0c7b468f6c9aa35b37529f5 - sorry about the noise.