VirtualBox & DOS: Programming interrupts

Discussions about using non Windows and Linux guests such as FreeBSD, DOS, OS/2, OpenBSD, etc.
Post Reply
Kanito73
Posts: 9
Joined: 10. Oct 2018, 06:11

VirtualBox & DOS: Programming interrupts

Post by Kanito73 »

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...
michaln
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

Post by michaln »

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.
socratis
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

Post by socratis »

Kanito73 wrote:I am running DOS (DR-DOS 6.0)
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?
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.
Post Reply