Some 8088 instruction bugs
Posted: Mon Nov 28, 2022 8:53 am
The core is actually very faithful to the original machine, however, the CPU instructions have some small bugs. On the recommendation of a user (Rafa, from the Telegram development group that has the core in Spanish), he has observed the following bugs with the LandMark PCXT diagnostic software:MicroCoreLabs wrote:
The same software has fewer bugs in the 86Box emulator, although common in the type of instructions:
The common part in both systems, although with different results, would be the following:
Although, as can be seen, there is better cycle accuracy in the core, close to the 4.77Mhz of the original.
The 3 CPU additional bugs of core are as follows:
Code: Select all
CPU failed test: 6 errors
Instruction sequence was:
F7
EB
Register flags contains 0000H but should contain 0044H
Register value before instruction was 0801H
Test number 49
CPU failed test: 7 errors
Instruction sequence was:
9F
Register ah contains 44H but should contain 46H
Register value before instruction was 02H
Test number 50
CPU failed test: 8 errors
Instruction sequence was:
D3
E8
Register flags contains 0410H but should contain 0400H
Register value before instruction was 0410H
Test number 149
https://c9x.me/x86/html/file_module_x86_id_148.html
We have that, the MCL86 module is not taking into account the fixed value of the reserved flags... bits, 1, 3 and 5.
Finally, the software also tests the timer, among other ICs:kitune-san wrote:
In particular, the timer has random failures, if the test is repeated, sometimes it fails and sometimes it is fine. This behaviour also occurs in 86Box and in a real PCXT (Real Micro8088 PCXT at 4.77MHz), so I wouldn't read too much into it either, but I don't know if something can be improved.