instructions ============ anleitung zum music-editor ---------------------------- all coding and demo tunes : stephan of bytemare waehrend allen menues: f1 - music initialisieren und starten f3 - music unterbrechen f5 - music an unterbrechung weiter f7 - music vorspulen(achtung raster!) trackedit: f2 - raster initialisieren(siehe f7) f6 - diskettenmenue(run/stop zurueck) ctrl+ 1/2/3 - track 1-3 ctrl+ ← - soundeditor(sh+re zurueck) ctrl+ o - options(speed,tunenr.,etc.) sh+return - blockedit(sh+re zurueck) run/stop - programm ende (start: run) clear - track loeschen home - track anfang del - byte unterm cursor loeschen inst - ein $00 byte einfuegen soundedit: ctrl+ ← - hauptdaten editieren ctrl+ 1 - wavesequenzen + arpeggios ctrl+ 2 - pulsesequenzen ctrl+ 3 - filtersequenzen sh+return - trackedit blockedit: ctrl+ ← - block $xx editieren ctrl+ 1 - memory 1 editieren ctrl+ 2 - memory 2 editieren s - sound $xx t - time $xx (duration !) p - unangeschlagene note $xx spielen @ - *** (blockende) k - weiter mit key off (gatebit $00) h - halten mit key on (gatebit $01) a-g - noten (h=b !!) # - halbnoten 1-7 - oktaven f2/f4 - kompletten block nach memory 1/2 f6 - memory 1 an cursor block $xx f8 - memory 2 an cursor block $xx (bei f6/f8 wird an die aktuelle cursor position kopiert. alle daten von memory anfang bis *** (memory ende) werden kopiert, und alle daten ab cursor pos. werden angehangen !!!!) sh+return - trackedit diskmenue: alles im programm erklaert bis auf run/stop - zurueck zum trackedit nun die erklaerung der daten !! ------------------------------- options: speed $00 00-ff = speed vo/vl $00← ins.lautstaerke 0-f ↑ $10 = track 1 an/aus $20 = track 2 an/aus $40 = track 3 an/aus tnr $00 tunenummer(00-1f) trackdaten: $00-$7f = blocks $80-$fc = blocktranspose (c0 = normal c1 = 1 halbton hoeher c2.. bf = 1 halbton tiefer be..) $fd = neue start position (+1) $fe = music ende (all 3 tracks !!) $ff = neustart beispiel: pos: 01 02 03 04 05 06 trk: 10 11 fd 14 10 ff spiele 10 + 11 und wiederhole 14 + 10 unendlich. blockdaten: s00 = sound 00-1f t00 = time (duration) 00-1f p00 = play in a rest 00-1f alle noten von c-0 bis a#7 !!! +00 = glide hoch 01-1f -00 = glide runter 00-1f kon = continue key off (mit k!) hol = hold key on (mit h!) *** = blockende (mit @!) sounddaten: wf ad sr pl fl v1 v2 tr ; 8 bytes 00 00 00 00 00 00 00 00 ; hauptdaten wf = wavesequenz start 81 41 18 ff wavesequenz df a4 30 02 arpeggio waveseq.: $08 glide ein (testbit) $ff springe an pos. (arpeggio=jmp pos.!) $fe springe solange an pos. bis key off arpeggio: $00-$7f transpose noten $80-$ff frequenz fest ad = attack/decay (wenn tr> $00 dann decay = 8 attack am anfang setzen oder nicht.0-7 dauer von tr sr = sustain/release pl = pulsestart 08:0f 01 ff ; grenze pulse high 00:10 90 01 ; pulse adc/sbc ↑↑ startwerte: 08= low/high pulsestart 00= 80=kein pulsestart 00-7f delay start pulse adc/sbc = 00-7f pulse adc 80-ff pulse sbc grenze pl.hi. = 00-0f adc/sbc bits (nur hi-byte) ff wie wavesequenz fl = filterstart 50: 1f: ↑↑ startwerte: 50= filterstart 1f= 00-70 bandpass 80 kein filterstart 00-0f resonanz v1 = vibrator reg1 00-f0 = vibrator speed (adc-byte) 00-0f = adc zu vibspeed nach der ende der rate (cool fx!) v2 = vibrator reg2 00-f0 vibrator delay 00-0f vibrator rate tr = tremolo effektbyte 00-f0 dauer key on 00-0f dauer key off (tremolo loescht und setzt das gatebit abwechselnd nach ablauf der zeit !!) wenn tremolo benutzt wird gibt es kein decay,anstelle dessen gibt decay die laenge des tremolos an und ob attack beim start gesetzt werden soll oder ob es $00 ist !!! (tremolo endet immer mit key off !!) achtung: die angaben gelten fuer player -------- v2.50/v2.51 und (ohne tremolo) funktion in den sounds und p00 im block) v2.00/v2.01 (tr ist hier das feintranspose,und p00 hat hier das selbe wie t00 !) hier noch ein paar tips !!: --------------------------- 1. wenn man wenig rastertime haben will sollte man continue und hold im block so wenig wie moeglich benutzen ganz besonders nicht nach zwei eingaben wie t00,s00 oder t00,+00 !!!! 2. wave-pulse-und filtersequenzen werden beim sichern von music+player immer von null bis letzte benutzte position der entsprechenden musiken gesichert, deshalb sollte man drauf achten dass keine ueberfluessigen daten dazwischen stehen !! 3. blocks duerfen nur maximal $fe bytes lang sein denn das letzte byte muss $00 sein sonst erkennt die abspeicherroutine(player+music) das ende nicht und stuerzt ab !!! 4. wenn kein vibrato benutzt werden soll, sollte vib rate auf null sein dadurch verkuerzt sich die rastertime noch mal space !!! rastertime und laenge der player: --------------------------------- v2.00 ca. $1a max.rastertime, und ca. $04b8 bytes lang !!!! v2.01 ca. $20 max.rastertime, und ca. $0448 bytes lang !!!! v2.50 ca. $1c max.rastertime, und ca. $0550 bytes lang !!!! v2.51 ca. $24 max.rastertime, und ca. $04d0 bytes lang !!!! im music-editor ist von anfang an immer player v2.50 drin, um an die anderen zu kommen geht man aus dem trackeditor mit run/stop ins basic und laedt sie mit load"m/v2.xx*",8,1 nach. der player v2.50 ist jedoch der beste von allen und in der norm hat er auch nur $19 max.rastertime, will man aber kurze musiken haben und man braucht kein tremolo empfiehlt sich der player v2.00 , ok !!!! der player darf nicht gespreaded werden !!!! bye from stephan of bytemare !!! wichtige note !! ================ 20 :wichtige information 21 :-------------------- 22 : wenn man den music-editor geladen 23 : hat ist der player etwas defekt ! 24 : und zwar die vibrato speed wird 25 : immer null sein !!! am besten man 26 : laedt den player v2.50 nach und 27 : startet es wieder mit run , denn 28 : dann ist der fehler behoben !!! 29 : 30 : also nicht vergessen erst einen 31 : player laden und dann erneut mit 32 : run starten !!! danke !!! 33 : 34 : sollte irgend jemand den player 35 : spreaden dann 'kopf ab' !!!! 36 : 37 : bye from stephan of bytemare.. 38 : zu instructions! ================ 10 : nachtrag zu instruction ! 20 : 30 : wenn man im register 'fl' (sounds) 40 : das 7. bit ($80) setzt, so wird 50 : beim start kein testbit gesetzt !! 60 : man kann damit das knacksen bei der 70 : $10 waveform entfernen !!! 80 : 90 : stephan of bytemare... 95 :