This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
-
Entry name:MAC/65 Text Generator
-
Category:Programming utilities
-
Publisher/Developer:Flop 6
-
Year:1988



Listing 1
0 REM ****TEXTGEN pro MAC65**** 1 REM Komentar od radku 32000 10 GOTO 30000 100 ERRL=MENU:JMPZ=ADKS+6*N:STZ=JMPZ:STK=STZ 110 IF N=0 THEN ERROR$="EMPTY TABLE":GOTO ERROR 120 ? "FAZE 1":ERROR$="ENDADRESS":FOR J=1 TO N:U=ADKS+6*J-2:ON PEEK(U) GOTO 130,400,340,340 130 DEZ1=PEEK(U-4)+256*PEEK(U-3):DEZ2=DEZ1-ROZD:KON=PEEK(U-2)+256*PEEK(U-1) 140 DEZ=PEEK(ADOBR):IF DEZ=255 THEN DEZ=-1 150 POKE ADOBR,DEZ+1:IF PEEK(764)=28 THEN POP:GOTO BREAK 160 KOD=PEEK(DEZ2):DEL=ASC(DEL$(KOD+1,KOD+1)):ADDR=ASC(ADDR$(KOD+1,KOD+1)) 170 IF DEZ1+DEL>KON THEN GOTO 410 180 IF DEL=0 THEN ERROR$="'???'":GOTO 410 190 IF ADDR<>10 THEN GOTO 220 200 FLG=PEEK(DEZ2+1):IF FLG>127 THEN FLG=FLG-256 210 FLG=FLG+DEZ1+2 220 IF (DEL<3) AND (ADDR<>10) THEN GOTO 330 230 IF ADDR<>10 THEN FLG=PEEK(DEZ2+1)+256*PEEK(DEZ2+2) 240 U=USR(ADR(LOOK$),FLG,ADKS,JMPZ):DEZ=(U-ADKS-2)/6 250 IF DEZ<>INT(DEZ) THEN GOTO 330 260 DEZ=PEEK(U+2):IF DEZ<>1 THEN MN=ASC(MN$(KOD+1,KOD+1)):GOTO 280 265 IF JMPZ=STZ THEN U=JMPZ:GOTO 300 270 U=USR(ADR(LOOK$),FLG,JMPZ,STZ):IF U=JMPZ THEN GOTO 300 275 GOTO 290 280 IF (ADDR=10) OR (MN=28) OR (MN=29) THEN ERROR$="JUMP TO DATA":GOTO 410 282 IF STZ=STK THEN U=STZ:GOTO 300 285 U=USR(ADR(LOOK$),FLG,STZ,STK):IF U=STZ THEN GOTO 300 290 IF FLG=PEEK(U-2)+256*PEEK(U-1) THEN GOTO 330 300 IF STK+2>ADK THEN ERROR$="OUT OF MEMORY":GOTO 410 310 IF DEZ=1 THEN STZ=STZ+2 320 DEZ=U:U=USR(ADR(MOVE$),U,STK):STK=STK+2:U=DEZ:DEZ=FLG:L=DEZ1:FLG=DEZ2 325 GOSUB BYTE:POKE U,DEZ1:POKE U+1,DEZ2:DEZ1=L:DEZ2=FLG 330 DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF DEZ1<KON THEN GOTO 140 340 NEXT J:GOTO 500 400 DEZ1=PEEK(U-4)+256*PEEK(U-3):KON=PEEK(U-2)+256*PEEK(U-1) 405 DEZ=(KON-DEZ1)/2:IF DEZ=INT(DEZ) THEN GOTO 340 410 ? "IN ";DEZ1:POP:GOTO ERROR 500 ? " ENTER FILESPEC :";:GOSUB IN:KOD=0:IF HEX$(1,1)="C" THEN KOD=128 510 OPEN #1,8,KOD,HEX$:JM=JMPZ:ST=STZ:BR=0:JM1=PEEK(JM)+256*PEEK(JM+1):ST1=PEEK(ST)+256*PEEK(ST+1) 515 POKE 16,64:POKE 53774,64 520 IF JM=STZ THEN JM1=70000 530 IF ST=STK THEN ST1=70000 540 ? "FAZE 2":FOR J=1 TO N:U=ADKS+6*J-2:DEZ1=PEEK(U-4)+256*PEEK(U-3):DEZ2=DEZ1-ROZD 550 KON=PEEK(U-2)+256*PEEK(U-1):ON PEEK(U) GOTO 560,710,770,780 560 KOD=PEEK(DEZ2)+1:DEL=ASC(DEL$(KOD,KOD)):IF (JM1>=DEZ1+DEL) AND (ST1>=DEZ1+DEL) THEN GOTO 670 570 IF JM1=DEZ1 THEN HEX$="JM":HEX$(3,3)=STR$((JM-JMPZ)/2):GOTO 610 580 IF ST1=DEZ1 THEN HEX$="ST":HEX$(3,3)=STR$((ST-STZ)/2):ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):GOTO 620 590 HEX$="BR":HEX$(3,3)=STR$(BR):BR=BR+1 600 ? #1;"JM";(JM-JMPZ)/2;"= ";HEX$;"+";JM1-DEZ1 610 JM=JM+2:JM1=PEEK(JM)+256*PEEK(JM+1):IF JM=STZ THEN JM1=70000 620 IF JM1<DEZ1+DEL THEN GOTO 600 630 IF ST=STK THEN ST1=70000 640 IF ST1>=DEZ1+DEL THEN GOTO 670 650 ? #1;"ST";(ST-STZ)/2;" EQU ";HEX$;:DEZ=ST1-DEZ1:IF DEZ>0 THEN ? #1;"+";DEZ; 660 ? #1:? #1;:ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):GOTO 630 670 DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF PEEK(764)=28 THEN GOTO 700 680 IF DEZ1<KON THEN GOTO 560 690 NEXT J:GOTO 1000 700 POP:CLOSE #1:GOTO BREAK 710 DEL=8 720 IF DEZ1+DEL>KON THEN DEL=KON-DEZ1 730 IF ST1<DEZ1+DEL THEN GOSUB 790 740 DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF PEEK(764)=28 THEN GOTO 700 750 IF DEZ1<KON THEN GOTO 720 760 GOTO 690 770 DEL=6:GOTO 720 780 DEL=20:GOTO 720 790 IF ST1=DEZ THEN HEX$="ST":HEX$(3,3)=STR$((ST-STZ)/2):GOTO 820 800 HEX$="BR":HEX$(3,3)=STR$(BR):BR=BR+1 810 ? #1;"ST";(ST-STZ)/2;"= ";HEX$;"+";ST1-DEZ1 820 ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):IF ST=STZ THEN ST1=70000 830 IF ST1<DEZ1+DEL THEN GOTO 810 840 RETURN 1000 ? "FAZE 3":JM=JMPZ:ST=STZ:BR=0 1010 JM1=PEEK(JM)+256*PEEK(JM+1):ST1=PEEK(ST)+256*PEEK(ST+1):IF JM=STZ THEN JM1=70000 1020 IF ST=STK THEN ST1=70000 1030 FOR J=1 TO N:U=ADKS+6*J-2:DEZ1=PEEK(U-4)+256*PEEK(U-3):DEZ2=DEZ1-ROZD:KON=PEEK(U-2)+256*PEEK(U-1) 1035 DEZ=DEZ1:L=4:GOSUB DEZHEX:? #1;" *= $";HEX$ 1040 ON PEEK(U) GOTO 1050,1360,1430 1050 KOD=PEEK(DEZ2)+1:DEL=ASC(DEL$(KOD,KOD)):ADDR=ASC(ADDR$(KOD,KOD)):MN=ASC(MN$(KOD,KOD)) 1060 IF (JM1>=DEZ1+DEL) AND (ST1>=DEZ1+DEL) THEN GOTO 1160 1070 IF JM1=DEZ1 THEN ? #1;"JM";(JM-JMPZ)/2;:GOTO 1110 1080 IF ST1=DEZ1 THEN ? #1;"ST";(ST-STZ)/2;:ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):GOTO 1100 1090 ? #1;"BR";BR;:BR=BR+1 1100 IF JM1>=DEZ1+DEL THEN GOTO 1130 1110 JM=JM+2:JM1=PEEK(JM)+256*PEEK(JM+1):IF JM=STZ THEN JM1=70000 1120 GOTO 1100 1130 IF ST=STK THEN ST1=70000 1140 IF ST1>=DEZ1+DEL THEN GOTO 1160 1150 ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):GOTO 1130 1160 ? #1;" ";MNEM$(3*MN+1,3*MN+3);:FLG=PEEK(DEZ2+1) 1170 IF (DEL<3) AND (ADDR<>10) THEN L=2:GOTO 1260 1180 L=4:IF ADDR<>10 THEN FLG=FLG+256*PEEK(DEZ2+2):GOTO 1210 1190 IF FLG>127 THEN FLG=FLG-256 1200 FLG=FLG+DEZ1+2 1210 U=USR(ADR(LOOK$),FLG,ADKS,JMPZ):DEZ=(U-ADKS-2)/6:IF DEZ<>INT(DEZ) THEN GOTO 1260 1220 DEZ=PEEK(U+2):IF DEZ<>1 THEN GOTO 1240 1230 U=USR(ADR(LOOK$),FLG,JMPZ,STZ):DEZ=(U-JMPZ-2)/2:HEX1$=" JM":GOTO 1250 1240 U=USR(ADR(LOOK$),FLG,STZ,STK):DEZ=(U-STZ-2)/2:HEX1$=" ST" 1250 HEX1$(4)=STR$(DEZ):GOTO 1270 1260 DEZ=FLG:GOSUB DEZHEX:HEX1$="$":HEX1$(2)=HEX$:IF DEL=1 THEN GOTO 1280 1270 ? #1;" ";ADRZ$(2*ADDR+1,2*ADDR+1);HEX1$;:HEX1$=ADRK$(3*ADDR+1,3*ADDR+3):IF HEX1$<>" " THEN ? #1;HEX1$; 1280 ? #1:? #1;:DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF PEEK(764)=28 THEN GOTO 700 1290 IF DEZ1<KON THEN GOTO 1050 1300 NEXT J:CLOSE #1:? " END OF SAVING":GOTO MENU 1310 IF ST1=DEZ1 THEN ? #1;"ST";(ST-STZ)/2;:GOTO 1330 1320 ? #1;"BR";BR;:BR=BR+1 1330 ST=ST+2:ST1=PEEK(ST)+256*PEEK(ST+1):IF ST=STZ THEN ST1=70000 1340 IF ST1<DEZ1+DEL THEN GOTO 1330 1350 RETURN 1360 DEL=8:IF DEZ1+DEL>KON THEN DEL=KON-DEZ1 1370 IF ST1<DEZ1+DEL THEN GOSUB 1310 1380 ? #1;" .WORD ";:FOR FLG=0 TO DEL-1 STEP 2:DEZ=PEEK(DEZ2+FLG)+256*PEEK(DEZ2+FLG+1):L=4:GOSUB DEZHEX 1390 ? #1;"$";HEX$;:IF FLG<DEL-2 THEN ? #1;","; 1400 NEXT FLG:? #1:? #1;:DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF PEEK(764)=28 THEN GOTO 700 1410 IF DEZ1<KON THEN GOTO 1360 1420 GOTO 1300 1430 DEL=6:IF DEZ1+DEL>KON THEN DEL=KON-DEZ1 1440 IF ST1<DEZ1+DEL THEN GOSUB 1310 1450 ? #1;" .BYTE ";:FOR FLG=0 TO DEL-1:DEZ=PEEK(DEZ2+FLG):L=2:GOSUB DEZHEX 1460 ? #1;"$";HEX$;:IF FLG<DEL-1 THEN ? #1;","; 1470 NEXT FLG:? #1:? #1;:DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:IF PEEK(764)=28 THEN GOTO 700 1480 IF DEZ1<KON THEN GOTO 1430 1490 GOTO 1300 3000 GOSUB BUFF:?:? "FROM? : $"; 3010 GOSUB ADRESS:IF KOD=126 THEN GOTO 3010 3020 GOSUB HEXDEZ:? 3030 IF (DEZ<ADZR) OR (DEZ>ADKR) THEN ERROR$="ADRESS":ERRL=MENU:POP:GOTO ERROR 3040 POKE 752,1:RETURN 3100 HEX$="" 3110 FOR I=L TO 1 STEP -1:L=DEZ:DEZ=INT(DEZ/16):L=L-DEZ*16:IF L<10 THEN HEX$(I,I)=STR$(L):GOTO 3130 3120 HEX$(I,I)=CHR$(L+55) 3130 NEXT I:RETURN 3200 DEZ=0:FOR I=1 TO 4:HEX1$=HEX$(I,I):IF HEX1$<"A" THEN DEZ=DEZ*16+VAL(HEX1$):GOTO 3220 3210 DEZ=DEZ*16+ASC(HEX1$)-55 3220 NEXT I:RETURN 3300 DEZ2=INT(DEZ/256):DEZ1=DEZ-DEZ2*256:RETURN 3400 POKE 20,0 3410 IF PEEK(20)<100 THEN 3410 3420 RETURN 3500 ?:POKE 752,1:? "*** BREAK ***";:GOSUB WAIT:POKE 752,0:? "";:GOTO MENU 3600 POKE 752,1:? "Error -";ERROR$;:GOSUB WAIT:? "";:POKE 752,0:GOTO ERRL 3700 HEX$="" 3710 POKE 694,0:L=LEN(HEX$):GET #2,KOD:IF (KOD=155) AND (L=4) THEN RETURN 3720 IF KOD=27 THEN POP:GOTO BREAK 3730 IF (KOD=126) AND (L>1) THEN HEX$=HEX$(1,L-1):? CHR$(KOD);:GOTO 3710 3740 IF (KOD=126) AND (L>0) THEN ? CHR$(KOD);:GOTO 3700 3750 IF KOD=126 THEN RETURN 3760 IF KOD>95 THEN POKE 702,64 3770 IF ((KOD<48) OR (KOD>57)) AND ((KOD<65) OR (KOD>70)) OR (L=4) THEN GOTO 3710 3780 ? CHR$(KOD);:HEX$(L+1,L+1)=CHR$(KOD):GOTO 3710 3800 DEZ=ADZR:L=4:GOSUB DEZHEX:HEX1$=HEX$:DEZ=ADKR:L=4:GOSUB DEZHEX:? "BUFFER : $";HEX1$;" -$";HEX$:RETURN 3900 HEX$="" 3910 L=LEN(HEX$):GET #2,KOD:IF (KOD=155) AND (L>0) THEN ?:RETURN 3920 IF (KOD=27) THEN POP:GOTO BREAK 3930 IF (KOD=126) AND (L>1) THEN HEX$=HEX$(1,L-1):? CHR$(KOD);:GOTO 3910 3940 IF (KOD=126) AND (L>0) THEN ? CHR$(KOD);:GOTO 3900 3950 IF (KOD=155) OR (KOD=126) OR (L=12) THEN GOTO 3910 3960 ? "";CHR$(KOD);:HEX$(L+1,L+1)=CHR$(KOD):GOTO 3910 4000 GOSUB FROM 4010 DEZ1=DEZ:DEZ2=DEZ1-ROZD:?:? 4020 IF PEEK(764)=28 THEN GOTO BREAK 4030 IF DEZ1>ADKR THEN 4020 4040 KOD=PEEK(DEZ2):DEZ=DEZ1:L=4:GOSUB DEZHEX:? HEX$;" ";:DEZ=KOD:L=2:GOSUB DEZHEX:? HEX$;" "; 4050 L=KOD+1:ADDR=ASC(ADDR$(L,L)):DEL=ASC(DEL$(L,L)):MN=ASC(MN$(L,L)):IF DEZ1+DEL-1>ADKR THEN ADDR=0:DEL=0:MN=0 4060 IF DEL<>0 THEN GOTO 4090 4070 IF KOD=155 THEN KOD=46 4080 ? " '";CHR$(KOD);"' ";:DEL=1:GOTO 4150 4090 IF DEL=1 THEN ? " ";:GOTO 4150 4100 FLG=PEEK(DEZ2+1):DEZ=FLG:L=2:GOSUB DEZHEX:? HEX$;" ";:IF DEL=2 THEN ? " ";:GOTO 4120 4110 DEZ=PEEK(DEZ2+2):FLG=FLG+256*DEZ:L=2:GOSUB DEZHEX:? HEX$;:L=4:GOTO 4150 4120 IF ADDR<>10 THEN L=2:GOTO 4150 4130 IF FLG>127 THEN FLG=FLG-256 4140 FLG=FLG+DEZ1+2:L=4 4150 ? " ";MNEM$(3*MN+1,3*MN+3);" ";ADRZ$(2*ADDR+1,2*ADDR+2); 4160 IF DEL>1 THEN DEZ=FLG:GOSUB DEZHEX:? HEX$; 4170 ? ADRK$(3*ADDR+1,3*ADDR+3):DEZ1=DEZ1+DEL:DEZ2=DEZ2+DEL:GOTO 4020 5000 ERROR$="SPEC":ERRL=MENU:TRAP ERROR 5010 DEZ=ADZS:GOSUB BYTE:? "Bufferadress : $"; 5013 GOSUB ADRESS:IF KOD=126 THEN GOTO 5013 5017 GOSUB HEXDEZ:ADZR=DEZ:ROZD=ADZR-ADZS:N=0:L$="0" 5020 ?:? "Enter Filespec : ";:GOSUB IN:KOD=0:IF HEX$(1,1)="C" THEN KOD=128 5030 OPEN #1,4,KOD,HEX$:POKE 848+2,7:POKE 848+4,DEZ1:POKE 848+5,DEZ2:POKE 848+8,0:POKE 848+9,ADK/256-DEZ2 5040 POKE 752,1:ERROR$="LOAD":ERRL=5050:U=USR(ADR(CIO$)) 5050 CLOSE #1:DEZ=PEEK(848+8)+256*PEEK(848+9):IF DEZ=0 THEN GOTO MENU 5060 ADKS=ADZS+DEZ-1:ADKR=ADZR+DEZ-1:DEZ=ADKR:L=4:GOSUB DEZHEX:? "FILEEND : $";HEX$:?:L$="1":GOTO MENU 6000 GOSUB FROM 6010 DEZ1=DEZ:DEZ2=DEZ1-ROZD:?:DEL=7 6020 IF PEEK(764)=28 THEN GOTO BREAK 6030 IF DEZ1>ADKR THEN 6020 6040 ?:DEZ=DEZ1:L=4:GOSUB DEZHEX:? HEX$;:IF ADKR-DEZ1<DEL THEN DEL=ADKR-DEZ1 6050 FOR FLG=0 TO DEL:DEZ=PEEK(DEZ2+FLG):L=2:GOSUB DEZHEX:? " ";HEX$;:NEXT FLG:POKE 85,31 6060 FOR I=0 TO DEL:KOD=PEEK(DEZ2+I):IF KOD=155 THEN KOD=46 6070 ? "";CHR$(KOD);:NEXT I 6080 DEZ1=DEZ1+8:DEZ2=DEZ2+8:GOTO 6020 7000 ERRL=7040:IF N=0 THEN GOTO 7035 7010 ?:FOR J=1 TO N:? J;"";:DEZ1=ADKS+6*J:ON PEEK(DEZ1-2) GOSUB 7500,7510,7520,7530 7020 DEZ=PEEK(DEZ1-6)+256*PEEK(DEZ1-5):L=4:GOSUB DEZHEX:? "$";HEX$;" -"; 7030 DEZ=PEEK(DEZ1-4)+256*PEEK(DEZ1-3)-1:L=4:GOSUB DEZHEX:? "$";HEX$;"":NEXT J 7035 GOSUB BUFF 7040 ? ""; 7050 POKE 694,0:POKE 702,64:KOD=PEEK(764):IF (KOD=28) OR (KOD=13) OR (KOD=46) OR (KOD=21) THEN GOTO 7070 7055 IF (KOD=63) OR (KOD=35) OR (KOD=56) OR (KOD=62) THEN GOTO 7070 7060 GOTO 7050 7070 GET #2,KOD:IF KOD=27 THEN GOTO BREAK 7080 IF KOD=73 THEN GOSUB 7500:DEZ2=1:GOTO 7170 7090 IF KOD=87 THEN GOSUB 7510:DEZ2=2:GOTO 7170 7100 IF KOD=66 THEN GOSUB 7520:DEZ2=3:GOTO 7170 7110 IF KOD=65 THEN GOTO 7050:REM ZATIM NENI 7120 IF KOD<>78 THEN GOTO 7150 7130 GOSUB 7540:GET #2,KOD:IF KOD<>89 THEN GOTO 7040 7140 N=0:? " TABLE CLEARED":GOTO 7040 7150 IF KOD=83 THEN GOSUB 7550:GOTO 7000 7160 DEZ=ADK-ADKS-6*N:L=4:GOSUB DEZHEX:GOSUB 7560:GOTO 7040 7170 ? "FROM -$"; 7180 GOSUB ADRESS:IF KOD=126 THEN GOTO 7040 7190 IF HEX$<"0100" THEN ERROR$="SO LITTLE ADRESS":GOTO ERROR 7200 GOSUB HEXDEZ:DEZ1=DEZ:? " TO -$"; 7210 GOSUB ADRESS:IF KOD=126 THEN GOSUB 7570:GOTO 7180 7220 IF HEX$>"FFFE" THEN ERROR$="SO BIG ADRESS":GOTO ERROR 7230 GOSUB HEXDEZ:IF DEZ-DEZ1<0 THEN ERROR$="FALSE ADRESS":GOTO ERROR 7240 L=DEZ2:DEZ2=DEZ:FLG=ADKS+6*N:IF FLG+6>=ADK THEN ERROR$="OUT OF MEMORY":GOTO ERROR 7245 IF N=0 THEN DEZ=ADKS:GOTO 7290 7250 U=USR(ADR(LOOK$),DEZ1,ADKS,FLG):DEZ=(U-ADKS)/6 7260 IF (DEZ<>INT(DEZ)) THEN GOTO 7400 7270 DEZ=U:U=USR(ADR(LOOK$),DEZ2,ADKS,FLG):IF U<>DEZ THEN GOTO 7400 7275 IF DEZ>FLG THEN DEZ=FLG 7280 U=USR(ADR(MOVE$),DEZ,FLG):U=USR(ADR(MOVE$),DEZ+2,FLG+2):U=USR(ADR(MOVE$),DEZ+4,FLG+4) 7290 POKE DEZ+4,L:POKE DEZ+5,0:L=DEZ1:U=DEZ:DEZ=DEZ2+1:GOSUB BYTE:POKE U+2,DEZ1:POKE U+3,DEZ2 7300 DEZ=L:GOSUB BYTE:POKE U,DEZ1:POKE U+1,DEZ2:N=N+1:?:GOTO 7040 7400 ERROR$="COVERED FILES":GOTO ERROR 7500 ? "INSTR.";:RETURN 7510 ? "WORDS";:RETURN 7520 ? "BYTES";:RETURN 7530 ? "ATASCII";:RETURN 7540 ? "NEW TABLE":? " ARE YOU SURE?";:RETURN 7550 ? "SHOW TABLE":RETURN 7560 ? "FREE MEMORY :$";HEX$;" BYTES":RETURN 7570 ? "";:RETURN 10000 POKE 752,0:?:KOD=76 10010 IF L$="0" THEN GOTO 10030 10015 ? ""; 10020 GET #2,KOD:IF KOD=125 THEN GOTO 30200 10025 IF KOD>127 THEN KOD=KOD-128 10030 IF KOD>95 THEN POKE 702,64:GOTO 10020 10040 IF KOD=68 THEN ? "DISASSEMBLE":GOTO DISASS 10050 IF KOD=76 THEN ? "LOAD FILE":GOTO LOAD 10060 IF KOD=77 THEN ? "MEMORY DUMP":GOTO DUMP 10070 IF KOD=84 THEN ? "TEXT GENERATOR":GOTO GENER 10080 IF KOD=85 THEN ? "USER TABLE":GOTO TABLE 10200 GOTO 10020 30000 CLR:POKE 559,0:RESTORE:READ FROM,DEZHEX,HEXDEZ,BYTE,WAIT,BREAK,ERROR,ADRESS,BUFF,IN,DISASS,LOAD 30001 READ DUMP,GENER,TABLE,MENU 30002 DATA 3000,3100,3200,3300,3400,3500,3600,3700,3800,3900,4000,5000 30003 DATA 6000,100,7000,10000 30010 DIM DEL$(256),ADDR$(256),MN$(256),MNEM$(171),L$(1),HEX$(12),HEX1$(8),CIO$(6),ADRZ$(28),ADRK$(42) 30020 DIM ERROR$(20),LOOK$(53),MOVE$(43) 30030 L$="0":ADZS=PEEK(144)+256*PEEK(145)+99:ADK=PEEK(741)+256*PEEK(742) 30040 OPEN #2,4,0,"K:" 30100 MN$="##%######('(((-(*!$!!!!" 30101 MN$(97,176)="+)&)))/)0201620102018070 43 " 30102 MN$(177,256)=" 5 ,,,,,,.,," 30103 MN$(235,235)=CHR$(34) 30110 ADDR$="" 30111 ADDR$(97,176)="" 30112 ADDR$(177,256)="" 30120 ADRZ$=" ($($($ $ $ $ A#$ $ $ $ $":ADRK$=" ) ),Y,X) ,X ,Y ,X ,Y " 30121 MNEM$="???ADCANDASLBCCBCSBEQBITBMIBNEBPLBRKBVCBVSCLCCLDCLICLVCMPCPXCPYDECDEXDEYEORINCINXINYJMPJSR" 30122 MNEM$(91,171)="LDALDXLDYLSRNOPORAPHAPHPPLAPLPROLRORRTIRTSSBCSECSEDSEISTASTXSTYTAXTAYTSXTXATXSTYA" 30130 CIO$="hLV" 30140 DEL$="" 30141 DEL$(97,176)="" 30142 DEL$(177,256)="" 30150 LOOK$="hhhhhhhi`" 30151 MOVE$="hhhhh`" 30200 GRAPHICS 0:ADOBR=PEEK(88)+256*PEEK(89) 30210 POKE 82,6:? "":? "" 30220 ? "" 30230 POKE 82,2:POKE 16,64:POKE 53774,64:?:GOTO MENU 32000 REM 32010 REM Program pracuje jako zpetny assembler pro MAC/65 . Text je nutno nahrat na pasku nebo disketu. 32020 REM Adresy ve funkci 'U' se za- davaji OD-DO-vcetne.Kazdou funkci lze kdykoli ukoncit klavesou 'ESC'. 32030 REM Hlavni menu obsahuje funkce '','D','M','L','U','T';'U'-menu ma : 'I','W','B','F','N','S'. 32040 REM Klavesa 'BRK' je blokovana, protoze jakykoli zasah do programu by znicil nahrany soubor. 32050 REM TEXGEN nekontroluje delku vygenerovaneho textu. Ten ale nesmi byt delsi nez cca 17kB!
References
Listing downloads
Copyright holder