TASEmulators / fceux

FCEUX, a NES Emulator
http://fceux.com
GNU General Public License v2.0
1.23k stars 254 forks source link

Fix Mapper 342/Coolgirl #638

Open Oskar2024 opened 1 year ago

Oskar2024 commented 1 year ago

when running mapper 342 from coolgirl mapper games do not work properly launching Crisis Force from mapper 342/coolgirl build glitch image in game

negativeExponent commented 1 year ago

1) in this same rom, the game Castlevania:Special also has CHR issues. most probably translation for CHR address on mapper 24 mode is incorrect.

2) Arkanoid II from 320-in-1 rom variant also broken - flags check on mapper 18 probably incorrect, mirroring not applied since in Arkanoid II, flags is 0; 1683440844_2023_05_07_14:27:24 applying mirroring regardless of flags fixes Arkanoid II

3) possible typo in https://github.com/TASEmulators/fceux/blame/master/src/boards/coolgirl.cpp#L886-L887 line indicates it should apply on prg_bank_a, but it was applied to chr_bank_a instead. must be a typo

4) the message "Cycle IRQ mode is not supported, please report to Cluster" can spam over and over causing emulator to be unresponsive (check Crisis Force).

5) possible missing "break" statement https://github.com/TASEmulators/fceux/blob/master/src/boards/coolgirl.cpp#L1462-L1465C1

@ClusterM please check. thanks

ClusterM commented 1 year ago
  1. in this same rom, the game Castlevania:Special also has CHR issues. most probably translation for CHR address on mapper 24 mode is incorrect.

Arkanoid II from 320-in-1 rom variant also broken - flags check on mapper 18 probably incorrect

Arkanoid II works fine on my multicart ROMs. It uses mapper 152, not 18. Can you contact me on Discord and share the ROM? My username: cluster#1750

possible typo in https://github.com/TASEmulators/fceux/blame/master/src/boards/coolgirl.cpp#L886-L887 line indicates it should apply on prg_bank_a, but it was applied to chr_bank_a instead. must be a typo

You are right, thank you. Fixed.

  1. the message "Cycle IRQ mode is not supported, please report to Cluster" can spam over and over causing emulator to be unresponsive (check Crisis Force). Cycle IRQ mode

Original Crisis Force doesn't use cycle IRQ and works fine for me. There are no official games that use this mode. Even FCEUX started supporting it only since a certain commit. Seems like it's some hack. I tried to run this game from "COOLGIRL 7-IN-1(MMK-02E-00) .unf" on a real hardware, and it doesn't work properly:

image (i really need to clean the dust)

  1. possible missing "break" statement https://github.com/TASEmulators/fceux/blob/master/src/boards/coolgirl.cpp#L1462-L1465C1

Fixed, thank you!

ClusterM commented 1 year ago

Super Konami 8-in-1(Yhc-4006-00) (Unl).unf uses wrong flags for VRC2/VRC4 mappers when starts Castlevania Special, so it's a bad ROM. Same problem with a Crisis Force. Seems like those flags are messed up in the other emulators (because they are based on the very old and non-public version of code) and those multigame ROMs were built for such emulators, not a real hardware.

I fixed mapper documentation: https://www.nesdev.org/wiki/NES_2.0_Mapper_342

In ROM Super Konami 8-in-1(Yhc-4006-00) (Unl) [f].unf:

negativeExponent commented 1 year ago

Arkanoid II works fine on my multicart ROMs. It uses mapper 152, not 18. Can you contact me on Discord and share the ROM? My username: cluster#1750

true. Arkanoid does use NES mapper 152 (i was referring to the mapper code provided with coolgirl's mapper registers, aka coolgirl_mapper_reg=18 = NES mapper #152)

Super Konami 8-in-1(Yhc-4006-00) (Unl).unf uses wrong flags for VRC2/VRC4 mappers when starts Castlevania Special, so it's a bad ROM.

does this mean that all, if not most multicart dumps which uses coolgirl_mapper_24(iNES Mapper #23), flag 0 are bad dumps?

ClusterM commented 1 year ago

true. Arkanoid does use NES mapper 152 (i was referring to the mapper code provided with coolgirl's mapper registers, aka coolgirl_mapper_reg=18 = NES mapper https://github.com/TASEmulators/fceux/issues/152)

Ah. I need to test this multigame ROM then.

does this mean that all, if not most multicart dumps which uses coolgirl_mapper_24(iNES Mapper https://github.com/TASEmulators/fceux/pull/23), flag 0 are bad dumps?

It's dumps from the cartridges with the very old version of firmware (year 2021 and earlier) - https://github.com/ClusterM/coolgirl-famicom-multicart/commit/4edbe5696716ae70db9f7bf1fd99fab7cffc735e. It's homebrew mapper. It was not finished, it was not released, it was not used in the main fork and it was not documented back then. I'm not sure that we can call them "bad" dumps. Actually, i'm not sure that these dumps are really dumps. More likely that they are created for emulation only. Who dumped them? Where did he get those cartridges?

ClusterM commented 1 year ago

And documentation was not correct too:(

YingHuoChong4913 commented 1 year ago

Collaborator

This is the ROM I made three years ago, and it was also run with the emulator three years ago, there was no problem at that time, the later version did have problems, I also tested it myself, it is true. I will fix it later, and thank ClusterM for the repair.

TheBoxGamePL commented 9 months ago

I have a question how to fix it, can someone fix it and send me the roms to theboxgamepl@gmail.com