Trying to dump my first NES game... :)

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

lidnariq
Posts: 9681
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Trying to dump my first NES game... :)

Post by lidnariq » Mon Jun 08, 2020 10:31 am

Yeah, I suspect you're done. I'd personally be inclined to do a little more playtesting before I reverted the modifications, but I think you should be ok.

solidhyunkel
Posts: 28
Joined: Mon May 25, 2020 12:00 pm

Re: Trying to dump my first NES game... :)

Post by solidhyunkel » Mon Jun 08, 2020 4:04 pm

I can do playtesting alright 8-) hehehe...

Thanks again lidnariq. Now I'll reach out groups as NO-INTRO or archive.org to make available to everyone and preserve it. Can I do this on this site too?

lidnariq
Posts: 9681
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Trying to dump my first NES game... :)

Post by lidnariq » Mon Jun 08, 2020 4:53 pm

We explicitly try to avoid redistributing commercial ROM dumps here, favoring binary diffs (bps, ips, bsdiff) instead. In this case, because it's a multicart, that'd involve identifying what each segment of the cart came from, and then compiling it, and then making the diff ... I'll look into doing that.

We've previous let people post just the menu.

PRG, in 32KB slices, using GoodNES filenames:
- No matches (menu)
- Wrecking Crew (W) [!]
- Soccer (JU) [!]
- Super Mario Bros. (Title Hack) (Unl) [p1][!]
- Astro Robo Sasa (J)
- Spelunker (J) [!]
- 1942 (JU) [!]
- Lot Lot (J) [!]
- TwinBee (J) [!]
- Magmax (J) [!]
- Ninja Hattori-kun - Ninja wa Shuugyou de Gozaru no Maki (J) [!]
- Gyrodine (J) [!]
- Tag Team Pro-Wrestling (J) [!]
- Dig Dug II (J) [!]
- B-Wings (J) [!]
- Elevator Action (U) [!]
(first 512KiB described)
- Tetris (J) (REVA) [!]
- Tetris (Tengen) [!]
- Arkanoid (J) [!]
- Kage no Densetsu (J) [!]
- Takahashi Meijin no Bouken Shima (J) [!]
- Star Soldier (J) [!]
- Solomon's Key (U) [!]
- Tiger-Heli (J) [!]
- Track & Field (U) [!]
- Power Soccer (J)
- Shin Jinrui - The New Type (J) [!]
- Flipull - An Exciting Cube Game (J)
- Gyruss (U) [!]
- Moai Kun (J)
- Goonies, The (J) [!]
- Gradius (J) [!]
(first 1MiB described)
then the next ROM has mostly 16KB PRG games:

- Mario Bros. (JU) [!]
- Popeye (J) (PRG0) [!]
- Donkey Kong (U) (PRG1) [!]
- Donkey Kong Jr. (JU) (PRG1) [!]
- Donkey Kong 3 (U) [!]
- Gomoku Narabe (J) [!]
- Pinball (JU) [!]
- Golf (J) [!]
- Tennis (JU) [!]
- Devil World (J) [!]
- F-1 Race (J) [!]
- Urban Champion (W) [!]
- Balloon Fight (J) [!]
- Baseball (J) [!]
- Ice Climber (U) [!]
- Excitebike (JU) [!]
- Mappy (J) [!]
- Nuts & Milk (J) [!]
- Gradius (J) [!] (8KB) ---- probably in error, given presence in first ROM
- Galaxian (J) [!] (8KB)
- Galaga (J) [!]
- Yie Ar Kung-Fu (J) (V1.2) [!]
- Clu Clu Land (W) [!]
- Antarctic Adventure (J) [!]
- Ninja-kun - Majou no Bouken (J) [!]
- Chack 'n Pop (J)
- Dig Dug (J) [!]
- Star Force (J) [!]
- Super Arabian (J)
- Pac-Man (J) (V1.1) [!]
- Formation Z (J) [!]
- Raid on Bungeling Bay (J) [!]
- Warpman (J) [!]
(first 1536KiB described)
- Battle City (J) [p1]
- Field Combat (J)
- Road Fighter (J) [!]
- Pooyan (J)
- Exerion (J) [!]
- Sky Destroyer (J) [!]
- Lunar Ball (J) [!]
- Karateka (J) [!]
- Kinnikuman - Muscle Tag Match (J) (PRG0) [!]
- Binary Land (J) [!]
- Circus Charlie (J) [!]
- Choujikuu Yousai - Macross (J) [!]
- Lode Runner (J) [!]
- Championship Lode Runner (J) [!]
- Wild Gunman (U) (PRG0) [!]
- Duck Hunt (W) [!]
- Hogan's Alley (W) [!]
- Mahjong (J) [!]
- Front Line (J)
- Bomberman (J) [!]
A few more 32KB games:
- Xevious (J) [!]
- Othello (U) [!]
- Tank 1990 (Ch)
- Slalom (U) [!]
- Onyanko Town (J) [!]
- Son Son (J) [!]


CHR, in 8KB slices, using GoodNES filenames:

- Mario Bros. (JU) [!]
- Popeye (J) (PRG0) [!]
- Donkey Kong (U) (PRG1) [!]
- Donkey Kong Jr. (JU) (PRG1) [!]
- Donkey Kong 3 (U) [!]
- Gomoku Narabe (J) [!]
- Pinball (JU) [!]
- Golf (J) [!]
- Tennis (JU) [!]
- Devil World (J) [!]
- F-1 Race (J) [!]
- Urban Champion (W) [!]
- Balloon Fight (J) [!]
- Baseball (J) [!]
- Ice Climber (U) [!]
- Excitebike (JU) [!]
- Mappy (J) [!]
- Nuts & Milk (J) [!]
- Galaxian (J) [!]
- Galaga (J) [!]
- Yie Ar Kung-Fu (J) (V1.2) [!]
- Clu Clu Land (W) [!]
- Antarctic Adventure (J) [!]
- Ninja-kun - Majou no Bouken (J) [!]
- Chack 'n Pop (J)
- Dig Dug (J) [!]
- Star Force (J) [!]
- Super Arabian (J)
- Pac-Man (J) (V1.1) [!]
- Formation Z (J) [!]
- Raid on Bungeling Bay (J) [!]
- Warpman (J) [!]
(first 256KiB described)
- Battle City (VS) [p1][!] ---- I assume this is a mistake by my fingerprinter, and the VS system ROM is the same as the mass-market one
- Field Combat (J)
- Road Fighter (J) [!]
- Pooyan (J)
- Exerion (J) [!]
- Sky Destroyer (J) [!]
- Lunar Ball (J) [!]
- Karateka (J) [!]
- Kinnikuman - Muscle Tag Match (J) (PRG0) [!]
- Binary Land (J) [!]
- Circus Charlie (J) [!]
- Choujikuu Yousai - Macross (J) [!]
- Lode Runner (J) [!]
- Lode Runner (J) [!] ---- yes, twice
- Wild Gunman (W) (PRG1) [!]
- Duck Hunt (W) [!]
- Hogan's Alley (W) [!]
- Mahjong (J) [!]
- Front Line (J)
- Bomberman (J) [!]
- Xevious (J) [!]
- Othello (U) [!]
- Battle City (VS) [p1][!] ---- yes, twice
- Slalom (U) [!]
- Onyanko Town (J) [!]
- Son Son (J) [!]
- Goonies, The (J) [!]
- Goonies, The (J) [!] ---- yes, twice
- Gradius (J) [!]
- Gradius (J) [!]
- Gradius (J) [!]
- Gradius (J) [!] ---- yes, four times
(first 512KiB described)
- no match
- Wrecking Crew (W) [!]
- Soccer (JU) [!]
- Super Mario Bros. (Title Hack) (Unl) [p1][!]
- Astro Robo Sasa (J)
- Spelunker (J) [!]
- 1942 (JU) [!]
- Lot Lot (J) [!]
- TwinBee (J) [!]
- Magmax (J) [!]
- Ninja Hattori-kun - Ninja wa Shuugyou de Gozaru no Maki (J) [!]
- Gyrodine (J) [!]
- Tag Team Pro-Wrestling (J) [!]
- Dig Dug II (J) [!]
- B-Wings (J) [!]
- Elevator Action (U) [!]
(Then a few 16KB CHR games)
- Tetris (J) (REVA) [!]
- Tetris (Tengen) [!]
- Arkanoid (J) [!]
- Kage no Densetsu (J) [!]
(Then a bunch of 32KB CHR games)
- Takahashi Meijin no Bouken Shima (J) [!]
- Star Soldier (J) [!]
- Solomon's Key (U) [!]
- Tiger-Heli (J) [!]
- Track & Field (U) [!]
- Power Soccer (J)
- Shin Jinrui - The New Type (J) [!]
- Flipull - An Exciting Cube Game (J)
- Gyruss (U) [!]
- Moai-kun (J)

solidhyunkel
Posts: 28
Joined: Mon May 25, 2020 12:00 pm

Re: Trying to dump my first NES game... :)

Post by solidhyunkel » Wed Jun 10, 2020 5:34 pm

OH! Is that a result to "dissecting" the whole ROM and comparing it with the known data of all the games?

I've been playstesting a little and found some errors but I don't know if these errors are inherent to the pirated nature of the game or they are due to an error at dumping... I'll continue to post them as I found them just for reference I suppose?
  • Game number 10 (The Adventures of Dino Rikki)- control of character becomes glitched after hit, controls return to normal after losing a life.
  • Game number 16 (1942) - After losing a life, game starts at the last stage (32), also after losing your last life, game continues using symbols for remaining lives so you get "infinite lives" and also the counter for your evade ability gets glitched the same way if you die while having 0 on this counter. Reseting the game at this point will load the intro screen again instead of the game list you were on.

I tried to submit it to NO-INTRO but along other info they asked me to provide this:
  • CRC32 of "combined" ROM (without iNES header) and of each chip's ROM
  • MD5 of "combined" ROM (without iNES header) and of each chip's ROM
  • SHA1 of "combined" ROM (without iNES header) and of each chip's ROM
  • SHA256 of "combined" ROM (without iNES header) and of each chip's ROM
I have no idea how to know this, they suggested the use of HxD and I opened the .nes file with it. I don't know how to do it LOL, I've been researching a little but still I have no idea when and where a chips starts and ends or how to know where is the iNes header he he he... sigh...

lidnariq
Posts: 9681
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Trying to dump my first NES game... :)

Post by lidnariq » Wed Jun 10, 2020 6:10 pm

solidhyunkel wrote:
Wed Jun 10, 2020 5:34 pm
Game number 16 (1942) - After losing a life, game starts at the last stage (32), also after losing your last life, game continues using symbols for remaining lives so you get "infinite lives" and also the counter for your evade ability gets glitched the same way if you die while having 0 on this counter. Reseting the game at this point will load the intro screen again instead of the game list you were on.
This looks like it might be deliberate.

The differences (byte by byte) between the licensed version of 1942 and the variant in this multicart are as follows:
ROMaddr LicensedVer MulticartVer
37DF 8D 20 LicensedVer: STA $0432
37E0 32 B0 MulticartVer: JSR $BFB0 (see 3FB0 below)
37E1 04 BF
Context: This code is executed when starting a game. The original sets the number of lives to 2; the multicart instead reloads a value seeded by the menu.
3C79 17 FF
3C7B 01 FF
3C7C 09 FF
3C7D 08 FF
3C7E 05 FF
3C80 0B FF
3C81 0A FF
3C82 12 FF
3C83 0B FF
3C84 11 FF
3C85 10 FF
Erases the ©1985 CAPCOM text
3FAD A9 4C LicensedVer: LDA #7
3FAE 07 C0 MulticartVer: JMP $BFC0
3FAF 85 BF LicensedVer: STA $8B

3FB0 8B AD MulticartVer: LDA #01C0
3FB1 A9 C0 LicensedVer: LDA #0
3FB2 00 01
3FB3 85 8D LicensedVer: STA #8A
3FB4 8A 32 MulticartVer: STA $0432
3FB5 A9 04 LicensedVer: LDA #0
3FB6 00 60 MulticartVer: RTS
Context: This is part of the power-on code. The OEM game clears the RAM on a cold boot. Multicart skips over that (jmp #bfc0); the space is instead used to reload [$01C0] into [$0432] when called from above.
3FB7 91 AD LicensedVer: STA (8A),Y
3FB8 8A C4 MulticartVer: LDA $01C4
3FB9 C8 01 LicensedVer: INY
3FBA D0 8D MulticartVer: STA $0436
3FBB FB 36 LicensedVer: BNE -6 (meaning 3FB7)
3FBC C6 04 LicensedVer: DEC $8B
3FBD 8B 60 MulticartVer: RTS
3FBE D0 FF LicensedVer: BNE -9 (meaning 3FB7)
3FBF F7 FF
The RAM clearing code. Same as above.
5852 8D 20 LicensedVer: STA $0436
5853 36 B7 MulticartVer: JSR $BFB7
5854 04 BF
Instead of writing 3 to $0436 (number of bombs), this instead uses the above patch to reload [$01C4] into [$0436].

Plus, starting the OEM version starts with what appears to be stage 32.

solidhyunkel
Posts: 28
Joined: Mon May 25, 2020 12:00 pm

Re: Trying to dump my first NES game... :)

Post by solidhyunkel » Thu Jun 11, 2020 12:24 pm

Just wanted to share this info that was requiered by NO-INTRO to add the ROM to their DB:
  • CRC-32 (Ethernet and PKZIP): F518F90F
  • MD-5: E6DEAF2F7A9CAFEF610CF5D916C42D56
  • SHA-1: FF421D6925A197C77D3D5588A094CCC290A29C23
  • SHA-256: 72BE24B95611F7E0AE21736DD55809417406B7B18FB1A209CBE78893B70ACB11
This hashes were generated by selecting all the data in the ROM except the first two lines that correspond to the iNes header.

iNes Header (first two lines):

4E 45 53 1A 80 80 E0 30 00 00 00 00 00 00 00 00 78 D8 A2 FF 9A A9 00 8D 00 20 8D 01 20 85 58 85

lidnariq
Posts: 9681
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Trying to dump my first NES game... :)

Post by lidnariq » Thu Jun 11, 2020 12:31 pm

solidhyunkel wrote:
Thu Jun 11, 2020 12:24 pm
except the first two lines that correspond to the iNes header.

4E 45 53 1A 80 80 E0 30 00 00 00 00 00 00 00 00 78 D8 A2 FF 9A A9 00 8D 00 20 8D 01 20 85 58 85
uh. That's wrong.
It's only the first 16 bytes, not the first 32 bytes. The bit starting with "78 D8" is part of the ROM.

solidhyunkel
Posts: 28
Joined: Mon May 25, 2020 12:00 pm

Re: Trying to dump my first NES game... :)

Post by solidhyunkel » Sun Jun 14, 2020 4:02 pm

Ooops sorry about that... That means the hashes are also incorrect.

wiqueb
Posts: 1
Joined: Sun Aug 02, 2020 4:11 pm

Re: Trying to dump my first NES game... :)

Post by wiqueb » Sun Aug 02, 2020 4:17 pm

Hi Solidhyunkel and lidnariq

I’m glad finally someone has been able to dump this game since I have done a lot of research to find this and since it didn’t existed yet also done research as to how to dump it myself but without much success..

I’d be very happy if I could finally get it from you !

yan.b.luthier@hotmail.com

solidhyunkel
Posts: 28
Joined: Mon May 25, 2020 12:00 pm

Re: Trying to dump my first NES game... :)

Post by solidhyunkel » Wed Aug 19, 2020 3:35 pm

Thanks for your interest wiqueb! I also waited years for the ROM to pop up until I decided to took action, purchased a copy and came here looking for guidance. I'm still figuring out the "proper" channel to realease it as I don't want to brake forums rules or just dump it on mediafire. I'd like to get ir properly catalogued and preserved to be enjoyed by everyone interested.

Post Reply