![]() |
![]() |
![]() |
![]() |
![]() |
Half Life - Crowbar Power
Posted on 2009-05-30 00:00:00 |
Found out why I was getting incomplete text in that screen:
I overlooked the use of BC0T and BC0F by the game, so the DMA transfers weren't synchronized properly. The DMA controller has a special register which can control whether you want to set or not a special COP0 register upon completion of a DMA transfer. The game was using that to wait for the end of its VIF and GIF transfers. Without the BC0T and BC0F instructions, it couldn't wait for the transfer's end and would just keep going with a new one, creating the situation where some primitives were missing. Now, that screen is kinda weird. First, it tells us that no input device is connected. Second, it asks us if we want to create the data file on the memory card. It also tells us that it's accessing the memory card in slot one. Kinda disturbing... |