whscullin / apple2js

An Apple II emulator originally written in Javascript, now being converted to TypeScript
http://www.scullinsteel.com/apple2/
MIT License
438 stars 57 forks source link

Loading a disk into Drive 2 reloads the disk from Drive 1 #172

Closed hishamhm closed 1 year ago

hishamhm commented 1 year ago

This leads to loss of data. :(

How to reproduce:

  1. Load "System/DOS 3.3 Master" disk into Drive 1
  2. Start coding a BASIC program, then save your progress with "SAVE MYPROGRAM"
  3. run "CATALOG" and see that "MYPROGRAM" is there
  4. run another program so that MYPROGRAM is no longer in memory: "RUN BRIAN'S THEME"
  5. Load any other disk into Drive 2
  6. run "CATALOG" again and poof, "MYPROGRAM" is gone, disk in Drive 1 is back to vanilla "System/DOS 3.3 Master"

I was having loads of fun coding in Applesoft BASIC for the first time in decades, and when I got to the point where I had enough progress that I wanted to save my program onto a blank disk and then save into a .DSK file, everything vanished :(

I was extremely unlucky to not have my program in memory when it happened (step 4!), otherwise I could have saved it again, but alas, a few hours of fun are gone!

Still, thank you so much for keeping the Apple II alive! I had a blast playing with it again with this emulator!

whscullin commented 1 year ago

Thank you for the report! I think I have a fix that I can push out shortly.