i dont no much about asm or c i use vb6
if i wanted to boot into dos everytime then go into windows from command prompt where do i start?
thanks
if i wanted to boot into dos everytime then go into windows from command prompt where do i start?
thanks
In Win98, you could edit "msdos.sys" - change "GUI=1" to "GUI=0" and boot to "real dos", and type "win" to fire up Windows (if you need it for anything). I understand this option is no longer available. In fact, I understand Vista64 doesn't have any dos at all in it! (they've been threatening to do this for years)
Writing a bootloader won't help, in itself - you need something (dos!) to load. You might want to look into freedos (dot org). If an emulator will satisfy you (doesn't sound like that's what you want), try dosbox (dot com).
Best,
Frank
Writing a bootloader won't help, in itself - you need something (dos!) to load. You might want to look into freedos (dot org). If an emulator will satisfy you (doesn't sound like that's what you want), try dosbox (dot com).
Best,
Frank
How about http://www.freedos.org/ ? Use a bootloader and switch between dos and windows during boot.
In fact, I understand Vista64 doesn't have any dos at all in it! (they've been threatening to do this for years)
NT-based Windows have never depended on (or included) DOS - unlike Win9x, the NTLDR bootloader loads the Windows kernel directly. 32bit NT versions include NTVDM, though, but even that doesn't come with a "full DOS".64bit NT indeed don't include NTVDM anymore, since that would have required doing a full virtual machines; 64bit x86 "long mode" doesn't support 16bit tasks.
64bit x86 "long mode" doesn't support 16bit tasks.
Are you sure? Though I didn't try it (yet), but according to Intel SDM (AMD APM) compatibility submode of IA-32e (long) mode allows 16/32-bit code to be run under control of 64-bit code (as I understand it, they use previously reserved bit 53 of code segment descriptor to indicate that segment is 64-bit).
It's been a while since I read through the docs, but it is my impression that 16bit tasks aren't supported, yes. Also, I doubt MS would have gone through the trouble of implementing a partial 16bit CPU emulator for doing BIOS calls for win64 if long mode had 16-bit support :)
Also, I doubt MS would have gone through the trouble of implementing a partial 16bit CPU emulator for doing BIOS calls for win64 if long mode had 16-bit support :)
Yeah, it is interesting when you have to develop something instead of rebranding an architectural feature as company innovation :P
f0dder,
I stand corrected — IA-32e/long mode does not support Virtual-8086 feature (compatibility submode isn't compatible enough ;-)).
I stand corrected — IA-32e/long mode does not support Virtual-8086 feature (compatibility submode isn't compatible enough ;-)).