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)