New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSDOS support, really? (Feature Request/Fix, or should rename the --target) #5500
Comments
Support for actual DOS OSs is not planned. A name change for the CLI switch is possible, deprecating the current one. |
Too bad not real MSDOS, but unsurprising -- too different, limited, and much work with tiny audience. Good you are open to changing the name for --target, it will really help with potential confusion in user expectations. Just as a quick estimate, does anyone know if Red supporting legacy DOS is in the realm of "technically impossible", |
The latter ;) I agree the name is highly misleading. |
Anything is technically possible in Red, even writing drivers and OSs. But the real killer is the design part of what you leave out in order to fit in a small memory space. A fun novelty? Sure. But start with PicoRed for RasPi and port from there.
|
I poked around with a couple DOS Extenders that can deal with Win32 PE32 exes somewhat. WDOSX097, https://tippach.hier-im-netz.de/wdosx/ HX-DPMI, https://www.japheth.de/HX.html So that MSVCRT.DLL was too old, doesn't have __iob_func. So, not much luck, but a bit of prospect. HX-DPMI is one of the most advanced extenders and includes some Win32 functionality, even GUI. Another well-regarded extender is PMODE/W, http://www.sid6581.net/pmodew/ Others: Maybe HX-DPMI, or some of these other Extenders could be a suitable "MSDOS" target for Red. I would say such extended DOS is a reasonable enough baseline, so Red can still access Of course, it would be even more impressive if Red actually could run in 16-bit, 640K, plus a good proof of Red/System, but that's less immediately applicable. |
Thanks for the research and detailed report! |
Do the PE32 "MSDOS" executables compiled by Red with -t --target
"MSDOS : Windows, x86, console (+ GUI) applications"
actually run under some version of real MSDOS, DRDOS, FreeDOS, ...?
Or some emulator like DosBox or DosEmu on Linux?
Or can be made to run using some extender/adapter?
If this feature is intended, it's not currently working.
A minimal helloWorld compiled on Linux via
red -c --no-view -t MSDOS hello.red
and tested in DosBox reports: "This program cannot be run in MS-DOS mode."
Tested Red 0.6.4, and red-toolchain-12apr24-36adc615a
If this feature is not currently available, but is intended, or possible, I strongly encourage adding,
it would be an extraordinarily great feature.
DOS is still a distinct useful platform, with even new software being written for it.
A self-contained development tool like Red would be a major asset, enabling developers to easily tack-on support for such legacy systems.
But even more significantly, the presentation of Red as spanning development from 64-bit modern systems back to even 16-bit DOS indicates an extremely comprehensive design and capability, unique and notable. It's a super marketing point! By contrast, there is a disappointing weasel sense when you find out the advertised "MSDOS" support doesn't actually work in real DOS.
So if real DOS support is not intended, planned, or possible, then the target should absolutely be renamed.
Because otherwise the name "MSDOS" is very deceptive, almost insidiously so.
Call it "PE32Console", "WxConsole", "WxDOS", "WxCON", something like that.
The text was updated successfully, but these errors were encountered: