10 KEY1,"SCREEN0"+CHR$(13)
20 REM EDIT PER LIVELLI
30 REM KILL MICE
40 REM UPDATE 1/12/2011
50 REM (C)2011 GAMECAST
60 REM
70 REM EDITMICE.BAS
80 REM
90 SCREEN1,2:COLOR15,1,1:WIDTH32:KEYOFF
100 CLEAR200,&HDFFF
110 BLOAD"V1EDITOR.BIN",R
120 DEFINTA-Z
130 REM DEFINIZIONE SPRITE 8x8
140 S$=SPACE$(32)
150 RESTORE210:FOR F=1 TO 16
160 READ A$
170 MID$(S$,F,1)=CHR$(VAL("&B"+LEFT$(A$,8)))
180 MID$(S$,F+16)=CHR$(VAL("&B"+RIGHT$(A$,8)))
190 NEXT F
200 SPRITE$(1)=S$
210 DATA 1111111111111111
220 DATA 1000000000000001
230 DATA 1000000000000001
240 DATA 1000000000000001
250 DATA 1000000000000001
260 DATA 1000000000000001
270 DATA 1000000000000001
280 DATA 1000000000000001
290 DATA 1000000000000001
300 DATA 1000000000000001
310 DATA 1000000000000001
320 DATA 1000000000000001
330 DATA 1000000000000001
340 DATA 1000000000000001
350 DATA 1000000000000001
360 DATA 1111111111111111
370 'FORA=32 TO 255:PRINTCHR$(A);:NEXT A:END
380 GOSUB790
390 VPOKE8217,16*6:VPOKE8218,16*6:VPOKE8219!,16*6:VPOKE8213,16*14
391 VPOKE8220,16*6:VPOKE8221,16*6
400 VPOKE8209,16*11:VPOKE8210,16*12+14
410 REM GESTIONE PROGRAMMA
420 PG=0:A=USR8(PG):LOCATE5,0:PRINT"PAGE";PG
430 X=112:Y=96:PUT SPRITE 1,(X,Y),15,1
440 J=STICK(0):K$=INKEY$:IF K$="" THEN 440
450 IF J=1 THEN Y=Y-8
460 IF J=3 THEN X=X+8
470 IF J=5 THEN Y=Y+8
480 IF J=7 THEN X=X-8
490 IF K$=" " THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,32:VPOKE6144+XT+1+YT*32,32:VPOKE6144+XT+32+YT*32,32:VPOKE6144+XT+33+YT*32,32
500 IF K$="1" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,200:VPOKE6144+XT+1+YT*32,202:VPOKE6144+XT+32+YT*32,201:VPOKE6144+XT+33+YT*32,203
510 IF K$="2" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,204:VPOKE6144+XT+1+YT*32,206:VPOKE6144+XT+32+YT*32,205:VPOKE6144+XT+33+YT*32,207
520 IF K$="3" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,208:VPOKE6144+XT+1+YT*32,210:VPOKE6144+XT+32+YT*32,209:VPOKE6144+XT+33+YT*32,211
530 IF K$="4" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,212:VPOKE6144+XT+1+YT*32,214:VPOKE6144+XT+32+YT*32,213:VPOKE6144+XT+33+YT*32,215
540 IF K$="5" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,216:VPOKE6144+XT+1+YT*32,218:VPOKE6144+XT+32+YT*32,217:VPOKE6144+XT+33+YT*32,219
550 IF K$="6" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,220:VPOKE6144+XT+1+YT*32,222:VPOKE6144+XT+32+YT*32,221:VPOKE6144+XT+33+YT*32,223
551 IF K$="W" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,224:VPOKE6144+XT+1+YT*32,226:VPOKE6144+XT+32+YT*32,225:VPOKE6144+XT+33+YT*32,227
552 IF K$="E" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,228:VPOKE6144+XT+1+YT*32,230:VPOKE6144+XT+32+YT*32,229:VPOKE6144+XT+33+YT*32,231
553 IF K$="R" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,232:VPOKE6144+XT+1+YT*32,234:VPOKE6144+XT+32+YT*32,233:VPOKE6144+XT+33+YT*32,235
560 IF K$="7" THEN LOCATE X/8,Y/8:PRINTCHR$(176)+CHR$(177):LOCATEX/8,Y/8+1:PRINTCHR$(178)+CHR$(179)
570 IF K$="8" THEN LOCATE X/8,Y/8:PRINTCHR$(168)+CHR$(170):LOCATEX/8,Y/8+1:PRINTCHR$(169)+CHR$(171)
580 IF K$="9" THEN XT=X/8:YT=Y/8:VPOKE6144+XT+YT*32,136:VPOKE6144+XT+1+YT*32,137
590 IF K$="0" THEN LOCATE X/8,Y/8:PRINTCHR$(144)
600 IF K$="-" THEN PUTSPRITE2,(8,24),15,2:PUTSPRITE3,(8,24),4,3:PUTSPRITE4,(112,24),15,12:PUTSPRITE5,(72,168),15,12
610 IF K$="=" THEN FORA=1TO5:PUTSPRITEA,,0,0:NEXTA
620 IF K$="\" THEN GOSUB770
630 IF K$="S" THEN FORA=1TO5:PUTSPRITEA,,0,0:NEXTA:LOCATE5,0:PRINT"      ":BSAVE"KILLMICE.VRM",8224,14335,S:LOCATE5,0:PRINT"PAGE";PG
640 IF K$="L" THEN BLOAD"KILLMICE.VRM",S:A=USR8(0)
650 IF K$="D" THEN A=USR7(PG)
660 IFK$="Z"THENPG=PG-1:IFPG<0THENPG=0:A=USR8(PG):LOCATE5,0:PRINT"PAGE";PG:ELSEA=USR8(PG):LOCATE5,0:PRINT"PAGE";PG
670 IFK$="X"THENPG=PG+1:IFPG>7THENPG=7:A=USR8(PG):LOCATE5,0:PRINT"PAGE";PG:ELSEA=USR8(PG):LOCATE5,0:PRINT"PAGE";PG
680 IFK$="Q"THENPG=PG+3:IFPG>7THENPG=7:A=USR8(PG):LOCATE5,0:PRINT"PAGE";PG:ELSEA=USR8(PG):LOCATE5,0:PRINT"PAGE";PG
690 IFK$="A"THENPG=PG-3:IFPG<0THENPG=0:A=USR8(PG):LOCATE5,0:PRINT"PAGE";PG:ELSEA=USR8(PG):LOCATE5,0:PRINT"PAGE";PG
700 PUT SPRITE 1,(X,Y),15,1
710 IF X<0THEN X=X+8
720 IF X>248 THEN X=X-8
730 IF Y<0 THEN Y=Y+8
740 IF Y>176 THEN Y=Y-8
750 GOTO 440
760 REM ROUTINE STAMPA ULTIME 2 RIGHE CON VPOKE
770 FOR A=1 TO 64:VPOKE 6847+A,144:NEXTA:RETURN
780 REM DEFINE CHARS
790 REM DEFINIZIONE CARATTERI
800 RESTORE 820:FOR A=0 TO 7:READ B:VPOKE 1024+A,B:NEXT A
810 REM MURO
820 DATA 255,195,129,129,129,129,195,255
830 REM 1UP
840 RESTORE850:FOR A=124*8 TO 125*8-1:READ B:VPOKEA,B:NEXT A
850 DATA 126,255,128,255,229,197,65,62
860 REM MATTONE
870 RESTORE880:FOR A=144*8 TO 145*8-1:READ B:VPOKEA,B:NEXT A
880 DATA 251,251,251,0,127,127,127,0
890 RESTORE 910:FOR A=0 TO 15:READ B:VPOKE 1088+A,B:NEXT A
900 REM SCALE
910 DATA 192,192,192,255,255,192,192,192
920 DATA 3,3,3,255,255,3,3,3
930 RESTORE960:FOR A=168*8 TO 172*8-1:READ B:VPOKEA,B:NEXT A
940 RESTORE980:FOR A=176*8 TO 184*8-1:READ B:VPOKEA,B:NEXT A
950 REM MOUSE
960 DATA 112,248,251,255,123,59,126,127,127,62,135,95,71,63,14,30,28,62,190,254,188,184,252,252,252,248,192,240,192,192,224,240
970 REM DIAMOND
980 DATA 0,0,31,49,74,132,255,68,0,0,248,140,82,33,255,34,34,18,9,5,2,1,0,0,68,72,144,160,64,128,0,0
990 RESTORE1000:FOR A=200*8 TO 236*8-1:READ B:VPOKEA,B:NEXT A:RETURN
1000 DATA 0,0,0,128,128,255,191,255,255,191,255,128,128,0,0,0
1010 DATA 0,0,0,1,1,255,253,255,255,253,255,1,1,0,0,0
1020 DATA 31,5,7,7,7,7,7,7,7,7,7,7,7,7,5,31
1030 DATA 248,160,224,224,224,224,224,224,224,224,224,224,224,224,160,248
1040 DATA 0,0,0,128,128,254,191,255,255,191,255,135,135,7,5,31
1050 DATA 0,0,0,0,0,0,128,192,192,224,224,224,224,224,160,248
1060 DATA 31,5,7,135,135,255,191,255,255,191,254,128,128,0,0,0
1070 DATA 248,160,224,224,224,224,224,192,192,128,0,0,0,0,0,0
1080 DATA 0,0,0,0,0,0,1,3,3,7,7,7,7,7,5,31
1090 DATA 0,0,0,1,1,127,253,255,255,253,255,225,225,224,160,248
1100 DATA 31,5,7,7,7,7,7,3,3,1,0,0,0,0,0,0
1110 DATA 248,160,224,225,225,255,253,255,255,253,127,1,1,0,0,0
1120 DATA 31,5,7,135,143,255,191,255,255,191,255,143,135,7,5,31
1130 DATA 248,160,224,225,241,255,253,255,255,253,255,241,225,224,160,248
1140 DATA 31,5,7,135,143,255,191,255,255,191,255,128,128,0,0,0
1150 DATA 248,160,224,225,241,255,253,255,255,253,255,1,1,0,0,0
1160 DATA 0,0,0,128,128,255,191,255,255,191,255,143,135,7,5,31
1170 DATA 0,0,0,1,1,255,253,255,255,253,255,241,225,224,160,248
