Author Topic: iNES mapper 31 - INL NSF  (Read 8083 times)

0 Members and 1 Guest are viewing this topic.

Offline rainwarrior

  • Newbie
  • *
  • Posts: 40
  • Karma: +6/-0
    • View Profile
iNES mapper 31 - INL NSF
« on: August 06, 2015, 06:18 PM »
Edit: This mapper is now included in OS V14; there is no need to use my custom mapper for it.

I've made an implementation of iNES mapper 31 that seems to work:
http://wiki.nesdev.com/w/index.php/INES_Mapper_031

Until now the only available ROM was 1MB, so there was no point in supporting this mapper, but very soon some more ROMs are going to be released, so I've created the mapper for Everdrive. This forum would not let me upload the files, so here's a link:
http://rainwarrior.ca/projects/nes/everdrive_mapper_31.zip

The source code is included in case Krikzz wants to review or change it, or combine it with other mappers into a different RBF.

I have some test ROMs for it:
http://rainwarrior.ca/projects/nes/31_test_16.nes (16k + CHR-ROM)
http://rainwarrior.ca/projects/nes/31_test_32.nes
http://rainwarrior.ca/projects/nes/31_test_64.nes
http://rainwarrior.ca/projects/nes/31_test_128.nes
http://rainwarrior.ca/projects/nes/31_test_256.nes
http://rainwarrior.ca/projects/nes/31_test_512.nes (512k + CHR-ROM)
http://rainwarrior.ca/projects/nes/31_test_1024.nes - too big for Everdrive
http://rainwarrior.ca/projects/nes/2a03puritans.nes - too big for Everdrive
http://rainwarrior.ca/projects/nes/pico.nes (512k + CHR-RAM)

The test ROMs should be easy to verify, but if you need a reference, currently only FCEUX preview release and Nintendulator unstable support this mapper completely. (A few others have partial support too.) Interestingly, PowerPak can't support this mapper, because it doesn't have 4k banking (possibly it could use the doubling trick like with NSFs, but it would need an OS change and would only support 256k).

Also, I am very inexperienced with verilog, so if you notice anything wrong with my mapper source please tell me. I would like to learn. It appears to work fine, though.
« Last Edit: December 07, 2016, 12:47 AM by rainwarrior »

Offline rainwarrior

  • Newbie
  • *
  • Posts: 40
  • Karma: +6/-0
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #1 on: August 08, 2015, 05:10 AM »
Hmm, I am noticing a problem, and I was wondering if someone else could help me by testing it on their machine.

1. Download everdrive_mapper_31.zip
3. Download pico.nes
2. Replace MAPROUT.BIN on your SD card and copy 031.RBF to the relevant folder.
4. Place PICO.NES in your ROMs folder.
5. Run PICO.NES, push A twice to begin music playback.
6. Let the album play for several minutes. Does it crash/hang? (It always crashes for me eventually, usually takes 2-5 minutes.)

What is happening for me is that it works fine for a couple of minutes, but it always locks up sooner or later. I have no idea what's causing it (it is not a software problem, the ROM runs perfectly on the intended INL NSF board). I can't figure out what's causing this; I've tried fiddling with a few things in the verilog code, but I couldn't find anything that fixed the problem and don't really have any other ideas.


Also, I get these critical warnings from Quartus II. Is this important, and/or is the file edfc-fpga.sdc supposed to be included in fpga-mapper-sample.zip?

Quote
Critical Warning (332012): Synopsys Design Constraints File file not found: 'edfc-fpga.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.

Critical Warning (332148): Timing requirements not met

There are other warnings but none of them look serious (though I don't really know enough about verilog to know what warnings are important). I can post them if needed.

Offline bozo55

  • Full Member
  • ***
  • Posts: 101
  • Karma: +7/-0
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #2 on: August 10, 2015, 12:38 AM »
Hmm, I am noticing a problem, and I was wondering if someone else could help me by testing it on their machine.

1. Download everdrive_mapper_31.zip
3. Download pico.nes
2. Replace MAPROUT.BIN on your SD card and copy 031.RBF to the relevant folder.
4. Place PICO.NES in your ROMs folder.
5. Run PICO.NES, push A twice to begin music playback.
6. Let the album play for several minutes. Does it crash/hang? (It always crashes for me eventually, usually takes 2-5 minutes.)


I thought I'd test it out for you to show appreciation for your effort to improve the N8.   

I'm running a CPU06 NTSC with a NES N8 and the latest updates... So far I'm 3 minutes in, no crashing yet... 4 minutes in now... 5 minutes... now on the 3rd track, Hi-Tech, still no crash yet... I've reached a track called ancient melody, still no crash...  Grand Imbecile is playing now.  Now on the Japanese Bun track... this is catchy stuff.

Well, it played through everything and then paused.  I was able to restart play and skip through the tracks.  No crashing.  Hope this helps.

For full disclosure my NES is more or less stock except for adding in the Blinking Light Win and the 47K-ohm expansion audio resistor mod.  I'm using a MIJ Kingston 1GB microSD with a SD adapter.
« Last Edit: August 10, 2015, 01:05 AM by bozo55 »

Offline rainwarrior

  • Newbie
  • *
  • Posts: 40
  • Karma: +6/-0
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #3 on: August 10, 2015, 05:38 AM »
Hey, thanks very much. That makes me wonder what's going on on my end. :(

I'm testing on a standard Famicom with an adapter for the cartridge. I always wonder if a crash is just the adapter shaking around (it's precariously balanced in the slot), but it doesn't seem like I get this problem with other stuff on the Everdrive. Hrm.

Offline bozo55

  • Full Member
  • ***
  • Posts: 101
  • Karma: +7/-0
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #4 on: August 11, 2015, 01:19 AM »
Hey, thanks very much. That makes me wonder what's going on on my end. :(

I'm testing on a standard Famicom with an adapter for the cartridge. I always wonder if a crash is just the adapter shaking around (it's precariously balanced in the slot), but it doesn't seem like I get this problem with other stuff on the Everdrive. Hrm.

I also own a Famicom AV with a 1995 PCB and a Famicom N8 if you want me to test with those.

Offline rainwarrior

  • Newbie
  • *
  • Posts: 40
  • Karma: +6/-0
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #5 on: November 12, 2015, 09:32 PM »
The Famicompo Pico ROM has officially been released.
http://rainwarrior.ca/projects/nes/pico.html

Krikzz, would you consider including mapper 31 in your next OS update? The source code for the mapper is in my OP.

Offline SmokeMonster

  • Puzzle Bobbler
  • Sr. Member
  • ****
  • Posts: 412
  • Karma: +59/-0
  • tsst tchh chh ch ch ch
    • View Profile
    • SmokeMonster YouTube Channel
Re: iNES mapper 31 - INL NSF
« Reply #6 on: November 13, 2015, 01:22 AM »
The Famicompo Pico ROM has officially been released.
http://rainwarrior.ca/projects/nes/pico.html

Krikzz, would you consider including mapper 31 in your next OS update? The source code for the mapper is in my OP.
Great idea, I'd love to be able to boot the Famicompo Pico rom on my N8.

Offline KRIKzz

  • Administrator
  • Hero Member
  • *****
  • Posts: 3091
  • Karma: +478/-2
    • View Profile
Re: iNES mapper 31 - INL NSF
« Reply #7 on: January 11, 2016, 10:45 PM »
The Famicompo Pico ROM has officially been released.
http://rainwarrior.ca/projects/nes/pico.html

Krikzz, would you consider including mapper 31 in your next OS update? The source code for the mapper is in my OP.
Yes, will include in next release. Good work, by the way (: