User:Dr. Floppy/Apex: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎RAM Map: Revised information; added new layout template.)
m (General touch-up.)
Line 2: Line 2:


== Overview ==
== Overview ==
*Project owner: Retrometheus
*<u>Project Owner</u>: Retrometheus
*Developer: Retrometheus
*<u>Developer</u>: Retrometheus
*Compiler: None (hex coding)
*<u>Compiler</u>: None (hex coding)
*Sound driver: Retrodriver™
*<u>Sound Driver</u>: Retrodriver™
*Soundtrack by: Retrometheus
*<u>Soundtrack by</u>: Retrometheus
*Started on: 5/2011
*<u>Started on</u>: 5/2011
*Status: Preproduction  
*<u>Status</u>: Preproduction  
*Mapper: MMC5 (unique submapper, tentatively dubbed "EXROM")
*<u>Mapper</u>: MMC5 (unique submapper, tentatively dubbed "EJROM")
*PRG-ROM: 1024 KB
*<u>PRG-ROM</u>: 1024 KB
*CHR-ROM: 1024 KB
*<u>CHR-ROM</u>: 1024 KB
*PRG-RAM: 64 KB
*<u>PRG-RAM</u>: 64 KB


== Story ==
== Story ==
Line 62: Line 62:
| 0x005E || Reserved
| 0x005E || Reserved
|-
|-
| 0x005F || Transition status || 00 = Null; 01 = Activate; FF = Transitioning
| 0x005F || Transition status || #00 = Null; #01 = Activate; #FF = Transitioning
|-
|-
| 0x0060-AF || Unused
| 0x0060-AF || Unused
Line 78: Line 78:
| 0x00C1 || Current BG tilesheet
| 0x00C1 || Current BG tilesheet
|-
|-
| 0x00C2-F7 || Unused?
| 0x00C2-DF || Unused?
|-
| 0x00E0 || Game Paused? || #00 = No; #01 = Yes
|-
| 0x00E1-F7 || Unused?
|-
|-
| 0x00F8 || SPR-OAM transfer on next NMI? || #00 = yes
| 0x00F8 || SPR-OAM transfer on next NMI? || #00 = yes
Line 93: Line 97:


== ROM Map ==
== ROM Map ==
$E0010: Default music data bank<br />
$00010-0400F: Default music data bank<br />
$E4010: Alternate music data bank<br />
$04010-1000F: Alternate music data banks<br />
$E8010-F000F: Reserved for expansion<br />
$E0010-F000F: PRG-RAM banks (8 x 8 kB)<br />
$F0010-FE00F: Seven 8kB DPCM banks<br />
$F0010-FE00F: Seven 8kB DPCM banks<br />
$FE010: NMI Routine<br />
$FE010: NMI Routine<br />
Line 101: Line 105:
$FF090: Title Screen draw routine<br />
$FF090: Title Screen draw routine<br />
$FF0F0-FF10F: Title Screen palettes<br />
$FF0F0-FF10F: Title Screen palettes<br />
$FF110: Main Program Loop<br />
$FF210: Main Program Loop<br />
$FFC10: Music frequency table<br />
$FFC10: Music frequency table<br />
$FFD10: Tempo Offsets<br />
$FFD10: Tempo Offsets<br />

Revision as of 04:15, 15 October 2013

Apex is a side-scrolling adventure/exploration game. It serves as a testament to the "golden age" of console gaming (circa early '90's)- a celebration of what was, what is and what might have been.

Overview

  • Project Owner: Retrometheus
  • Developer: Retrometheus
  • Compiler: None (hex coding)
  • Sound Driver: Retrodriver™
  • Soundtrack by: Retrometheus
  • Started on: 5/2011
  • Status: Preproduction
  • Mapper: MMC5 (unique submapper, tentatively dubbed "EJROM")
  • PRG-ROM: 1024 KB
  • CHR-ROM: 1024 KB
  • PRG-RAM: 64 KB

Story

Bioterrorists are cultivating superviruses in labs hidden at the bottom of the ocean.

Gameplay

Apex is a rather nondescript purple angelfish with two basic attacks: a stationary somersault and high-velocity bubble projectiles.

RAM Map

RAM Function Details
0x0000-0D Music Channel pointers P2-P1-T-N-D-P3-P5
0x000E-0F Rhythm Array pointer
0x0010-1D Repeat Coda pointers P2-P1-T-N-D-P3-P5
0x001E Song Data bank#
0x001F DPCM sample data Bank#
0x0020-2C Rhythmic countdowns (even slots only) P2-P1-T-N-D-P3-P5
0x0021-2D Selective repeats # remaining (odd slots only) P2-P1-T-N-D-P3-P5
0x002E-2F Header pointer
0x0030-32 Timbre/volume data P2-P1-T
0x0033 Song ID# jukebox Writing a value here triggers a new song to play.
0x0034 Current song ID#
0x0035-36 Timbre/volume data P3-P5
0x0037 Reserved for SFX.
0x0038-3E Most recent rhythmic countdown value Used to reload even-numbered slots in the $20-2C range.
0x003F Reserved for SFX.
0x0040-5B Unused
0x005C Current macromode
0x005D Macromode transition destination
0x005E Reserved
0x005F Transition status #00 = Null; #01 = Activate; #FF = Transitioning
0x0060-AF Unused
0x00B0-B2 Controller 1 buttons old-regular-new
0x00B3-B7 Reserved
0x00B8-BA Controller 2 buttons old-regular-new
0x00BB-BF Reserved
0x00C0 Current spritesheet
0x00C1 Current BG tilesheet
0x00C2-DF Unused?
0x00E0 Game Paused? #00 = No; #01 = Yes
0x00E1-F7 Unused?
0x00F8 SPR-OAM transfer on next NMI? #00 = yes
0x00FC Frame counter See what we did there?
0x00FF Used in terminal MPL loop
0x0100-1FF Stack
0x0200-2FF Sprites

ROM Map

$00010-0400F: Default music data bank
$04010-1000F: Alternate music data banks
$E0010-F000F: PRG-RAM banks (8 x 8 kB)
$F0010-FE00F: Seven 8kB DPCM banks
$FE010: NMI Routine
$FF010: Init. Routine
$FF090: Title Screen draw routine
$FF0F0-FF10F: Title Screen palettes
$FF210: Main Program Loop
$FFC10: Music frequency table
$FFD10: Tempo Offsets
$FFF10: Music/Tempo/DPCM Bank index
$100000: Waiting for NMI