• Contact
  • Journal
  • Home
  • Arcade
  • Moon Patrol 75%
  • SoundRAMUse
  • Site
  • Page
  • Amiga
    • Rainbow Islands
      • 1loader-dec
      • 1loader
      • boot
      • orig-boot
      • Journal
  • Arcade
    • Asteroids 80%
      • Hardware
      • RAMUse
      • Code

      • DVG
      • VectorROM

      • Journal
    • Crazy Climber 1%
      • BigSpriteGraphics.pdf
      • Buildings.pdf
      • cclimber.asm
      • CharEnc.inc
      • CrazyClimberMemoryMapInfo.pdf
      • GraphicsAndCharacterAssetInfo.pdf
      • MemoryMap.inc
    • Defender 75%
      • RAMUse
      • Hardware
      • Bank1
      • Bank2
      • Bank3
      • Bank7
      • BankFixed
      • Mapping.txt
      • SoundHardware
      • SoundRAMUse
      • SoundCode
      • Defender-Theory-Early.pdf
      • Defender-Theory-Later.pdf
      • Defender.CPU.jpg
      • Defender.ROM.B&W.jpg
      • Defender.Vid.B&W.jpg
      • SoundROM.txt
    • Frogger (Sound)
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Hardware
      • RAMUse
      • Code

      • GFX

      • Journal
    • Galaga 5%
      • CPU1 (Main)
      • CPU2 (Secondary)
      • CPU3 (Sound)
      • GFX1 (Characters)
      • GFX2 (Sprites)
      • PROMcolors
      • PROMpaletteChar
      • PROMpaletteSprite

      • CPU1Fix

      • Journal
    • Moon Patrol 75%
      • Hardware
      • RAMUse
      • Code

      • GFX1 (Text)
      • GFX2 (Sprites)
      • GFX3 (Mountains)
      • GFX4 (Hills)
      • GFX5 (City)
      • ImageBackgroundColors
      • SpriteColors
      • SpriteColorSets
      • TextColors

      • MoonPatrolSound
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Journal
    • Omega Race 10%
      • Hardware
      • RAMUse
      • MainBoard

      • SoundHardware
      • SoundRAMUse
      • SoundBoard

      • DVGPROM
      • VectorROM

      • Journal
    • Phoenix 35%
      • Hardware
      • RAMUse
      • Code

      • Background
      • Foreground

      • Journal

      • Scramble HHi
        • phoenixj-func-main2.pdf
        • phoenixj-func-main2.scap
        • phoenixj.asm-may2025.txt
        • phoenixj.asm-may2025.txt.pdf
    • Space Invaders
      • Hardware
      • RAMUse
      • Code

      • Journal
    • Time Pilot (Sound)
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Hardware
      • RAMUse
      • Code

      • Journal
    • Sea Wolf 1%
      • Hardware
      • RAMUse
      • Code

      • Journal
    • Scramble 1%
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Journal
  • Atari2600
    • Stella (Hardware Info)
    • Asteroids 5%
      • RAMUse
      • Code

      • Journal
    • Battle Zone 1%
      • RAMUse
      • Code

      • Journal
    • Chess 1%
      • RAMUse
      • Code

      • Journal
    • Combat 10%
      • RAMUse
      • Code
      • CodePAL

      • Journal
    • Double Gap
      • Code
      • DoubleGap.asm

      • Journal
    • Entombed 1%
      • RAMUse
      • Code

      • Journal
    • ET 1%
      • RAMUse
      • Code

      • Journal
    • Burger Time 1%
      • RAMUse
      • CodeBank0
      • CodeBank1
      • CodeBank2
      • CodeBank3
      • CodeBank4
      • CodeBank5
      • CodeBank6
      • CodeBank7

      • Journal
    • Missile Command 1%
      • RAMUse
      • Code

      • Journal
    • Space Invaders 1%
      • RAMUse
      • Code

      • Journal
  • CoCo
    • Hardware
    • Early Work
    • Pyramid
      • RAMUse
      • Code

      • Journal
    • Raaka Tu
      • RAMUse
      • Code

      • Journal
    • Bedlam
      • RAMUse
      • Code

      • Journal
    • Madness & Minotaur
      • Walk Through
        • after_start.txt
        • after_start.cas
        • after_1.txt
        • after_1.cas
        • after_2.txt
        • after_2.cas
        • after_3.txt
        • after_3.cas
        • after_4.txt
        • after_4.cas
        • after_5.txt
        • after_5.cas
        • after_6.txt
        • after_6.cas
        • after_7.txt
        • after_7.cas
        • after_8.txt
        • after_8.cas
        • after_9.txt
        • after_9.cas
        • after_10.txt
        • after_10.cas
        • after_11.txt
        • after_11.cas
        • after_12.txt
        • after_12.cas
        • after_13.txt
        • after_13.cas
        • after_14.txt
        • after_14.cas
        • after_15.txt
        • after_15.cas
        • after_16.txt
        • after_16.cas
        • after_17.txt
        • after_17.cas
        • after_18.txt
        • after_18.cas
        • after_19.txt
        • after_19.cas
        • after_20.txt
        • after_20.cas
        • after_21.txt
        • after_21.cas
        • after_22.txt
        • after_22.cas
        • after_23.txt
        • after_23.cas
        • after_24.txt
        • after_24.cas
        • after_25.txt
        • after_25.cas
      • RAMUse
      • Code

      • SaveGameViewer

      • Journal
    • Mega-Bug
      • RAMUse
      • Code

      • Journal
    • Daggorath
      • RAMUse
      • Code

      • Level Maps

      • Journal
    • Downland 5%
      • RAMUse
      • Code

      • Journal
    • Audio Analyzer 5%
      • RAMUse
      • Code

      • Journal
    • Doubleback
      • RAMUse
      • Code

      • Journal
  • NES
    • Zelda 5%
      • Hardware
      • RAMUse
      • Bank0
      • Bank1
      • Bank2
      • Bank3
      • Bank4
      • Bank5
      • Bank6
      • Bank7

      • Journal
    • Kid Icarus 1%
      • Hardware
      • RAMUse
      • Bank0
      • Bank1
      • Bank2
      • Bank3
      • Bank4
      • Bank5
      • Bank6
      • Bank7

      • Journal
  • Gameboy
    • Hardware
    • Link's Awakening 1%
      • RAMUse
      • Bank00
      • Bank01
      • Bank02
      • Bank03
      • Bank04
      • Bank05
      • Bank06
      • Bank07
      • Bank08
      • Bank09
      • Bank0A
      • Bank0B
      • Bank0C
      • Bank0D
      • Bank0E
      • Bank0F
      • Bank10
      • Bank11
      • Bank12
      • Bank13
      • Bank14
      • Bank15
      • Bank16
      • Bank17
      • Bank18
      • Bank19
      • Bank1A
      • Bank1B
      • Bank1C
      • Bank1D
      • Bank1E
      • Bank1F

      • Journal
    • Tetris 1%
      • RAMUse
      • Code

      • Journal
  • TRS80
    • Hardware
    • HauntedHouse
      • RAMUse1
      • Code1
      • RAMUse2
      • Code2

      • Journal
    • Pyramid
      • RAMUse
      • Code

      • RAMUse1
      • Code1

      • Journal
    • RaakaTu
      • RAMUse
      • Code

      • Journal
    • Bedlam
      • RAMUse
      • Code

      • Journal
  • Virus
    • Morris Worm 1%
      • Journal
    • Stoned
      • Journal

  • Tools
    • Blend
      • blend.zip

      • Journal
  • Moon Patrol Sound RAM Use

Moon Patrol Sound RAM Use

0080 seqV0 Sequence voice 0 on AY0 (FF for off, count down to 0=process)
0081 seqV0 Sequence voice 1 on AY0 (FF for off, count down to 0=process)
0082 seqV0 Sequence voice 2 on AY1 (FF for off, count down to 0=process)
0083 seqV0 Sequence voice 3
0084:0085 seqPtr1 Sequence pointer voice 0
0086:0087 seqPtr2 Sequence pointer voice 1
0088:0089 seqPtr3 Sequence pointer voice 2
008A:008B seqPtr4 Sequence pointer voice 3
008C seq1CmdType Type of command being processed on sequencer 1
008D seq2CmdType Type of command being processed on sequencer 2
008E seq3CmdType Type of command being processed on sequencer 3
008F seq4CmdType Type of command being processed on sequencer 4
0090 cmdCnt Count of commands of the current type (if not 0). Resets to type 0 when done.
0091 m0091
0092 m0092
0093 m0093

These eight bytes (2 per sequencer) are parameters for any complex commands. The actual content depends on which complex command is being played.

0094:0097 modeParams1 Mode parameters (number 1)
0098:009B modeParams2 Mode parameters (number 2)
009C msbRetSeq1 MSB of return address for script sequencer 0
009D msbRetSeq2 MSB of return address for script sequencer 1
009E msbRetSeq3 MSB of return address for script sequencer 2
009F msbRetSeq4 MSB of return address for script sequencer 3
00A0 lsbRetSeq1 LSB of return address for script sequencer 0
00A1 lsbRetSeq2 LSB of return address for script sequencer 1
00A2 lsbRetSeq3 LSB of return address for script sequencer 2
00A3 lsbRetSeq4 LSB of return address for script sequencer 3
00A4 cmdSeq1 Sound command running on sequencer 0
00A5 cmdSeq2 Sound command running on sequencer 1
00A6 cmdSeq3 Sound command running on sequencer 2
00A7 cmdSeq4 Sound command running on sequencer 3
00A8 volDec00 not-zero to decrement volume on AY0-0
00A9 volDec01 not-zero to decrement volume on AY0-1
00AA volDec02 not-zero to decrement volume on AY0-2
00AB volDec10 not-zero to decrement volume on AY1-0
00AC volDec11 not-zero to decrement volume on AY1-1
00AD volDec12 not-zero to decrement volume on AY1-2
00AE volCnt00 counter to decrement volume on AY0-0
00AF volCnt01 counter to decrement volume on AY0-1
00B0 volCnt02 counter to decrement volume on AY0-2
00B1 volCnt10 counter to decrement volume on AY1-0
00B2 volCnt11 counter to decrement volume on AY1-1
00B3 volCnt12 counter to decrement volume on AY1-2
00B4 volRel00 reload for decrement volume on AY0-0
00B5 volRel01 reload for decrement volume on AY0-1
00B6 volRel02 reload for decrement volume on AY0-2
00B7 volRel10 reload for decrement volume on AY1-0
00B8 volRel11 reload for decrement volume on AY1-1
00B9 volRel12 reload for decrement volume on AY1-2
00BA curMix0 current mixer value for AY0
00BB curMix1 current mixer value for AY1
00BC sndCmd sound command (FF for none)
00BD nmiTick NMI tick counter for non-NMI users
00BE strmStatus status of sample streamers. 000000_AB A=801 (1=stopped), B=802 (1=stopped)
00BF nmiTick2 NMI tick counter
00C0 sndProcTmr timer for AY sound processing (0 means not time)
00C1 curSamp801 current value of sampler 801
00C2 curSamp802 current value of sampler 802
00C3:00C4 byteCnt801 counter to bytes to play out 801
00C5:00C6 byteCnt802 counter to bytes to play out 802
00C7:00C8 ptr801 pointer to bytes to play out 801
00C9:00CA ptr802 pointer to bytes to play out 802
00CB lastCmd last requested sound command
00CC m00CC Not used
00CD:00CE curSeqPtr temporary storage: current sequence pointer
00CF:00D0 tmpFreq temporary storage: used in frequency sweeper
00D1:00D2 curVoice temporary storage: current voice for sequence processing
00D3:00D7 m00D3 Not used
00D8 brdStatus board status to return to main board. Set to $13 at start. Bit 0 is the status of the sample player.

80 - CF cleared at startup (doesn't get all temporaries)

Stack builds to lower memory from FF