4 ms·
XT implies 8086 and there are more real address mode instructions than those available in 8086. AFAIK real address mode can use pretty much any 32bit instructio
by Crinus 7y ago
XT implies 8086 and there are more real address mode instructions than those available in 8086. AFAIK real address mode can use pretty much any 32bit instructions with a prefix, which is what this project is doing.
(this incompatibility bit me a bit many years ago when i was writing a small real mode OS in assembly - i used a bunch of instructions i thought were available in 8086 but when i tried the OS on a real XT machine it would lock up :-P)
- qx89l4 7y agoTargeting 8086-level of instructions was actually my first idea. It wasn't possible with gcc/clang, but Turbo C is freeware these days, so... ;) In case you're interested, see https://github.com/luke8086/nf/ https://github.com/luke8086/nf/
- oso2k 7y agoHave you tried running `nf` or `boot2c` against NuXT [0] or Nano8088 [1]? [0] https://monotech.fwscart.com/NuXT_-_MicroATX_Turbo_XT_-_955MHz_832K_RAM_XT-CF_SVGA_Floppy_Serial/p6083514_19777986.aspx https://monotech.fwscart.com/NuXT_-_MicroATX_Turbo_XT_-_955M... [1] https://monotech.fwscart.com/Nano_8088_-_Turbo_XT_SBC_CompactFlash_832K_RAM_PS2_keyboard_64K_ROM/p6083514_19478757.aspx https://monotech.fwscart.com/Nano_8088_-_Turbo_XT_SBC_Compac...
- qx89l4 7y agoHadn't heard of them, thanks for the links!
- ofrzeta 7y agoYou could also use OpenWatcom, I think. https://github.com/open-watcom/open-watcom-v2 https://github.com/open-watcom/open-watcom-v2
- Crinus 7y agoAs someone mentioned below you could also use OpenWatcom, if for no other reason than it should have a slightly better optimizer (though from my tests i haven't seen much of a difference between the two, at least for code i tried to optimize a lot myself). AFAIK one of the OWv2 contributors is working on a 16bit OS so the 16bit support should be excellent. OWv2 is also available as a Linux binary so you could use it for crosscompiling in a similar way to GCC.
- qx89l4 7y agoGood point, OpenWatcom is obviously miles ahead of Turbo C, but it's also much more complex. I tinkered with it for a while, and ended up using the latter for its simplicity. DOSBox can be easily installed on any system, you can save the entire C: in a git repo and it'll probably keep working in any number of years from now :) Meanwhile, OWC doesn't have packages in popular Linux distros, only a custom binary installer, and on MacOS it doesn't even have that.