
|
MSX-Music registers R.M., 00-00-00
M S X - M U S I C R E G I S T E R S
=======================================
WRITE ONLY
De registers van het MSX-MUSIC systeem, zoals te vinden is
in: FM-Pac, FM-Stereo-Pak, MSX 2+ en TurboR computers, wordt
aangestuurd via de poorten &H7C en &H7D. De aansturing werkt
volgens hetzelfde principe als bij MSX-Audio en de PSG. Het
register wordt opgegeven in 7C en de data in 7D.
Helaas zijn dit Write Only poorten, zodat er niet gelezen
kan worden.
KLANK-INSTELLINGEN
De OPLL data (original instrument) wordt opgegeven in de
registers 0-7. Deze data komt overeen met de data die u kunt
opvragen in de Sound-Editor van SynthSaurus, dus u kunt mak-
kelijk een zelfgemaakt instrument opvragen en die waarden
naar de registers 0-7 schrijven.
Hieronder volgt de opbouw van de registers 0-7 (OPLL-instr.)
Reg.nr. Bit: Functie:
------------------------------------------------------------
0,1 0-3 Multi sample golven/harmonische relaties
4 Rate key schaal
5 Vasthoudend/uitlopend (1=vast 0=uitl)
6 Vibration aan/uit (1=aan 0=uit)
7 Amplitude modulatie (1=aan 0=uit)
2 0-5 Modulatie index
6-7 Level key schaal
3 0-2 FM terugslag
3-4 Dragende en gemoduleerde golfvorm
koppeling (FM/AM)
6-7 Level key schaal
4,5 0-3 Decay verandering
4-7 Attack verandering (aanzwelling)
6,7 0-3 Openen van de veranderingsbesturing
4-7 Grote van Attack/Decay
------------------------------------------------------------
INSTRUMENT AANSTURING
De hieronder afgedrukte registers dienen voor de instrument
selectie/frequentie/octaaf/volume en het zogenaamde Sustain.
Reg.nr. Bit: Functie:
------------------------------------------------------------
&H10-&H18 0-7 Frequentie noot LSB (8 bits)
&H20-&H28 0 Frequentie noot MSB (1 bit)
1-3 Octaaf nr. (0-7, 0=octaaf 1, 7=octaaf 8)
4 Key aan/uit (1=aan, 0=uit)
5 Sustain (vasthouden, 1=aan, 0=uit)
&H30-&H38 0-3 Volume (0=vol.15, F=vol.0 !)
4-7 Instrumenten keuze (0=original, <>0=FM
instrument)
------------------------------------------------------------
FM-INSTRUMENTEN
Het MSX-MUSIC systeem heeft 15 voorgeprogrammeerde klanken
die afzonderlijk van elkaar kunnen worden gebruikt.
0 = Original (zelf ontworpen instr. zie KLANK-INSTELLINGEN)
1 = Viool 9 = Hoorn
2 = Guitaar A = Synthesizer
3 = Piano B = Harpsichore
4 = Fluit C = Vibraphone
5 = Clarinet D = Synthesizer Bas
6 = Hobo E = ElektrPiano2/Acoust. Bas
7 = Trompet F = ElektrPiano1/ElektrGitaar
8 = Orgel
RHYTHM
Register &H0E bevat de drumselectie, bit 5 moet echter wel
geschreven worden voordat er een drum te horen is. De drums
kunnen ook enigszins van klank worden veranderd, doch vrij
beperkt en een beetje chaotisch. Hieronder volgt een tabel
met de drum waardes die kunnen worden geschreven in register
&H0E:
bit 0 = HiHat bit 3 = Snare drum/Field drum
bit 1 = Cymbal bit 4 = Bass drum
bit 2 = TomTom bit 5 = selectie (1 = Ritme,
0 = Instrumenten)
Natuurlijk kunnen hiermee meerdere drums tegelijkertijd wor-
den aangestuurd. De rhythm klank is als volgt opgebouwd:
Drum soort: Reg. Bit: Functie:
------------------------------------------------------------
Bass drum &H16 0-7 Frequentie LSB (8 bits)
&H26 0 Frequentie MSB (1 bit)
1-3 Octaaf (0-7)
&H36 0-4 Volume Bass drum
Snare en &h17 0-7 Frequentie LSB (8 bits)
HiHat &H27 0 Frequentie MSB (1 bit)
1-3 Octaaf (0-7)
&H37 0-3 Volume Snare
4-7 Volume HiHat
Cymbal en &H18 0-7 Frequentie LSB (8 bits)
TomTom &H28 0 Frequentie MSB (1 bit)
1-3 Octaaf (0-7)
&H38 0-3 Volume Cymbal
4-7 Volume TomTom
------------------------------------------------------------
BASIC REGISTERS
De registers van het MSX-MUSIC systeem worden, onder BASIC!,
bijgehouden vanaf adres &HF9C0 tot &HF9C0+&H38. De instel-
lingen van deze registers zijn na het commando CALL MUSIC
gevuld met de volgende waardes:
Reg.nr. Waarde:
------------------------------------------------------------
Register paar 1: Instruments &H10-&H15 &H56
Drums &H16 &H20
&H17 &H50
&H18 &HC0
Register paar 2: Instruments &H20-&H25 &H00
Drums &H26 &H05
&H27 &H05
&H28 &H01
Register paar 3: Instruments &H30-&H35 &H30
Drums &H36 &H01
&H37 &H11
&H38 &H11
------------------------------------------------------------
GEBRUIK
Wanneer men deze informatie gaat gebruiken in bijvoorbeeld
een interrupt gestuurd muziekstuk, dan moet u met de volgen-
de dingen rekening houden.
1) Als er een nieuwe frequentie van een instrument wordt op-
gegeven, moet eerst bit 4 van het desbetreffende register
uit worden geschakeld. Ter verduidelijking: als in kanaal
1 een nieuwe frequentie moet worden ingevoerd, dan moet
bit 4 van register &H10 worden uitgezet. Daarna wordt de
frequentie geschreven, na dit alles wordt bit 4 weer aan-
gezet (reg. &H10). Voor andere kanalen wordt natuurlijk
een ander register beschreven.
2) Als er een instrument wordt gespeeld dat 'uitsterft'
(Release), dan moete r herhaling voor in machinetaal:
LD B,3 ;ongeveer 3!
LOOP: DJNZ LOOP
3) De frequenties van de noten zijn:
Noot: LSB MSB (bit 0 van reg &H20-&H28)
---------------------------------------------------------
C &HAD 0
C# &HB7 0
D &HC2 0
D# &HCD 0
E &HD9 0
F &HE6 0
F# &HF4 0
G &H03 1
G# &H12 1
A &H22 1
A# &H34 1
B &H46 1
---------------------------------------------------------
Met deze informatie kunt u nu in staat zijn om via deze
registers het MSX-MUSIC systeem aan te sturen. Veel succes!
R.M.
(Even voor alle duidelijkheid: ik weet niet wie R.M. is,
maar ik ben het niet! - RM-FCS)
|