10 ' * AMSAISIE par Denis JARRIL *
20 MEMORY &2000:DIM O$(18):MODE 1:BORDER 0:INK 0,0:INK 1,13:CLS:PRINT:PRINT" I pour changer l'adresse courante":PRINT" S pour sauver les donnees":PRINT" Tapez les caracteres sans espace ni return (tout se fait automatiquement).":PRINT 30 PRINT:INPUT" ADRESSE DE DEPART : ",A$:D$=A$:IF A$="" THEN 30 40 A=VAL("&"+A$) 50 I=0:A$=HEX$(A,4):PRINT:PRINT A$;":";:C=VAL("&"+LEFT$(A$,2))+VAL("&"+RIGHT$(A$,2)) 60 T$="":WHILE T$="":CALL &BB8A:T$=INKEY$:CALL &BB8D:WEND:T$=UPPER$(T$) 70 IF T$="I" THEN CLS:RUN 80 IF T$<>"S" THEN 110 ELSE D=VAL("&"+D$):IF D>0 AND A<0 THEN A=A+65536 90 PRINT:PRINT:INPUT" NOM : ",N$:IF N$<>"" THEN SAVE N$,B,D,A-D+1 100 GOTO 50 110 IF T$<>CHR$(127) THEN 130 ELSE IF I=0 THEN 60 ELSE I=I-1:PRINT CHR$(8);" ";CHR$(8);:IF I/2<>ROUND(I/2) THEN PRINT CHR$(8);" ";CHR$(8); 120 GOTO 60 130 IF T$<"0" OR T$>"F" THEN SOUND 7,150,20:GOTO 60 140 IF T$<"A" AND T$>"9" THEN SOUND 7,150,20:GOTO 60 150 PRINT T$;:IF I=15 THEN PRINT":"; ELSE IF I/2<>ROUND(I/2) THEN PRINT" "; 160 O$(I)=T$ 170 I=I+1:IF I<18 THEN 60 180 FOR I=0 TO 15 STEP 2:X=VAL("&"+O$(I)+O$(I+1)):POKE A,X:A=A+1:C=C+X:NEXT:C=C AND &FF 190 IF C=VAL("&"+O$(I)+O$(I+1)) THEN 50 200 SOUND 7,50,10:SOUND 7,500,10:PRINT"ERREUR!";:GOTO 40 |