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.

Castlevania II: Belmont's Revenge/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


Legend: [u] is unsigned, [s] is signed, [d] is [https://en.wikipedia.org/wiki/Binary-coded_decimal binary-coded decimal]. [2] is a 2 byte word, [3] and so on likewise. [b] is big-endian; otherwise, values are assumed to be little-endian.
Legend: [u] is unsigned, [s] is signed, [d] is [https://en.wikipedia.org/wiki/Binary-coded_decimal binary-coded decimal]. [2] is a 2 byte word, [3] and so on likewise. [b] is big-endian; otherwise, values are assumed to be little-endian.
During entity update routines, register d stores the high byte of the entity data. Belmont's data begins at c000, so d is always c0 during belmont's update routine. Most of Belmont's entity data, such as the velocity data, repeats every 0x100 bytes for subsequent entities.


  0x7FFF [u] index of currently-loaded swappable bank.
  0x7FFF [u] index of currently-loaded swappable bank.
Line 22: Line 24:
  0xCC86 [d] hearts
  0xCC86 [d] hearts
  0xCC89 [u] Belmont's hitpoints
  0xCC89 [u] Belmont's hitpoints
  0xFF80-0xFFFE stack (127 bytes)
  0xFF80-0xFFFE stack (127 bytes)

Revision as of 21:47, 11 July 2022

Chip tiny.png The following article is a RAM map for Castlevania II: Belmont's Revenge.

Please add more.

Legend: [u] is unsigned, [s] is signed, [d] is binary-coded decimal. [2] is a 2 byte word, [3] and so on likewise. [b] is big-endian; otherwise, values are assumed to be little-endian.

During entity update routines, register d stores the high byte of the entity data. Belmont's data begins at c000, so d is always c0 during belmont's update routine. Most of Belmont's entity data, such as the velocity data, repeats every 0x100 bytes for subsequent entities.

0x7FFF [u] index of currently-loaded swappable bank.
0xC009 Belmont's facing (CHR code). Bit 5 is Belmont's facing (20: left. 0: right.); bit 6 is Belmont's vertical flip, etc.
0xC00F [s2] Belmont's Y velocity. Negative is upward
0xC011 [u] Belmont's Y subpixel
0xC012 [u] Belmont's Y pixel
0xC014 [s2] Belmont's X velocity. Negative is leftward.
0xC016 [u] Belmont's X subpixel
0xC017 [u] Belmont's X pixel
0xC018 [u] hitstun
0xC880 game mode (0: konami logo. 1: title screen. 2: title fade-in. 3: stage select and title screen selected. 4: stage entry. 5: normal gameplay. 6: death. 7: game over. D: password entry. E: intro reel.)
0xC886 current input (1: right. 2: left. 4: up. 8: down. 10: A. 20: B. 40: select. 80: start)
0xC887 input pressed (like 0xC886, but only what was just pressed this frame.)
0xC8C0 [d3] points
0xC8c5 [d] lives ("rest")
0xC8D0 subweapon (0: none. 1: axe (us) / cross (jp). 2: holy water)
0xCC80 [d2] time remaining
0xCC86 [d] hearts
0xCC89 [u] Belmont's hitpoints
0xFF80-0xFFFE stack (127 bytes)