News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

DOS Emulators Under Windows

Started by bruce1948, August 10, 2009, 01:43:46 AM

Previous topic - Next topic

bruce1948

I've just been running one of my old DOS games in DOSBOX under windows XP and it suddenly struck me that I can't work out how they manage to emulate the DOS interrupts, for example the soundblaster SB16 interrupts. Anybody got any idea?

thanks

bruce

dedndave

some functions are emulated though API calls
some functions use ring 0 access to actually perform the i/o as intended
i noticed on an old program of mine, that it even allowed me to reprogram the BIOS tick counter
that program was carefully written so interrupts would arrive to my handler precisely when needed
but, i kept careful count of the ticks and still generate INT 1Ah (i think that's the one) every 18.2 ms
i use it to generate morse code - morse sounds terrible if the timing is not continuous
it will be a challenge to write that function in 32-bit without using ring 0

bruce1948


hutch--

Bruce,

If you can be bothered, get the freeware VM from Microsoft for your OS version and install DOS into it and it will run better again that the system VM that runs DOS in win32/64. Some of the later Intel processors have virtualisation hardware built into them and from memory some of the recent VMs use it so it comes even closer to direct hardware.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

bruce1948

Thanks for the suggestion hutch now all I need to do is remember what i did with my DOS disks.

hutch--

I doubt they last that long but somethimes you are lucky. I have three SFX files for DOS 6.22 if you really need them but I think you would need something as old as win9x to run them as they write direct to the floppy and may not work on a later OS version.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

bruce1948

Thanks for the offer hutch, but I can probably find someone who's running a DOS machine.



Thanks all the same


bruce