Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
system_rom [2016/05/31 22:35] ex_writer [System RAM Memory Cells] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== System ROM ====== | ||
- | |||
- | The first 8K of the Astrocade's [[memory map]] ($0000-$1FFF) is dedicated to system ROM, which contains the operating system and the four built-in programs: Scribbling, Calculator, Checkmate, and Gunfight. | ||
- | |||
- | The end of the Nutting Manual contains the complete 8K ROM Source Listing. Its table of contents reads as follows: | ||
- | |||
- | ^ Name ^ Pages ^ ROM Memory ^ | ||
- | | Home Video Game Equates | 2–15 | | | ||
- | | System Routines | 16–94 | $0000 | | ||
- | | [[Scribbling]] | 1–17 | $0E19 | | ||
- | | [[Calculator]] | 1–20 | $1020 | | ||
- | | [[Checkmate]] | 1–30 | $1328 | | ||
- | | [[Gunfight]] | 1–46 | $17 | ||
- | ===== On-Board Subroutines ===== | ||
- | |||
- | [[rom subroutines|Master list]] of Bally Arcade's On-Board ROM Subroutines. | ||
- | |||
- | |||
- | |||
- | ===== System RAM Memory Cells ===== | ||
- | |||
- | System RAM memory definitions are located at $4FC8–4FFD in the Nutting Manual source listing (p. 14–15). | ||
- | |||
- | ^ Used by [[Music Processor]] ^^ | ||
- | | MUZPC | Music Program Counter | | ||
- | | MUZSP | Music Stack Pointer | | ||
- | | PVOLAB | Preset Volume for Tones A & B | | ||
- | | PVOLMC | Preset Volume for Master Oscillator | | ||
- | | VOICES | Music Voices | | ||
- | |||
- | ^ Counter Timers (used by [[interrupt scheduler#deccts|DECCTS]], [[interrupt scheduler#actint|ACTINT]], and [[interrupt scheduler#ctimer|CTIMER]]) ^^ | ||
- | | CT0 | Counter Timer 0 | | ||
- | | CT1 | Counter Timer 1 | | ||
- | | CT2 | Counter Timer 2 | | ||
- | | CT3 | Counter Timer 3 | | ||
- | | CT4 | Counter Timer 4 | | ||
- | | CT5 | Counter Timer 5 | | ||
- | | CT6 | Counter Timer 6 | | ||
- | | CT7 | Counter Timer 7 | | ||
- | |||
- | ^ Used by [[human interface#sentry|SENTRY]] to Track Controls ^^ | ||
- | | CNT | Counter Update & Number Tracking | | ||
- | | SEMI4S | Flag Bits | | ||
- | | OPOT0 | Pot 0 Tracking | | ||
- | | OPOT1 | Pot 1 Tracking | | ||
- | | OPOT2 | Pot 2 Tracking | | ||
- | | OPOT3 | Pot 3 Tracking | | ||
- | | KEYSEX | Keyboard Tracking Byte | | ||
- | | OSW0 | Switch 0 Tracking | | ||
- | | OSW1 | Switch 1 Tracking | | ||
- | | OSW2 | Switch 2 Tracking | | ||
- | | OSW3 | Switch 3 Tracking | | ||
- | | COLLST | Color List Address for P. B. A | | ||
- | |||
- | ^ Used by [[interrupt scheduler#stimer|STIMER]] ^^ | ||
- | | DURAT | Note Duration | | ||
- | | TMR60 | Sixtieths of a Second | | ||
- | | TIMOUT | Blackout Timer | | ||
- | | GTSECS | Game Time (Seconds) | | ||
- | | GTMINS | Game Time (Minutes) | | ||
- | |||
- | ^ Used by [[human interface#menu|MENU]] ^^ | ||
- | | RANSHT | Random Number Shift Register | | ||
- | | NUMPLY | Number of Players | | ||
- | | ENDSCR | Score to Play to | | ||
- | | MRLOCK | Magic Register Lockout Flag | | ||
- | | GAMSTB | Game Status Byte | | ||
- | | PRIOR | Music Protect Flag | | ||
- | | SENFLAG | Sentry Control Seizure Flag | | ||
- | | UMARGT | User Macro Argument Table [??] | | ||
- | | USERTB | User Table [??] | | ||
- | |||
- | System [[glossary#d|dope vector]] (valid for ALL system ROM programs) | ||
- | <code z80> | ||
- | STIMER EQU $0200 ; Seconds and game TIMER, music | ||
- | CTIMER EQU $0203 ; Custom TIMERs | ||
- | FNTSYS EQU $0206 ; FoNT descriptor for SYStem font | ||
- | FNTSML EQU $020D ; FoNT descriptor for SMaLl font | ||
- | ALKEYS EQU $0214 ; ALl KEYS keypad mask | ||
- | MENUST EQU $0218 ; head of onboard MENU STart | ||
- | MXSCR EQU $021E ; address of 'MaX SCoRe' text string | ||
- | NOPLAY EQU $0228 ; address of 'Number Of PLAYers' string | ||
- | NOGAME EQU $0235 ; address of 'Number Of GAMEs' string | ||
- | </code> | ||