•  Back 
  •  Assembler 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Pure Assembler Documentation
Author      : John Kormylo
Version     : PASM.HYP 1.0
Subject     : Documentation/Pure Assembler
Nodes       : 740
Index Size  : 20262
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : en
@default    : 
@help       : Help
@options    : +g -i -s +x +z -t4
@width      : 75
View Ref-File[ YM2149 Sound Chip ]

... supports tone, volume, envelope and noise for three channels.
In addition it has two general purpose I/O ports (see GI Sound Chip).

Its 16 registers are accessed by writing the desired register number
to $FF8800 then either reading from $FF8800 or writing to $FF8802.

Register  0: Channel A fine tone register (low byte)
Register  1: Channel A coarse tone register (bits 0-3 only)
Register  2: Channel B fine tone register (low byte)
Register  3: Channel B coarse tone register (bits 0-3 only)
Register  4: Channel C fine tone register (low byte)
Register  5: Channel C coarse tone register (bits 0-3 only)
  Pitch = 125 KHz / 12 bit tone value.

Register  6: Noise period register (bits 0-4 only)
  Pitch = 125 KHz / value

Register  7: Noise/Tone Mixer (data direction)

Register  8: Channel A volume
Register  9: Channel B volume
Register 10: Channel C volume
  Bits 0-3 = volume
  Bit 4: 1=use envelope register

Register 11: Envelope Period (low byte)
Register 12: Envelope Period (high byte)
  Period = 7812.5 Hz / 16 bit value

Register 13: Envelope Shape
  Bit 0: Hold (stop after one repeat)
  Bit 1: Alternate (reverse attack/decay on repeat)
  Bit 2: 0=decay, 1=attack
  Bit 3: Continue (repeat)

Register 14: I/O Port A
Register 15: I/O Port B