Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
software:system_rom [2016/06/05 15:30] ex_writer [System ROM] |
software:system_rom [2016/06/14 10:52] ex_writer [System RAM Memory Cells] |
||
---|---|---|---|
Line 19: | Line 19: | ||
System RAM memory definitions are located at $4FC8–4FFD in the Nutting Manual source listing (p. 14–15). | System RAM memory definitions are located at $4FC8–4FFD in the Nutting Manual source listing (p. 14–15). | ||
- | ^ Used by [[hardware:Music Processor]] ^^ | + | <code z80> |
- | | MUZPC | Music Program Counter | | + | ; *************************** |
- | | MUZSP | Music Stack Pointer | | + | ; * SYSTEM RAM MEMORY Cells * |
- | | PVOLAB | Preset Volume for Tones A & B | | + | ; *************************** |
- | | PVOLMC | Preset Volume for Master Oscillator | | + | WASTE EQU $0FFF |
- | | VOICES | Music Voices | | + | WASTER EQU WASTE |
- | + | ; | |
- | ^ Counter Timers (used by [[system routines:interrupt scheduler#deccts|DECCTS]], [[system routines:interrupt scheduler#actint|ACTINT]], and [[system routines:interrupt scheduler#ctimer|CTIMER]]) ^^ | + | SYSRAM EQU $4FCE ; Resides at the highest possible address |
- | | CT0 | Counter Timer 0 | | + | BEGRAM EQU SYSRAM ; typically used for initial Stack Pointer |
- | | CT1 | Counter Timer 1 | | + | ; Used by MUSIC PROCESSOR: |
- | | CT2 | Counter Timer 2 | | + | MUZPC EQU $4FCE ; MUSic Program Counter |
- | | CT3 | Counter Timer 3 | | + | MUZSP EQU $4FD0 ; MUSic Stack Pointer |
- | | CT4 | Counter Timer 4 | | + | PVOLAB EQU $4FD2 ; Preset VOLume for tones A and B |
- | | CT5 | Counter Timer 5 | | + | PVOLMC EQU $4FD3 ; Preset VOLuMe for tone C and Noise Mode |
- | | CT6 | Counter Timer 6 | | + | VOICES EQU $4FD4 ; music VOICES mask |
- | | CT7 | Counter Timer 7 | | + | ; COUNTER TIMERS (used by DECCTS,ACTINT,CTIMER): |
- | + | CT0 EQU $4FD5 ; Counter Timer 0 | |
- | ^ Used by [[system routines:human interface#sentry|SENTRY]] to Track Controls ^^ | + | CT1 EQU $4FD6 ; Counter Timer 1 |
- | | CNT | Counter Update & Number Tracking | | + | CT2 EQU $4FD7 ; Counter Timer 2 |
- | | SEMI4S | Flag Bits | | + | CT3 EQU $4FD8 ; Counter Timer 3 |
- | | OPOT0 | Pot 0 Tracking | | + | CT4 EQU $4FD9 ; Counter Timer 4 |
- | | OPOT1 | Pot 1 Tracking | | + | CT5 EQU $4FDA ; Counter Timer 5 |
- | | OPOT2 | Pot 2 Tracking | | + | CT6 EQU $4FDB ; Counter Timer 6 |
- | | OPOT3 | Pot 3 Tracking | | + | CT7 EQU $4FDC ; Counter Timer 7 |
- | | KEYSEX | Keyboard Tracking Byte | | + | ;Used by SENTRY to track controls: |
- | | OSW0 | Switch 0 Tracking | | + | CNT EQU $4FDD ; Counter update & Number Tracking |
- | | OSW1 | Switch 1 Tracking | | + | SEMI4S EQU $4FDE ; SEMAPHORE flag bitS |
- | | OSW2 | Switch 2 Tracking | | + | OPOT0 EQU $4FDF ; Old POT 0 tracking byte |
- | | OSW3 | Switch 3 Tracking | | + | OPOT1 EQU $4FE0 ; Old POT 1 tracking byte |
- | | COLLST | Color List Address for P. B. A | | + | OPOT2 EQU $4FE1 ; Old POT 2 tracking byte |
- | + | OPOT3 EQU $4FE2 ; Old POT 3 tracking byte | |
- | ^ Used by [[system routines:interrupt scheduler#stimer|STIMER]] ^^ | + | KEYSEX EQU $4FE3 ; KEYS-EX tracking byte |
- | | DURAT | Note Duration | | + | OSW0 EQU $4FE4 ; Old SWitch 0 tracking byte |
- | | TMR60 | Sixtieths of a Second | | + | OSW1 EQU $4FE5 ; Old SWitch 1 tracking byte |
- | | TIMOUT | Blackout Timer | | + | OSW2 EQU $4FE6 ; Old SWitch 2 tracking byte |
- | | GTSECS | Game Time (Seconds) | | + | OSW3 EQU $4FE7 ; Old SWitch 3 tracking byte |
- | | GTMINS | Game Time (Minutes) | | + | COLLST EQU $4FE8 ; COLset LaST address for P.B. A |
- | + | ; Used by STIMER: | |
- | ^ Used by [[system routines:human interface#menu|MENU]] ^^ | + | DURAT EQU $4FEA ; note DURATion |
- | | RANSHT | Random Number Shift Register | | + | TMR60 EQU $4FEB ; TiMeR for SIXTY'ths of sec |
- | | NUMPLY | Number of Players | | + | TIMOUT EQU $4FEC ; TIMer for blackOUT |
- | | ENDSCR | Score to Play to | | + | GTSECS EQU $4FED ; Game Time SECondS |
- | | MRLOCK | Magic Register Lockout Flag | | + | GTMINS EQU $4FEE ; Game Time MINuteS |
- | | GAMSTB | Game Status Byte | | + | ; Used by MENU: |
- | | PRIOR | Music Protect Flag | | + | RANSHT EQU $4FEF ; RANdom number SHifT register |
- | | SENFLAG | Sentry Control Seizure Flag | | + | NUMPLY EQU $4FF3 ; NUMber of PLaYers |
- | | UMARGT | User Macro Argument Table [??] | | + | ENDSCR EQU $4FF4 ; END SCoRe to 'play to' |
- | | USERTB | User Table [??] | | + | MRLOCK EQU $4FF7 ; Magic Register LOCK out flag |
+ | GAMSTB EQU $4FF8 ; GAMe STatus Byte | ||
+ | PRIOR EQU $4FF9 ; PRIOR music protect flag | ||
+ | SENFLG EQU $4FFA ; SENtry control seizure FLaG | ||
+ | ; User UPI Routines, even numbers from $80 to $FE ( + 1 for SUCK): | ||
+ | UMARGT EQU $4FFB ; User Mask ARGument Table + (routine / 2) | ||
+ | USERTB EQU $4FFD ; USER Table Base + routine = JumP address | ||
+ | ; | ||
+ | URINAL EQU $4FFF ; WASTER flushes here! | ||
+ | </code> | ||
System [[:glossary#d|dope vector]] (valid for ALL system ROM programs) | System [[:glossary#d|dope vector]] (valid for ALL system ROM programs) | ||
Line 80: | Line 89: | ||
NOGAME EQU $0235 ; address of 'Number Of GAMEs' string | NOGAME EQU $0235 ; address of 'Number Of GAMEs' string | ||
</code> | </code> | ||
- |