Menu

#397 Replace autoload snapshots with "phantom typist"

v1.5.0
closed-accepted
None
5
2017-12-12
2017-11-14
No

Rather than having an autoload snapshot for every machine, it would be possible to have a "phantom typist" which typed LOAD "" or similar.

Related

Bugs: #333

Discussion

  • Philip Kendall

    Philip Kendall - 2017-11-14

    I've pushed a first attempt at this to the patches-397-phantom-typist branch. Relative to our existing implementation using autoload snaps:

    Pros

    • Will work with any enabled hardware / firmware (ESXDOS, Spectranet etc)
    • Would be very easy to extend to support things like Pheenix which need LOAD ""CODE rather than just LOAD ""
      • I think would be easy to extend to support loading from all other media (+D disks etc)
    • Will work with any non-default ROMs which have moved the tape routines around
    • Doesn't need all those ugly autoload snaps
    • Looks cool :-)

    Cons

    • A bit slower as we have to wait for the reset sequence to complete
      • Much slower on the +3 as we need to wait for the disk access to time out before loading from tape
    • Won't work with non-default ROMs which (e.g) change to single character entry
      • But I think we could add a --phantom-typist-mode option to allow people to override the default selection

    I'm honestly undecided at the moment whether this is better - any thoughts?

     
  • Philip Kendall

    Philip Kendall - 2017-11-15

    Support for LOAD ""CODE games like Pheenix now added (note [bugs:#333]).

    One additional pro of the phantom typist: by adding a small random delay to the typing, we could fix the issue of games which seed their RNG from the FRAMES system variable meaning we wouldn't have deterministic behaviour.

     

    Related

    Bugs: #333

  • Fredrick Meunier

    This looks really good to me. I think the speed part could be addressed by running the emulator at a higher speed until the typist is done?

    I'd be tempted to allow an override to the phantom typist mode to be part of the machine status as you suggest.

     
  • Fredrick Meunier

    Trying a few tapes and disks, I don't even think that the +3 disk timeout for tape is very annoying (and loading +3 software from tape is presumaby uncommmon vs loading it into other models)

     
  • Philip Kendall

    Philip Kendall - 2017-11-16

    Fastloading now applies while the phantom typist is active - and yes, it makes things much nicer.

    I've also fixed an issue with LOAD ""CODE games not working on the +2A - they still don't work on the +3 though. I think we need to do LOAD "t:" followed by LOAD ""CODE, but if anybody knows a better way, let me know.

     
  • Philip Kendall

    Philip Kendall - 2017-11-16

    LOAD ""CODE games fixed on the +3 as well.

    I've just tested this patch against the check_loaders data set and there are no regressions :-)

     
  • Fredrick Meunier

    Looking very good to me!

     
  • Philip Kendall

    Philip Kendall - 2017-11-19

    Two more changes on this branch:

    • Replacing the +3 autoload snapshot with the phantom typist - this gives us feature parity with the autoload snapshots.
    • Actually deleting out all the autoload snapshots from source control.

    I think the only thing this leaves to be implement is the "override phantom typist mode" option - although I'll add Pheenix to the check_loaders regression tests as well.

     

    Last edit: Philip Kendall 2017-11-19
  • Sergio Baldoví

    Sergio Baldoví - 2017-11-19

    Looks good to me

     
  • Philip Kendall

    Philip Kendall - 2017-11-20

    And I've now done the --phantom-typist-mode option. As far as I'm concerned, this one is now ready to merge.

     
  • Philip Kendall

    Philip Kendall - 2017-11-28
    • status: open --> pending-accepted
     
  • Philip Kendall

    Philip Kendall - 2017-11-28

    And merged.

     
  • Fredrick Meunier

    • status: pending-accepted --> closed-accepted
     
  • Fredrick Meunier

    • Group: future --> NextRelease
     
  • Fredrick Meunier

    • Group: NextRelease --> v1.5.0
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.