![]()
Everybody prefers the built-in video window to show the guest's VGA. I have this implemented, but nobody likes to use it. This is comparable to using vnc protocol for VGA. I'd just be missing the user-friendly aspect of automatically popping up the terminal windows when my emulator starts, but perhaps that could be arranged by having the emulator start xterm running tmux. This turns out to be almost exactly what I was proposing, with the terminal state implemented by a library within the emulator. If it can be a library, then yes my emulator could implement the tmux protocol. I don't see tmux being available as a library that I could link into my emulator. It time-multiplexes them to/from a single high-speed link, typically by interleaving the streams of data bit by bit. WAIT UNTIL RESPONSIVE RESIZE FINISHES REDRAWING THE PAGE SERIALIt has numerous slow serial lines to which one may attach terminals, modems, or consoles. To me, a "terminal multiplexer" is a physical piece of hardware. I'm more familiar with "screen" than "tmux". ![]() (attacking it with ptrace is not reasonable) I thus conclude that the terminal must be built into the emulator. There is no reasonable way to extract terminal state from a separate terminal program. WAIT UNTIL RESPONSIVE RESIZE FINISHES REDRAWING THE PAGE FULLI can only avoid this fate by saving full terminal state whenever I save the emulator state, and of course restoring it at the same time too. The guest OS carries on from the original point of course, since that is what the CPU and RAM state dictates, so a "4" will be printed next. The terminal retains the old state however, because it is a separate program with no awareness of the fact that I just loaded the 0123.snap file into my emulator. The CPU registers, the RAM, and everything else within the emulator are now as they were earlier. The internal state of the emulator warps back to the point at which I took the snapshot. I decide that I wish to go back in time, so I issue a command to load the 0123.snap file into the emulator. Eventually the terminal is showing 0, 1, 2, 3, 4, 5, 6. At this point I make a snapshot file named 0123.snap and let the software continue running. Just after 3 hours it has written 0, 1, 2, 3. All it does is print a counter to the serial port, once per hour. ![]() The guest OS running in the emulator is just a bootable floppy image for testing. I'll make up an extra-simple case to illustrate the problem. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |