VOGONS


test386.asm CPU tester

Topic actions

Reply 180 of 181, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just added more tests to the testsuite.
It now also tests for 286 call gates on top of the existing 386 call gates.
I've also implemented some basic tests for upper half kernels (using identity-mapped memory mapped as kernel-only), which catches 32-bit interrupt and call gates for errors and verifies they operate as they should.
Finally I've added a test for 286 interrupt gates as well, thus most of the CPU is now validated.

All that's left right now is basically:
- TSS-based task switching. Although this can also be done using other methods (like for example the SuperSoft/Landmark diagnostic ROM, which tests these extensively by task switching for quite a while, despite it's bugs).
- Virtual 8086 monitor that's running using a 16-bit interrupt gate.

The main issue with those is that the ROM size is getting quite big already. I'm not sure how many space can still be used to verify those operations (the final byte excluding the 16-byte footer is at address F513h right now already, so there's only ADDh (2781) bytes left in the 64KB ROM).

It's funny that there's exactly "ADD" bytes left in the ROM though. Like it's begging to have more added. 🤣

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

Reply 181 of 181, by superfury

User metadata
Rank l33t++
Rank
l33t++

Those missing features are in test386.asm now.

The protected mode tests have been moved to the lower 64K of ROM to make space required for some optional tests (requiring the 128KB ROM now).

I also have a few extra additions left in my pull request (XLAT, IDT/GDT instructions, real mode interrupts and the flag instructions(like STC)) at https://github.com/barotto/test386.asm/pull/23 (From https://github.com/superfury/test386.asm/), but it looks like Barrotto didn't see the latest bugfixes yet? There's also a bugfix for the latest NASM in there.

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