Daedalus update on PIF fixes
Do you know the ins and outs of your Daedalus? Today, StrmnNrmn is taking a crack at how his homebrew N64 emulator is working on the N64 PIFs – that’s peripheral interfaces. Here’s the long and short of what it does:
- Reading the controller status
- Reading/writing to the eeprom
- Reading/writing to the controller mempak
Now (we’re going technical here, so be warned), a 64 byte area of memory controls access to the PIF. Writing onto this block of memory will make PIF recognize it as a sequence of commands, and then the CPU can read back into it to get the results. Now, StrmnNrmn has tweaked the PIF block and was able to zoom in on the problem – there’s two of them, actually. After a good deal of researching (we won’t explain it here), he’s managed to find the root of why some games would hang. Here’s what he’s got to say:
“These two problems combined to cause certain roms to get confused and hang when trying to access the mempak. The total fix was a few dozen lines of code to separate out the PIF formatting from the command execution, and a single-line fix for the second issue.”
If you don’t understand that, let it be. It’s really hard to understand for non-coders and homebrewers. We’re all just so impressed by how clever StrmnNrmn is in developing and manipulating codes. But the big picture is: he’s making progress. And that’s what’s important.
Do you know the ins and outs of your Daedalus? Today, StrmnNrmn is taking a crack at how his homebrew N64 emulator is working on the N64 PIFs – that’s peripheral interfaces. Here’s the long and short of what it does:
- Reading the controller status
- Reading/writing to the eeprom
- Reading/writing to the controller mempak
Now (we’re going technical here, so be warned), a 64 byte area of memory controls access to the PIF. Writing onto this block of memory will make PIF recognize it as a sequence of commands, and then the CPU can read back into it to get the results. Now, StrmnNrmn has tweaked the PIF block and was able to zoom in on the problem – there’s two of them, actually. After a good deal of researching (we won’t explain it here), he’s managed to find the root of why some games would hang. Here’s what he’s got to say:
“These two problems combined to cause certain roms to get confused and hang when trying to access the mempak. The total fix was a few dozen lines of code to separate out the PIF formatting from the command execution, and a single-line fix for the second issue.”
If you don’t understand that, let it be. It’s really hard to understand for non-coders and homebrewers. We’re all just so impressed by how clever StrmnNrmn is in developing and manipulating codes. But the big picture is: he’s making progress. And that’s what’s important.