001
23.03.2025, 10:25 Uhr
ralle
|
Moin, der Bic Tutelt wieder. A210 und Lautsprecher waren das Problem.
Hier ein kleines Testprogramm:
Quellcode: | 10 ' Programm 10 20 ' MSX Grafik und Sound 30 ' Copyright 1985 DATA BECKER & Rainer Lers 40 SCREEN 0,,,,0:CLS 50 CLEAR 2000:DEFINT A-Z:DIM A$(21),A(21) 60 ON STOP GOSUB 1240 70 STOP ON 80 KEY OFF:WINDOW:IF INP(&H78)=15 THEN 110 90 COLOR 15,1,1:CLS 100 ' Abspeicherung von SOUND-Parametern j/n 110 INPUT "SOUND in DATA (J/ ) ";F$ 120 IF F$<>"" THEN INPUT "Name :";F$:TT=990:F$="a:"+F$+".snd":OPEN F$ FOR OUTPUT AS #1 130 CLS 140 ' Alle Soundparameter in die Ursprungslage versetzen 150 FOR N=0 TO 13 160 SOUND N,0 170 NEXT N 180 SOUND 7,0 190 ' Bildschirmaufbau 200 PRINT TAB(12) "Soundeditor" 210 PRINT TAB(12) "===========" 220 PRINT 230 PRINT TAB(3);:A$(3)="Tonh?he fein Kanal 1:":PRINT A$(3) 240 PRINT TAB(3);:A$(4)="Tonh?he grob Kanal 1:":PRINT A$(4) 250 PRINT TAB(3);:A$(5)="Tonh?he fein Kanal 2:":PRINT A$(5) 260 PRINT TAB(3);:A$(6)="Tonh?he grob Kanal 2:":PRINT A$(6) 270 PRINT TAB(3);:A$(7)="Tonh?he fein Kanal 3:":PRINT A$(7) 280 PRINT TAB(3);:A$(8)="Tonh?he grob Kanal 3:":PRINT A$(8) 290 PRINT 300 PRINT TAB(5);:A$(10)="Kanal 1: 0/1=T/2=R:":PRINT A$(10) 310 PRINT TAB(5);:A$(11)="Kanal 2: 0/1=T/2=R:":PRINT A$(11) 320 PRINT TAB(5);:A$(12)="Kanal 3: 0/1=T/2=R:":PRINT A$(12) 330 PRINT 340 PRINT TAB(5);:A$(14)="Lautst?rke Kanal 1:":PRINT A$(14) 350 PRINT TAB(5);:A$(15)="Lautst?rke Kanal 2:":PRINT A$(15) 360 PRINT TAB(5);:A$(16)="Lautst?rke Kanal 3:":PRINT A$(16) 370 PRINT 380 PRINT TAB(10);:A$(18)="Rauschperiode:":PRINT A$(18) 390 PRINT TAB(1);:A$(19)="Hllkurvenperiode fein:":PRINT A$(19) 400 PRINT TAB(1);:A$(20)="Hllkurvenperiode grob:":PRINT A$(20) 410 PRINT TAB(14);:A$(21)="Hllkurve:":PRINT A$(21) 420 IF TT<>0 THEN PRINT:PRINT "Abspeicherung in DATA - Zeilen"; 430 ' Wertzuweisung der Soundparameter auf dem Bildschirm 440 FOR N=3 TO 8 450 LOCATE N,26 460 PRINT A 470 NEXT N 480 FOR N=10 TO 12 490 LOCATE N,26 500 PRINT A 510 NEXT N 520 FOR N=14 TO 16 530 LOCATE N,26 540 PRINT A 550 NEXT N 560 FOR N=18 TO 21 570 LOCATE N,26 580 PRINT A 590 NEXT N 600 ' Einbringen des Zeilencursors in die entsprechende Bildschirmzeile in Position 0 610 LOCATE 3,0,0:PRINT CHR$(200); 620 ' Warten auf Eingabe; die Eingabem?glichkeit bezieht sich nur auf das Cursorsteuerfeld d.h. Pfeil nach oben bzw. Pfeil nach unten -> Cursorpositionierung 630 ' Pfeil nach links bzw. Pfeil nach rechts -> Soundparameter +/- Spacetaste -> SOUND ESC -> Abspeicherung 640 A$=INKEY$:IF A$="" THEN 640 650 ' was ist zu tun, wenn ESC=Abspeichern der SOUND-Parameter angew?hlt wird? 660 IF ASC(A$)=27 AND TT>0 THEN TT=TT+10:A1$=STR$(TT)+" DATA"+STR$(A(3))+","+STR$(A(4))+","+STR$(A(5))+","+STR$(A(6))+","+STR$(A(7))+","+STR$(A(8))+","+STR$(A(18))+","+STR$(AX) ELSE GOTO 700 670 A1$=A1$+","+STR$(A(14))+","+STR$(A(15))+","+STR$(A(16))+","+STR$(A(19))+","+STR$(A(20))+","+STR$(A(21)) 680 PRINT #1,A1$ 690 XS=CSRLIN:SCREEN0,1:CLS:PRINTA1$:PAUSE100:SCREEN0,0:LOCATE XS,0 700 IF A$=" " THEN SOUND 13,A(21):GOTO 640 710 IF ASC(A$)=30 OR ASC(A$)=31 THEN GOTO 720 ELSE IF ASC(A$)=28 OR ASC(A$)=29 THEN GOTO 800 ELSE GOTO 640 720 IF ASC(A$)=30 AND CSRLIN=3 THEN 640 730 IF ASC(A$)=31 AND CSRLIN=21 THEN 640 740 IF ASC(A$)=31 THEN IF CSRLIN=8 OR CSRLIN=12 OR CSRLIN=16 THEN A=2 ELSE A=1 ELSE GOTO 770 750 LOCATE CSRLIN,0:PRINT " ";:LOCATE CSRLIN+A,0:PRINT CHR$(200);:LOCATE CSRLIN,25 760 GOTO 640 770 IF ASC(A$)=30 THEN IF CSRLIN=18 OR CSRLIN=14 OR CSRLIN=10 THEN A=-2 ELSE A=-1 ELSE GOTO 640 780 LOCATE CSRLIN,0:PRINT " ";:LOCATE CSRLIN+A,0:PRINT CHR$(200);:LOCATE CSRLIN,25 790 GOTO 640 800 IF ASC(A$)=28 THEN Z=1 ELSE Z=-1 810 LOCATE CSRLIN,26:PRINT " ";:LOCATE CSRLIN,26 820 ' Eingeben der Soundparameter + oder - in den 'SOUND'-Befehl; auáerdem ?berprfung auf Erreichen der Grenzwerte sowie Kontrollieren der Bildschirmanzeige 830 ' Tonh?he Kanal 1 fein ==================== 840 IF CSRLIN=3 THEN IF (A(3)+Z<0 OR A(3)+Z>255) THEN PRINT A(3);:GOTO 640 ELSE A(3)=A(3)+Z:PRINT A(3);:SOUND 0,A(3):GOTO 640 850 ' Tonh?he Kanal 1 grob ==================== 860 IF CSRLIN=4 THEN IF (A(4)+Z<0 OR A(4)+Z>15) THEN PRINT A(4);:GOTO 640 ELSE A(4)=A(4)+Z:PRINT A(4);:SOUND 1,A(4):GOTO 640 870 ' Tonh?he Kanal 2 fein ==================== 880 IF CSRLIN=5 THEN IF (A(5)+Z<0 OR A(5)+Z>255) THEN PRINT A(5);:GOTO 640 ELSE A(5)=A(5)+Z:PRINT A(5);:SOUND 2,A(5):GOTO 640 890 ' Tonh?he Kanal 2 grob ==================== 900 IF CSRLIN=6 THEN IF (A(6)+Z<0 OR A(6)+Z>15) THEN PRINT A(6);:GOTO 640 ELSE A(6)=A(6)+Z:PRINT A(6);:SOUND 3,A(6):GOTO 640 910 ' Tonh?he Kanal 3 fein ==================== 920 IF CSRLIN=7 THEN IF (A(7)+Z<0 OR A(7)+Z>255) THEN PRINT A(7);:GOTO 640 ELSE A(7)=A(7)+Z:PRINT A(7);:SOUND 4,A(7):GOTO 640 930 ' Tonh?he Kanal 3 grob ==================== 940 IF CSRLIN=8 THEN IF (A(8)+Z<0 OR A(8)+Z>15) THEN PRINT A(8);:GOTO 640 ELSE A(8)=A(8)+Z:PRINT A(8);:SOUND 5,A(8):GOTO 640 950 ' Lautst?rke Kanal 1 ================== 960 IF CSRLIN=14 THEN IF (A(14)+Z<0 OR A(14)+Z>16) THEN PRINT A(14);:GOTO 640 ELSE A(14)=A(14)+Z:PRINT A(14);:SOUND 8,A(14):GOTO 640 970 ' Lautst?rke Kanal 2 ================== 980 IF CSRLIN=15 THEN IF (A(15)+Z<0 OR A(15)+Z>16) THEN PRINT A(15);:GOTO 640 ELSE A(15)=A(15)+Z:PRINT A(15);:SOUND 9,A(15):GOTO 640 990 ' Lautst?rke Kanal 3 ================== 1000 IF CSRLIN=16 THEN IF (A(16)+Z<0 OR A(16)+Z>16) THEN PRINT A(16);:GOTO 640 ELSE A(16)=A(16)+Z:PRINT A(16);:SOUND 10,A(16):GOTO 640 1010 ' Rauschperiode ============= 1020 IF CSRLIN=18 THEN IF (A(18)+Z<0 OR A(18)+Z>31) THEN PRINT A(18);:GOTO 640 ELSE A(18)=A(18)+Z:PRINT A(18);:SOUND 6,A(18):GOTO 640 1030 ' Hllkurvenperiode fein ====================== 1040 IF CSRLIN=19 THEN IF (A(19)+Z<0 OR A(19)+Z>255) THEN PRINT A(19);:GOTO 640 ELSE A(19)=A(19)+Z:PRINT A(19);:SOUND 11,A(19):GOTO 640 1050 ' Hllkurvenperiode grob ====================== 1060 IF CSRLIN=20 THEN IF (A(20)+Z<0 OR A(20)+Z>255) THEN PRINT A(20);:GOTO 640 ELSE A(20)=A(20)+Z:PRINT A(20);:SOUND 12,A(20):GOTO 640 1070 ' Hllkurve ========= 1080 IF CSRLIN=21 THEN IF (A(21)+Z<0 OR A(21)+Z>15) THEN PRINT A(21);:GOTO 640 ELSE A(21)=A(21)+Z:PRINT A(21);:SOUND 13,A(21):GOTO 640 1090 ' Kanal 1: aus/Ton/Rau/beides =========================== 1100 IF CSRLIN=10 THEN IF (A(10)+Z<0 OR A(10)+Z>3) THEN PRINT A(10);:GOTO 640 ELSE A(10)=A(10)+Z:PRINT A(10); 1110 ' Kanal 2: aus/Ton/Rau/beides =========================== 1120 IF CSRLIN=11 THEN IF (A(11)+Z<0 OR A(11)+Z>3) THEN PRINT A(11);:GOTO 640 ELSE A(11)=A(11)+Z:PRINT A(11); 1130 ' Kanal 3: aus/Ton/Rau/beides =========================== 1140 IF CSRLIN=12 THEN IF (A(12)+Z<0 OR A(12)+Z>3) THEN PRINT A(12);:GOTO 640 ELSE A(12)=A(12)+Z:PRINT A(12); 1150 IF CSRLIN<10 OR CSRLIN>12 THEN GOTO 1230 1160 ' genaue Berechnung des 'SOUND'-Parameters 7 1170 AX=0 1180 IF A(10)=1 THEN AX=AX+1 ELSE IF A(10)=2 THEN AX=AX+8 ELSE IF A(10)=3 THEN AX=AX+1+8 1190 IF A(11)=1 THEN AX=AX+2 ELSE IF A(11)=2 THEN AX=AX+16 ELSE IF A(11)=3 THEN AX=AX+2+16 1200 IF A(12)=1 THEN AX=AX+4 ELSE IF A(12)=2 THEN AX=AX+32 ELSE IF A(12)=3 THEN AX=AX+4+32 1210 AX=AX+128 1220 SOUND 7,AX 1230 GOTO 640 1240 ' Unterprogramm fr Programmende mit CTRL STOP 1250 CLOSE:COLOR 6,0,0 1260 SCREEN 1,,,,1:KEY ON:WINDOW:CLS 1270 END
|
Damit lassen sich die 3 Stimmen des emulierten AY-3-8910 ansprechen. -- Gruß Ralle
Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!... ... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...
aus KENWOOD-Bedienungsanleitung TM-D700 |