VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Is there a MS-DOS build of the xoreaxeaxeax x86 sandsifter(https://github.com/xoreaxeaxeax/sandsifter)? I see it's normally for linux, but seeing as linux is unbootable atm in my emulator, maybe something like that for MS-DOS exists? Or as a simple BIOS ROM? The test386.asm testsuite checks out correctly, but doesn't test all instructions yet.

Anyone?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 5, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

It is written in Python, and there are versions of Python interpreter for DOS, so it should be possible to run it in DOS (or make a version that does) - in theory.
Did someone do it? Probably not...

Reply 3 of 5, by superfury

User metadata
Rank l33t++
Rank
l33t++
awgamer wrote:

Run linux from an image in dosbox.

What's the purpose of running linux in dosbox, when I'm trying to find bugs in UniPCemu(except verifying Dosbox correctness, which it should be due to it running all programs, while UniPCemu crashes some common ones(Doom, Windows 95, essentially all 286+ ones(and some 8088 ones)? Dosbox won't show me what's wrong in my emulator, unless a comparison(in parallel?) is made, which seems to match UniPCemu's behaviour roughly(at least matching when comparing source code to have matching instruction fetching as far as I can see(opcode fetching seems to be correct. It's the execution part that seems to somehow be failing)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 5 of 5, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, MS-DOS(Up to 6.22) boots normally and runs various applications(one 386(megarace), no known 286(all crash somehow, e.g. day of the tentacle when starting with a null pointer assignment error) and most 8086(one cga game(california games) becomes unresponsive, oddly enough, when selecting the differenr stages)). Various other tested 8088 IBM PC software runs.

I've already compared the opcode information tables(which supplies information about the opcode parameters(modr/m size(8/16/32-bit), special flags(segment modr/m), modr/m order(e.g. opcode 00h vs 02h parameter order) and immediate byte/word/dword and various immediate direct address modes(with/without code segment). As far as I can see, they all(except 8Xh XCHG instructions, which seems to be an error in the parameter order with the 80386 user reference appendix A being reversed according to the Compaq Deskpro 386 BIOS disassembly from pcjs.org).

I've also looked at the immediate data(the final part mentioned above) and compared it against the dosbox cpu cores, which match up as far as I can see.

I've also verified operation against the test386.asm testsuite, which checks out correctly.

The linux distro I've tried is the dlx 10MB hard disk image from bochs. When booting it displays L and then hangs?

FreeDOS floppy boots partly, but in the middle of the five loading dots at the start an FDC error occurs due to seek/read mismatch(wrong track seeked to vs read operation).
Edit: Part of that is fixed. Now the dots continue but it crashes when loading the COMSPECHIGH=COMMAND.COM part? This is, according to the message, an unrecoverable crash, requesting a hard reboot of the computer? (Note: FDC is double seeked by the Compaq Deskpro 386 BIOS)

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io