PSI-Rockin/CorgiDS

Sims 2 DS - fails to boot

Simonx22 opened this issue · 2 comments

This game is crashing on boot. Tested on Windows and Ubuntu using master.
Log:

Deselected AUXSPI
AUXSPIDATA: $0005
AUXSPI read status reg
AUXSPIDATA: $0000
Deselected AUXSPI
AUXSPIDATA: $0003
AUXSPI read
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0014
READ_MEM: 20
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
AUXSPIDATA: $0000
READ_MEM: 0
Deselected AUXSPI
Set CLEAR_COLOR: $00000000
Set CLEAR_DEPTH: $00007FFF
Set CLEAR_COLOR: $3F1F8000
Set CLEAR_DEPTH: $00007FFF
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
(9) Unrecognized halfword read from $00000000
(9) Unrecognized halfword write of $0000 to $00000000
Unrecognized smul opcode $9QObject::~QObject: Timers cannot be stopped from another thread
Press <RETURN> to close this window...

I don't know if the "unrecognized halfword" stuff is relevant, as games tend to activate DMA without initializing it (so it just reads and writes to NULL, which is harmless).

The crash "Unrecognized smul opcode $9" means there's an instruction not in the CPU core yet. Should be easy enough to add, but don't know if there's any other problems lying ahead.

I've added the missing opcode. The game now boots and allows you to create a Sim, but freezes soon after. Creating a new issue for this.