1000 REM ***************************›1010 REM * 80: CONFIGURER *›1020 REM * ----------------------- *›1030 REM * BY SIMON TREW, 1989. *›1040 REM * ----------------------- *›1050 REM * This ATARI BASIC prog *›1060 REM * enables anybody to con- *›1070 REM * struct their own custom *›1080 REM * 80: device from a menu *›1090 REM * operated system. *›1100 REM * *›1110 REM ***************************›1120 TRAP 1430›1130 REM ›1140 REM    ÍÁÉΠÉÎÉÔÉÁÌÉÓÁÔÉÏΠ  ›1150 REM ›1160 DIM LINE$(40),HX$(2),OPT$(1)›1170 DIM NAME$(1),FILE$(40),RFILE$(40)›1180 DIM ADDR$(2),HEXVAL$(16)›1190 HEXVAL$="0123456789ABCDEF"›1200 NAME$="8":BYTE=PEEK(744)+1›1210 GOSUB 1950:ADDR$=HX$›1220 FILE$="D:AUTORUN.SYS":RFILE$=""›1230 RMARGIN=79›1240 POKE 709,0:POKE 710,12:POKE 712,12›1250 GOSUB 1650›1260 HX$=ADDR$:GOSUB 1990:ADDR=BYTE›1270 CLOSE #1:OPEN #1,8,0,FILE$›1280 RESTORE :PRINT :GOSUB 1530›1290 IF RFILE$="" THEN 1340›1300 IF LEN(RFILE$)<14 THEN RFILE$(LEN(RFILE$)+1)=CHR$(155):GOTO 1300›1310 GOSUB 1530›1320 FOR N=1 TO 14:PUT #1,ASC(RFILE$(N,N)):NEXT N›1330 GOSUB 1530›1340 ? ›1350 ? "The program was successful."›1360 ? "The binary file should now"›1370 ? "be executable as ";FILE$;"."›1380 ? ›1390 END ›1400 REM ›1410 REM    ÅÒÒÏÒ   ›1420 REM ›1430 ? "An error has occured that"›1440 ? "prevents the successful"›1450 ? "completion of the program."›1460 ? "Please check that the"›1470 ? "options are valid, then"›1480 ? "re-RUN the program."›1490 END ›1500 REM ›1510 REM   ×ÒÉÔÅ ÈÅØ ÕÎÔÉÌ ØØ  ›1520 REM ›1530 READ LINE$›1540 FOR N=1 TO LEN(LINE$) STEP 2›1550 HX$=LINE$(N,N+1)›1560 IF HX$="ØØ" THEN POP :RETURN ›1570 GOSUB 1990›1580 PUT #1,BYTE›1590 NEXT N›1600 PRINT ".";›1610 GOTO 1530›1620 REM ›1630 REM    ÏÐÔÉÏÎÓ   ›1640 REM ›1650 POKE 82,2:? "}The 80: configurer, by S. Trew 1989."›1660 CLOSE #1:OPEN #1,4,0,"K:"›1670 ? ›1680 ? "1. Start page..... $";ADDR$›1690 ? "2. Filename....... ";FILE$›1700 ? "3. Device name.... ";NAME$;":"›1710 ? "4. Right margin... ";RMARGIN›1720 ? "5. Foreground"›1730 ? "6. Background (&)"›1740 ? "7. Border (')"›1750 ? "8. DOS 2.x File... ";RFILE$›1760 ? :? "G. GO!":? :? "Which? "›1770 GET #1,KEY:OPT$=CHR$(KEY)›1780 IF OPT$="G" OR OPT$="g" THEN RETURN ›1790 IF OPT$="1" THEN ? "Addr: $";:INPUT #16,ADDR$:HX$=ADDR$:GOSUB 1990:ON (BYTE<256)+1 GOTO 1430,1650›1800 IF OPT$="2" THEN ? "File: ";:INPUT #16,FILE$:GOTO 1650›1810 IF OPT$="3" THEN ? "Name: ";:INPUT #16,NAME$:GOTO 1650›1820 IF OPT$="4" THEN ? "Marg: ";:INPUT #16,RMARGIN:GOTO 1650›1830 IF OPT$="5" THEN POKE 709,PEEK(709)+2-256*(PEEK(709)>253):GOTO 1770›1840 IF OPT$="6" THEN POKE 710,PEEK(710)+16-256*(PEEK(710)>239):GOTO 1770›1850 IF OPT$="7" THEN POKE 712,PEEK(712)+16-256*(PEEK(712)>239):GOTO 1770›1860 IF OPT$="&" THEN POKE 710,PEEK(710)+2-256*(PEEK(710)>253):GOTO 1770›1870 IF OPT$="'" THEN POKE 712,PEEK(712)+2-256*(PEEK(712)>253):GOTO 1770›1880 IF OPT$="8" THEN ? "BinF: ";:INPUT #16,RFILE$›1890 IF LEN(RFILE$)>13 THEN RFILE$=RFILE$(1,13)›1900 IF OPT$="8" THEN 1650›1910 GOTO 1770›1920 REM ›1930 REM    ÄÅàÔÏ ÈÅØ   ›1940 REM ›1950 HI=INT(BYTE/16):LO=BYTE-16*HI:HX$=HEXVAL$(HI+1,HI+1):HX$(2)=HEXVAL$(LO+1,LO+1):RETURN ›1960 REM ›1970 REM    ÈÅØ ¦ ÏÐÔÉÏÎÓ ÔÏ ÄÅà  ›1980 REM ›1990 IF HX$>"FF" THEN GOTO 2010›2000 BYTE=16*(ASC(HX$)-48-7*(HX$>"9F"))+(ASC(HX$(2))-48-7*(HX$(2)>"9")):RETURN ›2010 IF HX$="ÒÒ" THEN BYTE=RMARGIN:RETURN ›2020 IF HX$="ÆÆ" THEN BYTE=PEEK(709):RETURN ›2030 IF HX$="ÇÇ" THEN BYTE=PEEK(710):RETURN ›2040 IF HX$="ÂÂ" THEN BYTE=PEEK(712):RETURN ›2050 IF HX$="ÄÄ" THEN BYTE=ASC(NAME$):RETURN ›2060 BYTE=16*(ASC(HX$)-176-7*(HX$>"¹Æ"))+(ASC(HX$(2))-176-7*(HX$(2)>"¹"))+ADDR:RETURN ›2970 REM ›2980 REM    ÈÅØ ÄÁÔÁ ÆÏÒ ¸°®ÃÏÍ   ›2990 REM ›3000 DATA FFFF80°°FF°°040404040400›3010 DATA 0400AAAAAE0A0E0A0A00406A›3020 DATA 824424C84A0044A4A440B0A0›3030 DATA 5000284444444444280000A4›3040 DATA 44EE44A400000000000E0040›3050 DATA 4080000202040448480044AC›3060 DATA A4E4A4A44E004CA222448282›3070 DATA EC008EA8A8EC22222C004E82›3080 DATA C2A4A8A8480044AAAA4AA6A2›3090 DATA 440000004444004444080020›3095 REM ›3100 DATA 4E80402E0000048A4A224480›3110 DATA 040000°±7F°±44AAAAAE8A8A›3120 DATA 6A00C4AAA8C8A8AAC400CEA8›3130 DATA A8ACA8A8CE00E48A88CA8A8A›3140 DATA 8600AEA4A4E4A4A4AE002A2A›3150 DATA 2A2C2A2ACA008A8E8E8E8A8A›3160 DATA EA00C4AAAAAAAAAAA400C4AA›3170 DATA AAAACA848200C6A8A8C4A2A2›3180 DATA AC00EA4A4A4A4A4A4E00AAAA›3190 DATA AAAEAE4E4A00AAAAAA44A4A4›3195 REM ›3200 DATA A400EE2828488888EE000E82›3210 DATA 824242222E00004040A0A000›3220 DATA 0E0000°°7F°°06A6E6E7E746›3230 DATA 46061616161E1E1010106060›3240 DATA 60EEEE666666181824244242›3250 DATA 8181101030307373F3F38383›3260 DATA C3C3E0E0F0F0CFCFC0C00000›3270 DATA 0000000000000C0CFCFC0040›3280 DATA 40E7A746E606060606FFFF06›3290 DATA 0606000060F0FFFF6F0F8080›3295 REM ›3300 DATA 808F8F8686866C6C6CFCFC0C›3310 DATA 0C0C6C686C787E0406000044›3320 DATA E4E44E4E4400002466FF6624›3330 DATA 000080°±FF°±00404CE2E64A›3340 DATA 4E008080C6A8A8A8C6002020›3350 DATA 64AAAEA86600608086CA8A86›3360 DATA 820C8480CCA4A4A4AE002808›3370 DATA 6A2A2C2AAA40C040444E4E4A›3380 DATA EA000000C4AAAAAAA4000000›3390 DATA C6AAAAC68282000046A88482›3395 REM ›3400 DATA 8C008080EA8A8AAA4E000000›3410 DATA AAAAAE4E4A000000AAAA4AA6›3420 DATA A20C0004E42E4E84EE00606E›3430 DATA 6C6A6A62626000286CEE6C28›3440 DATA 0000FFFF00°²17°µ58585858›3450 DATA 585858581806F526F6604818›3460 DATA A5F565F785F5A5F665F885F6›3470 DATA 686000008D1F°²4898488A48›3480 DATA AD1F°²AA2901F002A9FF8D1E›3490 DATA °²188A297E85F5A90085F620›3495 REM ›3500 DATA 08°²2008°²18A90085F7A9°°›3510 DATA 85F8200E°²A007B1F5CD1E°²›3520 DATA B005290F4C63°²4A4A4A4AE0›3530 DATA 809002490F9900°²8810E468›3540 DATA AA68A86860488A4818AD10E4›3550 DATA 69018D92°²AD11E469008D93›3560 DATA °²A90C852AA908852B20FFFF›3570 DATA 68AA68604898488A489885F5›3580 DATA A90085F62008°²A5F585F7A5›3590 DATA F685F82008°²2008°²18200E›3595 REM ›3600 DATA °²A0052008°²88D0FA8A4A85›3610 DATA F7A90085F8200E°²A55885F7›3620 DATA A55985F8200E°²68AA68A868›3630 DATA 602020°²4898488A482098°²›3640 DATA 8A4AB02DA200A000A92885F7›3650 DATA A90085F8BD00°²0A0A0A0A9D›3660 DATA 00°²B1F5290F1D00°²91F520›3670 DATA 0E°²E8E008D0E568AA68A868›3680 DATA 60A200A000A92885F7A90085›3690 DATA F8B1F529F01D00°²91F5200E›3695 REM ›3700 DATA °²E8E008D0EFF0DB4898488A›3710 DATA 48A2002098°²A8A5F585F9A5›3720 DATA F685FA2098°²A000B1F991F5›3730 DATA C8D0F9E6FAE6F6B1F991F5C8›3740 DATA C040D0F768AA68A86860488A›3750 DATA 489848A2002098°²8AA891F5›3760 DATA C8D0FBE6F691F5C8C040D0F9›3770 DATA 68A868AA6860488A489848AA›3780 DATA C82038°³C8E8E01790F7A017›3790 DATA 206A°³68A868AA686000488A›3795 REM ›3800 DATA 488CA5°³A017A218CCA5°³F0›3810 DATA 0888CA2038°³4CB0°³206A°³›3820 DATA 68AA6860002098°²4898488A›3830 DATA 482901AAA9008DC4°³A000B1›3840 DATA F5E001D005290F4CE6°³4A4A›3850 DATA 4A4AACC4°³9900°²18A92865›3860 DATA F585F5A90065F685F6C88CC4›3870 DATA °³C008D0D468AA68A8686048›3880 DATA 8A48E04FF00CE820C5°³CA20›3890 DATA E0°²E84C0A°´A92020DD°²68›3895 REM ›3900 DATA AA686000488E23°´E04FF010›3910 DATA A24FCA20C5°³E820E0°²CAEC›3920 DATA 23°´D0F268AE23°´20DD°²60›3930 DATA 585858585858585858585858›3940 DATA 58585858000020C5°³8A4898›3950 DATA 48A2008E54°´8E55°´8E1E°²›3960 DATA 86F8A90085F5A9°°85F6A908›3970 DATA 85F7A007B900°²994C°´0A0A›3980 DATA 0A0A9944°´0D54°´8D54°´88›3990 DATA 10EAAD54°´D004A920D01FA0›3995 REM ›4000 DATA 07AD1E°²D00BB1F529F0D944›4010 DATA °´D01BF009B1F5290FD94C°´›4020 DATA D0108810E48A8D4C°´68A868›4030 DATA AAAD4C°´1860E88A2901D003›4040 DATA 200E°²8D1E°²E000F027E080›4050 DATA D0C1A007B94C°´490F994C°´›4060 DATA B944°´49F09944°´8810EDA9›4070 DATA 0085F5A9°°85F6386E55°´90›4080 DATA 9E68A868AA386020C5°³4898›4090 DATA 48A007B900°²490F9900°²88›4095 REM ›4100 DATA 10F568A8684CE0°²FFFF18°µ›4110 DATA C1°¶000000BD4A0320A9°¶20›4120 DATA 30°µA00160489848A557C908›4130 DATA F02D2075°²C0809005686868›4140 DATA 6860A9ÒÒ8553A9ÆÆ8DC502A9›4150 DATA ÇÇ8DC602A9ÂÂ8DC802A90085›4160 DATA 568D1A°µ8D19°µA552855568›4170 DATA A86860AC19°µ8423602027°µ›4180 DATA 8A48207A°µ68AAAD18°µ9D4A›4190 DATA 03852A60BD4203C911F007C9›4195 REM ›4200 DATA 12D05900000048AD19°µF04C›4210 DATA A5538D86°µA5528D85°µBD42›4220 DATA 03C911B00C2904D004A006D0›4230 DATA 06A004D002A00A18B910E469›4240 DATA 018DC0°µB911E469008DC1°µ›4250 DATA 6820FFFFC080900784F52062›4260 DATA °¶A4F548AD86°µ8553AD85°µ›4270 DATA 85526860A0916860C926D012›4280 DATA A5549D4E03A5559D4C03A556›4290 DATA 9D4D03A00160C927D01EAD19›4295 REM ›4300 DATA °µD0DDBC4A03C018B00FBD4B›4310 DATA 03AAE018B0072038°³A001D0›4320 DATA 02A08D60C928D015AD19°µD0›4330 DATA BBBC4A03C018B006206A°³A0›4340 DATA 0160A08D60C929D012AD19°µ›4350 DATA D0A2BC4A03C018B0ED208A°³›4360 DATA A00160C92AD015AD19°µD08C›4370 DATA BC4A03C018B0D720A6°³A001›4380 DATA 60000000C92BD01AAD19°µ49›4390 DATA 018D19°µA202B554BC5B°¶94›4395 REM ›4400 DATA 549D5B°¶CA10F3A00160C92C›4410 DATA D020AD19°µF0034CDA°µBC4B›4420 DATA 03C018B00EBD4A03AAE050B0›4430 DATA 0620FF°´A001604C13°¶C92D›4440 DATA D01BA001BD4A03C90C900DC9›4450 DATA 0FB0099D4A03852A8D18°µ60›4460 DATA A90C4CB1°¶A09260FFFFC2°¶›4470 DATA 5C°Á20FFFFA200BD1A03F00B›4480 DATA CD5A°ÁF006E8E8E84CC7°¶AD›4490 DATA 5A°Á9D1A03A92D9D1B03A9°·›4495 REM ›4500 DATA 9D1C03ADE802C9°Á9009D011›4510 DATA ADE702C9AEB00AA9°Á8DE802›4520 DATA A9AE8DE702AD5A°ÁC945D024›4530 DATA A200A90C9D42032056E4A95A›4540 DATA 9D4403A9°Á9D4503A90C9D4A›4550 DATA 039D4B03A9039D42032056E4›4560 DATA 601A°µ41°¶FA°¸3C°·60°µ66›4570 DATA °µ4C2C°·002027°µAC19°µF0›4580 DATA 0A48A9099D4203684C88°µA4›4590 DATA 11F007ACFF02D0F7F0088CFF›4595 REM ›4600 DATA 02A0804CA4°·8E3C°·A656D0›4610 DATA 3FA655E050B039A454C018B0›4620 DATA 3348C99BF034ADA2020DFE02›4630 DATA F02C6820DD°²E8E453F01090›4640 DATA 0EA652C8C018D007A000208A›4650 DATA °³A017865584540EA202A40B›4660 DATA AE3C°·602011°¸A08D6068C9›4670 DATA 1BD008A9808DA2024CA2°·C9›4680 DATA 1CD00CA454881002A0178454›4690 DATA 4CA2°·C91DD00EA454C8C018›4695 REM ›4700 DATA D002A00084544CA2°·C91ED0›4710 DATA 10A455883004C452B002A453›4720 DATA 84554CA2°·C91FD010A455C8›4730 DATA C4539004F002A45284554CA2›4740 DATA °·C97DD015A017206A°³8810›4750 DATA FAA00084548456A45284554C›4760 DATA A2°·C97ED019A455C452F010›4770 DATA 8A48A920A655CA8655A45420›4780 DATA DD°²68AA4CA2°·C97FD01018›4790 DATA A555690AC5539002A5538555›4795 REM ›4800 DATA 4CA2°·C99BD01AA5528555A4›4810 DATA 54C8C018D007A000208A°³A0›4820 DATA 1784540EA2024CA2°·C99CD0›4830 DATA 0CA454208A°³A45284554CA2›4840 DATA °·C99DD008A45420A6°³4C76›4850 DATA °¸C99ED007A45284554CA2°·›4860 DATA C99FD01238A555E90A3004C5›4870 DATA 52B002A55285554CA2°·C9FD›4880 DATA D02520B4°¸4CA2°·4898488A›4890 DATA 48A02020C7°¸8810FA68AA68›4895 REM ›4900 DATA A86860A27F8E1FD08E0AD4CA›4910 DATA 10F760C9FED00C8AA655A454›4920 DATA 2007°´AA4CA2°·C9FFF0034C›4930 DATA 83°·8A48A920A655A4542024›4940 DATA °´68AA4CA2°·002027°µAC19›4950 DATA °µF0034C88°µA556D035A555›4960 DATA C5539002D02DA554C918B027›4970 DATA BD4A0329021D4903D027BD48›4980 DATA 03C902B0208EFA°¸A655A454›4990 DATA 2056°´9004A090D002A001AE›4995 REM ›5000 DATA FA°¸602011°¸A08DD0F50000›5010 DATA 00AD1A°µF011AC46°¹B95D°Á›5020 DATA CE1A°µEE46°¹A0016000008E›5030 DATA FA°¸A001844C8411A5548D5E›5040 DATA °¹A5558D5D°¹BD4A03C90DF0›5050 DATA 6618AD24E469018D9E°¹AD25›5060 DATA E469008D9F°¹BD4A03C90EF0›5070 DATA 0CADF002D007A655A45420FF›5080 DATA °´20FFFFC08090034C2C°ÁBC›5090 DATA 4A03C00ED00160A655A45448›5095 REM ›5100 DATA ADF002D00320FF°´68C99BF0›5110 DATA 0F204F°·A655E048D00320B4›5120 DATA °¸4C91°¹A454CC5E°¹F008A6›5130 DATA 528E5D°¹8C5E°¹AE5D°¹E053›5140 DATA 9005F0034C02°ÁAC5E°¹2056›5150 DATA °´B00FAE1A°µ9D5D°ÁEE1A°µ›5160 DATA EE5D°¹4CDF°¹AE1A°µF00CBD›5170 DATA 5C°ÁC920D005CE1A°µD0EFA9›5180 DATA 9BAE1A°µ9D5D°ÁEE1A°µA200›5190 DATA 8E46°¹204F°·AEFA°¸4C49°¹›5195 REM ›5200 DATA A9008D1A°µ8D46°¹8DFF0298›5210 DATA 48A655A454BD4A0329020DF0›5220 DATA 02D00320FF°´A99B204F°·A9›5230 DATA 008DF00268A8AEFA°¸60453A›5240 DATA 9BAE°Á01°ÂA50C8DC3°¶A50D›5250 DATA 8DC4°¶A9C2850CA9°¶850D20›5260 DATA C5°¶A200A9E29D4403A9°Á9D›5270 DATA 4503A91D9D4803A9009D4903›5280 DATA A90B9D42032056E4609B3830›5290 DATA 3A2064657669636520627920›5295 REM ›5300 DATA 532E20547265772031393839›5310 DATA 2E9BÄÄ3A9BE202E302AE°ÁE0›5320 DATA 02E102E1°ÁØØ›5330 DATA FFFF05°Â4F°ÂA90CA2109D42›5340 DATA 032056E43021A9039D4203A9›5350 DATA 429D4403A9°Â9D4503A9049D›5360 DATA 4A03A9009D4B032056E43003›5370 DATA 203C°ÂA90CA2109D42034C56›5380 DATA E4A900484CC815ØØ›5390 DATA E002E10205°ÂØØ›