Mike Chambers
Veteran Member
- Joined
- Sep 2, 2006
- Messages
- 2,621
it's something i've been pondering lately. i mean like an interface that can work in x86 real mode, and basically "multitask" DOS sessions.
i would think that with a bit of clever programming, and sort of "dynamic recompilation" of existing machine code in memory... i.e. parse jumping and memory access operations to sort of reroute the data to where i want it. BIOS calls would also need to be intercepted and dealt with by the multitasker. this is possible, yes? it would get complicated allowing hardware to be shared between sessions. you'd need to handle some hardware "emulation" of sorts too so that each session instance thinks it's seeing it's own private piece of hardware and then the multitasking software needs to deal with the real transfer of info to and from real hardware.
obviously, if you only have 640 KB of you're going to need a swap file or something similar. i know this would be hideously slow on an old 8088 or 286, but still possible, i believe.
each DOS "session" could be given it's own chunk of 640 KB to work with, and of course there be a graphical or even text mode interface to reroute data from each session's 0xB800 segment where the video display data is. maybe via using Alt+F-key to switch between the sessions like on a linux console.
i know there's more to it, but i don't see why this couldn't be done. or maybe some of you guys who are real assembly experts can tell me why this WON'T work? lol.
it would be painfully slow on a vintage computer, but still do-able i'd think.
i would think that with a bit of clever programming, and sort of "dynamic recompilation" of existing machine code in memory... i.e. parse jumping and memory access operations to sort of reroute the data to where i want it. BIOS calls would also need to be intercepted and dealt with by the multitasker. this is possible, yes? it would get complicated allowing hardware to be shared between sessions. you'd need to handle some hardware "emulation" of sorts too so that each session instance thinks it's seeing it's own private piece of hardware and then the multitasking software needs to deal with the real transfer of info to and from real hardware.
obviously, if you only have 640 KB of you're going to need a swap file or something similar. i know this would be hideously slow on an old 8088 or 286, but still possible, i believe.
each DOS "session" could be given it's own chunk of 640 KB to work with, and of course there be a graphical or even text mode interface to reroute data from each session's 0xB800 segment where the video display data is. maybe via using Alt+F-key to switch between the sessions like on a linux console.
i know there's more to it, but i don't see why this couldn't be done. or maybe some of you guys who are real assembly experts can tell me why this WON'T work? lol.
it would be painfully slow on a vintage computer, but still do-able i'd think.
Last edited: