Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 | +; *************************** 
-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 and 
-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 Tracking | +CT4     EQU     ​$4FD9 ​  ; ​Counter Timer 4 
-OPOT1 | Pot Tracking | +CT5     EQU     ​$4FDA ​  ; ​Counter Timer 5 
-OPOT2 | Pot Tracking | +CT6     EQU     ​$4FDB ​  ; ​Counter Timer 6 
-OPOT3 | Pot Tracking | +CT7     EQU     ​$4FDC ​  ; ​Counter Timer 7 
-KEYSEX ​| Keyboard Tracking Byte | +;Used by SENTRY to track controls: 
-OSW0 | Switch ​Tracking | +CNT     EQU     ​$4FDD ​  ; ​Counter ​update ​& Number Tracking 
-OSW1 | Switch ​Tracking | +SEMI4S ​ ​EQU ​    ​$4FDE ​  ; SEMAPHORE flag bitS 
-OSW2 | Switch ​Tracking | +OPOT0   EQU     ​$4FDF ​  ; Old POT tracking byte 
-OSW3 | Switch ​Tracking | +OPOT1   EQU     ​$4FE0 ​  ; Old POT tracking byte 
-COLLST ​| Color List Address ​for P. B. A | +OPOT2   EQU     ​$4FE1 ​  ; Old POT tracking byte 
- +OPOT3   EQU     ​$4FE2 ​  ; Old POT 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 ​tracking byte 
-TMR60 | Sixtieths ​of a Second | +OSW1    ​EQU ​    ​$4FE5 ​  ; Old SWitch ​tracking byte 
-TIMOUT ​| Blackout Timer | +OSW2    ​EQU ​    ​$4FE6 ​  ; Old SWitch ​tracking byte 
-GTSECS ​Game Time (Seconds) | +OSW3    ​EQU ​    ​$4FE7 ​  ; Old SWitch ​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>​
-