Hello guys
I am running DOS (DR-DOS 6.0) under VirtualBox Host (Windows 7) to practice some old programming stuff. All virtual machines (DOS, Windows, Linux) work perfect, but in the practice, further common usage, I've found some details when using interrupt related features (in DOS).
Some (DOS) TSR programs freeze the virtual machine, for example the SideKick text editor, but other TSR ones work fine... it's ok, I don't really need them, just remembering old times...
The problem arises while programming inside the DOS box, when I try to cutsomize some INTERRUPT SERVICE ROUTINES, most of the system and user interrupts (not the BIOS ones) can be set to a different interrupt managers, but very particular ones simply can not be modified, they keep their original routines no matter what I do, they keep always unaltered.
My question is: Does VirtualBox keep (part of) the interrupt vector table protected to avoid changes to certain interrupts? Or maybe not allowing changes or restoring periodically the original ISR routines? I need to know if it is related to the virtual machine or the operating system (DR-DOS), but as far as I remember DR-DOS does not do that...
Note: I can modify almost all interrupts and access the interrupt vector table directly, but only particular ones keep unaltered or are restored immediatly (don't know).
Thanks for any coment...
VirtualBox & DOS: Programming interrupts
-
- Oracle Corporation
- Posts: 2973
- Joined: 19. Dec 2007, 15:45
- Primary OS: MS Windows 7
- VBox Version: PUEL
- Guest OSses: Any and all
- Contact:
Re: VirtualBox & DOS: Programming interrupts
TSRs causing all sorts of trouble was pretty common functionality in the DOS days.
VirtualBox does not interfere with the guest's interrupt vector table (IVT) in any way. But DOS (or something else) very well might. Directly modifying the IVT is a Bad Thing and the corresponding DOS service (INT 21h/25h) should be used instead. Certain interrupts always go through DOS for stack switching and maybe other things, and DOS may well be restoring the original contents. Knowing which interrupts exhibit this behavior and which don't might shed some light on the issue.
VirtualBox does not interfere with the guest's interrupt vector table (IVT) in any way. But DOS (or something else) very well might. Directly modifying the IVT is a Bad Thing and the corresponding DOS service (INT 21h/25h) should be used instead. Certain interrupts always go through DOS for stack switching and maybe other things, and DOS may well be restoring the original contents. Knowing which interrupts exhibit this behavior and which don't might shed some light on the issue.
-
- Site Moderator
- Posts: 27329
- Joined: 22. Oct 2010, 11:03
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Win(*>98), Linux*, OSX>10.5
- Location: Greece
Re: VirtualBox & DOS: Programming interrupts
In a previous discussion that we had I mentioned FreeDOS as a more up-to-date alternative DOS. Did you ever try that? If yes, did you try your problem in FreeDOS?Kanito73 wrote:I am running DOS (DR-DOS 6.0)
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.