Hi MosaicDawn,
Sorry for the delay. I don't have a good answer to your question. Sounds like a "Windows problem" to me, but you say...
And I dunno the specifics, I just made C:\ an MS-DOS boot disk and dumped DOS on it without installing it. Everything seems to work fine.
It had Windows 2000 installed on it previously.
I'm not clear exactly what you did. Simply copying the files over probably won't get you from Windows to dos. You'd know it if you were still booting Windows, of course. Possible you're still running Windows, but booting directly to a "dos box", do you suppose? Does anything interesting happen if you type "exit"?
As of Win98, "msdos.sys" was a text file. It had attributes of "system", "hidden", and "readonly" - "dir" wouldn't show it, but "dir /a" would. If you did "attrib -s -h -r msdos.sys", you could edit it. Change "GUI=1" to "GUI=0" (put the attributes back, if you like), and it would boot into dos - real dos! I'm pretty sure that won't work with Win2k. An alternative was in the shutdown menu - "restart in dos mode". This looked a lot like dos, but if you typed "exit", you'd find yourself back in Windows. Not real dos! Things are different in Win2k, but I wonder if there's an analogous situation you could be in?
In a "dos box", you could toggle between "full screen" and "windowed mode" with a keystroke... "alt-enter", I think, or maybe "control-enter"... or "alt-esc"? Try 'em all!
I understand that in more recent versions of Windows, this no longer works. I understand that you can still get full-screen if you go into "control panel", "add or remove hardware"(?), and disable the graphics driver(?). I don't think I'd recommend you do that, unless you're willing to "reinstall system" if it goes horribly wrong...
But you intend to be running dos (right?). In that case, 320 x 200 should take up all of your screen, as soon as you switch to mode 13h. I've never owned a laptop, but I hear they're likely to have slightly non-standard graphics. Is your "dos prompt" full screen? If it is, and this "windowed" effect only appears when you switch to mode 13h, that may be "just the way it is" on that machine. Pity - nice moire pattern! If you ask for a higher resolution mode, does it get bigger? (try mode 11h, say?) If so, maybe you can adjust your code to a screen size you like. Shouldn't have to. It should work. I really don't know what you've run up against.
To get back to an earlier question, you should be able to do "regular input" with dos int 21h/0Ah (or int 21h ax=0C0Ah - flushes the input buffer first). This requires a "special" buffer (in dx) - the first byte must be the maximum number of bytes to accept (important!), the second byte is filled in with the number of bytes actually read when the int returns (can be useful, or you can ignore it), the actual input starts at "buffer + 2" (make sure you've left enough room for the "max" you said!) . You could use the "file read" subfunction (ah=3Ah??? lookitup) with the "handle" in bx set to STDIN (zero), too.
Handling multiple keys at the same time is more "interesting"... When a key is pressed, an interrupt is generated. When the key is released, another interrupt is generated. These are handled by the int 9 (IRQ 1) handler (usually). This code reads the "scancode" from the port (port 60h?). The "release" scancode has the high bit set, and is ignored... except for shift, alt, control (others? guess not). In these cases, the "up" or "down" state is kept track of by a bit in the "keyboard status word" in the "Bios Data Area" (segment 40h). To handle multiple keys, you'd need to replace the int 9 handler with one modified to keep track of the up/down state of all the keys - or the ones you were interested in. Not a real "new newbie" project, but when you're reasonably confident with "regular programs" you could give it a shot. Do you really have something useful to do with multiple keystrokes?
I think I've got an example int 9 handler, if you really want to get into that. Instead, I'll attach a couple of "256 byte demos" (not mine - don't ask me to explain 'em) for your viewing pleasure, at whatever size.
Best,
Frank