User:Dr. Floppy/Apex: Difference between revisions
Dr. Floppy (talk | contribs) (→RAM Map: Sound effects & controller buttons) |
Rainwarrior (talk | contribs) m (Rainwarrior moved page Apex to User:Dr. Floppy/Apex: move progress page to userspace) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
== Overview == | == Overview == | ||
*Project | *<u>Project Owner</u>: Retrometheus | ||
*Developer: | *<u>Developer</u>: Retrometheus | ||
*Compiler: None (hex coding) | *<u>Compiler</u>: None (hex coding) | ||
*Sound | *<u>Sound Driver</u>: Retrodriver™ | ||
*Soundtrack by: | *<u>Soundtrack by</u>: Retrometheus | ||
*Started on: 5/2011 | *<u>Started on</u>: 5/2011 | ||
*Status: Preproduction | *<u>Status</u>: Preproduction | ||
*Mapper: MMC5 ( | *<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 21: | Line 21: | ||
== RAM Map == | == RAM Map == | ||
{| border="1" cellpadding="1" | |||
|'''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 == | == ROM Map == | ||
$ | $00010-0400F: Default music data bank<br /> | ||
$ | $04010-1000F: Alternate music data banks<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 55: | 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 /> | ||
$ | $FF210: Main Program Loop<br /> | ||
$FFC10: Music frequency table<br /> | $FFC10: Music frequency table<br /> | ||
$FFD10: Tempo Offsets<br /> | $FFD10: Tempo Offsets<br /> | ||
Line 61: | Line 111: | ||
$100000: Waiting for NMI<br /> | $100000: Waiting for NMI<br /> | ||
[[Category: | [[Category:Unfinished homebrew games]] |
Latest revision as of 23:57, 17 March 2023
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