Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Bomberman (NES)/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by one other user not shown)
(No difference)

Latest revision as of 21:06, 28 January 2024

Chip tiny.png The following article is a ROM map for Bomberman (NES).

Text

* 1C54 to 1C55 = PPU Address (2088)
* 1C56 to 1C65 = Text "CONGRATULATIONS"
* 1C66 to 1C67 = PPU Address (20E4)
* 1C68 to 1C7D = Text "YOU HAVE SUCCEEDED IN"
* 1C7E to 1C7F = PPU Address (2122)
* 1C80 to 1C9B = Text "HELPING BOMBERMAN TO BECOME"
* 1C9C to 1C9D = PPU Address (2162)
* 1C9E to 1CAB = Text "A HUMAN BEING"
* 1CAC to 1CAD = PPU Address (21A4)
* 1CAE to 1CC9 = Text "MAYBE YOU CAN RECOGNIZE HIM"
* 1CCA to 1CCB = PPU Address (21E2)
* 1CCC to 1CE7 = Text "IN ANOTHER HUDSON SOFT GAME"
* 1CE8 to 1CE9 = PPU Address (224B)
* 1CEA to 1D04 = Text"GOOD BYE ENTER SECRET CODE"
* 21E6 to 21E7 = PPU Address (2269)
* 21E8 to 21F8 = Text "START   CONTINUE" (Title Screen)
* 21F9 to 21FA = PPU Address (22AA)
* 21FB to 21FE = Text "TOP" (Title Screen)
* 21FF to 2200 = PPU Address (22E3)
* 2201 to 221A = Text "TM AND (C) 1987 HUDSON SOFT" (Title Screen)
* 221B to 221C = PPU Address (232A)
* 221D to 2228 = Text "LICENSED BY" (Title Screen)
* 2229 to 222A = PPU Address (2364)
* 222B to 2243 = Text "NINTENDO OF AMERICA INC." (Title Screen)

Disassembly

(This code put the text of the title screen)
00:E1C0:A0 00     LDY #$00          (Y=$00=Counter)
00:E1C2:A2 05     LDX #$05          (X=$05=Number of text lines) (5)  
00:E1C4:20 E0 E1  JSR $E1E0         (Jump subrutine in $E1E0 to read byte)
00:E1C7:8D 06 20  STA $2006 = #$00  (Save first byte of PPU Address)
00:E1CA:20 E0 E1  JSR $E1E0         (Jump subrutine in $E1E0 to read byte)
00:E1CD:8D 06 20  STA $2006 = #$00  (Save second byte of PPU Address)
00:E1D0:20 E0 E1  JSR $E1E0         (Jump subrutine in $E1E0 to read byte. To put text)
00:E1D3:C9 FF     CMP #$FF          (Compare value. If value=$FF=End of string)
00:E1D5:F0 05     BEQ $E1DC         (If value=$FF=End of string jump to $E1DC to decrement X and put other text)
00:E1D7:8D 07 20  STA $2007 = #$00  (Put value of text in screen. Example: $53="S" of "START" in Title Screen)
00:E1DA:D0 F4     BNE $E1D0         (Jump to $E1D0 if not equal to $FF)
00:E1DC:CA        DEX               (X=X-1. X=Number of text lines)
00:E1DD:D0 E5     BNE $E1C4         (If not zero then jump to $E1C4 to put other text)
00:E1DF:60        RTS               (Return to subrutine) 
00:E1E0:B9 E5 E1  LDA $E1E5,Y @ $E1E5 = #$22  (A=value of byte in address $E1E5+Y)
00:E1E3:C8        INY                         (Y=Y+1)
00:E1E4:60        RTS                         (Return to subrutine)

00:E1E5-00:E242
(Info to put the five lines of text) 

Line 1 of text:
2269: PPU Address 
5354415254B0B0B0434F4E54494E5545     Text "START   CONTINUE" (Title Screen)
FF: End of line of text

Line 2 of text:
22AA: PPU Address 
544F50                               Text "TOP" (Title Screen)
FF: End of line of text

Line 3 of text:
22E3: PPU Address 
544DB0414E44B0FEB031393837B0485544534F4EB0534F4654     Text "TM AND (C) 1987 HUDSON SOFT" (Title Screen)
FF: End of line of text

Line 4 of text:
232A: PPU Address 
4C4943454E534544B04259               Text "LICENSED BY" (Title Screen)
FF: End of line of text

Line 5 of text:
2364: PPU Address 
4E494E54454E444FB04F46B0414D4552494341B0494E43FD       Text "NINTENDO OF AMERICA INC." (Title Screen)
FF: End of line of text