joeldipops
joeldipops
64 Doom does it like this. 0x80000318 must be a hardware register that contains max available memory ``` int available_memory_size = *(int *)(0x80000318); if(available_memory_size != 0x800000) ``` From here: https://github.com/mikeryan/n64dev/blob/master/docs/n64.lyx...
"In C globals are more common especially in the era when RAM was limited. So it's not "bad" it's normal. Modern Object Oriented code would pass variables around from function...
Whenever a sprite moves within the bottom few tiles, those rows flicker and get very ugly. I suspect this is because the RSP hadn't quite finished rendering the last rows...
Using particular compilier flags and directives should help speed up critical code by a frame or two. Need to do a bit of research on this, but can play around...
Currently the RSP renderer is only written to handle one player (that is, one input buffer at a time, no support for different scaling, we're relying on the hope that...
Should be something like 1 Read in ~4mb on start up and index the banks 2 When mbc registers invoked, keep track of most recently used banks. 3 If needing...
Yes you can take out the transfer pak and plug in the rumble pak if you really wanted. Just need to be smart about SRAM. Anyway, there may be other...
When writing new code for N64 the most overlooked optimization is using (u)int32 for every variable/parameter possible. The compiler will usually add several additional instructions to ensure that the value...
When double speed mode is enabled, ensure the pending and active flags are implemented and the LY, STAT and IF registers act accordingly.
Here's the relevant section from http://gbdev.gg8.se/wiki/articles/Memory_Bank_Controllers 4000-5FFF - RAM Bank Number - or - RTC Register Select (Write Only) As for the MBC1s RAM Banking Mode, writing a value in...