>Yes, but where do you put those drivers? Do they have to be included in >the BIOS ROM, or are they called as extensions like any other ROM?
If yer talking about the drive thingees on yer palmtopper thingees, dunno. A driver (the code) resides between some of the system files (can't remember which order they get loaded, prolly io.sys, msdos.sys then duh command.com). There have been a WHOLE LOT of bios' since the early days, and untold things were added, depending on what machine we're talking about. There's nothing saying something has to use the standard device driver mechanism introduced with DOS 2.0. Code is code in the final analysis. Mechanisms have been added so you can stitch things on in a standard setting (i.e. 100% compatible), but if you got some interesting code, you can stick it wherever ya want
>The only thing that seems wrong is that the PAL on the cartridge would >have to raise and lower the line that says 'I'm the System ROM' pretty darn >quickly to get the timing correct.
That's way freaky. The Peanut in reality had some interesting stuph going on under the hood. And remember the Jr used a Video Gate Array to make the video appear as if it was in the upper half of the B block (and thereby retaining CGA compatibility), when in reality it could be anywhere, and in fact was low down in memory. The Tandy 1000 may have been similar. So I guess it's not that big a deal to be able to *virtually* switch things in and out of portions of memory (the initialization code (POST, etc.) HAS to start at F000:FFFF (or FFFF:0000) - an 80x86 operating in real mode is wired internally to start loading code starting with that location as soon as power is applied. And don't ask me to translate those addresses into 32-bit. nuh uh).
>So how does all this come together? (Am I even making any sense? I'm >kinda over my head here.).
>The resident portion of DOS would have to be in memory, somewhere, just >as though it was booted. The virtual drive would require a device driver to >access .. at a minimum it would look like a RAM disk device driver. A more >sophisticated one would bank switch the pieces of the virtual drive in as it >needed it to avoid sucking up a huge amount of address space.
The expanded/extened memory scheme things also come to mind.