(^L=HIHCp SY26V#61} "Postbus 9943̜H "1006 AP AmsterdamR:DATA *L,"waarna wij uw cassette zullen omruilen voor een ander exemplaar."jS *L,"waarna wij uw diskette zullen omruilen voor een ander exemplaar."A\ *L,"Telefonische vragen over de Programma Service - maar geen technische vragen - kunt u kwijt op 020-5182828. Leg zo kort en bondig mogelijk uit wat er aan de hand is en wij zullen proberen het te verhelpen.f *P,*C,"Vragenuurtje",*N,*L,"Technische vragen kunt u namelijk alleen stellen tijdens het telefonisch vragenuurtje van de redactie van MSX/MS-DOS Computer Magazine.p *L,"De redactie beschikt continu over een zogenaamde vragenlijn, telefoon: 020-860743. Meestal zult u op dit nummer een antwoordapparaat treffen,z "dat u op vriendelijke toon mededeelt wat er in het laatste nummer aan eventuele fouten is gevonden.e *L,"Tot slot volgt er een mededeling wanneer er weer mensen van vlees en bloed aan de andere kant zullen zitten. "Meestal zal dat donderdagmiddag van 17.00-19.00 zijn, mogelijk aangevuld met gespecialiseerde uurtjes. Wij spreken het allemaal in!5 *P,"Dat vragenuurtje is echter niet bestemd voor vragen zoals:g *L,"Hoe werkt de MCM database uit nummer 2? *L,"Dergelijke vragen kunt u namelijk zelf beantwoorden, door het betreffende nummer er op na te slaan. Bezit u dat nummer niet, dan kunt u dat nabestellen bij de uitgeverij.( *P,*SO: PROGRAMMA'S ******************q TYDMNU ' meteen de goede,1  ASCTAB ' POP-UP oefening,1  SCCST ' Soundchip demo,1 Ѣ INTLC2 ' interlacing,1  IOTJE ' voor nette IOtjes,1 4096 ' alleen MSX2+,10 KARST1 ' de oneliner,1 R KARST2 ' leesbare versie,1 u HAARD5 ' aangename warmte,1  HAARD6 ' zachtjes knappend,1  VERTOON' de art gallery,1 $ ICP6 ' Invoer Controle Programma,1 . OP=OP,0 *8 1=automatisch opstarten; 0=alleen klaarzetten 10 ' ASCTAB - een 'popup' voor de ASCII-tabel 20 ' 30 ' MSX/MS-DOS Computer Magazine 40 ' 50 CLEAR 200,PEEK(&HFC4A)+256*PEEK(&HFC4B)-&H480 60 AD=PEEK(&HFC4A)+256*PEEK(&HFC4B): ST=AD 70 CLS: PRINT "ASCTAB": PRINT: PRINT "ML wordt geinstalleerd op adres "HEX$(ST)".": PRINT: PRINT "Even geduld aub... "; 80 FOR I=0 TO &H190: READ A$ 90 IF LEFT$(A$,1)="*" THEN B$=RIGHT$(A$,1): READ A$: B=ST+VAL("&h"+B$+A$): POKE AD,B-INT(B/256)*256: POKE AD+1,INT(B/256): AD=AD+2: I=I+1: GOTO 110 100 POKE AD,VAL("&h"+A$): AD=AD+1 110 NEXT I 120 DEF USR=ST: A=USR(0) 130 PRINT CHR$(13)"Klaar - ASCTAB is aktief!" 140 PRINT: PRINT "Druk op Control/Shift/Graph om de": PRINT "ASCII-tabel te zien." 150 PRINT: END 160 ' DATA-regels ******************* 170 DATA 21,9F,FD,11,*0,17,01,05,00,ED,B0,21,*0,1C,22,A0 180 DATA FD,3E,C3,32,9F,FD,C9,00,00,00,00,00,3A,*1,90,B7 190 DATA 20,F5,3A,EB,FB,E6,07,20,EE,3A,AF,FC,FE,00,20,E7 200 DATA 3E,01,32,*1,90,FB,11,28,00,3A,B0,F3,FE,29,38,03 210 DATA 11,50,00,7B,CB,3F,D6,12,4F,2A,22,F9,3A,B1,F3,CB 220 DATA 3F,D6,0A,47,19,10,FD,06,00,09,3A,07,00,4F,22,*1 230 DATA 93,06,14,D5,11,*1,95,ED,53,*1,91,D1,C5,D5,ED,5B 240 DATA *1,91,01,25,00,CD,59,00,D1,C1,E5,D5,2A,*1,91,11 250 DATA 25,00,19,22,*1,91,D1,E1,19,10,E1,2A,*1,93,CD,53 260 DATA 00,3E,18,ED,79,3E,17,06,23,ED,79,10,FC,3E,19,ED 270 DATA 79,06,12,19,E5,D5,3E,16,CD,4D,00,3E,16,11,24,00 280 DATA 19,CD,4D,00,D1,E1,10,EB,CD,53,00,3E,1A,ED,79,3E 290 DATA 17,06,23,ED,79,10,FC,3E,1B,ED,79,2A,*1,93,19,19 300 DATA 23,D5,1B,1B,06,10,3E,30,CD,4D,00,23,F5,3E,30,CD 310 DATA 4D,00,23,3E,20,CD,4D,00,F1,3C,FE,3A,20,02,3E,41 320 DATA 19,10,E5,D1,2A,*1,93,19,23,23,23,23,E5,06,10,CD 330 DATA 53,00,21,*1,80,7E,23,ED,79,3E,20,ED,79,10,F6,E1 340 DATA 19,AF,06,10,C5,F5,CD,53,00,F1,06,10,ED,79,F5,3E 350 DATA 20,ED,79,F1,3C,10,F5,C1,19,10,E9,2A,FA,F3,3A,F8 360 DATA F3,95,28,F7,F3,22,F8,F3,7E,FB,FE,1B,20,0D,D5,21 370 DATA *0,17,11,9F,FD,01,05,00,ED,B0,D1,06,14,D5,11,*1 380 DATA 95,ED,53,*1,91,D1,2A,*1,93,C5,D5,ED,5B,*1,91,01 390 DATA 25,00,EB,CD,5C,00,D1,C1,E5,D5,2A,*1,91,11,25,00 400 DATA 19,22,*1,91,D1,E1,19,10,E0,AF,32,*1,90,C3,*0,17 410 DATA 30,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46 420 DATA 00 10 REM Tijdmenu 20 REM 30 REM MSX/DOS Computer Magazine 40 REM 50 DEFINT A-Z: DIM B(16) 60 K=253: R=0: IS=0: AS=0: DT=1: KT=3: SL=0: TT=0 70 SCREEN 8: SET VIDEO 0: OPEN "grp:" FOR OUTPUT AS#1 80 ' menu afdrukken *********************************************************** 90 COLOR 255,74,74: CLS 100 FOR TE=1 TO 17 110 PSET(15,0+TE*12),74: READ A$: COLOR 255,37: PRINT#1,A$;SPC(21-LEN(A$)) 120 NEXT TE 130 IF SL=0 THEN TE=1 ELSE TE=17 140 IF IS=0 THEN GET TIME T$: U$=LEFT$(T$,2): M$=MID$(T$,4,2): M=VAL(M$): U=VAL(U$): S=VAL(RIGHT$(T$,2)) 150 LINE (140,0)-(142,211),74,BF: COLOR 255,37 160 PSET (150,36),37: PRINT#1,S 170 PSET (150,48),37: PRINT#1,M 180 PSET (150,60),37: PRINT#1,U 190 PSET (151,108),37: IF DT=1 THEN PRINT#1,"T+D" 200 PSET (150,108),37: IF DT=0 THEN PRINT#1,SPC(1);"T";SPC(1): PSET (15,144),37 210 PSET (150,108),37: IF DT=2 THEN PRINT#1,SPC(1);"D";SPC(1): PSET (15,156),37 220 PSET (158,132),K: COLOR K,255-K: PRINT#1,CHR$(200) 230 PSET (158,144),R: COLOR R,37: PRINT#1,CHR$(200) 240 PSET (158,156),37: COLOR AK,37: PRINT#1,CHR$(200) ELSE PRINT#1,SPC(1) 250 PSET(155,180),37: COLOR 255,37 260 IF TT=1 THEN PRINT#1,"Ja";SPC(1) ELSE PRINT#1,"Nee" 270 ' menubalk + keuzen ******************************************************* 280 Z=STICK(0): IF Z=1 THEN TE=TE-1: IF TE<1 THEN TE=1 290 IF Z=5 THEN TE=TE+1: IF TE>17 THEN TE=17 300 H$=INKEY$ 310 IF H$="s" OR H$="S" THEN GOTO 360 320 LINE (15,TE*12)-(21*8+14,7+TE*12),28,BF,XOR: FOR T=0 TO 25: NEXT T 330 LINE (15,TE*12)-(21*8+14,7+TE*12),28,BF,XOR 340 IF H$=CHR$(13) THEN ON TE GOTO 360,270,670,760,850,270,930,270,950,270,990,1130,1270,270,1400,270,1450 350 IF SL=1 THEN A=1: GOTO 140 ELSE A=16: GOTO 280 360 ' tijd routine ************************************************************ 370 COLOR 255,AK,AK: CLS 380 GET TIME T$: GET DATE D$: I$=RIGHT$(T$,2): T=VAL(I$) 390 SET PAGE 0,1: COLOR K,R: CLS 400 IF IS=1 AND (DT=1 OR DT=0) THEN GOTO 410 ELSE GOTO 420 410 PSET (0,0),0: PRINT#1,USING "##:##:##";U,M,S: GOTO 430 420 IF DT<2 THEN PSET (0,0),0: PRINT#1,T$ 430 IF DT=1 OR DT=2 THEN GOTO 440 ELSE GOTO 450 440 PSET (0,10),0: PRINT#1,MID$(D$,4,2);"/";LEFT$(D$,2);RIGHT$(D$,3) 450 IF T<>B THEN S=S+1: B=T 460 IF M>59 THEN M=0: U=U+1 470 IF S>59 THEN S=0: M=M+1 480 IF R>0 THEN GOTO 570 490 COPY (0,0)-(80,18),1 TO (101,101),1,TPRESET 500 COPY (0,0)-(80,18),1 TO (101,100),1,TPRESET 510 COPY (0,0)-(80,18),1 TO (101,99),1,TPRESET 520 COPY (0,0)-(80,18),1 TO (99,101),1,TPRESET 530 COPY (0,0)-(80,18),1 TO (99,100),1,TPRESET 540 COPY (0,0)-(80,18),1 TO (99,99),1,TPRESET 550 COPY (0,0)-(80,18),1 TO (100,99),1,TPRESET 560 COPY (0,0)-(80,18),1 TO (100,101),1,TPRESET 570 COPY (0,0)-(80,18),1 TO (100,100),1,TPSET 580 SET PAGE 0,0 590 COPY (99,99)-(161,117),1 TO (X,Y),0 600 H$=INKEY$ 610 IF H$=CHR$(32) THEN IS=1:AS=1: S=0: M=0: U=0 620 IF H$=CHR$(27) THEN RESTORE: GOTO 90 630 D=STICK(0): IF D=0 THEN GOTO 380 640 LINE (X,Y)-(X+62,Y+18),AK,BF: GOSUB 1490 650 GOTO 380 660 ' seconden instellen ****************************************************** 670 XX=X: YY=Y: Y=S: IS=1: 'seconden instellen 680 COLOR 28,37: PSET (150,TE*12),37: PRINT#1,S 690 S=Y: A=-1 700 IF S<0 THEN S=59: Y=59 710 IF S>59 THEN S=0: Y=0 720 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 140 730 GOSUB 1490 740 GOTO 680 750 ' minuten instellen ******************************************************* 760 XX=X: YY=Y: Y=M: IS=1 770 COLOR 28,37: PSET (150,TE*12),37: PRINT#1,M 780 M=Y: A=-1 790 IF M<0 THEN M=59: Y=59 800 IF M>59 THEN M=0: Y=0 810 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 140 820 GOSUB 1490 830 GOTO 770 840 ' uren instellen ********************************************************** 850 XX=X: YY=Y: Y=U: IS=1 860 COLOR 28,37: PSET (150,TE*12),37: PRINT#1,U 870 U=Y: A=-1 880 IF U<0 THEN U=23: Y=23 890 IF U>23 THEN U=0: Y=0 900 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 140 910 GOSUB 1490 920 GOTO 860 930 ' reset ingestelde tijd *************************************************** 940 IS=1: AS=1: S=0: M=0: U=0: RESTORE: GOTO 140 950 ' tijd en datum ********************************************************** 960 IS=0: DT=DT+1: IF DT>2 THEN DT=0 970 IF DT=0 OR DT=2 THEN R=0: AK=0: GOTO 140 980 GOTO 140 990 ' cijferkleur instellen ************************************************** 1000 GOSUB 1600 1010 XX=X: YY=Y 1020 PSET (158,TE*12),K: COLOR K,255-K: PRINT#1,CHR$(200) 1030 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR: FOR T=0 TO 50: NEXT T 1040 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR 1050 RR=Y: A=-1 1060 IF RR>15 THEN RR=15: Y=15 1070 IF RR<1 THEN RR=1: Y=1 1080 K=B(RR) 1090 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 290 1100 GOSUB 1490 1110 GOTO 1020 1120 ' achtergrondvlak kleur instellen **************************************** 1130 XX=X: YY=Y 1140 GOSUB 1600 1150 IF DT<>1 THEN R=0: GOTO 140 1160 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR: FOR T=0 TO 50: NEXT T 1170 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR 1180 PSET (158,TE*12),R: COLOR R,37: PRINT#1,CHR$(200) 1190 RR=Y: A=-1 1200 IF RR>14 THEN RR=15: Y=15 1210 IF RR<1 THEN RR=0: Y=0 1220 R=B(RR) 1230 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 140 1240 GOSUB 1490 1250 GOTO 1150 1260 ' achtergrond schermkleur instellen ************************************** 1270 XX=X: YY=Y 1280 GOSUB 1600 1290 IF DT<>1 OR TT=1 THEN AK=0: GOTO 140 1300 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR: FOR T=0 TO 50: NEXT T 1310 LINE (15,TE*12)-(139,TE*12+7),28,BF,XOR 1320 PSET (158,TE*12),AK: COLOR AK,37: PRINT#1,CHR$(200) 1330 RR=Y: A=-1 1340 IF RR>15 THEN RR=15: Y=15 1350 IF RR<1 THEN RR=0: Y=0 1360 AK=B(RR) 1370 IF INKEY$=CHR$(13) THEN X=XX: Y=YY: GOTO 140 1380 GOSUB 1490: GOTO 1290 1390 GOTO 1290 1400 ' transparant ************************************************************ 1410 IF TT=0 THEN GOTO 1420 ELSE GOTO 1440 1420 AK=0 1430 SET VIDEO 2: TT=1: GOTO 140 1440 SET VIDEO 0: TT=0: GOTO 140 1450 ' snel/langzaam ********************************************************** 1460 IF SL=1 THEN SL=0 ELSE SL=1: GOTO 140 1470 GOTO 280 1480 ' cursor routine ********************************************************* 1490 D=STICK(0) 1500 IF D=1 THEN Y=Y-1*A: IF Y<0 THEN Y=0 1510 IF D=3 THEN X=X+1*A: IF X>192 THEN X=192 1520 IF D=5 THEN Y=Y+1*A: IF Y>192 THEN Y=192 1530 IF D=7 THEN X=X-1*A: IF X<1 THEN X=0 1540 RETURN 1550 ' menu data 1560 DATA START," ","Seconden","Minuten","Uren"," ","Reset TIJD"," " 1570 DATA "DATUM en TIJD"," ","Cijferkleur","Achtergrond Vlak" 1580 DATA "Schermkleur"," ","Transparant"," ","Snel/Langzaam" 1590 ' kleurnumering 1600 RESTORE 1600 1610 FOR AA=0 TO 15 1620 READ KK: B(AA)=KK 1630 NEXT AA 1640 RETURN 1650 DATA 0,1,2,3,5,10,31,8,16,28,36,72,224,252,253,254 0,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46 420 DATA 00 ; Source van ASC.ASM ; ; Door Markus The/MOBZystems voor MSX/MS-DOS Computer Magazine ; LINLEN equ 0F3B0h ;(B) schermbreedte CRTCNT equ 0F3B1h ;(B) schermhoogte PUTPNT equ 0F3F8h ;(P) pointer toetsenbordbuffer GETPNT equ 0F3FAh ;(P) idem NAMBAS equ 0F922h ;(P) start scherm in VRAM SFTKEY equ 0FBEBh ;(B) status spec. toetsen SCRMOD equ 0FCAFh ;(B) scherm-type WRTVRM equ 004Dh ;WRiTe to VRaM SETWRT equ 0053h ;SET VDP for WRiTing LDIRMV equ 0059h ;VRAM --> MAIN RAM LDIRVM equ 005Ch ;MAIN RAM --> VRAM H_TIMI equ 0FD9Fh ;hook bij int. rout. WIDTH equ 32+5 HEIGHT equ 16+4 defb 0FEh ;voor een BLOAD-bare file defw START defw END-1 defw START org 0D000h START ld hl,H_TIMI ld de,oldhook ld bc,5 ldir ld hl,ascii ld (H_TIMI+1),hl ld a,0C3h ;JP-instruktie ld (H_TIMI),a ret oldhook defs 5 ascii ld a,(bezig) or a jr nz,oldhook ld a,(SFTKEY) and 7 jr nz,oldhook ld a,(SCRMOD) cp 0 jr nz,oldhook ld a,1 ld (bezig),a ei ld de,40 ;neem aan: scherm 40 breed ld a,(LINLEN) ;schermbreedte cp 41 jr c,len40 ;ja, klopt ld de,80 ;nee, dus 80 len40 ld a,e ;lage byte van schermbreedte srl a ;/2 sub WIDTH/2 ld c,a ;start-kolom: bewaar in C ld hl,(NAMBAS) ;start scherm ld a,(CRTCNT) ;schermhoogte srl a ;/2 sub HEIGHT/2 ld b,a ;start-regel: bewaar in B telop add hl,de ;tel op bij HL djnz telop ;start-regel keer ld b,0 ;BC = kolom add hl,bc ;bij HL = startadres ld a,(0007h) ;VDP write-port ld c,a ;naar C ;DE bevat regellengte! ld (scrstrt),hl ;bewaar startadres ld b,HEIGHT ;aantal te bewaren regels push de ;bewaar regellengte ld de,ramsave ;startadres in RAM ld (saveptr),de ;initialiseren pop de save push bc ;bewaar teller push de ;bewaar regellengte ld de,(saveptr) ld bc,WIDTH call LDIRMV pop de ;herstel regellengte pop bc ;en teller push hl ;bewaar hl push de ld hl,(saveptr) ;oude pointer ld de,WIDTH add hl,de ;plus regellengte ld (saveptr),hl ;berg weer op pop de pop hl ;herstel hl add hl,de ;nieuwe regel in VRAM djnz save ld hl,(scrstrt) ;herstel startadres call SETWRT ld a,018h out (c),a ld a,017h ld b,WIDTH-2 hor1 out (c),a djnz hor1 ld a,019h out (c),a ld b,HEIGHT-2 vert add hl,de push hl push de ld a,016h call WRTVRM ld a,016h ld DE,WIDTH-1 add hl,de call WRTVRM pop de pop hl djnz vert call SETWRT ld a,01Ah out (c),a ld a,017h ld b,WIDTH-2 hor2 out (c),a djnz hor2 ld a,01Bh out (c),a ld hl,(scrstrt) add hl,de add hl,de inc hl push de dec de dec de ld b,16 ld a,"0" links call WRTVRM inc hl push af ld a,"0" call WRTVRM inc hl ld a," " call WRTVRM pop af inc a cp "9"+1 jr nz,links1 ld a,"A" links1 add hl,de djnz links pop de ld hl,(scrstrt) add hl,de inc hl inc hl inc hl inc hl ;vier kolommen verder push hl ;bewaar voor tekenen ld b,16 ;bovenste rij cijfers call SETWRT ld hl,hexlet top ld a,(hl) inc hl out (c),a ld a,32 out (c),a djnz top pop hl ;herstel startadres top-rij add hl,de ;een regel verder xor a ;eerste karakter ld b,16 ;aantal regels loop push bc push af call SETWRT pop af ld b,16 ;aantal kolommen loop2 out (c),a ;schrijf byte push af ld a,32 ;gevolgd door spatie out (c),a pop af inc a djnz loop2 ;doe 16 kolommen pop bc add hl,de ;volgende regel djnz loop klaar ld hl,(GETPNT) ;toets in buffer? ld a,(PUTPNT) sub l jr z,klaar ;nog niet di ;even niet storen ld (PUTPNT),hl ;PUTPNT <- GETPNT ld a,(hl) ;haal karakter ei cp 27 ;is het ESC? jr nz,klaar2 push de ld hl,oldhook ld de,H_TIMI ld bc,5 ldir ;zet hook terug pop de klaar2 ld b,HEIGHT ;aantal te bewaren regels push de ;bewaar regellengte ld de,ramsave ;startadres in RAM ld (saveptr),de ;initialiseren pop de ld hl,(scrstrt) rest push bc ;bewaar teller push de ;bewaar regellengte ld de,(saveptr) ld bc,WIDTH ex de,hl call LDIRVM pop de ;herstel regellengte pop bc ;en teller push hl ;bewaar hl push de ld hl,(saveptr) ;oude pointer ld de,WIDTH add hl,de ;plus regellengte ld (saveptr),hl ;berg weer op pop de pop hl ;herstel hl add hl,de ;nieuwe regel in VRAM djnz rest xor a ld (bezig),a jp oldhook hexlet defm "0123456789ABCDEF" bezig defb 0 saveptr defw 0 scrstrt defw 0 END ramsave defs WIDTH * HEIGHT LASTBYTE10 REM SCC1 20 REM 30 REM MSX/MS-DOS Computer Magazine 40 REM ingezonden door R.Gorter en G.Spilleman 50 POKE &HC000,0: POKE &HF677,&HC0: NEW p hl ;herstel hl add hl,de ;nieuwe regel in VRAM djnz rest xor a ld (bezig),a jp oldhook hexlet defm "0123456789ABCDEF" bezig defb 0 saveptr defw 0 scrstrt defw 0 END ramsave defs WIDTH * HEIGHT LASTBYTE10 REM SCC2 20 REM 30 REM MSX/MS-DOS Computer Magazine 40 REM 50 REM ingezonden door R.Gorter en G.Spilleman 60 REM 70 KEY 1,"POKE &H988F,0" + CHR$(13) 80 A$=BIN$(INP(&HA8)) 90 MID$(A$,3,1)="0": MID$(A$,4,1)="1": GOSUB 140 100 MID$(A$,3,1)="1": MID$(A$,4,1)="0": GOSUB 140 110 MID$(A$,3,1)="0": MID$(A$,4,1)="0": GOSUB 140 120 MID$(A$,3,1)="1": MID$(A$,4,1)="1": GOSUB 140 130 PRINT "Cartridge niet gevonden!": END 140 OUT&HA8,VAL("&B"+A$): POKE &H9000,0: IF PEEK(&H9000)=0 THEN RETURN 150 P=PEEK(&H9000): POKE &H9000,255-P: IF PEEK(&H9000)=P THEN RETURN 160 KEY ON: END door R.Gorter en G.Spilleman 50 POKE &HC000,0: POKE &HF677,&HC0: NEW p hl ;herstel hl add hl,de ;nieuwe regel in VRAM djnz rest xor a ld (bezig),a jp oldhook hexlet defm "0123456789ABCDEF" bezig defb 0 saveptr defw 0 scrstrt defw 0 END ramsave defs WIDTH * HEIGHT LASTBYTE10 REM SCCVB 20 REM 30 REM MSX/MS-DOS Computer Magazine 40 REM 50 REM ingezonden door R.Gorter en G.Spilleman 60 REM 70 POKE &H9000,&H3F: 'aanroepen S.C.C. 80 FOR X=&H9800 TO &H981F: POKE X,0: NEXT X: 'alle bits op 0 stellen 90 POKE &H988F,&B00001: 'alleen kanaal 1 aan 100 POKE &H988A,15: 'volume kanaal 1 maximaal 110 POKE &H98E0,0: 'normaal geluid 120 FOR X=&H9800 TO &H980F: POKE X,&H70: NEXT X:'vervorming instellen 130 POKE &H9880,172: POKE &H9881,1: 'de C in het 4e octaaf 140 END ooooooooooooooooooooooooooooooooooooooooooooooKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo''''''''''''''''''''''''''''''''KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''KKKKKKKKKKKKKKKKoooooooooooooooooooooooooo'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}