Dev86DOS 0.16.18 (DJGPP host) (Developers)
> P.S. There is also apparently the "-f" option to add float support, but I
> haven't tried rebuilding BWBasic again yet
No, apparently it can't find libc+f.a [sic], which I'm not sure fully exists (or maybe only 386 target??? No, that's libfp.a, apparently, and isn't available in default builds). *shrug* Can't find any obvious mention of it otherwise.
Anyways, what I discovered is ...
"-Md" is for DOS .COM, which indeed is limited to 65000 byte size but BSS and stack can allegedly grow in RAM up to 64k beyond that.
"-Mn" is native 16-bit ELKS Linux a.out output for elksemu, doselks, etc.
"-Ml -N -3" seems to (except on DOS host) correctly produce a runnable 386 Linux binary, though trying to use it with -O clashes because it gets confused (rules.i386 [sic] not found). Also, at compile time, #ifdef MSDOS is used and thus it doesn't quite work cross-compiling from DOS/DJGPP because ld86 is always stripping the header. This seems to be due to weird understanding of -N ("native") and -d ("headerless output") where "native" means different things to different OSes (see ld/ld.c and ld/writex86.c). Honestly, it would've just been easier to my eyes to just name everything according to target OS, similar to OpenWatcom's -bt=dos or -bt=linux with -l=dos or whatever.
EDIT: "-Mn -3" doesn't strip the a.out header but instead gives it "Minix-386" properties, so it won't run in Linux. Argh.
"-Ms" is indeed "standalone" outputting a.out using BIOS calls only, and adding "-d" makes it headerless.
I've never rebuilt nor used bootblocks (nor used either as86 or ld86 elsewhere), so perhaps that's why I didn't understand the terminology used here.
And I'm still unsure of this stuff and my own understanding here, so I don't know, but at least it's something (I hope).
Complete thread:
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 17.04.2012, 02:18 (Developers)
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 17.04.2012, 18:23
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 17.04.2012, 19:42
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 18.04.2012, 01:54
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 19.04.2012, 18:41
- Dev86DOS 0.16.18 (DJGPP host) - roytam, 21.04.2012, 13:52
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 21.04.2012, 16:25
- Dev86DOS 0.16.18 (DJGPP host) - Khusraw, 22.04.2012, 09:34
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 22.04.2012, 18:08
- ACK i86/i386 output & DOS - ecm, 22.04.2012, 23:24
- ACK i86/i386 output & DOS - Rugxulo, 26.04.2012, 09:33
- ACK i86/i386 output & DOS - tkchia, 01.04.2021, 16:50
- ACK i86/i386 output & DOS - ecm, 01.04.2021, 17:11
- ACK i86/i386 output & DOS - ecm, 22.04.2012, 23:24
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 22.04.2012, 18:08
- Dev86DOS 0.16.18 (DJGPP host) - Khusraw, 22.04.2012, 09:34
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 21.04.2012, 16:25
- Dev86DOS 0.16.18 (DJGPP host) - roytam, 21.04.2012, 13:52
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 19.04.2012, 18:41
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 18.04.2012, 01:54
- Dev86DOS 0.16.18 (DJGPP host) - Rugxulo, 17.04.2012, 19:42
- Dev86 0.16.19 (DJGPP host) - Khusraw, 17.09.2012, 14:47
- Dev86 0.16.19 (DJGPP host) - Rugxulo, 19.09.2012, 02:07
- Dev86 0.16.19 (DJGPP host) - Khusraw, 19.09.2012, 09:05
- Dev86 0.16.19 (DJGPP host) - Rugxulo, 19.09.2012, 02:07
- Dev86DOS 0.16.18 (DJGPP host) - georgpotthast, 17.04.2012, 18:23