Richard said:
He knows more than you apparently.
Saying it's not possible doesn't make it not possible. And it turns out
that it *is* possible. It may be possible with lcc-win - I don't know -
but it's certainly possible with some other compilers.
No.
Win32 runs in 32 bits, DOS runs on 16 bits.
Win32 can EMULATE msdos, and yes, you can generate 16 bit
executables for msdos using for instance, a linux 64 bit OS.
So what?
It is NOT possible under win32 to access video memory in the old
DOS way!
When you make an interrupt (21 for instance) the interrupt goes
to Win32 table of interrupts that are NOT compatible with msdos!
Now, if you are running under 16 bit MSDOS emulation, the interrupt
will be trapped by the emulation layer and redirected to simulate some
video memory. But this is done with 16 bit programs only, NOT
with 32 bit programs!
Nevertheless, compilers exist which run under Windows but which can produce
DOS executables.
As I said above, you can use linux 64 bits to generate
code for msdos 16 bits if you like. Under linux 64 bits
you can run an msdos emulator with turboc.
That doesn't mean that you can use the interrupt 21 under
linux 64 to set the text screen background!
I have at least three such compilers lying around the
place.
They will ALL run under an emulation layer. You know this, and you
are just lying (making people believe you are just naive)
It does with some Microsoft compilers. For example, MSVC1.5x.
All Microsoft DOS compilers run under the EMULATION LAYER of Win32!
Yes, I can run under VISTA 64 a windows 98 virtual machine with
a MSDOS emulation and I can generate code for msdos.
SO WHAT?
Does that mean that I can use those assembler sequences to set the
screen under vista 64?
Possibly because they want stability. There are still people around who
prefer not to fix something that isn't broken or, if it *is* broken, want
to apply the minimum fix possible. That's their decision, not ours.
Obviously when you praise windows 98 stability you know what you are
talking about
