Sim City 64 is probably the last game, which until now worked correct only in Low-Level Emulation mode. Most of geometry disappeared in HLE. It was very strange because Sim City 64 uses the same microcode as Kirby 64, which has no such issues. Dump of display list also looked correct, with no unknown commands. It took me quite some time to investigate the problem. Finally I noticed that command MoveWord : Insert Matrix has weird parameters, which do not pass sanity checks and the command ignored. Again, olivieryuyu helped me to understand what is going on there. Insert Matrix command designed to change some values in Combined matrix. Combined matrix is a product of Modelview and Projection matrices and is used to transform coordinates of vertices. Use of Insert Matrix is a fast way to update the Combined matrix, without using multiplication of matrices. Parameter of that command is index of matrix element to replace. N64 matrix consist of 32 16bit elements: 16 for integer part and 16 for fraction; 64 bytes in total. Combined matrix has fixed address in DMEM - 0x0080. Index of replaced element is used as offset from 0x0080 address and thus can't exceed size of matrix in bytes. However, Sim City 64 uses Insert Matrix command with very large offsets, such as 0xFF98, that is out of DMEM 4kb bound. olivieryuyu found that that way the command is used to update Modelview Matrix, which is located at the address 0x0000. 0xFF98 + 0x0080 = 0x0018 because of integer overflow, and 0x0018 is address of element in current Modelview Matrix. That is Insert Matrix is used to fast update some part of Modelview matrix data instead of loading the whole matrix with MoveMem command. Smart trick. I don't think that developers of the microcode expected that Insert Matrix command will be used that way, but it works. I made necessary corrections and one more game became playable in HLE mode. Early access build sent to all patrons.