a2stuff / a2d

Disassembly of the Apple II Desktop - ProDOS GUI
https://a2desktop.com
261 stars 20 forks source link

Selector crash when loading with ProDos 2.4.3 #789

Closed samccormack closed 5 months ago

samccormack commented 5 months ago

Describe the bug With Prodos 2.4.3 trying to load a program or going to the full desktop crashes into the monitor. Oddly I only see this bug on my //c + my Apple //gs works fine with the same configuration. Launching selector shortcuts from the full desktop does not crash system.

To Reproduce Steps to reproduce the behavior:

  1. Launch the selector
  2. Pick a program to run or D to launch the desktop
  3. Program starts to load then crashes to the monitor

Expected behavior program loads with no crashing

System Details (please complete the following information):

Additional context I have a //c plus and a //gs and the problem only appears on the //c plus using the same disk with both.

inexorabletash commented 5 months ago

Have you tried a 1.4 build?

samccormack commented 5 months ago

I have not. I will try oneOn Jan 24, 2024, at 8:36 PM, Joshua Bell @.***> wrote: Have you tried a 1.4 build?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

inexorabletash commented 5 months ago

Other useful questions:

samccormack commented 5 months ago

Yes things are copied to the ramdisk. Also this doesn’t happen with 2.4.2On Jan 24, 2024, at 8:52 PM, Joshua Bell @.***> wrote: Other useful questions:

is Desktop copying itself to the RAMdisk on startup? You mention ProDOS 2.4.3; does it repro with 2.4.2?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

inexorabletash commented 5 months ago

I can repro in MAME (via Ample) using //c Plus and 1.4. I'll figure it out - thanks for the report!

samccormack commented 5 months ago

Yeah just reproduced the issue in 1.4On Jan 24, 2024, at 9:37 PM, Joshua Bell @.***> wrote: I can repro in MAME (via Ample) using //c Plus and 1.4. I'll figure it out - thanks for the report!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

samccormack commented 5 months ago

The run basic from here option crashes like the selector does under 2.4.3On Jan 24, 2024, at 9:37 PM, Joshua Bell @.***> wrote: I can repro in MAME (via Ample) using //c Plus and 1.4. I'll figure it out - thanks for the report!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

inexorabletash commented 5 months ago

At least for the shortcut case, the MLI OPEN call in lib/invoker.s circa line 99 is failing with $56 Bad Buffer Address. The buffer is at $800, and the system bitmap at $BF58 is $CF $00 $00 ... $00 $00 $01 which should indicate page 8 is free. This is... weird.

inexorabletash commented 5 months ago

Okay wow, this was quite the journey. The bug requires exactly this to happen:

This was a bug in the original MGTK (although 6f08ef65 replicated the code).

inexorabletash commented 5 months ago

The fix will be in the next 1.4 alpha build (end of January).

inexorabletash commented 5 months ago

@samccormack https://github.com/a2stuff/a2d/releases/tag/v1.4-alpha5 has the fix if you want to try it out

samccormack commented 5 months ago

Awesome it looks like the selector is working now. I do have a new issue in that I get a crash when it attempts to copy itself to the RAM disk. See attached picture. If you would like I can submit a new issue for this. It copies desktop.system and makes the modules directory before crashing.On Feb 3, 2024, at 12:17 PM, Joshua Bell @.***> wrote: @samccormack https://github.com/a2stuff/a2d/releases/tag/v1.4-alpha5 has the fix if you want to try it out

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

inexorabletash commented 4 months ago

@samccormack thanks for letting me know about the "copy itself to the RAM disk" issue. Big mistake on my part. I'm pushing out an alpha6 with the fix because it was new in alpha5 and really bad. https://github.com/a2stuff/a2d/releases/tag/v1.4-alpha6