Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - rainwarrior

Pages: [1]
1
Micro Machines and Ultimate Stuntman both have big problems with the racetrack getting corrupted on the Everdrive N8. Could be a problem with Camerica mapper 71 maybe?

Some pictures here:
http://forums.nesdev.com/viewtopic.php?p=188856#p188856

OS: 15
Bios: 5
CPLD: 2

Edit: as a test I changed the Ultimate Stuntman header to use mapper 2 (it seems UNROM compatible), and it appears to work correctly with that header change, so I suspect the mapper 71 implementation is the problem?

Edit 2: Seems like both games write $00 to $8000-BFFF at startup, and the mapper implementation must get confused by this, presuming it has mapper-controlled single screen mirroring instead of the fixed mirroring both of these games have. Only Fire Hawk should have single screen mirroring.

FCEUX seems to work around this by limiting the mirroring register to $9000-9FFF? (source) Apparently Fire Hawk only writes it as $9000, and the rest of the games that don't have mirroring control write it at $8000?

2
EverDrive N8 / Alternative for playing NSF files on Everdrive
« on: December 06, 2016, 04:37 AM »
Since Everdrive N8 now has support for the NSF-derived mapper 31, and with emulator support for that mapper growing as well, it's now feasible to make a mostly automated tool to convert NSFs into NES ROMs.

https://github.com/bbbradsmith/eznsf/releases/download/1.0/eznsf.zip

https://github.com/bbbradsmith/eznsf

This might be useful for people hoping to listen to NSF files on their Everdrive. It doesn't work with all NSFs; it's mostly intended for people making their own music with Famitracker, etc. but it should work okay with a lot of NSF files. There's a bunch of information in the readme file. The main requirement is to have Python 3 installed (it's a python script).

3
EverDrive N8 / edfc-fpga.sdc missing from fpga-mapper-sample.zip
« on: August 10, 2015, 08:12 AM »
I get these critical warnings from Quartus II. Is this file important? The mappers appear to build, and be somewhat functional but I seem to have some stability problems (see: this thread), and I'm wondering if it might be related to that, or if it's otherwise a file that should be included.

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

4
EverDrive N8 / 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.

5
EverDrive N8 / iNES mapper 4 and Low G Man
« on: August 04, 2015, 08:15 PM »
Since Low G Man has a compatibility problem due to limitations of the original iNES format, I wrote a patch that was intended to eliminate the issue:
http://www.romhacking.net/hacks/2512/

(EDIT: This patch works with the current Everdrive N8 mappers now. Original discussion of problem follows.)

This patch resolves the problem on all emulators that I've tried, and also on the PowerPak, but for some reason the crash still occurs on the Everdrive N8. I'm curious how mapper 4 is implemented.

To trigger the bug, start the game, enter the password HNRY, and begin the first boss battle. The game should hang after a few seconds.


Basically the problem with Low G Man is that it was built on a board with no WRAM, and there's a bug in its music engine that reads from the WRAM area ($6000-7FFF). It relies on the open-bus behaviour of that region to supply values that (by luck) don't crash the game. To fix this bug, in the patch I've filled WRAM with $FF at startup.

Most emulators seem to implement mapper 4 without MMC3's write protect or chip-enable register at $A001, because they're not needed for emulation, and they conflict with Startropics' MMC6. Some emulators have a separate MMC6 implementation and they detect Startropics by CRC (Nestopia does this). Low G Man actually writes to $A001 to disable MMC3 WRAM if it exists, creating the necessary open bus situation. More info here: http://wiki.nesdev.com/w/index.php/MMC3#iNES_Mapper_004_and_MMC6

So... I'm wondering why my patch fails on the Everdrive N8. Does the N8 partially implement $A001 somehow? I know that it works with Startropics, so I expected that it didn't implement this register at all. Testing with a debugger it seems that the buggy reads are entirely confined to the WRAM area so this should fix the problem, theoretically. The Everdrive N8 still crashes though, just like if I hadn't patched at all (looks the same as in emulators where WRAM will be initialized to $00).

6
EverDrive N8 / BxROM larger than 128k?
« on: April 01, 2014, 11:44 PM »
Does the BxROM mapper (mapper 34) support PRG larger than 128k? Many emulators and PowerPak support up to 512k. I'm currently working on a 256k BxROM game and I was wondering if  it will work on Everdrive.

Pages: [1]