dingusdev / dingusppc

An experimental emulator
GNU General Public License v3.0
200 stars 21 forks source link

Various CPU emulation fixes + new command-line debugger. #2

Closed maximumspatium closed 4 years ago

maximumspatium commented 4 years ago

This PR adds a simple command-line debugger. It can be invoked like that:

./dingusppc debugger

Moreover, I fixed the following stuff:

These fixes are enough to pass the PowerMac 6100 ROM checksum validation.

Please note that carry update logic after adde has been taken from http://tomoyo.osdn.jp/cgi-bin/lxr/source/arch/powerpc/lib/sstep.c?v=linux-4.12.14#L1113 Unfortunately, it does't match the MAME debugger. The question is which one - Linux code or MAME debugger - is wrong. I don't know. Carry updates after subfze and perhaps some other arithmetic instructions are wrong and need to be carefully checked and fixed...