Discussion:
Odd idea: ProDOS (not SOS) on the ///
Add Reply
Steve Nickolas
2017-09-21 14:52:52 UTC
Reply
Permalink
Raw Message
This would require a bit of relocation and reworking of the code, so it's
not really something I feel I could entirely do on my own, but here's the
idea.

1. I'd use a version of the existing SOS loader to get the initial program
into memory.

2. I'd initialize "satan mode", then load the modified ROM code I use for
Star Emulator into place. (This also would entail setting up the font,
something I don't know how to do.)

3. I'd put code in bank 1 that is the guts of ProDOS-8 reworked to support
the hardware of the ///.

This would allow me to create a disk that boots on the ][ or the ///,
provided there's at least 64K on the ][ and 128K on the ///; would allow
the use of BASIC.SYSTEM and such; probably could run almost any
64K-compatible ProDOS stuff on a ///.

-uso.
David Schmidt
2017-09-21 19:06:29 UTC
Reply
Permalink
Raw Message
Post by Steve Nickolas
[...]
2. I'd initialize "satan mode", then load the modified ROM code I use for
Star Emulator into place. (This also would entail setting up the font,
something I don't know how to do.)
The CONSOLE driver has a routine, LOADSET, that loads up a font. it does some chicanery to do the downloading on a VBL interrupt so (I guess) fonts don't change in the middle of the character cell.
Post by Steve Nickolas
[...]
This would allow me to create a disk that boots on the ][ or the ///,
provided there's at least 64K on the ][ and 128K on the ///; would allow
the use of BASIC.SYSTEM and such; probably could run almost any
64K-compatible ProDOS stuff on a ///.
I guess both could boot because the /// will slurp up sector 1 instead of 0; the normal dual-boot scenario. But is there anything in BASIC.SYSTEM that takes the language card bank switch interface into account? or in any other ProDOS programs that rely on that hardware mechanism that would be missing in the ///? That's the thing that I figured would have hindered this from having been done long ago.
Steve Nickolas
2017-09-22 00:05:56 UTC
Reply
Permalink
Raw Message
Post by David Schmidt
Post by Steve Nickolas
[...]
2. I'd initialize "satan mode", then load the modified ROM code I use for
Star Emulator into place. (This also would entail setting up the font,
something I don't know how to do.)
The CONSOLE driver has a routine, LOADSET, that loads up a font. it
does some chicanery to do the downloading on a VBL interrupt so (I
guess) fonts don't change in the middle of the character cell.
With the screen cleared as I would, I don't think it would matter.
Post by David Schmidt
Post by Steve Nickolas
[...]
This would allow me to create a disk that boots on the ][ or the ///,
provided there's at least 64K on the ][ and 128K on the ///; would allow
the use of BASIC.SYSTEM and such; probably could run almost any
64K-compatible ProDOS stuff on a ///.
I guess both could boot because the /// will slurp up sector 1 instead
of 0; the normal dual-boot scenario. But is there anything in
BASIC.SYSTEM that takes the language card bank switch interface into
account? or in any other ProDOS programs that rely on that hardware
mechanism that would be missing in the ///? That's the thing that I
figured would have hindered this from having been done long ago.
I think only ProDOS itself, as far as "well behaved" software. Some
software uses the 3.25K above the Selector, but iirc, the entire language
card area is "reserved". My idea would just move that code (which would
be loaded through the normal SOS IPL, as ProDOS-8 and GS/OS are loaded
through the ProDOS IPL) onto the extra memory of the ///, and the modified
Apple ][+ ROM into the $D000-FFFF area. For a program that is well
behaved, and doesn't abuse the LC - for a program that doesn't use
anything that is different in Satan Mode - it ought to theoretically run
on a /// as on a ][+.

-uso.
Michael 'AppleWin Debugger Dev'
2017-09-22 01:46:40 UTC
Reply
Permalink
Raw Message
I guess I probably should ask this over in c.e.a2 (comp.emulators.apple2) but are there any /// emulators ?

Just wondering how hard it is to add /// emulation to an already working emulator.
Steve Nickolas
2017-09-22 06:42:54 UTC
Reply
Permalink
Raw Message
Post by Michael 'AppleWin Debugger Dev'
I guess I probably should ask this over in c.e.a2
(comp.emulators.apple2) but are there any /// emulators ?
Just wondering how hard it is to add /// emulation to an already working emulator.
I've been using MESS/MAME.

-uso.
Steve Nickolas
2017-09-22 09:03:14 UTC
Reply
Permalink
Raw Message
I replied earlier, but I just had another thought.

MAME is the only real Apple /// emu out there for anything other than the
Mac, and I think it's gotten better than its Mac counterpart. A pity,
though, that there isn't a standalone emulator for the /// for Windows
and/or Linux.

I tried to write one. It doesn't work very well.

-uso.

Michael J. Mahon
2017-09-22 02:48:02 UTC
Reply
Permalink
Raw Message
Post by Steve Nickolas
Post by David Schmidt
Post by Steve Nickolas
[...]
2. I'd initialize "satan mode", then load the modified ROM code I use for
Star Emulator into place. (This also would entail setting up the font,
something I don't know how to do.)
The CONSOLE driver has a routine, LOADSET, that loads up a font. it
does some chicanery to do the downloading on a VBL interrupt so (I
guess) fonts don't change in the middle of the character cell.
With the screen cleared as I would, I don't think it would matter.
There's no choice, as I recall. The character set RAM is loaded by a
peculiar kind of DMA that is triggered by VBL.
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Loading...