8-Bit Software Online Conversion

:0.$.MIDEDIT - Listing

10 REM "MIDIMEM-EDIT" Ch.W.Brederode, LISSE 1988, The Netherlands 15REM This is Public Domain 20 MODE6:HIMEM=&2800:DIM C%(15) 30 ONERROR GOTO 700 40 PRINT'" MIDIMEM-EDIT"'" ========== =="'' 50 PRINT" You can draw 15 pictures fo r MIDIMEM."' 70 PRINT" Choose colours with 0123456 789ABCDEF" 80 PRINT" Use the cursor-keys for edi ting and" 90 PRINT" press the spacebar."' 100 PRINT" Move the = below the pictur es with" 110 PRINT" the < or > (use SHIFT) to w here you" 120 PRINT" want it to be saved and AFT ER that" 130 PRINT" press CTRL/S. CTRL/L = read back for" 140 PRINT" changes. STOP WITH ESCAPE." ' 150 PRINT" When ready with editing sav e it by" 160 PRINT" *SAVE MIDIKRT 2800 +800"' 170 PRINT" Press any key..."; 180 Q=GET 190 MODE2:HIMEM=&2800:Z%=HIMEM:*FX4,1 191 *LO. MIDIKRT 192 PRINTTAB(11,3); 193 FOR N%=1 TO 7:COLOUR N%:PRINTCHR$( 48+N%);:NEXT 194 PRINTTAB(11,5)"BLACK=0" 200 C%=7:PRINTTAB(11,1)"colour";C%; 205 VDU23;8202;0;0;0; 210 PL=0:I%=11:J%=17:PRINTTAB(I%,J%)"= " 220 REM --- kleurentabel --- 230 FOR N%=0 TO 15:READ A%:C%(N%)=A%:N EXT 240 DATA 0,1,4,5,16,17,20,21,64,65,68, 69,80,81,84,85 250 REM --- tekenblokje en cursor --- 260 VDU23,240,15,15,15,15,15,15,15,15 265 VDU23,241,0,0,0,6,6,0,0,0 270 REM --- tekenveld --- 280 MOVE50,1000:DRAW586,1000:DRAW586,4 68:DRAW50,468:DRAW50,1000 290 P%=&3000+13*640+48:M%=&2800 300 REM --- display 15 figuren --- 310 PROCdisplay 320 X%=32:Y%=988:PROCc 330 REM --- cursor --- 340 REPEAT PRINTTAB(17,1);C%;" "; 345 Q%=GET 350 IF Q%=136 PROCc:X%=X%-32-32*(X%=32 ) :PROCc:UNTILFALSE 355 IF Q%=137 PROCc:X%=X%+32+32*(X%=51 2):PROCc:UNTILFALSE 360 IF Q%=138 PROCc:Y%=Y%-32-32*(Y%=50 8):PROCc:UNTILFALSE 370 IF Q%=139 PROCc:Y%=Y%+32+32*(Y%=98 8):PROCc:UNTILFALSE 380 IF Q%=12 PROCdecodeer:X%=32:Y%=988 :PROCc:C%=7:UNTILFALSE 390 IF Q%=19 PROCc:PROCcodeer:PROCwis: X%=32:Y%=988:PROCc:C%=7:UNTILFALSE 400 IF Q%>47 AND Q%<58 C%=Q%-48:UNTILF ALSE 410 IF Q%>64 AND Q%<71 C%=Q%-55:UNTILF ALSE 420 IF Q%=60 OR Q%=62 PROCkies:UNTILFA LSE 430 GCOL0,C%:VDU5,240,4:GCOL0,7:PROCc 440 UNTILFALSE 450DEFPROCcodeer 460 U%=64:V%=984:LOCAL F%,G%,S%,T% 470 FOR F%=0 TO 14 STEP2:FOR G%=0 TO 1 5 490 S%=U%+32*F%:T%=V%-32*G% 500 Q%=POINT(S%,T%):W%=C%(Q%)*2 505 Q%=POINT(S%+32,T%):W%=W%+C%(Q%) 510 ?Z%=W%:Z%=Z%+1:NEXT:NEXT 520 T%=PL:PROCshow 530 Z%=&2800+PL*128:Q%=62:PROCkies 531 ENDPROC 532DEFPROCdecodeer 533 Z%=&2800+128*PL:VDU5 534 FOR B%=0 TO 14 STEP2:X%= 32+32*B% 535 FOR H%=0 TO 15:Y%=988-32*H% 536 E%=?Z% 537 C%=(E%AND128)/16+(E%AND32)/8+(E%AN D8)/4+(E%AND2)/2 538 GCOL0,C%:MOVEX%,Y%:VDU240 539 E%=?Z%:C%=(E%AND64)/8+(E%AND16)/4+ (E%AND4)/2+(E%AND1) 540 GCOL0,C%:MOVEX%+32,Y%:VDU240 542 Z%=Z%+1:NEXT:NEXT 544 Z%=&2800+128*PL:VDU4 549 ENDPROC 550DEFPROCdisplay 551 FOR T%=0 TO 14:PROCshow:NEXT:PL=0 552 ENDPROC 559DEFPROCshow 560 U%=(T%+3)MOD6:V%=(T%+3)DIV6:L%=M%+ T%*128 570 SOUND1,-1,100,1 571 Q%=P%+96*U%+3840*V% 572 FOR B%=0 TO 7:W%=Q%+B%*8 573 FOR H%=0 TO 3:E%=W%+H%*640 574 E%?0=L%?0:E%?1=L%?0:E%?2=L%?1:E%?3 =L%?1 575 E%?4=L%?2:E%?5=L%?2:E%?6=L%?3:E%?7 =L%?3 576 L%=L%+4:NEXT:NEXT 590 ENDPROC 600DEFPROCwis 610 FOR M=1 TO 16:PRINTTAB(1,M)" ":NEXT 620 ENDPROC 630DEFPROCkies 640 PRINTTAB(I%,J%)" " 650 IF Q%=62 AND PL<14 PL=PL+1:Z%=Z%+1 28 660 IF Q%=60 AND PL>0 PL=PL-1:Z%=Z%-1 28 670 I%=2+((PL+3)MOD6)*3:J%=17+6*((PL+3 )DIV6) 680 PRINTTAB(I%,J%)"=" 690 ENDPROC 691DEFPROCc:GCOL3,7:MOVEX%,Y%:VDU5,241 ,8,4:GCOL0,7 692 ENDPROC 700 *FX4