VOGONS


First post, by GloriousCow

User metadata
Rank Oldbie
Rank
Oldbie

I'm back with yet another emulator CPU test suite, this time for the 80386.

https://github.com/singlesteptests/80386

The test suite includes 941 test files - (406 opcodes plus operand size and address size prefix combinations) comprising 1,758,700 individual, heuristically-generated instruction tests, all of them containing cycle exact captures of the execution of a real 386 CPU.

Currently the test suite includes real mode tests only. (boo, I know - we've all got to start somewhere...)

The tests are in my custom binary format, MOO
https://github.com/dbalsom/moo

A python script is available to convert them to JSON if you prefer. Also new is a C++ single-header class for parsing MOO files contributed by the talented Angela McEgo.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 1 of 5, by phix

User metadata
Rank Newbie
Rank
Newbie

Awesome work!
We all have been looking forward to this release. 😀

VirtualXT - A portable, lightweight Turbo PC/XT emulator written in Odin.

Reply 3 of 5, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Nice. Does it get the POPAD bug? 😀

Reply 4 of 5, by GloriousCow

User metadata
Rank Oldbie
Rank
Oldbie
Disruptor wrote on 2025-11-05, 00:33:

Nice. Does it get the POPAD bug? 😀

The 386EX probably doesn't have the POPAD bug, but I'd have to verify that. In any case, one of the limitations of single instruction tests is that they may not cover things like this - POPAD messed up the *following* instruction, and in the case of my POPAD tests, there isn't one. (Well, just HALT).

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 5 of 5, by phix

User metadata
Rank Newbie
Rank
Newbie
GloriousCow wrote on 2025-11-04, 22:28:
phix wrote on 2025-11-04, 21:13:

Awesome work!
We all have been looking forward to this release. 😀

Now you can start writing Tiny386 😀

At the moment the issue is more my work schedule then reference tests. 🤣

VirtualXT - A portable, lightweight Turbo PC/XT emulator written in Odin.