If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Lagoon (SNES)/ROM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Hawk moved page Lagoon/ROM map to Lagoon (SNES)/ROM map) |
||
(24 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
Keep in mind that two-byte numbers are in reverse order in the file. | Keep in mind that two-byte numbers are in reverse order in the file. | ||
This offsets differ by 0x8000 in a file versus memory. | |||
Example: 0x0013 in a rom file is 0x8013 in memory. | |||
ROM offsets are noted in brackets for illustrative purposes. | |||
ROM File offsets: | ROM File offsets: | ||
==ASM Code Bank== | ==ASM Code Bank== | ||
0x00:0013 | 0x00:0013 Reset Vector | ||
0x00:d05a ( | [8013] | ||
0x00:d05c ( | 0x00:0013-00af First code block (initializations) | ||
0x00:d05e ( | [8013-80af] | ||
0x01:59d9 | |||
0x01:59ec | 0x00:00b3 Main game subroutine | ||
0x01:59fb | |||
0x01:5a01 ( | 0x00:00b9 Game intro subroutine | ||
0x00:00e6 Game intro subroutine | |||
0x00:0112 Subroutine | |||
0x00:0120 Subroutine | |||
0x00:04e9-06e5 Subroutine | |||
0x00:1304-1366 Program loop, calls the game intro subroutine and the main game subroutine | |||
[9304-9366] | |||
0x00:9220 (000003) Substract hitpoints for both Nasir and monsters | |||
0x00:94f7 (000037) Str increase subroutine | |||
0x00:952f (00004f) Def increase subroutine | |||
0x00:cd95 (000003) checks event byte 7e04e2 | |||
cd9f (000003) checks bit using bit masks in 00:d3d9 | |||
Chests and Shops Bit Toggling Subroutine | |||
0x00:cda3 (000001) beginning of subroutine | |||
0x00:cda8 (000003) reads item/equipment byte | |||
0x00:cdab (000003) toggles bit using OR with a bit mask found 00:d3d9 | |||
0x00:cdae (000003) writes item/equipment byte | |||
0x00:cdb3 (000001) subroutine ends | |||
--- | |||
0x00:cde6 (000001) beginning of subroutine | |||
0x00:cdeb (000003) reads item/equipment to see if Nasir already has it | |||
0x00:cdee (000003) | |||
0x00:cdf5 (000001) end of subroutine | |||
Atland Weapon Shop Inventory Data | |||
0x00:d057 (000001) First item sold at the Atland weapon shop (default: 0x51 = shortsword) | |||
0x00:d058 (000001) Second item sold at the Atland weapon shop (default: 0x56 = bandit armor) | |||
0x00:d059 (000001) Third item sold at the Atland weapon shop (default: 0x5b = iron shield) | |||
0x00:d05a (000002) Shortsword price (Atland) | |||
0x00:d05c (000002) Bandit armor price (Atland) | |||
0x00:d05e (000002) Iron shield price (Atland) | |||
0x00:d06a Shop prices | |||
0x00:d07a Weapon shop prices for Voloh | |||
0x00:d08a Weapon shop prices for Denegal: sonic armor, great shield | |||
0x00:d3cd-d3d8 Subroutine called at cda5 and cde8 | |||
0x00:d3d9 (000008) Bit masks | |||
==Leveling Data Tables== | |||
0x00:e0b0 (000047) Base str table | |||
0x00:e0f8 (000047) Base def table | |||
0x00:e140 (000023) HP table | |||
0x00:e164 (000023) MP table | |||
==More ASM== | |||
0x01:5640 Call opening animation | |||
[02:d64c] | |||
0x01:5dd7 Opening logo subroutine | |||
[02:ddd7 | |||
0x01:05f6 (000028) Routine reads dialogue text into RAM (7e5000) | |||
0x01:0810 Reads name/place strings into RAM. (7e5000) | |||
0x01:59d9 Starting level | |||
0x01:59ec Starting strength | |||
0x01:59fb Starting defense | |||
0x01:5a01 (000002) Starting gold | |||
0x01:5f2c Display opening logo | |||
[02:df2c] | |||
0x01:5f4e Subroutine call | |||
[02:df4e] | |||
==Text Bank== | ==Text Bank== | ||
0x02:0200-0670 Text | 0x02:0200-0670 Text | ||
0x02:0870-5010 Text | 0x02:0870-5010 Text | ||
0x02:5210-6680 Text | 0x02:5210-6680 Text | ||
0x02:6790-77d0 Text | 0x02:6790-77d0 Text | ||
==Monster Data Bank== | ==Monster Data Bank== | ||
0x02: | 0x02:91f9 Monster data table starts here | ||
Table width is 0x0f bytes | |||
Examples | |||
0x02: | 0x02:91fa-0b (000002) gold cave demon hp | ||
0x02: | 0x02:9202-03 (000002) gold cave demon gold | ||
0x02: | 0x02:9204-05 (000002) gold cave demon exp | ||
0x02: | 0x02:9209-0a (000002) slime hp | ||
0x02: | 0x02:9211-12 (000002) slime gold | ||
0x02: | 0x02:9213-14 (000002) slime exp | ||
0x02: | 0x02:9218-19 (000002) skeleton hp | ||
0x02: | 0x02:9220-21 (000002) skeleton gold | ||
0x02: | 0x02:9222-23 (000002) skeleton exp | ||
0x02: | 0x02:9227-28 (000002) beetle hp | ||
0x02: | 0x02:922f-30 (000002) beetle gold | ||
0x02: | 0x02:9231-32 (000002) beetle exp | ||
Boss Data Table (table width is 0x0f) | |||
0x02:946b-6c (000002) Samson gold | |||
0x02:946d-6e (000002) Samson exp | |||
0x02:947a-7b (000002) Natela gold | |||
0x02:947c-7d (000002) Natela exp | |||
0x02:9489-8a (000002) Eardon gold | |||
0x02:948b (000002) Eardon exp | |||
0x02:9498 (000002) Duma gold | |||
0x02:949a (000002) Duma exp | |||
0x02:94c5 (000002) Thimale gold | |||
0x02:94c7 (000002) Thimale exp | |||
0x02:94d4 (000002) Battler gold | |||
0x02:94d6 (000002) Battler exp | |||
0x02:953d (000002) Ella gold | |||
0x02:953f (000002) Ella exp | |||
==Misc== | ==Misc== | ||
0x02:ca81 ( | 0x02:ca81 (000002) Gold gift from Atland Mayor | ||
==More Asm== | |||
0x04:ff3d Load data into audio memory | |||
[0c:ff3d] | |||
==Audio== | |||
0x06:80a8 (000c9c) Audio code/data | |||
==Graphics== | ==Graphics== | ||
0x08:8000-b600 Nasir Graphics (uncompressed) | 0x08:8000-b600 Nasir Graphics (uncompressed) | ||
0x08:b600-be00 Shield graphics (uncompressed) | 0x08:b600-be00 Shield graphics (uncompressed) | ||
0x0b:8e00-a800 Item graphics (uncompressed) | 0x0b:8e00-a800 Item graphics (uncompressed) | ||
==Compressed Graphics== | ==Compressed Graphics== | ||
0x0e:e47a-e54f Logo graphic compression dictionary | 0x0e:e47a-e54f Logo graphic compression dictionary | ||
0x0e:e54f | 0x0e:e54f Logo graphic starting byte (compressed) | ||
==Unused== | ==Unused== | ||
0x0f:fca0-ffd0 Unused | 0x0f:fca0-ffd0 Unused | ||
{{Internal Data}} |
Latest revision as of 20:51, 28 January 2024
The following article is a ROM map for Lagoon (SNES).
Keep in mind that two-byte numbers are in reverse order in the file.
This offsets differ by 0x8000 in a file versus memory. Example: 0x0013 in a rom file is 0x8013 in memory. ROM offsets are noted in brackets for illustrative purposes.
ROM File offsets:
ASM Code Bank
0x00:0013 Reset Vector [8013] 0x00:0013-00af First code block (initializations) [8013-80af]
0x00:00b3 Main game subroutine
0x00:00b9 Game intro subroutine
0x00:00e6 Game intro subroutine
0x00:0112 Subroutine
0x00:0120 Subroutine
0x00:04e9-06e5 Subroutine
0x00:1304-1366 Program loop, calls the game intro subroutine and the main game subroutine [9304-9366]
0x00:9220 (000003) Substract hitpoints for both Nasir and monsters
0x00:94f7 (000037) Str increase subroutine 0x00:952f (00004f) Def increase subroutine
0x00:cd95 (000003) checks event byte 7e04e2 cd9f (000003) checks bit using bit masks in 00:d3d9
Chests and Shops Bit Toggling Subroutine 0x00:cda3 (000001) beginning of subroutine 0x00:cda8 (000003) reads item/equipment byte 0x00:cdab (000003) toggles bit using OR with a bit mask found 00:d3d9 0x00:cdae (000003) writes item/equipment byte 0x00:cdb3 (000001) subroutine ends --- 0x00:cde6 (000001) beginning of subroutine 0x00:cdeb (000003) reads item/equipment to see if Nasir already has it 0x00:cdee (000003) 0x00:cdf5 (000001) end of subroutine
Atland Weapon Shop Inventory Data 0x00:d057 (000001) First item sold at the Atland weapon shop (default: 0x51 = shortsword) 0x00:d058 (000001) Second item sold at the Atland weapon shop (default: 0x56 = bandit armor) 0x00:d059 (000001) Third item sold at the Atland weapon shop (default: 0x5b = iron shield) 0x00:d05a (000002) Shortsword price (Atland) 0x00:d05c (000002) Bandit armor price (Atland) 0x00:d05e (000002) Iron shield price (Atland)
0x00:d06a Shop prices
0x00:d07a Weapon shop prices for Voloh
0x00:d08a Weapon shop prices for Denegal: sonic armor, great shield
0x00:d3cd-d3d8 Subroutine called at cda5 and cde8
0x00:d3d9 (000008) Bit masks
Leveling Data Tables
0x00:e0b0 (000047) Base str table 0x00:e0f8 (000047) Base def table 0x00:e140 (000023) HP table 0x00:e164 (000023) MP table
More ASM
0x01:5640 Call opening animation [02:d64c]
0x01:5dd7 Opening logo subroutine [02:ddd7
0x01:05f6 (000028) Routine reads dialogue text into RAM (7e5000)
0x01:0810 Reads name/place strings into RAM. (7e5000)
0x01:59d9 Starting level 0x01:59ec Starting strength 0x01:59fb Starting defense 0x01:5a01 (000002) Starting gold
0x01:5f2c Display opening logo [02:df2c] 0x01:5f4e Subroutine call [02:df4e]
Text Bank
0x02:0200-0670 Text 0x02:0870-5010 Text 0x02:5210-6680 Text 0x02:6790-77d0 Text
Monster Data Bank
0x02:91f9 Monster data table starts here Table width is 0x0f bytes Examples 0x02:91fa-0b (000002) gold cave demon hp 0x02:9202-03 (000002) gold cave demon gold 0x02:9204-05 (000002) gold cave demon exp 0x02:9209-0a (000002) slime hp 0x02:9211-12 (000002) slime gold 0x02:9213-14 (000002) slime exp 0x02:9218-19 (000002) skeleton hp 0x02:9220-21 (000002) skeleton gold 0x02:9222-23 (000002) skeleton exp 0x02:9227-28 (000002) beetle hp 0x02:922f-30 (000002) beetle gold 0x02:9231-32 (000002) beetle exp
Boss Data Table (table width is 0x0f) 0x02:946b-6c (000002) Samson gold 0x02:946d-6e (000002) Samson exp 0x02:947a-7b (000002) Natela gold 0x02:947c-7d (000002) Natela exp 0x02:9489-8a (000002) Eardon gold 0x02:948b (000002) Eardon exp 0x02:9498 (000002) Duma gold 0x02:949a (000002) Duma exp 0x02:94c5 (000002) Thimale gold 0x02:94c7 (000002) Thimale exp 0x02:94d4 (000002) Battler gold 0x02:94d6 (000002) Battler exp 0x02:953d (000002) Ella gold 0x02:953f (000002) Ella exp
Misc
0x02:ca81 (000002) Gold gift from Atland Mayor
More Asm
0x04:ff3d Load data into audio memory [0c:ff3d]
Audio
0x06:80a8 (000c9c) Audio code/data
Graphics
0x08:8000-b600 Nasir Graphics (uncompressed) 0x08:b600-be00 Shield graphics (uncompressed) 0x0b:8e00-a800 Item graphics (uncompressed)
Compressed Graphics
0x0e:e47a-e54f Logo graphic compression dictionary 0x0e:e54f Logo graphic starting byte (compressed)
Unused
0x0f:fca0-ffd0 Unused
Internal Data for Lagoon (SNES)
| |
---|---|