N64 homebrew cartridge can not save sram.
N64 homebrew cartridge can not save sram.
This is my n64 homebrew cartridge,I have flash a n64 game called biohazard2.
But in game, can not save sram.
when I read 32k sram from cartridge, 32k data only the first 4byte show BIO2, others data is all 0x00.
But in game, can not save sram.
when I read 32k sram from cartridge, 32k data only the first 4byte show BIO2, others data is all 0x00.
Last edited by byemu on Sat Aug 19, 2017 4:09 am, edited 2 times in total.
Re: N64 homebrew cartridge can not save sram.
Do you have the source for the logic in the MAX2 ?
More-or-less the only other thing you could do would be to compare a known good save to the wrong values you're getting.
More-or-less the only other thing you could do would be to compare a known good save to the wrong values you're getting.
Re: N64 homebrew cartridge can not save sram.
This is core mycode:lidnariq wrote:Do you have the source for the logic in the MAX2 ?
More-or-less the only other thing you could do would be to compare a known good save to the wrong values you're getting.
Code: Select all
assign enable_rom = m_address[30:27]==4'b0001 ? aleh : 1'b1;//0x10000000
assign enable_sram = m_address[30:26]==5'b00001 ? aleh : 1'b1 ;//0x08000000
Re: N64 homebrew cartridge can not save sram.
At this point, I'd compare to a known-good save from e.g. an emulator.
Re: N64 homebrew cartridge can not save sram.
Maybe it's depend on the CIC, but I'm not sure.lidnariq wrote:At this point, I'd compare to a known-good save from e.g. an emulator.
Re: N64 homebrew cartridge can not save sram.
If it were the wrong CIC, that would prevent booting altogether ... unless it both needs, and you have, a bad implementation of the 6105.
(The hash of the first 4 KiB of the cart ROM has to match the hash presented by the CIC or else the PIF goes into an infinite loop. If the hash does match, then it passes off execution in those 4 KiB)
(The hash of the first 4 KiB of the cart ROM has to match the hash presented by the CIC or else the PIF goes into an infinite loop. If the hash does match, then it passes off execution in those 4 KiB)
Re: N64 homebrew cartridge can not save sram.
1 How to change a homebrew rom to a spencified cic(ex: 6105,only boot on a 6105cic).lidnariq wrote:If it were the wrong CIC, that would prevent booting altogether ... unless it both needs, and you have, a bad implementation of the 6105.
(The hash of the first 4 KiB of the cart ROM has to match the hash presented by the CIC or else the PIF goes into an infinite loop. If the hash does match, then it passes off execution in those 4 KiB)
2 My verilog code is wrong.
Re: N64 homebrew cartridge can not save sram.
The x101 and x102 boot sectors can be just directly interchanged; the other three CICs each do something different and can't be easily swapped.
Flashcarts like the everdrive64 reimplement the boot sectors in order to allow running everything as though it were on a 6102/7101.
Flashcarts like the everdrive64 reimplement the boot sectors in order to allow running everything as though it were on a 6102/7101.
Re: N64 homebrew cartridge can not save sram.
Maybe need a bootemu, first will boot to bootemu,next swap the rom section via mmc,then boot to gamerom.lidnariq wrote:The x101 and x102 boot sectors can be just directly interchanged; the other three CICs each do something different and can't be easily swapped.
Flashcarts like the everdrive64 reimplement the boot sectors in order to allow running everything as though it were on a 6102/7101.
BTW, I solved the sram problem.
Re: N64 homebrew cartridge can not save sram.
What was wrong?byemu wrote:BTW, I solved the sram problem.
Re: N64 homebrew cartridge can not save sram.
SRAM logic not same as ROM logic.lidnariq wrote:What was wrong?byemu wrote:BTW, I solved the sram problem.