aboutsummaryrefslogtreecommitdiff
path: root/src-z80/core/vars.z80
diff options
context:
space:
mode:
authorJavier Degirolmo2011-10-07 12:17:54 -0300
committerJavier Degirolmo2011-10-07 12:17:54 -0300
commit178968cc2fc4c32fb918ebb4ccd24d78b64cd73f (patch)
treed8cb1d39bd1991258ffe45b4bcc498b0443e4b35 /src-z80/core/vars.z80
Initial upload, Echo 0.8 UNSTABLE VERSION
Diffstat (limited to 'src-z80/core/vars.z80')
-rw-r--r--src-z80/core/vars.z8070
1 files changed, 70 insertions, 0 deletions
diff --git a/src-z80/core/vars.z80 b/src-z80/core/vars.z80
new file mode 100644
index 0000000..ef9a676
--- /dev/null
+++ b/src-z80/core/vars.z80
@@ -0,0 +1,70 @@
+;****************************************************************************
+; Player variables
+;****************************************************************************
+
+ ds $100-($&$FF), $FF
+RAM_PSGData: ds 4*16 ; PSG envelope data
+ ; ds 1 ... Channel volume
+ ; ds 1 ... Global volume
+ ; ds 3 ... Current address
+ ; ds 3 ... Looping address
+ ; ds 3 ... Start address
+ ; ds 1 ... Padding
+ ; ds 3 ... BGM instrument address
+ ; ds 1 ... BGM channel volume
+
+RAM_BGMFMInstr: ds 8 ; FM instruments used by BGM
+RAM_BGMFMVol: ds 8 ; FM volumes used by BGM
+RAM_FMVolume: ds 8 ; Volume of each FM channel
+RAM_FMData: ds 8*5 ; FM info (for volume handling)
+ ; ds 8*1 ... Register $B0
+ ; ds 8*1 ... Register $40
+ ; ds 8*1 ... Register $44
+ ; ds 8*1 ... Register $48
+ ; ds 8*1 ... Register $4C
+
+RAM_LastBank: ds 1 ; Last accessed bank
+
+RAM_BGMData: ; Where BGM data starts
+RAM_BGMPlaying: ds 1 ; Set if a BGM is playing
+RAM_BGMDelay: ds 1 ; How many ticks to wait
+RAM_BGMBank: ds 1 ; Current BGM bank
+RAM_BGMAddress: ds 2 ; Current BGM address
+RAM_BGMLoopPoint: ds 3 ; BGM loop point
+
+RAM_SFXData: ; Where SFX data starts
+RAM_SFXPlaying: ds 1 ; Set if a SFX is playing
+RAM_SFXDelay: ds 1 ; How many ticks to wait
+RAM_SFXBank: ds 1 ; Current SFX bank
+RAM_SFXAddress: ds 2 ; Current SFX address
+
+RAM_Locked: ds 12 ; Locked channels
+
+RAM_Scratch: ds 32 ; Scratch bytes, may be useful when
+ ; buffering to speed up to avoid bank
+ ; switching conflicts
+
+;****************************************************************************
+; Pointer list starts being stored from here
+; $300 (768) bytes are needed to store the pointer list
+;
+; Format for a pointer list entry is as follows:
+; RAM_PointerList[$000+n] = address high
+; RAM_PointerList[$100+n] = address low
+; RAM_PointerList[$200+n] = bank
+;****************************************************************************
+
+ ds $100-($&$FF), $FF
+
+RAM_PointerList: equ $1C00
+
+;****************************************************************************
+; 68000 communication variables
+;****************************************************************************
+
+RAM_Stack: equ $1FF0 ; Where stack starts
+
+RAM_Status: equ $1FF0 ; Current playback status
+RAM_Command: equ $1FFF ; Command type
+RAM_ComAddr: equ $1FFD ; Command address parameter
+RAM_ComBank: equ $1FFC ; Command bank parameter