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.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Mega Man: Dr. Wily's Revenge/ROM map: Difference between revisions
Jump to navigation
Jump to search
m (Hawk moved page Mega Man in Dr. Wily's Revenge/ROM map to Mega Man: Dr. Wily's Revenge/ROM map) |
|||
(4 intermediate revisions by 4 users not shown) | |||
Line 85: | Line 85: | ||
Each tile needs 4 bytes: Y-coord (1 byte), X-coord (1 byte), Tile (1 byte), Attribute (1 byte) | Each tile needs 4 bytes: Y-coord (1 byte), X-coord (1 byte), Tile (1 byte), Attribute (1 byte) | ||
</pre> | </pre> | ||
*0x 6174- 7FFF Unused | *0x 6174-6528 ??? | ||
*0x6529-6548: X and Y coordinates of points in the box at the level selection screen | |||
<pre> | |||
CUTEMAN: | |||
01:6529 18 18 (Y-loc, X-loc) -> Upper left corner | |||
01:652B 18 40 (Y-loc, X-loc) -> Top right corner | |||
01:652D 40 18 (Y-loc, X-loc) -> Lower left corner | |||
01:652F 40 40 (Y-loc, X-loc) -> Lower right corner | |||
ICEMAN: | |||
01:6531 18 68 (Y-loc, X-loc) -> Upper left corner | |||
01:6533 18 90 (Y-loc, X-loc) -> Top right corner | |||
01:6535 40 68 (Y-loc, X-loc) -> Lower left corner | |||
01:6537 40 90 (Y-loc, X-loc) -> Lower right corner | |||
ELECMAN: | |||
01:6539 68 18 (Y-loc, X-loc) -> Upper left corner | |||
01:653B 68 40 (Y-loc, X-loc) -> Top right corner | |||
01:653D 90 18 (Y-loc, X-loc) -> Lower left corner | |||
01:653F 90 40 (Y-loc, X-loc) -> Lower right corner | |||
FIREMAN: | |||
01:6541 68 68 (Y-loc, X-loc) -> Upper left corner | |||
01:6543 68 90 (Y-loc, X-loc) -> Top right corner | |||
01:6545 90 68 (Y-loc, X-loc) -> Lower left corner | |||
01:6547 90 90 (Y-loc, X-loc) -> Lower right corner | |||
</pre> | |||
*0x6549-73AA ??? | |||
*0x73AB-7FFF Unused | |||
==Bank 2: Unknown (Music?)== | ==Bank 2: Unknown (Music?)== | ||
Line 150: | Line 175: | ||
==Bank F: Unused== | ==Bank F: Unused== | ||
*0x3C000-3FFFF Unused | *0x3C000-3FFFF Unused | ||
{{Internal Data|game=Mega Man in Dr. Wily's Revenge}} | |||
Latest revision as of 19:59, 25 January 2024
The following article is a ROM map for Mega Man: Dr. Wily's Revenge.
Bank 0: Unknown
- 0x 0000- 3978 ???
- 420- 5BF Alphabet gfx??
- 857-85B Put initial Weapon in RAM Address: DFA1
00:0857 3E 01 ld a,$01 (a=$01=Initial Weapon="P") 00:0859 EA A1 DF ld [$DFA1],a (Put the value $01="P" in $DFA1=Weapon)
- B26-B2A Put initial Energy value in RAM Address: DFA3
00:0B26 3D 98 ld a,$98 (a=$98=Initial energy) 00:0B28 EA A3 DF ld [$DFA3],a (Put the value $98 in $DFA3=Energy)
- BCA-BCF Decrease lives
00:0BCA 21 08 C1 ld hl,$C108 (Load in hl the Address $C108=Lives) 00:0BCD 34 dec [hl] (Decrease the value into the Address $C108=Lives) 00:0BCE 28 23 jr z,$0BF3 (Jump if is zero to the Address 00:0BF3) Note: If you change the instruction in 00:0BC4 you can have infinite lives. 00:0BCD 00 nop (NOt Operation) The value of lives don´t decrease.
- CCE-CD2 Put initial lives of the game
00:0CCE 3E 03 ld a,$03 (a=$03=Initial lives of the game) 00:0CD0 EA 08 C1 ld [$C108],a (Put the value $03 in the Addres $C108=Lives) Notes: You can have mor lives if you change the instruction in 00:0CCE. For example: 00:0CCE 3E 09 ld a,$09 The initial value of lives is 9. You have more lives.
- 157F-15B8: Joypad subroutine
- 15D4-15E1: Put OAM DMA Transfer subroutine in internal RAM: $FF80-$FF89
00:15D4 0E 80 ld c,$80 (c=$80) 00:15D6 06 0A ld b,$0A (b=$0A=10=Size of OAM DMA Transfer Subroutine) 00:15D8 21 E2 15 ld hl,$15E2 (Put in hl the address $00:15E2 where is the OAM DMA Transfer subroutine in ROM) 00:15DB 2A ldi a,[hl] (Put in A the value in address given in hl=Subroutine OAM DMA Transfer in ROM and increases hl) 00:15DC E2 ld [$FF00+c],a (Put the value of A in the Address $FF00+c=Internal RAM) 00:15DD 0C inc c (Increases c) 00:15DE 05 dec b (Decrease b=Bytes to be written in Internal RAM of the OAM DMA Transfer Subroutine) 00:15DF 20 FA jr nz,$15DB (If not zero then jump to address $00:15DB to write other byte of the subroutine in the internal RAM) 00:15E1 C9 ret (Return of the subroutine)
- 15E2-15EB: OAM DMA Tranfer subrotuine
- 20E1-2108: Name enemies
- 0x 3979- 3FFF Unused
Bank 1: Unknown
- 0x 4000-5765 ???
- 0x 5766-5772: Increases the lives
01:5766 21 08 C1 ld hl,$C108 (Put in hl the address $C108=Lives) 01:5769 7E ld a,[hl] (Put in A the value in address $C108=Lives) 01:576A 3C inc a (Increases a) 01:576B FE 0A cp a,$0A (Compare the value of A=Lives with $0A=10 decimal=Maximum value of lives?) 01:576D 38 02 jr c,$5771 (Jump if carry to address $01:5771) 01:576F 3E 0A ld a,$0A (Put in A the value $0A=10 decimal) 01:5771 77 ld [hl],a (Put the value $0A=10 decimal in the address $C108=Lives) 01:5772 C9 ret (Return of the subroutine)
- 0x 5773-615F: Put data of triangle tile that represents the menu icon:
01:6160 1E 60 ld e,$60 (Put in E the value $60=Y coordinate for choice "GAME START") 01:6162 28 02 jr z,$6166 (Jump if is zero to address $01:6166) 01:6164 1E 68 ld e,$68 (Put in E the value $68=Y coordinate for choice "PASS WORD") 01:6166 21 00 C0 ld hl,$C000 (Put in hl the Addres $C000=RAM=Y Coordinate=Copy of OAM) 01:6169 73 ld [hl],e (Put the value $68 in the address in hl=$C000=Coordinate Y) 01:616A 2C inc l (Increases l=$00+$01=$01. hl=$C001) 01:616B 36 30 ld [hl],$30 (Put the value $30 in the address in hl=$C001=Coordinate X) 01:616D 2C inc l (Increases l=$01+$01=$02. hl=$C002) 01:616E 36 00 ld [hl],$00 (Put the value $00=Triangle tile that represents the menu icon in the address $C002) 01:6170 2C inc l (Increases l=$02+$01=$03. hl=$C003) 01:6171 36 00 ld [hl],$00 (Put the value $00 in the address $C003=Attribute of the tile) 01:6173 C9 ret (Return of the subroutine) Note: Each tile needs 4 bytes: Y-coord (1 byte), X-coord (1 byte), Tile (1 byte), Attribute (1 byte)
- 0x 6174-6528 ???
- 0x6529-6548: X and Y coordinates of points in the box at the level selection screen
CUTEMAN: 01:6529 18 18 (Y-loc, X-loc) -> Upper left corner 01:652B 18 40 (Y-loc, X-loc) -> Top right corner 01:652D 40 18 (Y-loc, X-loc) -> Lower left corner 01:652F 40 40 (Y-loc, X-loc) -> Lower right corner ICEMAN: 01:6531 18 68 (Y-loc, X-loc) -> Upper left corner 01:6533 18 90 (Y-loc, X-loc) -> Top right corner 01:6535 40 68 (Y-loc, X-loc) -> Lower left corner 01:6537 40 90 (Y-loc, X-loc) -> Lower right corner ELECMAN: 01:6539 68 18 (Y-loc, X-loc) -> Upper left corner 01:653B 68 40 (Y-loc, X-loc) -> Top right corner 01:653D 90 18 (Y-loc, X-loc) -> Lower left corner 01:653F 90 40 (Y-loc, X-loc) -> Lower right corner FIREMAN: 01:6541 68 68 (Y-loc, X-loc) -> Upper left corner 01:6543 68 90 (Y-loc, X-loc) -> Top right corner 01:6545 90 68 (Y-loc, X-loc) -> Lower left corner 01:6547 90 90 (Y-loc, X-loc) -> Lower right corner
- 0x6549-73AA ???
- 0x73AB-7FFF Unused
Bank 2: Unknown (Music?)
- 0x 8000- BCA1
- 0x BCA2- BFFF Unused
Bank 3: Unknown
- 0x C000- FBE4 ???
- 0x FBE5- FFFF Unused
Bank 4: Main Sprite Graphics
- 10060-123FF Graphics (Mega Man, Status Bar, Enemies)
- 0x12FE0-13FFF Unused
Bank 5: Robot Master Level Data
- 0x14000-14007 - Pointer List
- 0x14008-1492E - Cut Man
- 0x1492F-15259 - Ice Man
- 0x1525A-15F71 - Fire Man
- 0x15F72-16AAC - Elec Man
- 0x16AAD-17FFF - Unused
- 0x17000-17FFF Unused
Bank 6: Static Screen Data
- 0x18000-1BBB6 ??? GFX: Static Screen Data
- 0x1803C-18148 - Menu texts
- 0x1814B-18226 - Title screen data
- 0x1BBB7-1BFFF Unused
Bank 7: Robot Master Graphics
- 0x1C000-1F812 ??? Boss GFX (Cu,Ic,El,Fi,En,Bu,Fl,He,Qu,Wily)
- 0x1F813-20000 Unused
Bank 8: Wily 1 Data
- 0x20001-23828 Wily 1 Level Data?
- 0x2134A-21809 Teleporter area gfx
- 0x23829-23FFF Unused
Bank 9: Unknown
- 0x24000-27D31 ???
- 0x27D32-27FFF Unused
Bank A: Unknown
- 0x28000-2B20C ???
- 0x2B20D-2BFFF Unused
Bank B: Unknown
- 0x2C000-2D5CF ???
- 0x2D5D0-2FFFF Unused
Bank C: Level Graphics
- 0x30000-33395 Level GFX
- 0x33396-33FFF Unused
Bank D: Unknown
- 0x34000-36310 ???
- 0x36311-37FFF Unused
Bank E: Ending Data
- 0x38000-3BBAF ???
- ~39000 Ending GFX
- 0x3BBB0-3BFFF Unused
Bank F: Unused
- 0x3C000-3FFFF Unused
Internal Data for Mega Man in Dr. Wily's Revenge
| |
---|---|