10 REM "MINIMEM-EDIT" Ch.W.Brederode,
LISSE 1988, The Netherlands
15REM This is Public Domain
20 MODE6:HIMEM=&2A00:DIM C%(15)
30 ONERROR GOTO 700
40 PRINT'" MINIMEM-EDIT"'" ==========
=="''
50 PRINT" You can draw 6 pictures for
MINIMEM."'
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 MINIKRT 2A00 +600"'
170 PRINT" Press any key...";
180 Q=GET
190 MODE2:HIMEM=&2A00:Z%=HIMEM:*FX4,1
191 *LO. MINIKRT
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 "
205 VDU23;8202;0;0;0;
210 PL=0:I%=13:J%=18:PRINTTAB(I%,J%)"=
"
220 REM --- kleurentabel ---
230 FOR N=0 TO 15:READ A%:C%(N)=A%:NEX
T
240 DATA 0,3,12,15,48,51,60,63,192,195
,204,207,240,243,252,255
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+9*640+32:M%=&2A00
300 REM --- display 6 figuren ---
310 PROCdisplay
320 X%=32:Y%=988:PROCc
330 REM --- cursor ---
340 REPEAT PRINTTAB(17,1);C%;" "; :Q=G
ET
350 IF Q=12 PROCdecodeer:X%=32:Y%=988:
PROCc:UNTILFALSE
355 IF Q=19 PROCc:PROCcodeer:PROCwis:P
ROCc:UNTIL FALSE
360 IF Q>47 AND Q<58 C%=Q-48:PRINTTAB(
11,1)"colour ";C%;" ":UNTILFALSE
370 IF Q>64 AND Q<71 C%=Q-55:PRINTTAB(
11,1)"colour ";C%;" ":UNTILFALSE
380 IF Q=60 OR Q=62 PROCkies:UNTILFALS
E
390 IF Q=136 PROCc:X%=X%-32-32*(X%=32)
:PROCc:UNTILFALSE
400 IF Q=137 PROCc:X%=X%+32+32*(X%=512
):PROCc:UNTILFALSE
410 IF Q=138 PROCc:Y%=Y%-32-32*(Y%=508
):PROCc:UNTILFALSE
420 IF Q=139 PROCc:Y%=Y%+32+32*(Y%=988
):PROCc:UNTILFALSE
430 GCOL0,C%:VDU5,240,4:GCOL0,7:PROCc
440 UNTILFALSE
450DEFPROCcodeer
460 U%=70:V%=984
470 FOR F%=0 TO 15:FOR G%=0 TO 15
490 S%=U%+32*F%:T%=V%-32*G%
500 Q%=POINT(S%,T%):W%=C%(Q%)
510 ?Z%=W%:Z%=Z%+1:NEXT:NEXT
520 T%=PL:PROCshow
530 Z%=&2A00+PL*256:Q=62:PROCkies
531 ENDPROC
532DEFPROCdecodeer
533 Z%=&2A00+256*PL:VDU5
534 FOR B%=0 TO 15:X%= 32+32*B%
535 FOR H%=0 TO 15:Y%=988-32*H%
536 E%=?Z%:C%=(E%AND64)/8+(E%AND16)/4+
(E%AND4)/2+(E%AND1)
537 GCOL0,C%:MOVEX%,Y%:VDU240
538 Z%=Z%+1:NEXT:NEXT
539 Z%=&2A00+256*PL:VDU4
549 ENDPROC
550DEFPROCdisplay
551 FOR PL=0 TO 5:T%=PL:PROCshow:NEXT:
PL=0
552 ENDPROC
559DEFPROCshow
560 U%=(T%+2)MOD4:V%=(T%+2)DIV4:L%=M%+
T%*256
570 SOUND1,-1,100,1
571 Q%=P%+160*U%+7040*V%
572 FOR B%=0 TO15:W%=Q%+B%*8
573 FOR H%=0 TO 7
574 W%?0=?L%:W%?1=?L%:W%?2=?L%:W%?3=?L
%:L%=L%+1
575 W%?4=?L%:W%?5=?L%:W%?6=?L%:W%?7=?L
%:L%=L%+1
576 W%=W%+640:NEXT:NEXT
577 SOUND1,-1,200,1
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<5 PL=PL+1:Z%=Z%+256
660 IF Q=60 AND PL>0 PL=PL-1:Z%=Z%-256
670 I%=3+((PL+2)MOD4)*5:J%=18+11*((PL+
2)DIV4)
680 PRINTTAB(I%,J%)"="
690 ENDPROC
691DEFPROCc:GCOL3,7:MOVEX%,Y%:VDU5,241
,8,4:GCOL0,7
692 ENDPROC
700 *FX4