Gradius III: Gradius 3 Memory Map Mode 21 (Hirom) Super Nintendo

  • ~
  • Share
This hack converts Gradius 3 Memory Map Mode 20 (Lorom) to Memory Map Mode 21 (Hirom). Memory Map Mode 20 (Lorom) is limited to the upper half of the banks. Memory Map Mode 21 (Hirom) can use the full banks or just the upper half of the banks just like Memory Map Mode 20 (Lorom). All asm code runs in the full banks, and all compressed data is uploaded from the full banks. Some data is loaded and stored to wram using the upper half of the banks just like Memory Map Mode 20 (Lorom). Having the data used in this way its like having Memory Map Mode 21 (Hirom) and Memory Map Mode 20 (Lorom) all in on rom. This is just how Memory Map Mode 21 (Hirom) works but the rom data has to be used a certain way to fully use all of these features. A lot of the data was moved around in order to get this to work to best utilize all of the features that Memory Map Mode 21 (Hirom) supports. All asm is in 1 bank (C0:0000-C0:FFFF) instead of the original 2 banks (00:8000-00:FFFF) (02:8000-02:FFFF). All long jumps (over 2,000) have been changed to short jumps and all long returns have also been changed to short returns. Over 700 bytes have been freed up in the asm bank due to using the shorter jumps. This patch also adds fastrom that has around 5.6% less slowdowns than my Snes Gradius 3 fastrom hack but this hack is independent of my fastrom hack.


Project: Snes Gradius 3 Memory Map Mode 21 (Hirom) V1.0
Created By: slidelljohn
Date: 6-18-24


Use:
To apply the the patch you have to use a Gradius 3 rom that has a checksum of "SHA-256: 93DA752A0C76167D0907EFA832367E5D14AAB8E835B864F345C386071A9AF718".



Features:
Gradius 3 converted to Memory Map Mode 21 (Hirom).
Fastrom that has around 5.6% less slowdowns than my Snes Gradius 3 fastrom hack "https://www.romhacking.net/hacks/7682/" but this hack is independent of my fastrom hack.
All asm is in 1 bank (C0:0000-C0:FFFF) instead of the original 2 banks (00:8000-00:FFFF) (02:8000-02:FFFF)
All long jumps (over 2,000) have been changed to short jumps and all long returns have also been changed to short returns.
Over 700 bytes have been freed up in the asm bank due to using the shorter jumps.



Details:

This hack converts Gradius 3 Memory Map Mode 20 (Lorom) to Memory Map Mode 21 (Hirom). Memory Map Mode 20 (Lorom) is limited to the upper half of
the banks (see included lorom pic for details). Memory Map Mode 21 (Hirom) can use the full banks or just the upper half of the banks just like
Memory Map Mode 20 (Lorom) (see included hirom pic for details). All asm code runs in the full banks, and all compressed data is uploaded from
the full banks. Some data is loaded and stored to wram using the upper half of the banks just like Memory Map Mode 20 (Lorom). Having the data
used in this way its like having Memory Map Mode 21 (Hirom) and Memory Map Mode 20 (Lorom) all in on rom. This is just how Memory Map Mode 21 (Hirom)
works but the rom data has to be used a certain way to fully use all of these features. I had to move a lot of the data around in order to get this
to work to best utilize all of the features that Memory Map Mode 21 (Hirom) supports.



This is where rom data has been moved to utilize all of the features that Memory Map Mode 21 (Hirom) supports. When the rom is using only the upper
banks for the rom the fastrom banks 80-BF are used instead of the full fastrom banks C0-FF.:

Original | New
Map Mode 20 | Map Mode 21
00:8000-F9FB | C0:0000-7681, asm
00:F9FC-FFBF | Empty space, was removed.
00:FFC0-FFFF | C0:FFC0-FFFF
01:8000-FFFF | C1:8000-FFFF
02:8000-FF6A | C0:7682-F158, asm
02:FF6B-FFFF | Empty space, was removed.
03:8000-FFFF | C3:8000-FFFF
04:8000-FFFF | C4:8000-FFFF
05:8000-FFFF | C5:8000-FFFF
06:8000-FFFF | C6:8000-FFFF
07:8000-FFFF | C1:0000-7FFF
08:8000-FFFF | C3:0000-7FFF
09:8000-FFFF | C2:8000-FFFF
0A:8000-FFFF | C4:0000-7FFF
0B:8000-FFFF | C2:0000-7FFF
0C:8000-FFFF | C5:0000-7FFF
0D:8000-FFFF | C7:8000-FFFF
0E:8000-FFFF | C6:0000-7FFF
0F:8000-FFFF | C7:0000-7FFF



Tools used to create this hack:

DiztinGUIsh: https://github.com/IsoFrieze/DiztinGUIsh
BSNES+ special version: https://github.com/binary1230/bsnes-plus/releases
asar: https://github.com/RPGHacker/asar
Mesen2 Snes Emulator: https://github.com/SourMesen/Mesen2



Documents used for Memory Mapping:

SNES Developer Manual (Book 1) (Page 1-2-28): https://www.romhacking.net/documents/226/
Memory Map info and images: https://snes.nesdev.org/wiki/Memory_map



Special Thanks:

This project would not have been possibly without our romhacking community
that shares information for others to use and increase their knowledge.
So I say thank you to all of everyones research and uploads. :-)







Database match: Gradius III (USA)
Database: No-Intro: Super Nintendo Entertainment System (v. 20210222-050638)
File/ROM SHA-1: 7E62203A4198E9404EB7B076802C09786E5A63F4
File/ROM CRC32: CD973979
Time to Beat
Main Story 1h 7m
Main + Extras 1h 3m
Release Date
Jun 18, 2024
3 months ago
Similar Games
Popular Super Nintendo Games

Play Gradius III: Gradius 3 Memory Map Mode 21 (Hirom) Game

Experience Gradius III: Gradius 3 Memory Map Mode 21 (Hirom) Game (USA) online exclusivly at PastGames.net. Get Gradius III: Gradius 3 Memory Map Mode 21 (Hirom) ROM and use it with an emulator of your choice. Gradius III: Gradius 3 Memory Map Mode 21 (Hirom) can be played on PC, Mac, iOS and Android using our high quality downloads. PastGames is Americas #1 choice for Retro Games like Gradius III: Gradius 3 Memory Map Mode 21 (Hirom).