VOGONS


First post, by Retroplayer

User metadata
Rank Newbie
Rank
Newbie

I have a couple vintage computers (Sharp PC-4502 and a Zenith Z-171) which have built in applications like a scheduler, modem terminal, calculator, etc... These applications can be called at any time with a soft key and appear to have no affect on programs running in DOS. I can switch to these programs and then switch back to DOS where I left off.

I am wondering if anyone had looked into how such a thing works? I would assume that they are probably hooked into the user interrupts in some way much like cassette basic. But wouldn't they need to allocate some RAM that could be destructive to running applications? I would like to understand how these work and implement such a thing myself. One very useful purpose I can think of would be a browser for Flashfloppy which allowed me to select disk images to mount without having to reach around to the side of the computer to read the OLED or fiddle with the buttons. Such a feature appears to be supported for computers like the Amiga, except in that case you need to run a browser program manually. If this could be implemented using a TSR or browser baked into the ROM, I think it would be incredibly useful.

Can anyone point me in the right direction to get started figuring out how this works?

Reply 1 of 1, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

Only guessing, but BIOS can reserve a part of conventional memory by reporting a smaller conventional memory size. For example, many times they will reserve 1KB and then report 639KB memory instead of 640KB. If ROM-based applications have a small memory footprint they might go this route. Another possibility would be to use a UMB which other programs will normally not use, or a memory area that can be hidden or write-protected. If you can switch to these programs and back on-the-fly that suggests that video memory is being saved and restored (similar to what Windows does when you switch between full-screen DOS sessions) which would require substantial memory.

You didn't say whether there was any disk activity, but having a reserved area on disk (as is sometimes used for suspend-to-disk capability) would be another way to swap things in and out.

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage