Since I copied the mirroring setup from the buggy Verilog on the wiki, it could certainly be a bug. I will implement the behavior described not the Verilog. Look for a new release soon.tepples wrote: I don't know if it's a bug in NESICIDE or a bug in my test, but either way, it'd prevent Battletoads from running correctly.
Multi-discrete mapper
Moderator: Moderators
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: Multi-discrete mapper
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: Multi-discrete mapper
Ok think I got it matching the wiki behavior now. Download version 24 from the NESICIDE project page. Try it. Let me know. If it works I'll release it...it's got a few other fixes for other things.tepples wrote: I don't know if it's a bug in NESICIDE or a bug in my test, but either way, it'd prevent Battletoads from running correctly.
Re: Multi-discrete mapper
Findings:
- The installer should offer to run the previous version's uninstaller instead of dumping the user back at the prompt.
- Good news: Behavior for writing $80 then $01 matches what I expect (AA, AA, CC, F0).
- Behavior for writing $01 then $80 will be added to the test later.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: Multi-discrete mapper
I have hunted through Advanced Installer for an option to do just that but haven't found one yet. When I do you can bet I'll turn it on!tepples wrote:Findings:
- The installer should offer to run the previous version's uninstaller instead of dumping the user back at the prompt.
- Good news: Behavior for writing $80 then $01 matches what I expect (AA, AA, CC, F0).
- Behavior for writing $01 then $80 will be added to the test later.
Re: Multi-discrete mapper
I implemented mapper 28 in Bizhawk to-day. It seems to work well enough, but there's only that one test rom.
- infiniteneslives
- Posts: 2104
- Joined: Mon Apr 04, 2011 11:49 am
- Location: WhereverIparkIt, USA
- Contact:
Re: Multi-discrete mapper
This is what I get on my cart. Sounds like AxROM mirroring works then since I'm getting 'AA' right?tepples wrote:If the registers are written in the order $80 then $01, then increasing bank modes from 00 to 03 are supposed to return AA, AA, CC, F0.
What differences are you seeing? I've read over the behavior several times now and I'm pretty sure it's set up correctly. But I've missed things in the pastcpow wrote:Since I copied the mirroring setup from the buggy Verilog on the wiki, it could certainly be a bug. I will implement the behavior described not the Verilog. Look for a new release soon.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
Re: Multi-discrete mapper
Perhaps it was copied from an old version of the Verilog.
I have been working on the test ROM, but I can only do so much while away from the house with my desktop PC that has NESICIDE on it, other than perhaps loading NESICIDE on someone else's PC, based on INL's revised Verilog or kevtris's untested Verilog. Hopefully thefox can get the PowerPak version working soon. I did manage to get the automated test to start running in FCEUX and display an error message.
I have a few questions about using NESICIDE as an IDE, which I'll bring up in the other topic.
I have been working on the test ROM, but I can only do so much while away from the house with my desktop PC that has NESICIDE on it, other than perhaps loading NESICIDE on someone else's PC, based on INL's revised Verilog or kevtris's untested Verilog. Hopefully thefox can get the PowerPak version working soon. I did manage to get the automated test to start running in FCEUX and display an error message.
I have a few questions about using NESICIDE as an IDE, which I'll bring up in the other topic.
Re: Multi-discrete mapper
Can't you do this in Verilog? At least for my FPGA projects, it picks up the initialization values from Verilog automagically, i.e.infiniteneslives wrote:Additionally thefox should be able to take my verilog and dump it into mapper #28 of power pak mappers to allow for additional testing. The one thing to keep in mind when he does that though is default/startup values my code doesn't actually cover that, it's a setting in the fitting properties of Xilinx webpack.
Code: Select all
reg [5:0] prg_outer_bank = 6'hFF; //sets PRG ROM A15-20
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Re: Multi-discrete mapper
Perhaps so. I haven't gone back to look at the verilog since I got it working.tepples wrote:Perhaps it was copied from an old version of the Verilog.
Did you catch my note about unchecking the "bug icon" in the toolbar to disable some of the more intensive debuggers. Unfortunately it currently disables the breakpoint engine too but I'm thinking about leaving that in. If performance of the IDE is your main issue it'd be something to try.tepples wrote:I have been working on the test ROM, but I can only do so much while away from the house with my desktop PC that has NESICIDE on it, other than perhaps loading NESICIDE on someone else's PC, based on INL's revised Verilog or kevtris's untested Verilog. Hopefully thefox can get the PowerPak version working soon. I did manage to get the automated test to start running in FCEUX and display an error message.
Great! In my experience [both professional and private], user feedback always leads to a better end product.tepples wrote:I have a few questions about using NESICIDE as an IDE, which I'll bring up in the other topic.
- infiniteneslives
- Posts: 2104
- Joined: Mon Apr 04, 2011 11:49 am
- Location: WhereverIparkIt, USA
- Contact:
Re: Multi-discrete mapper
Perhaps you can with the FPGA, From what I understand it won't work for me on the CPLD. If it's worked for you in the past I say go for it. I found online where it said you had use the flag 'defparam' to initialize in the code. This is all dependent on the compiler/synthesizer not necessarily verilog 'rules' as far as I know.thefox wrote: Can't you do this in Verilog? At least for my FPGA projects, it picks up the initialization values from Verilog automagically, i.e.Code: Select all
reg [5:0] prg_outer_bank = 6'hFF; //sets PRG ROM A15-20
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
Re: Multi-discrete mapper
Doesnt this conflict conceptually with the idea of tying the nametable viewer update to a specific scanline? There would need to be a way to change the nametable viewer to refresh every time the debugger snaps, instead of at the specified scanline.tepples wrote: I noticed that the nametable visualizer in NESICIDE reacts instantly when I press F8 to step to the next instruction. This is convenient; FCEUX's doesn't.
Re: Multi-discrete mapper
True, both behaviors can't be enabled at once, but each behavior has its own uses.zeromus wrote:Doesnt this conflict conceptually with the idea of tying the nametable viewer update to a specific scanline?tepples wrote: I noticed that the nametable visualizer in NESICIDE reacts instantly when I press F8 to step to the next instruction. This is convenient; FCEUX's doesn't.
For that, I'd recommend a radio button with options "Current" and "Scanline #".There would need to be a way to change the nametable viewer to refresh every time the debugger snaps, instead of at the specified scanline.
Anyway, I'm working on adding tests for CHR RAM size (8K, 16K, or 32K) and tests to rule out a bunch of obscure misunderstandings of nametable mirroring that arose from an IRC discussion with kevtris. I had someone make me PowerPak mappers for both 8K and 32K versions based on kev's Verilog code.
Re: Multi-discrete mapper
I've attached the new test ROM. Push Start to rich begin the automatic test.
PowerPak mapper based on kev's Verilog: Pass
NESICIDE: Pass until reset phase; emulator does not support soft reset
FCEUX SVN: Pass until reset phase; soft reset changes to last bank
PowerPak mapper based on kev's Verilog: Pass
NESICIDE: Pass until reset phase; emulator does not support soft reset
FCEUX SVN: Pass until reset phase; soft reset changes to last bank
- Attachments
-
- test28-0.03.zip
- (39.94 KiB) Downloaded 1656 times
PowerPak version
thefox has given me the go-ahead through an IRC conversation to distribute PowerPak mapper files (MAP1C.MAP) based on the Verilog implementation by kevtris, which pass test version 0.03. The two versions differ in their CHR RAM size:
Well-behaved games should run fine with the 32K. A few games may require the 8K version due to having been tested only on the 8K or on emulators that behave the same way. If you're testing a game that you're developing, use the one that matches how your board connects CHR A14-13.
- The 32K version of the mapper provides four 8192-byte pages of CHR RAM.
- The 8K version of the mapper provides one 8192-byte page of CHR RAM.
Well-behaved games should run fine with the 32K. A few games may require the 8K version due to having been tested only on the 8K or on emulators that behave the same way. If you're testing a game that you're developing, use the one that matches how your board connects CHR A14-13.
- Attachments
-
- MAP1C-kev-v4-32k.zip
- PowerPak mapper with 32k CHR RAM
- (18.37 KiB) Downloaded 1389 times
-
- MAP1C-kev-v4-8k.zip
- PowerPak mapper with 8k CHR RAM
- (18.36 KiB) Downloaded 1270 times