ern...@gmail.com
2022-06-07 20:18:10 UTC
Howdy,
Being old, I still think screensavers are neat. A few years ago I saw the Apple II boot theater screensaver, thought it was cool, and made a small patch to make it work on Macs (old repo at https://github.com/esoffron/compatible-boot-theater -- no GitHub fire, please).
That was cool, but why not a real emulator as screensaver? I thought about doing a proper Mac binary repackaging some native emulator, and still might, but first want to do it with the Javascript emulator. Of course, I want to have it boot Total Replay into attract mode. I know that can work, because it does on Internet Archive.
I've nearly got it working except when I try to load in the hard disk image. 5.25 images run fine. I've got the CFFA 2 added, and can even boot a 5.25 disk of the CFFA config program in slot 6 to configure a CFFA in either slot 5 or 7 (or even both). If I try to mount a HD image of Total Replay (either .2meg or .hdv, both from IA), though, the VM hangs with
exception thrown: 105554440 loader.js:1053:53
Uncaught 105554440
The Ample emulator was a great help to figure out MAME syntax (THANK YOU), but I must still be botching something.
Here's the meat of how I try to load it. Can someone see what I'm doing wrong?
var emulator = new Emulator(document.querySelector("#canvas"),
null,
new JSMESSLoader(JSMESSLoader.driver("apple2ee"),
JSMESSLoader.nativeResolution(560, 384),
JSMESSLoader.scale(2),
JSMESSLoader.emulatorJS("emulators/jsmess/messnapple2e.js"),
JSMESSLoader.mountFile("apple2e.zip",
JSMESSLoader.fetchFile("Bios",
"examples/apple2e.zip")),
JSMESSLoader.mountFile("a2cffa2.zip",
JSMESSLoader.fetchFile("Bios",
"examples/a2cffa2.zip")),
JSMESSLoader.mountFile("TR.hdv",
JSMESSLoader.fetchFile("Game",
"examples/00playable.2meg")),
JSMESSLoader.mountFile("CFFA.UTIL.dsk",
JSMESSLoader.fetchFile("Game",
"examples/CFFA.UTIL.dsk")),
JSMESSLoader.mountFile("apple2e.cfg",
JSMESSLoader.fetchFile("Config",
"examples/apple2e.cfg")),
JSMESSLoader.peripheral("flop1", "CFFA.UTIL.dsk"),
// JSMESSLoader.extraArgs(["-sl7", "cffa2"]),
// JSMESSLoader.extraArgs(["-sl5", "cffa2"])
JSMESSLoader.extraArgs(["-sl7", "cffa2", "-hard1", "00playable.2meg"])
))
emulator.start({ waitAfterDownloading: true });
Thanks.
--Ernie
Being old, I still think screensavers are neat. A few years ago I saw the Apple II boot theater screensaver, thought it was cool, and made a small patch to make it work on Macs (old repo at https://github.com/esoffron/compatible-boot-theater -- no GitHub fire, please).
That was cool, but why not a real emulator as screensaver? I thought about doing a proper Mac binary repackaging some native emulator, and still might, but first want to do it with the Javascript emulator. Of course, I want to have it boot Total Replay into attract mode. I know that can work, because it does on Internet Archive.
I've nearly got it working except when I try to load in the hard disk image. 5.25 images run fine. I've got the CFFA 2 added, and can even boot a 5.25 disk of the CFFA config program in slot 6 to configure a CFFA in either slot 5 or 7 (or even both). If I try to mount a HD image of Total Replay (either .2meg or .hdv, both from IA), though, the VM hangs with
exception thrown: 105554440 loader.js:1053:53
Uncaught 105554440
The Ample emulator was a great help to figure out MAME syntax (THANK YOU), but I must still be botching something.
Here's the meat of how I try to load it. Can someone see what I'm doing wrong?
var emulator = new Emulator(document.querySelector("#canvas"),
null,
new JSMESSLoader(JSMESSLoader.driver("apple2ee"),
JSMESSLoader.nativeResolution(560, 384),
JSMESSLoader.scale(2),
JSMESSLoader.emulatorJS("emulators/jsmess/messnapple2e.js"),
JSMESSLoader.mountFile("apple2e.zip",
JSMESSLoader.fetchFile("Bios",
"examples/apple2e.zip")),
JSMESSLoader.mountFile("a2cffa2.zip",
JSMESSLoader.fetchFile("Bios",
"examples/a2cffa2.zip")),
JSMESSLoader.mountFile("TR.hdv",
JSMESSLoader.fetchFile("Game",
"examples/00playable.2meg")),
JSMESSLoader.mountFile("CFFA.UTIL.dsk",
JSMESSLoader.fetchFile("Game",
"examples/CFFA.UTIL.dsk")),
JSMESSLoader.mountFile("apple2e.cfg",
JSMESSLoader.fetchFile("Config",
"examples/apple2e.cfg")),
JSMESSLoader.peripheral("flop1", "CFFA.UTIL.dsk"),
// JSMESSLoader.extraArgs(["-sl7", "cffa2"]),
// JSMESSLoader.extraArgs(["-sl5", "cffa2"])
JSMESSLoader.extraArgs(["-sl7", "cffa2", "-hard1", "00playable.2meg"])
))
emulator.start({ waitAfterDownloading: true });
Thanks.
--Ernie