krb20699@uxa.cso.uiuc.edu (05/28/89)
Part 2 of 4 of Kermit 3.85, Part 2 of 2 of the program files. ======================= Cut Here =========================== REM FIRST LINE OF APP385.2-- DO NOT REMOVE THESE REM LINES REM SAVE AS "APP385.2" [AS RECEIVED, WITHOUT REMOVING UUCP HEADERS] REM PART 2 OF 2 INSTALL KERMIT '88 APR 30 VERSION REM 894 LINES,55957 BYTES '88 DEC 20-->WARNING APP385.2 IS DELETED BY INSTALL REM FROM: MEDIN@NOSC.MIL (TED MEDIN) REM SUBJECT: DOS KERMIT MAIN HEX REM REM REM REM REM REM REM REM REM REM REM REM DO NOT REMOVE THESE REM LINES REM REM REM REM REM REM REM REM REM CLOSE REM REM REM CALL-151 E00:38 A5 FF D0 32 D8 20 8E FD AD 30 BF 8D 6A 0E 20 00 BF C7 6D 0E 0D 80 02 E18:D0 1D 20 00 BF C5 69 0E B0 15 AD 81 02 29 0F AA E8 8E 80 02 A9 2F 8D 81 E30:02 20 00 BF C6 6D 0E A2 08 B0 0E 20 00 BF C3 70 0E B0 06 A2 26 20 53 0E E48:AA 20 53 0E 4C D0 03 20 ED FD E8 BD 59 0E D0 F7 60 A0 F3 E1 F6 E5 E4 8D E60:00 C5 F2 F2 EF F2 87 8D 00 02 00 81 02 01 80 02 07 7E 0E E3 06 00 10 00 E78:00 00 94 B1 3B 09 06 CB C5 D2 CD C9 D4 00 F00:D8 A0 00 84 FF 88 84 E0 A9 0F 85 E1 20 67 FD A0 00 A2 FF 20 2F 0F E6 E0 F18:D0 02 E6 E1 0A 0A 0A 0A 91 E0 20 2F 0F 11 E0 91 E0 45 FF 85 FF 90 E4 E8 F30:BD 00 02 09 80 C9 A0 F0 F6 49 B0 C9 0A 90 17 69 88 09 20 C9 FA B0 0C 68 F48:68 E0 04 B0 BF 98 91 E0 4C 69 FF 18 29 0F 60 F00G 4CC2260600FF6920001C780000C31122AB3730300029104204A231333A96383A A90060000000000000000000000000000000383ABA22454E5445522054494D45 4CA8FC4C761E4C0CFD4C8EFD4C75294CFE290000000000AD55231008200C30A9 084CEDFD4C10FCAD55231008201930A91F4CEDFD4C1AFCAD55231005A90C4CED FD4C58FCAD5523100820FC2CA91D4CEDFD4C9CFCAD5523100B20B71020FC2CA9 1D4CEDFD4C95FCAD5523100820FC2CA90B4CEDFD4C42FCA5258D7A2348A5248D 792348A91E20EDFD6818692020EDFD186869204CEDFDAD552310034CB7104C22 FC20FC2CAD55231008202930A90A4CEDFD4C66FCAD55231017EE7923A94FCD79 231008202930A9008D7923A91C4CEDFD4CF4FBE5F88DA0E1F0F0EDE1E9AEE8E5 F88DB38DB18D8DB38DB18DB18DB5A0B0B4A0C5B9A0B0B1A0B8B5A0B0B4A0B8B5 A0C5C5A0B1C3A0B1B2A08DB5A08DC4A08DBA224D4D223B3A963233007C11E204 BE41243AAD284124D122302229CE284124CF22352229AB6170706D61692E6865 78A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A029 3ABA41243B00D6110A05AD4D49CF3539AB3132333000DE111405B200002C0010 0000000000000000000000000000000000000000000001000000000000000000 0000000000000000000000000000000000000000000000000000000000000068 8D0812688D091248AD081248EE0812D003EE091286028403BA8E0612A9138504 8506A91185058507A9008D0A128D0D128D1112208EFDA602A40320761E60AE06 129AA9138506A9118507A9008D11126C0812A5068D0F12A5078D1012AD0D128D 0E12A9FF8D0B12AE06129AA91385048506A91185058507A9008D0A128D0D128D 1112208EFDA602A40320761E6C08128D12128E13128C1412C900D0034C1F1220 6F1CC904D0034C0B13C901D0034C9F13C902D0034C9D18C903D0034CA819C906 D0034C2A17C905D0034CAB19C907D0034CF81AC908D0034CF91AC909D0034CC3 1BA26CA02120761EA90460A50648A50748200D1EC900106F297FC91BD01F203A FFA9008D0A1238A504E90185048506B002C605A5058507CE0D124C1113C93FD0 35098020EDFDA268A02220A955A602A40320761EA900A000910638A504E90185 04A505E9008505A213A01120761EA9008D0A124C5E12C90CD0032077106868A9 008D0B124C8C1F6885078D10126885068D0F12AD0D128D0E12A9FF8D0B1260A5 0648A50748A9008D0C12A50A8518186901850EA50B85196900850FA000B1188D 1812200D1EC900301438A506E90185068510A507E900850785114C1714A40684 10A4078411C99BF0034C1714A9022C1412D01CA9008D0A12203AFF38A504E901 85048506B002C605A50585074CC213A9008D0A124C1321AD1812D0186885078D 10126885068D0F12AD0D128D0E12A9FF8D0B1260A000B10E8D1A12A50E8512A5 0F8513E60ED002E60FCE1A12AD1A12C9FF10034CF015200D1EC90030034CCD15 297FC93FD051098020EDFDA9008D0A12AD1212C906F007A286A0224C8214A2A6 A02220A955206D16208EFDA9012C1412F003201F20A602A40320761EA900A000 910638A504E9018504B002C605A213A01120761E4C5E12C91BF0034C8415A900 8D0A12AD1A1248AD181248A50E48A50F482013164C1115A9022C1412F008AD0C 12D0034C1321203AFF38A504E90185048506B002C605A5058507CE0D1268850F 68850E688D1812688D1A12EE1A124C4914A00038A504E90185048506B002C605 A505850768850F68850E48A50F48B10EF016E60ED002E60F09809106E606D002 E607EE0D124C2E15EE0D12A9A09106A604A40518A5066901850685049002E607 A50785058CF411A900A0009106ACF41120761E68850F68850E688D1812688D1A 124CA815A50E48A50F48AD1A12482013164C9E15A292A02120761E4C7212688D 1A1268850F68850EEE1A12EE1A1218A50E6D1A12850E9002E60FA000B10EAAC8 B10EA86868A9008D0B124C8C1F207F1F8D1D12A9FF8D0C12A000B10E8D1E12E6 0ED002E60FAD1D12CD1E12D0034C4914EE1A12EE1A12EE1A1218A50E6D1A1285 0E9002E60FCE1812A5108506A51185074C1714CE1812100160EE1A12AD1A128D 1D121869038D1A1218A50E6D1A12850E9002E60FA000B10E8D1E12E60ED002E6 0FB11238ED1D12F0108D1612CD1E12300160A000CE161210034C8C1FB10E8D1D 12B110C8207F1FCD1D12F0E860A518850CA519850DA0008C17128C1D12B10C8D 1B1238A506E5108D1612E60CD002E60DCE1B12AD1B12303CB10C8D1512E60CD0 02E60DAD1612F00FB110207F1FD10CD009C8CC161230F120F716EE1512EE1512 EE151218A50C6D1512850C9002E60DA0004C9016AD1D12D015AD1212C906F007 A2BAA0214CEB16A2DBA02120A955AD1712F003208EFD60A9018D1D12AD1212C9 06D005A9AF20EDFDA60CA40D20761EAD1712D00AA914852420D6104C2117208E FDAD171249018D171260A50648A50748200D1EC90030034C5618297FC93FD043 098020EDFDA9008D0A12A2A6A02220A955206D16208EFDA9012C1412F003201F 20A602A40320761EA900A000910638A504E9018504B002C605A213A01120761E 4C5E12C91BF0034C2918A9008D0A12A9022C1412F0034C1321203AFF38A504E9 0185048506B002C605A5058507CE0D124C3017A92F098020EDFD18A50A690285 0EA50B6900850FA00038A504E9018504B002C605B10EF014E60ED002E60F9106 E606D002E607EE0D124CD417EE0D12A9009106A604A40518A506690185068504 9002E607A507850520761EA201204AF9E60ED002E60FA000B10EAAC8B10EA868 68A9008D0B124C8C1FA000B10AC902300AA292A02120761E4C7212C8B10A8D1A 12A50B850F18A50A6D1A126902850E9002E60F4C1618C92FF01BAAA900688507 8D10126885068D0F12AD0D128D0E12A9FF8D0B1260209F134C85186868A9008D 0B124C8C1F6885078D10126885068D0F12AD0D128D0E12A9FF8D0B1260A9008D A923E88E1312A50648A50748A9008DDB11A000A9200980997711C8CC13121003 4CB718200D1EC90030034C6E19297FC93FD040098020EDFDA0008C0A12A2C5A0 2220A955A9012C1412F003201F20A602A40320761E38A504E9018504B002C605 CE0D12A000A9009104A213A01120761E4CC318C91BD02EA9008D0A12A9022C14 12F008ADDB11D0034C1321203AFF38A504E90185048506A505E90085058507CE 0D124C5E12ADDB11D0034C9019CD131230034C9019ACDB11A9009977116868A2 77A011A9008D0B12ADDB114C8C1FC920301EC97F101A207F1FACDB11C92AF004 C93DD0038DA923997711EEDB114CC3186885078D10126885068D0F12AD0D128D 0E12A9FF8D0B12604C9D18A50648A50748E01130034CE41AE00210034CE41A8E F511A9008DF6118DF7118DF8118DF9118DFA118DFB118DFC118DFD11200D1EC9 0030034C891A297FC91BD031A9022C1412F00BADF6110DF711D0034C1321203A FFA9008D0A1238A504E90185048506B002C605A5058507CE0D124CDC19C93FD0 58098020EDFDA2E8A02220761EADF511C90A300E18A90169B020EDFDADF51138 E90A1869B0209155A9012C1412F003201F20A602A40320761EA900A000910638 A504E9018504B002C605A213A01120761EA9008D0A124C5E12AEF611ACF71168 68A9008D0B124C8C1FC940300529DF38E90738E9303005CDF51130186885078D 10126885068D0F12AD0D128D0E12A9FF8D0B126048ADF71148ADF61148A90048 ADF51148209A1E688DF611688DF71168186DF6118DF611ADF71169008DF711B0 0D4CDC19A21FA02220761E4C7212A23FA02220761E4C721260A50648A50748A9 008DDB11200D1E20F21F4C951BC9001078297FC93FD040098020EDFDA0008C0A 12A201A02320A955A9012C1412F003201F20A602A40320761E38A504E9018504 B002C605CE0D12A000A9009104A213A01120761E4C041BC91BD02EA9008D0A12 A9022C1412F008ADDB11D0034C1321203AFF38A504E90185048506A505E90085 058507CE0D124C5E12ACDB11997711EEDB114C041BADDB11F0116868A277A011 A9008D0B12ADDB114C8C1F6885078D10126885068D0F12AD0D128D0E12A9FF8D 0B1260A50648A50748200D1E107A297FC91BD01F203AFFA9008D0A1238A504E9 0185048506B002C605A5058507CE0D124CC91BC93FD060098020EDFDA218A023 20761EA9A220EDFDAD1312098020EDFDA9A2209155A9012C1412F003201F20A6 02A40320761E38A504E9018504A505E9008505A900A0009106A213A01120761E A9008D0A124C5E12CD1312D00A6868A9008D0B124C8C1F6885078D1012688506 8D0F12AD0D128D0E12A9FF8D0B1260488A48984808A000AD0A12F0034C031EEE 0D12D009203AFFCE0D124C7212200CFDC988D028AE0D12E001D021AE0B12101C AD0F1285068504AD101285078505AD0E128D0D12A9008D1C124C861DA0009104 E604D002E605C995D021209410A602A403A900852420D61020761EA9138504A9 118505A9008D0D124C5E12C988F004C9FFD022205710208410CE0D12CE0D1210 06203AFF4CCA1C38A504E9028504B002C6054C5E12C997F0034CC01DA9038D1C 1238A504E9038504B002C605AD1C12CD0D1230034CCA1CA000B104C98A10034C AF1DC98E3025C9A010034CAF1DC9A3301AC9A710034CAF1DC9B0300FC9BA1003 4CAF1DC9BF3004C9E0D044CE1C12E604D002E605AD0D12C524300B4820671068 38E9284C771DA900A00091048524209410A602A40320761EA213A01120761E38 AD0D12ED1C128D0D122084104C5E12EE1C1238A504E9018504B002C6054C2C1D C9BFF01DC99BF019C98DF00BC98AF007C98CD015207710AD0D12C901D0034C72 12A9FF8D0A124C031EC920D00620EDFD4C7F1CC989D00620EDFD4C7F1C20EDFD 4C7F1CCE0D122868A868AA6860A000AD0A12D003206F1CB106E606D002E607C9 A0F004C989D01F48A908CD1212F010A902CD1212F009AD1112F004684C0D1EA9 FF8D111268600848A9008D11126828C99BF022C9BFF00FC98DF00BC98AF007C9 8CF003297F60AA38A506E9018506B002C6078A09806086008401A000B100F00D 0980208E1EC8D0F4E6014C7C1E6048AD0E102A20A8FC684CEDFD688DF81E688D F91E688DF41E688DF51E688DF21E688DF31EA9008DF61E8DF71EA211186EF71E 6EF61E6EF51E6EF41E901318ADF21E6DF61E8DF61EADF31E6DF71E8DF71ECAD0 DCADF51E48ADF41E48ADF91E48ADF81E486001005F0000009A51688DBD23688D BE23688DF21E688DF31E688DF41E688DF51E203E1F900EA9008DF41E8DF51E8D F61E8DF71EADF71E48ADF61E48ADF51E48ADF41E48ADBE2348ADBD234860A900 8DF61E8DF71EADF21E0DF31ED0023860A2102EF41E2EF51E2EF61E2EF71E38AD F61EEDF21EA8ADF71EEDF31E90068CF61E8DF71ECAD0DB2EF41E2EF51E186029 7FC9619006C97BB002295F608DF2116818690485006869008501ADF2116C0000 297FA000C908300738E908C84CA41FAAA980E000F005CA4A4CB21F19DC1199DC 11600AB0204AC908300738E908C84CC61FAAA97FE000F006CA386A4CD41F39DC 1199DC1160A900A00099DC11C8C01030F8608DF211297FA000C908300738E908 C84CF91FAAA980E000F005CA4A4C072039DC11D006ADF2114C8C1FADF21160AD 121248A0008C1912AC1912B11C8D1212EE1912C900D0034C0E21C90A30034C0E 2148A231A02320761E68C901D052AAA51048A51148A506851048A507851148A5 1848A519488AC901D007A286A0224C7520A2A6A02220761EAC1912B11C8518C8 B11C8519C88C1912206D166885196885186885076885066885116885104C2820 C906D0034C4E20C902D007A2C5A0224C0821C903D007A2D6A0224C0821C904D0 07A268A0224C0821C908D007A201A0234C0821C905D02DA2E8A02220761EAC19 12EE1912B11CC90A300EA9B120EDFDAC191288B11C38E90A1869B020915520DA FD4C2820A218A02320A9554C2820688D12126038A504E9018504B002C605CE0D 12A000B10CF01AAE0D12E8D009203AFFCE0D124C721209809104EE0D12C84C23 21A9A09104C8A9009104189865048504A90065058505A9008D0A1238A506E901 AAA507E900A820761E4C5E128D8ABFD0D2CFC7D2C1CDA0C5D2D2CFD2BAA0A0C9 CED6C1CCC9C4A0C3CFCDCEC4A0C3C1CCCC008D8ABFC1CDC2C9C7D5CFD5D3008D 8ABFC9CCCCC5C7C1CCA0C9CED0D5D4A0C6C9CCC5A0D3D0C5C3008D8ABFCECFA0 CBC5D9D7CFD2C4D3A0CDC1D4C3C8A0D4C8C9D3A0D0D2C5C6C9D8008D8ABFCECF A0D3D7C9D4C3C8C5D3A0CDC1D4C3C8A0D4C8C9D3A0D0D2C5C6C9D8008D8ABFC2 C1C4A0C3C8C1D2C1C3D4C5D2A0C9CEA0C9CED4C5C7C5D2A0CED5CDC2C5D2008D 8ABFC2C1D3C5A0CFC6A0C9CED4C5C7C5D2A0CFD5D4A0CFC6A0D2C1CEC7C5008D 8ABFCFD6C5D2C6CCCFD7A0D7C8C9CCC5A0D2C5C1C4C9CEC7A0C9CED4C5C7C5D2 A0CED5CDC2C5D200A0C3CFCEC6C9D2CDA0D7C9D4C8A0C3C1D2D2C9C1C7C5A0D2 C5D4D5D2CE00A0CBC5D9D7CFD2C4ACA0CFCEC5A0CFC6A0D4C8C5A0C6CFCCCCCF D7C9CEC7BA00A0D3D7C9D4C3C8ACA0CFCEC5A0CFC6A0D4C8C5A0C6CFCCCCCFD7 C9CEC7BA00A0C9CED0D5D4A0C6C9CCC5A0D3D0C5C300A0CFD5D4D0D5D4A0C6C9 CCC5A0D3D0C5C300A0C9CED4C5C7C5D2A0CED5CDC2C5D2A0C9CEA0C2C1D3C5A0 00A0D5CED1D5CFD4C5C4A0D4C5D8D4A0D3D4D2C9CEC7A000A0D3C9CEC7CCC5A0 C3C8C1D2C1C3D4C5D2A0D4CFCBC5CEA000A0CFD2A0000000000000CBC5D2CDC9 D4ADB6B5BE0000000000000101FEEE0200000000000003000000000000000000 0000000000000100010000000E00000000000000000000000000000000000000 01000000000000000000000000004E4554574F524B20434152442200A223720B B100C5237C0BA200000000000000000000000000000000000000000000000000 000014000000000000000000000000000000000000000000000000000000006E 2774206F70656E2066696C650045525420223B5052243B22205749544820223B 001D24900BAD5024D0224622CE5024D0226622C4BA2246494C455222003B249A 0BAD5024D0224322CE5024D0226322C4BA2243F6EE0000000000262600000000 0D0DFA5E0F0F2323010101013C7B2E7C3E7D2740295D285B2F5C2D5F5E7EFF00 0000000000000000000200A42403460E00080004009A0E7F0000000200815701 010007460EC3000000010000000001A3240A460E000000000000000000000000 00000000AFE2ECE1EEEBB0B300000000000000000000000000C93935383AAB32 35353000E024CC0BAD5224D1CFE728313329C4BAE72837293B3AAB3239383000 464686468646860182048327882B84408B458748894A8C4C854E8A508D53828D B023208EFDA2D2A06F20761EA92420EDFDADB02320DAFDA9A020EDFD68AA6820 9D55A9008D81242000BFCC8024AE36249AADB023A01AD9E324F0568888D0F7AD 6224F04AA9458D010DA01F8C000DA2D28600A26F8601A000B100297F911AC8C0 1CD0F5A924911AC8ADB023484A4A4A4A09B0C9BA90026906911AC868290F09B0 C9BA90026906911A20964E4C713F4CD827B9E4248DD9234C0B4E91282051C309 806048297F863D843CC90DD01FAE00C01013E093D00F2C10C0AE00C010FBE083 F0032C10C048A90A2057C3682057C368A43CAEFB058625A63D60206DC3AA20D7 CE4CF6C90980AE32C3AEFFCFAA2059CF4CC8CE208FC3AA206CCE4CF0C94C7710 ADB3FBC906D0F6AD552310F1AD56232095FE207710A9258537A9A28536A92585 39A99A8538AD0DC38D7626AD0EC38D9D25AD0FC3A2C3ACC0FBD00EAC33C3C0C2 D027A225A9E44C6926C0E0D01CAC7CC3C08FD00A8C8323A225A9F34C6926AC5A C3C0F0D004A225A9DA8ECE258ECA258DCD258DC925204BC3AD4B23C901F004C9 02D008ADFB0409018DFB0460A9368DB023A97D8DB123AD0E1020A8FCAD00C030 0ACEB123D0F0CEB023D0E660A900A028AE55231005A050AD562384212095FE4C 00262089FEA9008D00C08D02C08D04C08D08C08D51C08D54C08D62248D812320 AC26A90048A93248A90048AD442448209A1E688D5023688D5123A283A06120A9 55A0FFADB3FBC906F00B8C70C0AD64C0100388D0F88C5823ADBA23F0034CB527 8D5F23ADF2038DB923ADF3038DBA23A9D78DF203A9278DF303206FFBA98DCDD5 A3D023A9C2CDD6A3D01CA9B5CDD7A3D015AD6AAA8D5F24AD68AA8D6024AD66AA 8D61244CB1278D5F23ADA324D0382000BFC78E24900320FF24ACA324F008A900 99A4244CB127AD30BF8D6A242000BFC56924900320FF24ADA424290FAAE88EA3 24A92F8DA4242000BFC68E24900320FF24BA8E362420833420545FA00B8C460E B9376299460E88D0F720D827AD5F23F0034C00BE4CD00300A23BA023A90020AF 12205128A944850AA962850BA000A90120AF124CFF278EFD278CFE274CFC27A2 32A0694C0A43A25DA0694C0A43A26DA0694C0A43A2ADA0694C0A43A2C1A0694C 0A43A2D7A0694C0A43A2EBA0694C0A43A2FEA0694C0A43A219A06A4C0A43608E 8E1C8C8F1C60A90C8D8E1CA9FD8D8F1C60AD8123F02EC901D0E420AF28AE3624 9A2089FEA9188DB023A97D8DB123AD0E1020A8FCCEB123D0F5CEB023D0E820AC 264CD827A29FA028203F28EE8123208EFDA21CA06220A95520BB28EE81236020 B55B4CAF28098060AD8123C903B0F820CC282046288D8123A99560AD47238D82 23A9008D4723A90320055460A90120C356AD82238D472360200026A2F4A07720 761EAD4623208C5FA20FAC5E238C0B10A07820A9554CDD2B20FE5E20A82820D8 2820CC5DD00F20FE294C2C104C26104C2910EAEAEA2031292075294CD827AE5C 23F0F2A2008E5C23A9912023104C152960202610F0FA202910297FF0F48DB323 4C432920B02CC90DD0068D76234C6929C90AD00DAD7623F00DA9008D76234C31 29A9008D7623ADB32320EE3420C62C20C8344C3129AD00C01065AE25C08EB023 2C10C0297FCD4623D0034CE72AAE5C23F00CA2008E5C2348A99120231068AC83 23F010AC8423F00B0EB0230EB0230EB023300FAC5823F02AAC61C03005AC62C0 1020205F2A4C8C1F20D42A20342D200629AE4A23F00920EE3420C62C20C8344C 8C1FAC8523D0DBF0DFA231A0704CA955A24FA07020A955203AFF208C26608DB2 23A92A8D7723A92A8D7823AD6423186D64236D6423186D77238D7723AD782369 008D7823ADB2236C77234C392A4C3A2A4C3D2A4C452A4C402A60297F60098060 A9004C472AA901A2072CB223100249012EB223CA10F32EB2236A6A0DB2236010 14AC4B23C002F011A027D9196DF04288D0F84C8C1FA004D007AC8323F00DA016 D9A36EF01C88D0F84C8C1FA020D9EB6DF00688D0F84C8C1FAE8523F004C00590 E7980AA8B90A6E8500B90B6E85014CBE2A980AA8B93F6D8500B9406D8501A000 8CB023ACB023B100F009EEB0232006294CC32A60AE5723F00DC908D003A97F60 C97FD002A90860200CFD8DB623295FC944D011A900202310D00EA24CA06F20A9 554C8C1FC943D015AD5B231008A9008D5B2320C356A9008D0B104CDD2BC953D0 034C8C4DC942D00620AB2C4C8C1FC950D00620B62B4C8C1FC957D00BAD572349 018D57234C8C1FC952D022A53648A53748AD592348D00320B62B20432C688D59 2368853768853620DD2B4C8C1FC94BD00BAD842349018D84234C8C1FC945D006 20AC264C8C1FADB623297FC93FD00AA2B4A06720761E4CE72ACD4623D0062006 294C8C1FC930D008A9002006294C8C1F203AFF4C8C1FAD5923D017AD5A23F00B A2038E59232095FE4CDD2BA272A06A4CA955A9008D592320DD2B4CAC26AD5923 D04CAD4B23F04EC901F043C902F04DA2B4A02DA9482C55231002A9608DC8348D EE34A9C92C0B103002A9608DF42CA9AE2C0B103002A9608DFC2CAD5B23D008E8 E8E8E003B001C88E41298C422960A243A0294CF32BA289A05F4CF32BA2FDA033 4CF32BA2008EB023ADB023484A29030904853D6829189002697F853C0A0A053C 853CA0008CB123AC5523100E8D55C0A13C8D54C020A22C20EDFDA13C20A22C20 EDFDE63CD002E63DEEB123A928CDB123D0D5A98D20EDFDEEB023A918CDB023D0 A760297FC9201002094060A90C4C2310AE5B2310084820A25C4CBE2C68606820 53598D5B23600980AE5523D01CC9C13018C9DB3010C9E03010D004A927D00629 DFC9DB3004A23F863220F42C20EDFDA9FF853260C98EB02AC98A9026AE5C23D0 3248A9938D5C23202310AD5D23F0118DB023200C29AD0E1020A8FCCEB023D0F2 6860AE5C23F00C48A2008E5C23A9912023106860AAAD5223D06EAD5323C902F0 67E008D004A27FD05FE0413012E05B100EAD54234D5323F04F8A0920AAD049A9 01CD5323F009E015D03E8D53231040A0008A48B94C24301168D94C24F004C8C8 D0F0C8B94C24AA101F68C91BD007A9028D5323101AE015D00FAD542349018D54 23A9008D53231007A9008D53238A6068684C8C1F20B02CAE9B0FD02BC90FF0EE C91BD008A9018D9B0F4C312920EE34C909F0034CF82EAD792329074907AA20F4 10CA10FA4C312920EE34A9008D9B0FADB323C941D00A2019309021A91F4CEDFD C942D00A202930B013A90A4CEDFDC943D00DA94FCD7923F00320F4104CFB2EC9 44D00D200C30B0F4A90820EDFD4CFB2EC947F050C946F048C948D00CA9008524 852520D6104CFB2EC949D016AD7A23C522F0062067104CFB2E20FC2C20912F4C FB2EC94AD00620A7104CFB2EC94BD0062084104CFB2EC959D02120C92F4CFB2E EE6F2360A9008D6F2360A9028D4B2320DD2B60A9008D84234CFB2EC93DF0F6C9 3EF0F0C93CF0E3C977F022C976F022C978F024C979F020C95AD028A91B200629 A92F200629A94B2006294CFB2EEE802360A9008D802360200C29F0FB200F2920 B02C60098048A99B20FF2E68C91BD008A9018D9B0F4CFB2E2017344CC83460C9 7FF0F8C920B05FC90DD014A90085248D7923AE552310E4AD7A2385254CB710C9 0AD024AD4B23C902F0034CE110AD79238524202930C423D0DEA90E20EDFD20E1 10AD6C234CEDFDC908D0124C232EAE8023F0AB48200B2F20E11068D009C907D0 2820FC2CD023AE7923E421B0E1E88E7923E421D014AE7A23E8E423900CAEB3FB E006D005A027912860098020F42C4CEDFDAD55231005A9164CEDFDA523482024 FCA528852AA529852BA421886838E901C522300D482024FCB128912A8810F930 E0A422842520941060200C29F0FB200F2920B02C297F38E92010061869204CE3 2EC91810F68D7A23200C29F0FB200F2920B02C297F38E92030E1C95010DD8524 8D7923AD7A23852520D610604818CE79231004EE792338686048CE7A23AD7A23 C522B003EE7A236860AC7A23C8C423F007C018B0038C7A2360200C29F0FB200F 2920B02C4C8334A9014C4E30A9028DB023200C29F0FB200F29297F20B02CC942 F022C941F01EC931F01AC932F00AC930F00620F3334C8334ADB0230D6E238D6E 234C8334ADB02349FF2D6E238D6E234C8334AD7A238D7B23AD79238D7C23AD6E 238D7D23AD6F238D7F23AD6C238D7E234C8334AD7B238525AD7C23852420B710 AD7D238D6E23AD7F238D6F23AD7E238D6C2320EDFD4C833460A9008D84234C83 34AD9D0FC901F023C906F032C905F036C902F03DC903F023C904F01FC908F01B C907F012C914F0134C8334A9008D6D23203C314C8334A9008D80234C8334A900 8D6B234C8334A90E8D6C2320EDFD4C8334A9038D4B2320DD2B4C8334A94FAC6D 23D002A95B8D956E8D996E8DA16E8D9D6E60AD9D0FC901F013C907F014C905F0 1EC906F014C908F0B24C8334A9014C0D31A9018D80234C8334EE6B234C8334A9 0F4C2831A91BCE9A0F4C8C5FEE9C0F60EE9B0F6020042ECE9D0FF00210F64C83 3420232ECE9D0FF00210F64C833420122ECE9D0FF00210F64C8334AD9D0FF003 38E9018525AE6B23F0051865228525AD9E0FF00338E901852420B7104C833420 F62DCE9D0FF00210F64C8334A90E20EDFDAD9D0FF04FC902F042AD7A238DB023 AD79238DB123A9008525852420B710AE7A23ECB023B00A208410E625A9004C0A 32A9A020662FAE7923ECB12390F5B00320A710AD6C2320EDFD4C8334A9008525 852420B710A52348A918852320303268852360AD9D0FF01EAE7A238EB0238625 C902F00BAD79238DB123A9004C0A32A900852420B710A90E20EDFD2084104C33 32AE7023F010BDA60FCD79239008F00F9DA70FCAD0F0AD79239DA70FEE70234C 833420E1104C8334208EFDA9008D79232029304C8334A90E20EDFD204C2EAD6C 2320EDFD4C8334AD9D0FF00FC903D008A9008D70234C83344C8334A000AE7023 F0F3AD7923D9A70FF00890E9C8CAD0F5F0E3C8B9A70F99A60FCC7023D0F4CE70 234C8334A200BD9D0FF01BC907F022C904F01EC905F01AC901F016E8EC9C0FF0 E530E34C8334A90E8D6C2320EDFD4C1B33A90FD0F3AD9D0FCD9E0F90080D9E0F F01C4C83348522C6221002E622AD9E0F8523A9008524852520B7104C8334A900 8522A9184C5033A0008CB023ACB023B9236FF009200629EEB0234C6C334C8334 A90085228D8023A91885232077104C8334AD9D0FC905D008A90020E3334CB833 C906F0034C8334AD7A2320E333A93B200629AD792320BE33A95220062960C90A 901A48C914B00CA9312006296818E90A4CDC33A9322006296818E91418693020 06296048A91B200629A95B2006296820BE3360AC9A0F99890EEE9A0F6020B02C AE9B0FD05BC91BF053B00CC909F02CC90EF01AC90FF01FAE6F23D0034CFF2EC9 5F90F938E95FAABD2B6F4C662FA9022D6E238D6F2360A9014C2F34AC7023D003 4CD62DA200AD7923DDA70F9006E888D0F7F008BDA70F85244CB71060EE9B0F60 20F333E001D027A211DDB96ED0128A0AAABCC96E8C7E34BCCA6E8C7F344CFFFF CAD0E6A900A00D99990F88D0FA60C93AB017C9309013AE9C0F38E93018A00A7D 9D0F88D0FA9D9D0F60A212DDEC6ED0128A0AAABCFD6E8CC034BCFE6E8CC1344C FFFFCAD0E64C833448AD5523301E089848A4248C3724A52885F9A52985FAB128 8D3824297F0940912868A828686048AD55233016089848AC3724B1F93009C940 9005AD382491F968A8286860207710A9028525A900852420D610A290A0722076 1EA9038525A91C852420D610A2C4A07220761EA9008525A9008D60238D612385 2420D610A2AAA07220A955A9018D62236020FE5E20A828ADB9238DF203ADBA23 8DF303206FFB202F102089FEA9008DBA23AE55231003AD56232095FEAD5F23F0 062000BF6552104CD003A9018D492320A828A90B8D000DA92D851AA962851BA9 B2851CA967851DA21EAD5F23F002A240A001A90220AF124CC1358D000D861A84 1B209A5B20BB28207710A2E1A06120A955A9008D86238524A901852520D61020 A71020B55B4C1E360980C98AF008C98CF00EC98DD022EE8623A216EC8623D018 AD00C010FB2C10C00920C9F1F010C9F4D0B520CC284CC43520EDFD4CE23520CC 284CD82720FE5EA94C8D6E36203A364CD827A9002023104C5435A9008DC0238D D5238DD6238D050E20B43620CC5D200C35ADC023CDC2233007A244A06A4CA955 EEC023A9008D020DA9018D000DA94C8D000CA9478D010D20964E203D50AD010D C959F027A000B9716BF009297F99000CC84C86368C000DA9458D010D20964E20 3D50F0ADAD010DC959D0034C8C1F20675DF09E60A900851AA90C851B6020FE5E A9468D6E36203A364CCB36208C262000264CD82720A828A98020C21FA90D20A0 1FA0008C8123A90820AF124C37288DB0238D460E860A840BA947850CA90E850D 20545F205F5F4C0048A9018D492320A828A98020C21FA90D20A01FA90A20A01F A90C20A01FA91B20A01FA000A90820AF124C3728CD43249003AD43248DB0238D 000D8D460EA900850CA90C850D860A840B861A841B205F5FA947850CA90E850D 20545F205F5F20FE5E20CC5DA9528D010D8D6323A9008D020D8D050EAD4823D0 0320964E20413848A9008D6323203AFF208C2620002668D0034C0B4E4CD82720 A828A9B2851CA967851DA21EAD5F23F002A240A001A90220AF124C1B288D000D 861A841BA9018D4923209A5B20FE5EA904200554A9808D5B23AD5E233007A270 A06F20A95520DD2B4CD827AD4823F0354C3728A9018D492320A828A9B2851CA9 67851DA21EAD5F23F002A240A001A90220AF124CEB378D000D861A841B209A5B A9008D492320FE5E20CC5D20413848203AFF208C2620002668D0034C0B4E4CD8 27A9528DC323A9008DBF238DC0238DC1238DD7238DD9238DC7238DC8238DC923 8DCA238DCB238DCC238DCD238DCE238DCF238DD0238DD5238DD6238D050E8D0B 1020DD2B200C35ADC323C944D006204F3A4C8738C946D0062061394C8738C952 D00620B2384C8738C943D003A90160A9006020B436AD4823F0034CFD39ADC023 EEC023CDC223300BA9418DC323A9018DD92360AD6224D044203D50F035AD010D C953F03820675DD0DFAD6323F024AD460E8D000D8DB023A900850CA90C850D20 5F5FA9528D010DA9008D020D20964EA90060ADBF238D020D20766160AD020D8D BF2320756020DB5FA9598D010DADBF238D020D20483B20964EADC0238DC123A9 008DC02320465DA9468DC323608DAE23AD020DCDBF23F0034CEF39200C354C13 3AADC023EEC023CDC22330034CEF39203D50F022AD010DC953F025C95AF045C9 58F0CAC946D0034CE739C942D0034C343A20675DD059ADBF238D020D20766160 ADC123EEC123CDC2231044202B3BD03F20DB5FA9598D010D20483B20964EA900 8DC02360ADC123EEC123CDC2231020202B3BD01BA9598D010DA9008D000D2096 4EA9008DC02360AD020DCDBF23F00BA9418DC323A9028DD92360209A5BA9008D AE23200C35A904200554AD4823F004A94ED002A9598D010DA9008D000D20964E ADC0238DC123A9008DC02320465DA9448DC32360AD020DCDBF23D0B3A9598D01 0DA9008D000D20964EA9438DC32360ADC023EEC023CDC22330034CD83A203D50 F01BAD010DC944F01EC946F060C958F05CC95AD0034CF33A20675DD05BADBF23 8D020D20766160AD020DCDBF23F024ADC123EEC123CDC223103E202B3BD03920 DB5FA9598D010D20483B20964EA9008DC02360ADAE23D006207F584CC43A20F7 53207B58ADBF238D020D4C133AADC123EEC123CDC2233013A9418DC323A9038D D923ADAE23D00320C35660202B3BD0E84CD439AD4823D008AD020DCDBF23D0D8 ADAE23D00320C35620465DA9598D010DADBF238D020DA9008D000D20964EA946 AE4823F002A9438DC32360AD020D186901AE4823D002293FCDBF2360CE020DAD 020D293FCDBF2360A90D8D000D6020A828A21EAD5F23F002A240A000A90220AF 124C1B288DB0238D460E860A840B8D8823A247A00EADA923F007208D5BA289A0 23860C840D20545F205F5F20FE5E20CC5D20A73B48203AFF208C2620002668D0 034C0B4E4CD827A9538DC323A9008DBF238DC0238DC1238DD7238DD9238DC723 8DC8238DC9238DCA238DCB238DCC238DCD238DCE238DCF238DD0238DD5238DD6 238D050E8D0B1020DD2B200C35A900A00099000CC8C05A30F8ADC323C944D006 20383C4CF93BC946D00620BC3C4CF93BC95AD00620423D4CF93BC953D00620B2 3D4CF93BC942D006203D3E4CF93BC943D003A90160A90060ADC023EEC023CDC2 233008A90120C3564C743CA9448D010DADBF238D020DADC5238D000D20964E20 3D50F015AD010DC94EF00FC959F01820675DF005A9418DC32360AD4823D00520 3C3BF0104C6C52AD4823D008ADBF23CD020DD0F0A9008DC02320465D2049578D C523C900D010A9008DD723A90120C356A95A8DC32360A9448DC32360AD47238D 7323ADC023EEC023CDC22310A7AC4823F00D203D50F007AD010DC94EF04560AC 460E8C000D883009B9470E99000C4CE53CA9468D010DADBF238D020D20964E20 3D50F00EAD010DC94EF008C959F00C4C6F3C60203C3BF00B4C6C52ADBF23CD02 0DD0F5A9008DC02320465D200C35A9032005542049578DC52320CC5DA9448DC3 2360ADC023EEC023CDC22330034CCD3DA95A8D010DADBF238D020DA9008D000D 20964E203D50F0D9AD010DC94EF007C959F0104C6F3CAD4823D005203C3BF016 4C6C52AD4823F006A9438DC32360ADBF23CD020DD0EAA9008DC02320465D2054 5F207359D006A9428DC32360A9468DC32360A9538DDE3D20B436AD4823F0034C BC3C20DB5FADC023CDC223300DA9418DC323A9048DD923A90060EEC023A9538D 010D20483BADBF238D020D20964E203D50F049AD010DC959F013C94EF00C2067 5DF007A9418DC323A9004C6C52A000ADBF23CD020DF00160207560ADA923F00D AD0C108560AD0D1085614C963DA9468DC323A9008DC02320465DA90160ADC023 EEC023CDC22330034CCD3DA9428D010DADBF238D020DA9008D000D20964E203D 50F0D9AD010DC94EF00DC959F011AD3623F0034C6F3C60203C3BF00B4C6C52AD BF23CD020DD0F5A9008DC02320465DA9438DC323A90160AD9B0ECD9C0EB00CAE 9B0EBD9D0E0980EE9B0E60A98D608CB023AC000DD03248C98DD00FEE9A0EA002 CC9A0EB005A0458C010D297F20A7579005EE000DD011AD7423F00CA90A20A757 B0EFA9008D742368ACB02360A000B9EF6FF008297F99000CC8D0F3AD010D9900 0CC88C000DA9458D010D4C6B3FAC000D8C9C0EF009B9FF0B999C0E88D0F78C9B 0E8C000D8C69238C9A0EA2AEA03E20045AA297A03E203F28ADD82748A9EA8D4F 3FA9598D010DA23BA023A90020AF12EAA9608DD8278D4F3F20E127688DD82720 462820215AAD69238D000D20964E4C893F20CC5D20A828207710A2EBA0762076 1EA9018D62248D4923A9008DBF238D050EADC2238DC0238DC32320D65EF00720 0CFDC983F041206B40F0EFAD010DC94BD0034C0D3FC953F048C952F04AC945F0 79C947F07BC942D0034C5B40C949F025C959F0C6C94EF0C248A2EFA06F20761E 6820A3554CEC3EA9008D6224203AFF2077104CD827201C39ADC1238DC0234C9A 3F2041384C893F20545F208D5BA0008CA923B11A99470EC92AF004C93DD0038D A923207F1F998923C8CC000DD0E48C460E8C882320A73B4C893F20675D4C893F A000B11AC94CF013C946F00F48A208A07020761E6820A3554CD827A9598D010D A9008D000D20964E4CE73F20B436CEC023D008A9018DD9234C0B4E203D50F001 60ADBF238D020D2076616020A82820545FA00C8C460EB9FA6199460E88D0F720 8EFDA208A06220761EA2FBA06120A95520BB28A200A00C860A840B207710A2B9 A06120A955A0008CB0238C8723AD872320E3FDA9008DC623A9BA20EDFD20B55B 4C1B41098020EDFDC98DF00FAEC623D0ECC9A0D0068DC6234CDD40ACB023910A EEB023D002E60BC98DD0D2EE8723A90DC50B9007A90ACD8723D0B2203AFF200C FD297F0920C96DF092C971D0034CE14138E930CD8723B0E38DB02320CC2820CC 5DA0008CC6238C8623A200860AA20C860BAEB023ECC623F011B10AC8D002E60B C98DD0F5EEC6234C54418CC623B10AAE8623D02CC9DCD0058D8623F02FC9A6D0 24A9088DB023A97D8DB123200C29AD0E1020A8FCCEB123D0F2CEB023D0E8F00C A2008E8623297F4820062968ACC623C8D002E60BC90DD0B2A900A2049DB461CA 10FA8DB42320E741F00620EDFD4CC541ADB461F00620D8284C152920BB284C1B 4120CC284CD827A003A204A9001DB461CA10FAAAD002A0C88CB023AD00C01009 2C10C0200629A90060200C29D01BA97D8DB223AD0E1020A8FC200C29D00BCEB2 23D0F0CEB023D0D360200F290980AEB423DDAA61F014A88A6AB02398E8E8E00A 90EFA2008EB423A20160A88A186A9008AA989DB4614C4242E88EB4239860A200 8EB423984C3142208EFDAE4C62A98D9D0002BD4C629DFF01CAD0F72003BE4C8B 42AD5F23D0E1A9062095424CD827A0608CE942D005A0AE8CE9424820DC03840A 850BA00068910AA004AD6124910AC8AD6024910AC8AD5F24910AC8AD4723910A C8A947910AC8A90E910AA00CA900910AC8A90A910AC8A900910AC8A908910AC8 A900910AC8A909910AAE5FAA20D60390034C295F60AE6262BD62629DFF01CAD0 F72003BE9007A28AA06B20761E4CD82720A828A246A98D9D0002A9A09DFF01CA D0FAA21EAD5F23F002A240A000A90220AF124C1B288DB023860A840BA907A202 AC5F23D00720545FA947A20E850C860D206C5F20FE5EAD5F23D09AA905209542 4CD82720A828A9F5850AA962850BA000A90120AF124CFF27A07FA9434C6C47A9 8020C21FA90D20A01FA90A20A01FA90C20A01FA91B20A01FA0008CBF238CC023 8CC3238C050E8CA923A90820AF124C37288D460E8EF2438CF34320FE5E20CC5D 200C35A94920B43DD009ADC323C941F061D0F0ADC023EEC023CDC2231097A94B 8D010DADBF238D020DA0008C69238CB023B9FFFF20A757B009ACB023C8CC460E D0ECAD69238D000D20964E203D50F0C320F753AD010DC94EF01EC959F021C945 F00D8D6224204138A9008D6224F003207B58208EFD4CD827203C3BF0F5D094AD BF23CD020DD08CF0E6A900850AA963850BA000A90120AF124CFF274CF627A210 A000A90520AF124C0D288EB4238CB52320FE5EADB523F0034C0D28ADB423C97F 30034C0D288D46234CD82720E15E4CFF278E4C234C004820E15E4CFF278E5723 4C004820E15E4CFF278E83234C004820E15E4CFF278E84234C004820E15E4CFF 278E85234C004820E15E4CFF278E4A234C0048A9008D3924A955850AA965850B A000A90120AF124CFF27A00FA9454C6C47A9018D3924A955850AA965850BA000 A90120AF124CFF27A00FA9454C6C474CE6454CDD454CAC454CCB454CEF454C1A 464C23464CD4454C2A4520E15E4CFF278AAE39249D4A244C0048A9D4850AA966 850BA000A90120AF124CFF27C004F0098C4B2320DD2B4C004820E15E4CFF278E 80234C004820E15E4CFF278E66234C0048A9B8850AA966850BA000A90120AF12 4CFF278E67234C0048A210A000A90520AF124CA74598F0034CA7458AC97F3003 4CA745AE39246068684C0D28208945C921300EC93F3004C96030069D3A244C00 48A284A06920761E4C00482089459D40244C00482089459D48244C0048208945 9D3C244C00482089459D3E244C0048A210A000A90520AF124C0D2898D0058AC9 FB900EA26DA07020761EA9FA209755A9FAAE39249D42244C00482089459D4624 4C00482089459D4424D018A90048A93248A90048AD442448209A1E688D502368 8D51234C0048A9DF850AA965850BA90C850CA966850DA002A90120AF124CFF27 E0FFD00CA210A000A90520AF124C0D288E47238E82234C0048A913850AA96685 0BA915850CA966850DA002A90120AF124CFF278C48234C0048A208A000A90520 AF124C0D2898F0034C0D288AC90830034C0D280A0A0A0A8D07104C0048A98F85 0AA966850BA000A90120AF124CFF278E64234C0048A90C850AA967850BA000A9 0120AF124CFF278E39238C52234C0048A919850AA967850BA000A90120AF124C FF278E3A238C5523A00FA9474C6C474C3D474C3D47A210A000A90520AF124C0D 28C000D015E0081011E001300D8A8D562320AC2620DD2B4C00484C9C48A91A20 EDFDA93120EDFDA99120EDFD4C3147A94A850AA967850BA000A90120AF124CFF 27E006F0038E5923A085A9478C77238D78238A186D77238D7723A9006D78238D 78236C77234CBE474CAC47A210A000A90520AF124C0D28C000D09FE008109BE0 0130978E5A2320DD2B4C0048AD5E233007A270A06F20A95520BB2B4CA64720D2 2B4CA647A960850AA967850BA000A90120AF124CFF27A0DDA9474C6C474C0648 4C0E48A20AA000A90520AF124C0D28C000F00AA26DA06920A9554CD8278E5D23 20FE5E4CD827A9008D5E234C0048A9804C0848A20AA000A90520AF124C0D288E 0E104C0048A999850AA967850BA000A90120AF124CFF27A03EA9484C6C474C74 484C5648A20AA000A90520AF124C0D288E61244C0048A210A000A90520AF124C 0D28C000D036E0081032E001302E8E5F244C0048A210A000A90520AF124C0D28 C000D00EE003100AE00130068E60244C0048A28DA06A20A9554CD827A272A06A 20A9554CD827A928850AA966850BA000A90120AF124CFF278C0310A90B202310 4C0048A98020C21FA90D20A01FA90A20A01FA90C20A01FA91B20A01FA92020A0 1FA000A90820AF124C3728C9403002A9408DB0238DA324A9A4850CA924850D86 0A840B206C5FACB023A900910C2000BFC68E24900320FF244CD827A925850AA9 64850BA927850CA964850DA002A90120AF124CFF27E0B6D004C04AF014E08FD0 04C04AF00C8E58498C594920FE5E4C57498E58498C59492057494CD827A283A0 6120A95520AC4920FC4920684A203A4C20754A20824A20B84B20194C202A4C20 604C20864C20E74C20684D20C54C20D249202C4D20274A20344A20414A205B4A 20EB4B200C4C20AC4B4C854BA2E0A07220761EAD6723C9033002A900AAA9288D B723A9718DB823A909488A4820AE5F4CA955A206A07620761EAD5B2330034C09 5FA2E7A07620761EA220A07620761EAD460EA247A00E20AF554C8EFDA2FAA072 20761EA9D68DB723A9668DB823A90B48AD4B234820AE5F20761EA25AA0762076 1EAD80234C095FA226A07620761EAD4C234C095FA240A07620761EAD57234C09 5FA268A07620761EAD832320195FA282A07620761EAD84234C095FA294A07620 761EAD85234C095FA214A07320761EAD4A234C095FA22EA07320761EAD66234C 095FA248A07320761EAD46234CA355A9018D3924A955850AA965850BA000A901 20AF124CFF278EB02320FE5EAEB023A0DDA94A4C6C47A9008D3924A955850AA9 65850BA000A90120AF124CFF278EB02320FE5EAEB023A0DDA94A4C6C474C154B 4C254B4C354B4C454B4C554B4C654B4C754B4C054BA277A07420761EAE3924BD 4A244C095FA255A07420761EAE3924BD48244CA355A2CDA07320761EAE3924BD 3E244CA355A2EFA07320761EAE3924BD3C244C9755A267A07320761EAE3924BD 3A244CA355A289A07320761EAE3924BD40244CA355A2ABA07320761EAE3924BD 42244C9755A211A07420761EAE3924BD46244CA355A233A07420761EAE3924BD 44244C9755A9018D3924A262A07320A95520154B20254B20354B20054B20454B 20554B20654B20754B4CF54AA9008D3924A299A0744C8E4BA2A1A07420761EAD 4723C9059002A903AAA9D38DB723A9708DB823A90B488A4820AE5F20761EAD47 23C905900320DAFD4C8EFDA2AEA07620761EA9158DB723A9668DB823A90A48AD 48234820AE5F20761E4C8EFDA2C8A07620761EAD0E104C9755A2BBA07420761E AD07104A4A4A4A4C9755A2D5A07420761EAE0510AC06104CA955A2EFA0742076 1EAD6423C9053002A900AAA90A8DB723A9718DB823A906488A4820AE5F4CA955 A209A07520761EAD3923C9033002A901AAA9A28DB723A9708DB823A905488A48 20AE5F4CA955A29EA07520761EAD3A23C906D002A902C9033002A901AAA9AC8D B723A9708DB823A90D488A4820AE5F20761EAD5523100BA9BD20EDFDAD562320 DAFD4C8EFDA2D2A07520761EAD592320195FA259A06720761EA93D20C62CAD5A 2320DAFD4C8EFDAD5F23F016A223A07520761EADA324F031A2A4A02420761E4C 294DA23DA07520761EAD5F24209755A25EA07520761EAD6024209755A27FA075 20761EAD612420DAFD4C8EFDA2ECA07520761EAD5E231026A269A06720761EA9 A020C62CA275A06720761EA93D20C62CAD5D2320DAFDA9A020C62C4C8EFDA2E2 A07620761E4C3F4DA2B8A07520761EA9DE8DB723A9718DB823A9064838AD0310 E9034820AE5F4CA95520FE5EA20CA07720761EAECE23ADCF23209D55A22EA077 20761EAECB23ADCC23209D55A250A07720761EADC923AAADCA23209D55A272A0 7720761EADC723AAADC823209D55208EFDA294A07720761E38ADC923EDCE23AA ADCA23EDCF23209D55A2B6A07720761E38ADC723EDCB23AAADC823EDCC23209D 55208EFDA2D8A07720A9552CD9237045A91948ADD923300E48A9A98DB723A96A 8DB8234C384E297FF00338E90148A9D58DB723A96B8DB82320AE5F20A955AD62 24F020A9018DC02320664ED005CEC023D0F64C713FA2D0A07220761EA2DAA023 20A9554CD827A9458D010DADBF238D020DA000B100297F911AC8C018D0F58C00 0D20964E203D50F009AD010DC959F003A90060A90160A9028525A921852420D6 10ADD02320DAFDADCF23AECE23209D55A9008D040EAD3F24A200EC3D24B007E8 20645E4CBA4EAD492420645EAD000DAE4823D017C95F901320FA4FA90620FA4F A9208DC62320645E4C014F186903AE4823D00B481869208DC62320645E6820FA 4FAD020DAC4823F00B20645E49FF20645E4C544F186920202050AD010D297F20 2050AC000DC05F902BA90048C898D0010048A90048A95F4820FA1E9001006818 6920202050686818692020205020195020205068A0008C6923AD4823F0038CC6 23AC6923CC000DB00BB11A202050EE69234C614FAD4823F018A980CD000DF00B A91A202050EE000D4C794FADC6234C9A4F20195020645EAD412420645EAD040E 8D030EA9008D040EAD6723F005A90020BA52A9008D040EAE4823F01FAD010DC9 59D008A9062006294CEF4FC94ED004A915D0F2C95AD004A904D0EAAE040EEC03 0EB00CBD030D200629EE040E4CDB4FAD6723F005A90120BA5260186DC9238DC9 239003EECA2360ADC62329C04A4A4A4A4A4A186DC623293F6020075018692060 48186DC6238DC6236820645E60AD000D186DC7238DC7239003EEC8236020DE5D 4C5A52A9008525A921852420D610ADCD2320DAFDADCC23AECB23209D55AD6723 F005A90220BA52A9008DC6238D69238D0A0E20525E4C5A528DB623297FAE4823 F025C943F016C904D004A95AD00EC906D004A959D006C915D00DA94E8D010DA9 008D000D4C8B52CD4824D0C6AD4823F02320525E4C5A528D020D20525E4C5A52 49FFCD020DD0F6A0808C000DA9448D010D4CCE51A9018DBC23ADBC23C9063003 4C1F52C905D008AD6923D0034C075120525E4C5A528DB623297FCD4824D008A9 008DBC238D0A0EADBC23C904100320AF52ADBC23D008A9008DC6234C0452C901 D014ADB62338E920D003EE0A0E38E9038D000D4C0452C902D00CADB62338E920 8D020D4C0452C903D009ADB6238D010D4C0452C904F0034CF751AC0A0EF05EAD B6234820AF526838E92099060EEE0A0EC002D0092007508D060E4CD950C003F0 034CD950AD090ECD060EF009AD060E8DC6234C2A52A9008D0A0E48AD070E48A9 0048A95F48209A1E688D000D68AD080E186D000D8D000DCE000D4CD950A0008C 6923AC6923CC000DB03AC000F01820525E4C5A528DB623AE4823D00A297FCD48 24D0034CFF5020AF52ADB623AC6923911AEE69234CC251C905F0034CA0522007 508DC623AD4823F01020525E4C5A528DB623CDC623D013F072EEBC234CD950AD B62338E920CDC623F061A9068DD923A9018525A900852420D610A226A06B2076 1EADB623AE4823D00338E92020DAFDA92020EDFDADC623209755A9008D040EAD 6723F005A90320BA52202D50A9038525A923852420D610EE6023D003EE6123AE 6023AD61232041F9A90060A9008D040EAD6723F005A90420BA52202D50A90160 A23FA06B20761EA9078DD9234C5A52ADB623186DC6238DC623608DBB2320F753 AD6723C901D0034CC253A9438DB723A9718DB823A91F48ADBB234820AE5F2076 1EAD010D0980209155ADBB23F004C9039003202353201053A90160AD00C0100F C993D00B2C10C0AD00C010FB2C10C060A9088DB023A9DC20A8FC20FB52CEB023 D0F360208EFDA22CA07220A955A258A07220761EEE040EAE040EBD030D38E920 8DB023AD000D209755A23CA07220761EEE040EAE040EBD030DAC4823F00849FF CE040E4C695338E920209755EE040EA0FF8CB123AC4823D00EACB023D009EE04 0EEE040EEE040EEEB123ACB123CC000DB00FEE040EAE040EBD030D208C5F4C87 53208EFDA274A07220761EEE040EAE040EBD030DAE4823D00338E9202097554C 8EFDADBB23F009C903F00BC904F00760A2F7A076D004A201A07720A955AE040E EC030EB00CBD030D208C5FEE040E4CDD53208EFD4CF552A9048525A900852420 D6104CA71048AE5F23D003205E55C904F072AE5F23F0652000BFC49124900320 FF24AD4723C905B023C9043002A9038DB0230EB023186DB023AAA041A9544C6C 474C6D544C77544C7254A906CD9524F00EA298A06F20761E20B84B68A9006020 00BFC86D24900320FF244CF754A9044C4C54A9FC4C4C54A9FA4C4C54A9018D5F AA4C2855A9018D6624AD6623F00320C4554C1E55AD6624F007A2A3A06B20A955 204B564C8E542000BFC86D249049C946F00320FF24AD4723C905B023C9043002 A9038DB0230EB023186DB023AAA0D4A9544C6C474C0B554C19554C1055A906A2 00A0008D86248E87248C88242000BFC0822490B220FF24AD72248D74248D7C24 8D8124A97E8D77244C3F55A9044CDF54A9FCA008A2014CE354A9FA4C1255AD5F 23D083A9008D5FAAA901209542ADC2B5297FCD4723F00820F956A90C4C2C5F20 735568A27FC904D005A200EE77248E6424A97E8D6524A9008DD823A9016048A0 00B9470E207F1F098099470EC8C01F30F06860AD6223F018A9038525A9008524 20D610A247A00EAD460E20AF55CE62236020EDFD4C8EFD20DAFD4C8EFD2041F9 4C8EFD208C5F4C8EFD20761E4C8EFD86008401AAF0DAA000B1000980208E1EC8 CAD0F560AD5F23F0222000BFC49124902BC946F02AAE470EE0419004E05B9008 A2418E470E4CC45520FF24A901208E42A20120D603B008A90A8DD9234C8C1F60 AC460EC00D3039A9AFD9460EF00688D0F84C2D568CB023AD460E38EDB023C90D 100BAC460EC03E3017C904306B20F753A29FA06F20A955AC460E8888884C7556 98C8C8C88C460EA84C7556AD6624F03BA9008D6624AD5F23D0A6A01EB9470EC9 A0D0058810F6A0008C6724C8C8C01E1027AC6724C8A9AE99470EA9008D6824C8 8C672420A456C88C460E60EE6824AE6824F0058A20A45660A9098DD923AE3624 9A4CD827AC6724484A4A4A4A20B75668290FC820B7566009B0C9BA9002690699 470E60AE5F23F02AAAD0192004572000BFCF7B24900320FF242000BFD07B2490 0320FF242000BFCC8024900320FF24A90160C900D003200457A9028D5FAA2095 42A90160AD6424F03FAD5F23F012AD64248D77242000BFCB7324900320FF2460 A9048DBBB5A9008DC2B5AE6424CA8EC1B5A9028DBCB5A99A8DC3B5A20E8EC4B5 20D60390034C295F60A9008D692320B55B4C5E588DB623AD5F23D03FAD4723F0 2A38AD7123E9018D7123AD7223E9008D7223C9FFD025AD7123C9FFD01EAE6524 8E6424A9018DD8234CA357ADB623297FD009AE65248E64244C5E5820AE57B003 4C4E57AD6923608DB623A901D002A9008DB123AD4823F006ADB6234CEA57AD68 23F019ADB6231017AD3B24AC6923911AC88C6923ADB623297F8DB623ADB62329 7FC9201018ACB123D00AAC4723D02AAC4B24F025C90DD0218D7423F01CC97FF0 18CD4724D0034C2658AD6823F024ADB623CD3B24D01C4C2658AD4823D014ADB6 2349408DB623AD4724AC6923911AC88C6923EECE23D008EECF23D003EED023AD B623ADB623AC6923911AC88C692398AC4823F003C98060186906CD432460AD5F 23F00DADD723F0088DD823A9008DD723AD6923D005A0018CD72360A001D002A0 008CAF23A9008D6923AD6923CD000D900160A9008D6A23AC6923B11A8DB623AC 4823D049CD3A24D013AD6823F03F8D6A23EE6923AC6923B11A8DB623CD4624D0 1FEE6923AC6923B11A8DB623297FCD4624F00DCD3A24F008ADB62349408DB623 AD6A23F008ADB62309808DB623ADAF23D010AD4723D033AD5F23F006ADB6234C 0759ADB623297FAE4A24F01EC90DD0058D7623F015C90AD00CAD7623F00CA900 8D7623F028A9008D7623ADB623ACAF23F008098020EDFD4C4D5920A25C4C5359 EECB23D008EECC23D003EECD23EE69234C89588DD923297FA8A9154888889848 A9D58DB723A96B8DB82320AE5F20761EA90060ADA923F0FAA9008DAA238DAB23 8D86238DAD2385628D8223A23AA05A20045AAD8B4248A9608D8B42AD5F23D02B AD39AEC920F010EE8223A27BA07020761E208EFD4CCB5948AD3AAE48AD3BAE48 A9EA8D39AE8D3AAE8D3BAEA947855AA90E855BA989855CA923855D208142AD5F 23D011AD8223D00C688D3BAE688D3AAE688D39AE688D8B4220215AAD460EF003 AD862360688D1F5A688D205AA53648A5374886368437EE1F5AD003EE205A4CFF FF688D385A688D395A688537688536EE385AD003EE395A4CFFFF488DB023AD86 23D03C8A489848ADB023297FC90DF03BEEAA23ACAA23AE5F23D026C008B007A2 008E460EF015C026B011AC460E99470EEE460EC920F004C88CAB2368A868AA68 60C00290DAC011B0F290DFEEAD23ADAB238D460EA9008DAB238DAA23ADAC23CD AD23B0D7AD460ED005EE8623D0CD20BC5AF0C8ADAD238DAC234C7B5AAD460ED0 15AD8823F056A000B15CC92AD052C8CC882330F41046AD8823F045A000B15CC9 3DF008C92AF00CD15AD035A901203E5B4C255BA901203E5BAD8623F0034C255B A9FF203E5BAD8623F0034C255BAD460EC901F011A900203E5B4C255BA901D002 A9008D862360A000B15CC92AD00BC8CC882330F4A9014C225BA9004C225B8D87 23AD460E48A55A48A55B48AD882348A55C48A55D4820705B20BC5A68855D6885 5C688D882368855B68855A688D460E60AD87233009CE460EE65AD002E65BAD87 23F009CE8823E65CD002E65D60A007AD5F23D002A0048CAC2360AD4923F01520 545FA000B11A098099470EC8CC000D30F38C460E60AD7423F00AA9008D7423A9 0A4C885CAE6424EC652410034C7F5CADD823F0034C975CAD5F23F0152000BFCA 7324F007C94CF0EC20FF24AD79244C2A5CA9038DBBB5A9008DC2B5A97E8DC1B5 A9028DBCB5A99A8DC3B5A20E8EC4B520D603ADC5B5F01EC905F007C904F0034C 9F5CA97D38EDC1B5F06D8D6524A9008D64244C7F5CA9008D6424A97E8D6524AD 7323F03BA200AD4723C904D002A202BD9A0E8D7123BD9B0E8D7223A202A904CD 4723D001AA8EB02318AD71236DB0238D7123AD722369008D7223A9008D7323AE 6424BD9A0EEE6424AE5F23D007AE4723D002297F4C8C1FA9018DD723A900604C 385FAE5F23D007AE4723D0020980AE64249D9A0EE88E6424E07FF005A9004C8C 1FAD5B231023AD0B10101EA993202310AD5D238DB023200C29ADB023F00BAD0E 1020A8FCCEB023D0EDAD5F23F00E2000BFCB7324900320FF244C1D5DA9048DBB B5A9008DC2B5A97E8DC1B5A9028DBCB5A99A8DC3B5A20E8EC4B520D603AD5B23 100AAD0B101005A991202310AD5F23D008ADC5B5F0034C385FA97E8D6524A900 8D64244C8C1F48AD4823F006EEBF234C5D5DADBF23186901293F8DBF23EED523 D003EED6236860AD010DC945F003A90060A900850AA90C850BA9DA850CA92385 0DAC000D8CB023A900910C205F5FADD92309408DD923A2D0A07220761EA2DAA0 2320AD5D208EFD203AFFA9016086008401A000B100F01448AD0E102A20A8FC68 20C62CC8D002E6014CB35D60A9008D0810202010D0F520E92968684CD827A900 8D030EAD00C0AD10C0206E5E4C435EAE4823F018C943F00CC904F008C915F004 C906D008A200EE030E4C475ECD4824D0D8F01C206E5E4C435EAE4823D011CD48 24D007A2008E030EF008CD4024F015AE030E9D030DEE030EAD4823F0D6E083F0 09D0D060AE030E9D030DA9008D040E4C8C1FAE040EEC030E900160BD030DEE04 0E4C8C1FAE040E9D030DEE040E60A9FF8D4D23AD50238D4E23AD51238D4F23AD 4C23F018AD4D23D010AD4E23D008AD4F23F02BCE4F23CE4E23CE4D2320D65EF0 23AD00C02C10C0297FC951D016A90120C356A9088DD923AE36249A4CD827A90B 8DD92360200C29F0B6200F29AE6423F002297F4C8C1F2C00C01003A90160A900 60A97D850AA967850BA9E7850CA976850DA002A90120AF1260EAEA4C8C1FA904 20AF124C06284C8EFDF007A2E7A0764CA955A2E2A0764C0F5FF007A2E7A0764C 761EA2E2A0764C1F5FADC5B509808DD923AE36249A4C0B4EADC5B509808DD923 A90120C356A9058D5FAA209542AE36249A4C0B4EA21EA9A09D470ECA10FA60AC B0238830F9B10A910C4C625FACB0238830ECB10A0980910C4C6F5FACB023ADB1 238830DA910C4C815F20B02C0980C9A01019AAA98F20EDFDA53248A93F85328A 18694020EDFD688532A98E4CEDFD688D3723688D382368AA68A8A900488A48A9 00489848209A1E68186DB723AA686DB823A8AD382348AD37234860A0008C6923 AD4224C95F9002A95E186920911AC8AD4424186920911AC8AD3C24186920911A C8AD3E244940911AC8AD4024186920911AC8AD4624911AC8A959AE5F23D005AE 4723F008AE6423F003AD3A24911AC8A931911AC8A920911AC8A922AE4224E05F B002A920911AC8A920911AC88CB523A90048AD422448A90048A95F4820FA1E90 0100ACB52368186920911AC86868186920911A6860A0008C68238C050EB11A38 E9208D4324206F618D4524206F618D3D24C8B11A49408D3F24C8B11AF0034CA9 60A90D8D41244CAF6038E9208D4124C8B11AF0034CB960A9238D4724C8AD000D C9079035B11AC94EF02FC959D011AD5F23D005AD4723F037AD6423D015F030C9 213016C93F3008C960300EC97FF00A8D3B24A9018D6823D016AD5F23D005AD47 23F00CAD6423F007984820F02968A8AD000DC90A9058C8C8C8B11A2902F04FAD 4224C95F90488D050EB11AC82901D0F998186902CD000DB017A90048206F6148 A90048A95F48209A1E688D432468F008A9FA8D43244C6E61206F61186D43248D 4324B0ECA9FACD4324B0038D432460C8B11A38E92060A9008D000DA94E8D010D 4C964ECECFD3C3AFD3C9AFC3D5ADC1D0D0CCC5A0DDDBA0CBC5D2CDC9D4ADB6B5 A0D6C5D2A0B3AEB8B500C3CFCECFCFCBD2C9C5D2ADB9A0CDCF8FD0D2C5D3D3A0 B0ADB9A0CDCFC4C5CDA0C3CDC4ACA0CDADCDCFD2C5A0CFD2A0D1ADD1D5C9D48E 008FCDADCDCFD2C5ACA0D1ADD1D5C9D4A0CFD2A0D4ADD4CFD08E00CBC5D2CDC9 D4AECDCFC4C5CD00D2C5C1C4C9CEC7A0CDCFC4C5CDA0C6C9CCC5A000D2C5C1C4 C9CEC7A0C3CFCDCDC1CEC4D300CBC5D2CDC9D4AEC8C5CCD0CBC5D2CDC9D4AEC9 CEC9D400140342594500243607434154414C4F4700814207434F4E4E45435400 F8280644454C45544500104304455849540051350646494E49534800BD360347 45540009370448454C50008A35034C4F47009F37054D4F44454D008B40045155 4954005135075245434549564500F3370652454D4F54450063430453454E4400 4E3B0653455256455200713F035345540049440453484F57001B490653544154 555300894D0454414B4500D4360454595045008A3501064B45524D4954000000 18104150504C49434154494F4E2D4D4F444500AF44044241554400A648114355 52534F522D4B4559532D565431303000BB4409444542554747494E470071450C 44454641554C542D4449534B00254807444953504C415900F046064553434150 45005E440946494C452D545950450046460C46494C452D5741524E494E470065 4504464C4F5700C447084B4559424F41524400D546064B455950414400A3440A 4C4F43414C2D4543484F00C7440650524546495800C3480650415249545900BD 46075052494E544552004F470850524F544F434F4C0079460752454345495645 00D3440453454E4400F14404534C4F540099460F535741504B4559532D425326 44454C009744085445524D494E414C003A450554494D4552008B440654494D49 4E470013481A03414C4C005D49044241554400684D11435552534F522D4B4559 532D5654313030005B4A09444542554747494E4700AC490C44454641554C542D 4449534B00E74C0D4445564943452D445249564552002A4C07444953504C4159 00864C0645534341504500824A0946494C452D5459504500B84B0C46494C452D 5741524E494E4700754A04464C4F57002C4D084B4559424F41524400604C064B 455950414400414A0A4C4F43414C2D4543484F00684A034C4F4700D249065041 52495459003A4C0650524546495800E74C075052494E54455200C54C0850524F 544F434F4C00EB4B075245434549564500B64A0453454E44008F4A04534C4F54 00194C0F535741504B4559532D42532644454C00344A085445524D494E414C00 FC490554494D455200274A0654494D494E47000C4C090A43523C2D3E43522C4C 460018181445494748542D4249542D51554F54452D434841520006060B454E44 2D4F462D4C494E450009090D5041434B45542D4C454E475448000C0C08504144 2D434841520000000750414444494E470003030A51554F54452D43484152000F 0F0F53544152542D4F462D5041434B45540015150754494D454F555400121205 094150504C45534F46540002000642494E41525900040007494E544547455200 0100054F5448455200FF00045445585400000002064B45524D49540000000658 4D4F44454D0000010D033131300003030431323030000808053133342E350004 04033135300005050431383030000909053139323030000F0F0432343030000A 0A033330300006060433363030000B0B0434383030000C0C0336303000070704 37323030000D0D0439363030000E0E05044556454E000404044D41524B000202 044E4F4E45000000034F444400030305535041434500010103034F4646000000 05544552534500010107564552424F534500020205074D4F4E49544F52000000 074E4F4E45202020000001075654313030202000000207565435322020200000 03075752415020202000000402023245000301023250000000030C32452D3430 2D434F4C2020200003010C32502D34302D434F4C2020200000000C38302D434F 4C2D534C4F542000068003034F4646000000024F4E00030004534C4F54000600 03034F464600000008584F4E26584F46460003010544454C415900060202024F 4E000101034F464600000002024E4F0000000359455300010103054452495645 00000004534C4F5400030303564F4C0006060400C3C8CFD3C5A0CFCEC5A0CFC6 A0D4C8C5A0C6CFCCCCCFD7C9CEC7BA8DA0A0A0A0A0A0A0A0A0A0A0A0A0B0ADCE D5CCCCA0C3C8C1D28DA0A0A0A0A0A0A0A0A0A0A0A0A0C2ADC2D2C5C1CBA0D3C9 C7CEC1CC8DA0A0A0A0A0A0A0A0A0A0A0A0A0C3ADC3CCCFD3C5A0C3CFCECEC5C3 D4C9CFCE8DA0A0A0A0A0A0A0A0A0A0A0A0A0C4ADC4D2CFD0A0CCC9CEC58DA0A0 A0A0A0A0A0A0A0A0A0A0A0C5ADD2A8C5A9D3D4CFD2C5A0D3C3D2C5C5CE8DA0A0 A0A0A0A0A0A0A0A0A0A0A0CBADCBC5D9D0C1C4A0C1D0D0CCC9C3C1D4C9CFCEA0 D4CFC7C7CCC58DA0A0A0A0A0A0A0A0A0A0A0A0A0D0ADD0D2C9CED4C5D2A0D4CF C7C7CCC58DA0A0A0A0A0A0A0A0A0A0A0A0A0D2ADD0A8D2A9C9CED4A0D3C3D2C5 C5CE8DA0A0A0A0A0A0A0A0A0A0A0A0A0D3ADD3D4C1D4D5D38DA0A0A0A0A0A0A0 A0A0A0A0A0A0D7ADD3A8D7A9C1D0A0C2D3A0A6A0C4C5CCA0CBC5D9D38DA0A0A0 A0A0A0A0A0A0A0A0A0A0C5D3C3C1D0C5ADC3C8C1D2A0ADA0D4D2C1CED3CDC9D4 A0D4C8C5A0C5D3C3C1D0C5A0C3C8C1D28D008DBFD5CED2C5C3CFC7CEC9DAC5C4 A0C3CFCDCDC1CEC4008DBFC9CCCCC5C7C1CCA0C3C8C1D2C1C3D4C5D2008DBFCE CFD4A0C3CFCEC6C9D2CDC5C4008DBFC9CED4C5C7C5D2A0CFD5D4A0CFC6A0D2C1 CEC7C5008DBFC1D3C3C9C9A0C3C8C1D2C1C3D4C5D2A0C9D3A0CECFD4A0C9CEA0 D0D2CFD0C5D2A0D2C1CEC7C5008DBFC5D8D0C5C3D4C9CEC7A0CBC5D9D7CFD2C4 008DBFC5D8D0C5C3D4C9CEC7A0C6C9CCC5A0D3D0C5C3008DBFC5D8D0C5C3D4C9 CEC7A0C9CED4C5C7C5D2008DBFC5D8D0C5C3D4C9CEC7A0D3D7C9D4C3C8008DBF C4C5D6C9C3C5A0C4D2C9D6C5D2A0CECFD4A0CCCFC1C4C5C4008DBFCED5CCCCA0 D3D4D2C9CEC7A0C6CFD5CEC4A0D7C8C9CCC5A0CCCFCFCBC9CEC7A0C6CFD2A0D4 C5D8D4008DBFC3CFD5CCC4A0CECFD4A0D3C5CEC4A0C7C5CEC5D2C9C3A0CCCFC7 CFD5D4AFC6C9CEC9D3C8A0D0C1C3CBC5D4008DBFD3CCCFD4A0CED5CDC2C5D2A0 CFD5D4A0CFC6A0D2C1CEC7C5008DBFC4D2C9D6C5A0CED5CDC2C5D2A0CFD5D4A0 CFC6A0D2C1CEC7C500A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0 A000C3C1CECECFD4A0D2C5C3C5C9D6C5A0C9CEC9D4A0A0A0A0A000C3C1CECECF D4A0D2C5C3C5C9D6C5A0C6C9CCC5ADC8C5C1C400C3C1CECECFD4A0D2C5C3C5C9 D6C5A0C4C1D4C1A0A0A0A0A000CDC1D8A0D2C5D4D2D9A0C3CFD5CED4A0C5D8C3 C5C5C4C5C400C2C1C4A0C3C8CBD3D5CDBAD0C1C3CBACA0C1C3D4D5C1CCA000D0 D2CFC7D2C1CDA0C5D2D2CFD2A0C9CEA0D2D0C1CBA0A0A000B8ADC2C9D4A0D1D5 CFD4C9CEC7A0D2C5C6D5D3C5C4A0A0A000D4D2C1CED3C6C5D2A0C1C2CFD2D4C5 C4A0C2D9A0D5D3C5D200C3C1CECECFD4A0C1CCD4C5D2A0C6C9CCC5CEC1CDC5A0 A0A000C6C9CCC5A0C1CCD2C5C1C4D9A0C5D8C9D3D4D3A0A0A0A0A000C6C9CCC5 A0D4D2C1CED3C6C5D2A0D4C9CDC5CFD5D4A0A0A000A0A0A0A0A0A0A0A0A0A0A0 A0A0A0A0A0A0A0A0A0A0A0A0A000C2C1C4A0C3C1CCCCA0D4D9D0C5A0A0A0A0A0 A0A0A0A0A0A000C2C1C4A0D3D5C2ADC3C1CCCCA0D4D9D0C5A0A0A0A0A0A0A000 D7D2C9D4C5A0D0D2CFD4C5C3D4C5C4A0A0A0A0A0A0A0A0A000C5CEC4A0CFC6A0 C4C1D4C1A0A0A0A0A0A0A0A0A0A0A0A0A000C6C9CCC5A0CECFD4A0C6CFD5CEC4 A0A0A0A0A0A0A0A0A0A000D6CFCCD5CDC5A0CDC9D3CDC1D4C3C8A0A0A0A0A0A0 A0A0A000C4C9D3CBA0C9AFCFA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A000C4C9D3 CBA0C6D5CCCCA0A0A0A0A0A0A0A0A0A0A0A0A0A0A000C6C9CCC5A0CCCFC3CBC5 C4A0A0A0A0A0A0A0A0A0A0A0A0A000C9CED6C1CCC9C4A0D0C1D4C8CEC1CDC5A0 A0A0A0A0A0A0A000C9CEC3CFCDD0C1D4C1C2CCC5A0C6C9CCC5A0C6CFD2CDC1D4 00C6C9CCC5A0C1CCD2C5C1C4D9A0CFD0C5CEA0A0A0A0A0A0A000303132333435 363738397975696F686A6B6C6E6D5955494F484A4B4C4E4D2C2E20302D15080B 0A8F6D926D956D986D9B6D9E6DA16DA46DA76DAA6DAD6DB16DB56DB96DBC6DC0 6DC46DC86DCB6DCF6DAD6DB16DB56DB96DBC6DC06DC46DC86DCB6DCF6DD36DD7 6DDA6DDE6DE26DC86DD76DE66DE96D1B7E001B53001B54001B55001B56001B57 001B50001B51001B52001B41001B3F77001B3F78001B3F79001B42001B3F7400 1B3F75001B3F76001B43001B3F71001B3F72001B3F73001B44001B3F70001B3F 6E001B3F4D001B41001B420015080B0A363738397975696F686A6B6C6E6D2C2E 20305955494F484A4B4C4E4D946E986EA06E9C6E506E546E586E5C6E606E646E 686E6C6E706E746E786E7C6E806E846E886E8C6E906E4C6E606E646E686E6C6E 706E746E786E7C6E806E846E1B4F6E001B4F50001B4F51001B4F52001B4F5300 1B4F77001B4F78001B4F79001B4F6D001B4F74001B4F75001B4F76001B4F6C00 1B4F71001B4F72001B4F73001B4F4D001B4F70001B5B43001B5B44001B5B4200 1B5B410015080B0A183D2F2A3738392B3435362D3132330D302E5B4844454D1B 3D3E5A37383C5C2829632390318132A232A832B6328431DB30D93067339230B3 308334833447304C30803339303B4244434866414A4B676D3F6C68725263718C 319431A131AE31BB31BB31DF31EC315332C7320433D830E13052313533913367 3383341B5B3F313B306300202A232E2E2E2E602B2E2E2B2B2B2B2B7E2D2D2D5F 2B2B2B2B7C3C3E5021242E7FCECFD4A0D3D5D0D0CFD2D4C5C4A0C2D9A0D4C8C9 D3A0C4C5D6C9C3C5A0C4D2C9D6C5D2008DD7C1D2CEC9CEC7A0C6CCCFD7A0C3CF CED4D2CFCCA0D0D2CFC2C1C2CCD9A0D2C5D1D5C9D2C5C400C5D2D2CFD2A000D4 C1C9CCA0CFC6A0C6C9CCC5A0CEC1CDC5A0C3C8C1CEC7C5C4A0C2C5C3C1D5D3C5 A0CFC6A0C6C9CCC5A0D7C1D2CEC9CEC7A000D0D2CFC4CFD3A0C5D2D2CFD2A0A6 A0C3C1CCCCA0C1C4C4D2C5D3D3BA00D3C5D2D6C5D2A0C3CFCDCDC1CEC4A0D5CE CBCECFD7CEA0BD00C7C5CEC5D2C9C3A0CBC5D2CDC9D4A0C3CFCDCDC1CEC4A0CF D0C5D2C1CEC4A0D5CECBCECFD7CEA0BD00D5CEC1C2CCC5A0D4CFA0C9CEC9D4C9 C1CCC9DAC5A0C3CFCDA0C3C1D2C400D5CEC1C2CCC5A0D4CFA0D3C5CEC4AFD2C5 C3C5C9D6C5A0B8A0C2C9D4D300A0CDC1D8A0D3C9DAC5A0C9D3A000CECFD4A0C4 CFD3A0B3AEB3ACA0D7C9CCC4C3C1D2C4D3BFBFA0CBC5D9D0D2C5D3D3A8D3A9BF BF00B2D0A0A000B2C5A0A000B2D0ADB4B0ADC3CFCCA0A0A000B2C5ADB4B0ADC3 CFCCA0A0A000B8B0ADC3CFCCADD3CCCFD4A000D4C5D8D4A0A0A0A0A0A000C9CE D4C5C7C5D2A0A0A000C1D0D0CCC5D3CFC6D4A000CFD4C8C5D2A0A0BDA0A400C2 C9CEC1D2D9A0A0A0A000CECFCEC5A000D3D0C1C3C500CDC1D2CBA000CFC4C4A0 A000C5D6C5CEA000CFC6C6A0A0A0A0A000D4C5D2D3C5A0A0A000D6C5D2C2CFD3 C5A000D3D0C1CBBAA0A0A0A0A0D3C5CEC4C9CEC7A0A0A0A0A0A0A0A0A0A0A0AD A000D3D0C1CBC3C8BAA0A0A0D3C5CEC4A0C3CFCDD0CCC5D4C5A0A0A0A0A0ADA0 00D2D0C1CBBAA0A0A0A0A0D4D2D9C9CEC7A0D4CFA0D2C5C3C5C9D6C5A0ADA000 D2D0CBC6CCD3BAA0A0A0C6C1C9CCC5C4A0D4CFA0D2C5C3C5C9D6C5A0ADA000D2 D0CBD2C5D4BAA0A0A0D2C5C3C5C9D6C5C4A0A0A0A0A0A0A0A0A0A0ADA000B1B1 B0A0A000B1B3B4AEB500B1B5B0A0A000B3B0B0A0A000B6B0B0A0A000B1B2B0B0 A000B1B8B0B0A000B2B4B0B0A000B3B6B0B0A000B4B8B0B0A000B7B2B0B0A000 B9B6B0B0A000B1B9B2B0B000C1C4C4C9D4C9CFCEC1CCA0C4C1D4C100A0A0A0A0 A0A0D3C5D1A0CED5CDC2C5D2A0A0A0A0A0A0A0A0A0A0A000A0A0A0A0A0A0CED5 CDC2C5D2A0CFC6A0C4C1D4C1A0C3C8C1D2D3A000A0A0A0A0A0A0D0C1C3CBC5D4 A0C3C8C5C3CBD3D5CDA0A0A0A0A0A000D3C5CEC4C9CEC7A0A0A0CED5CDC2C5D2 A0CFC6A0C2D9D4C5D300D2C5C3C5C9D6C9CEC7A0CED5CDC2C5D2A0CFC6A0C2D9 D4C5D300D2C5D4D2D9D3A0B0B0B0B000D2C5CDCFD4C5A0CDC5D3D3C1C7C5A000 C4C5C2D5C7C7C9CEC7A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A000D4C5D2CDC9CE C1CCADC5CDD5CCC1D4C9CFCEA0C9D3A0A0A0A000CCCFC3C1CCADC5C3C8CFA0C9 D3A0A0A0A0A0A0A0A0A0A0A0A000C6C9CCC5ADD7C1D2CEC9CEC7A0C9D3A0A0A0 A0A0A0A0A0A0A000C5D3C3C1D0C5A0C3C8C1D2C1C3D4C5D2A0C9D3A0A0A0A0A0 A000D3C5CEC400A0A0A0A0A0A0C5C9C7C8D4ADC2C9D4ADD1D5CFD4C9CEC7A0C3 C8C1D2A0C9D3A0A000A0A0A0A0A0A0C5CEC4ADCFC6ADCCC9CEC5A0C3C8C1D2A0 C9D3A0A0A0A0A0A0A0A000A0A0A0A0A0A0D0C1C3CBC5D4ADCCC5CEC7D4C8A0C9 D3A0A0A0A0A0A0A0A0A0A0A000A0A0A0A0A0A0D0C1C4C4C9CEC7A0C3C8C1D2A0 C9D3A0A0A0A0A0A0A0A0A0A0A0A000A0A0A0A0A0A0C1CDCFD5CED4A0CFC6A0D0 C1C4C4C9CEC7A0C9D3A0A0A0A0A0A0A000A0A0A0A0A0A0D1D5CFD4C5A0C3C8C1 D2A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A0A000A0A0A0A0A0A0D4C9CDC5CFD5D4 A0C9CEA0D3C5C3CFCEC4D3A0C9D3A0A0A0A0A0A000A0A0A0A0A0A0D3D4C1D2D4 ADCFC6ADD0C1C3CBC5D4A0C3C8C1D2A0C9D3A0A0A0A000A0A0A0A0A0A0D4D2C1 CED3CCC1D4C5A0C3D2BCADBEC3D2ACCCC6A0C9D3A0A0A0A000D2C5C3C5C9D6C5 00C6C9CCC5ADD4D9D0C5A0CDCFC4C5A0C9D3A0A0A0A0A0A0A0A000D3CCCFD4A0 C6CFD2A0C9AFCFA0C9D3A0A0A0A0A0A0A0A0A0A000C4C5D6C9C3C5ADC4D2C9D6 C5D2A0C9D3A0A0A0A0A0A0A0A0A000D0C1D2C9D4D9A0C9D3A0A0A0A0A0A0A0A0 A0A0A0A0A0A0A0A000CBC5D9C2CFC1D2C4A0D4D9D0C5A0C9D3A0A0A0A0A0A0A0 A0A000C4C5C6C1D5CCD4A0D0D2C5C6C9D8A0C9D3A0A0A0A0A0A0A0A000C4C5C6 C1D5CCD4A0C4D2C9D6C5A0A0A0A0A0A0A0A0A0A0A0A0D3CCCFD4BDA0A000A0A0 A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0C4D2C9D6C5BDA000A0 A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0D6CFCCBDA000C4C9 D3D0CCC1D9A0D4D9D0C5A0C9D3A0A0A0A0A0A0A0A0A0A000C2C1D5C4A0D2C1D4 C5A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A000D0D2C9CED4C5D2A0C9D3A0A0A0A0 A0A0A0A0A0A0A0A0A0A0A000C6CCCFD7A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A0 A0A0A0A0A000CCCFC7A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A000 C6C9CCC5BD00D4C9CDC5D2A0C9D3A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A000 D3D7C1D0A0CBC5D9D3A0C2D3A0A6A0C4C5CCA0C9D3A0A0A0A000A0D7D2C1D0AD C1D2CFD5CEC4A000CBC5D9D0C1C4A0C5D8C9D3D4D3BFA0CFCEBDD9C5D3A0A0A0 A000C1D0D0CCC9C3C1D4C9CFCEADCDCFC4C5A000C3D5D2D3CFD2ADCBC5D9D3AD D6D4B1B0B0A0A0A0A0A0A0A0A000D0D2CFD4CFC3CFCCA0C9D3A0A0A0A0A0A0A0 A0A0A0A0A0A0A000D4C9CDC9CEC7A0C3CFCED3D4C1CED4A0C9D3A0A0A0A0A0A0 A000CFC6C6A000CFCEA000D3C5D2D6C5D2A0CDCFC4C500D3C5CEC4C9CEC7BAA0 00D2C5C3C5C9D6C5C4BAA000CED5CDC2C5D2A0CFC6A0C4C1D4C1A0C3C8C1D2D3 A0D3C5CED4A0C9D3A0A0A0A0A000CED5CDC2C5D2A0CFC6A0C4C1D4C1A0C3C8C1 D2D3A0D2C5C3D6A7C5C4A0C9D3A0A000D4CFD4C1CCA0CED5CDC2C5D2A0CFC6A0 C3C8C1D2D3A0D3C5CED4A0C9D3A0A0A0A000D4CFD4C1CCA0CED5CDC2C5D2A0CF C6A0C3C8C1D2D3A0D2C5C3D6A7C5C4A0C9D3A000CFD6C5D2C8C5C1C4A0C6CFD2 A0D3C5CEC4A0D0C1C3CBC5D4D3A0C9D3A0A0A0A0A000CFD6C5D2C8C5C1C4A0C6 CFD2A0D2C5C3C5C9D6C5A0D0C1C3CBC5D4D3A0C9D3A0A000CCC1D3D4A0C5D2D2 CFD2A0C5CEC3CFD5CED4C5D2C5C4A0C9D3A0A000DBC3CFCECEC5C3D4C9CEC7A0 D4CFA0C8CFD3D4BAA0D4D9D0C5A000C3A0D4CFA0D2C5D4D5D2CEDD0000FD4C76AD 3D0G EXEC APP385.INSTALL END REM******** DOWNLOAD INFO ******** REM AT END OF 2ND OF 2 PARTS OF APP385 REM REM WRITE (SAVE) TO APPLE DISK NOW AS: REM APP385.2 REM****** OFF LINE INSTRUCTIONS ******* REM Turn on Apple with 'Dos3.3 System Master' disk in drive 1 REM Replace 'System Master' disk with blank disk REM Type: FP<RETURN> then type: INIT HELLO<RETURN> REM Replace new disk with 'Dos3.3 System Master' then type: BRUN FID<RETURN> REM Copy downloads 'APP385.1' through 'APP385.2' to new disk REM Put new disk in drive 1 and type: PR#6<RETURN> REM Type: EXEC APP385.1,R25<RETURN> [Yes, that's "R25"]
krb20699@uxa.cso.uiuc.edu (05/28/89)
Part 3 of 4 of Kermit 3.85 (docs.) ========== Cut Here ============== From APPLE2-L@BROWNVM.BITNET Fri Jan 6 23:43:39 1989 Received: from husc6.harvard.edu (husc6.ARPA) by husc7.HARVARD.EDU; Fri, 6 Jan 89 23:43:44 est Received: from BROWNVM by husc6.harvard.edu with BITNET; Fri, 6 Jan 89 23:30:26 EST Received: by BUACCA (Mailer X1.25) id 7499; Fri, 06 Jan 89 23:30:58 EST Date: Fri, 6 Jan 89 23:27:36 EST Reply-To: Apple II List <APPLE2-L@brownvm.harvard.edu> Sender: Apple II List <APPLE2-L@brownvm> Comments: Resent-From: Christopher Chung <CHRIS@BROWNVM> Comments: Originally-From: Ted Medin <MEDIN-T@SHARK.nosc.mil> From: Christopher Chung <CHRIS@brownvm> Subject: kermit-65 3.85 part 3 of 4 To: Paul Nakada <NAKADA@husc7> Status: R ------ part 3 of 4 ------------- apple.doc 1. Apple II Kermit -------- This document is formatted as an ordinary, plain text ASCII disk file, from SCRIBE text formatter source. Typeset copies are available from Columbia University. -------- Authors: Antonino N. J. Mione (Stevens Institute of Technology), Peter Trei (Columbia University), Ted Medin (NOSC), Bob Holley (SERDAC) Version: 3.85 Date: 1988 Dec Kermit-65 Capabilities At A Glance: Local operation: Yes Remote operation: Yes Transfers text files: Yes Transfers binary files: Yes Wildcard send: Yes ^X/^Y interruption(Q): Yes Filename collision avoidance: Yes Can time out: Yes 8th-bit prefixing: Yes Repeat count prefixing: No Alternate block checks: No Terminal emulation: Yes (VT52, VT100) Communication settings: Yes Transmit BREAK: Yes IBM communication: Yes Transaction logging: No Session logging (raw download): Yes Raw upload: No Act as server: Yes Talk to server: Yes Advanced commands for servers: Yes Long packets: Yes Sliding windows: No Local file management: Yes Handle file attributes: No Command/init files: Yes Printer control: Yes Kermit-65 is a program that implements the Kermit file transfer protocol for the Motorola 6502 processor family (hence the name, Kermit-65) on the Apple II microcomputer system. It is written in 6502 assembly language and should run on any Apple II or compatible running DOS 3.3 or PRODOS. This section will describe the things you should know about the file system in order to make ef- fective use of Kermit, and then it will describe the special features of the Kermit-65 program. 1.1. Supported Systems and Devices There are several different Apple II's which can run Kermit-65. Kermit will have no problems running on an Apple II, II+, //e, //c or //gs system. Of the different communication devices available for the Apple II, Kermit-65 supports the ones shown in Table 1-1. ------------------------------------------------------------------------------- AE Serial Pro (super serial driver - sw 1 & 3 open 2 & 4 closed) AIO II (Uses the Apple Com Card driver??? - untested) ALS dispatcher (Uses the Apple Com Card driver) Apple Com Serial Card ASIO (Uses the Apple Com Card driver??? - untested) Apple Super Serial Card & //c Serial Port Apple //gs Serial Port CCS 7710 Serial Card CCS 7711 (Uses the Apple Com Card driver??? - untested) D.C. Hayes Micromodem. Microtek sv-622 Card Prometheus Versacard (Uses the Apple Com Card driver) SSM AIO (Uses the Apple Com Card driver??? - untested) Table 1-1: Apple II Communication Cards Supported by Kermit-65 ------------------------------------------------------------------------------- It is possible that other cards may have operational characteristics very similar or identical to one of the devices above. If this is the case, it may work using one of the currently available device drivers. The user may want to try each of the above options to see if any of them work. Kermit-65 must be told in which slot the card resides. This may be done with the 'SET' command (documented below). 1.2. The DOS 3.3 File System Items of importance which will be discussed in this section include filenames and file characteristics. Apple DOS Filenames Filenames under Apple DOS may contain almost any ASCII character (including space). It is not recommended that special characters, (i.e. control characters or spaces) be used in a filename to be transferred by Kermit-65 since they may cause problems when parsing the filename. Filenames may be up to 40 characters in length. Apple DOS File Characteristics All files in Apple DOS have a file type associated with them which is contained in the directory entry for the file but is not part of the filename itself. There are four types of files in DOS 3.3. They are: 1. APPLESOFT BASIC 2. INTEGER BASIC 3. BINARY 4. TEXT All file types have their data stored in eight-bit bytes although not all of them need the eighth bit. The two file types containing basic programs required the eighth bit due to the nature of the data being stored. BINARY files are images of memory copied into a file. Often, these are machine code programs. These files require all eight bits. TEXT files normally contain only printable or carriage control characters. They are stored in the form of seven-bit ASCII characters but the eighth bit should always be set since Apples manipulate all text internally as 'Negative ASCII'. When transmitting non-text files the user must insure that both Kermits are handling eight-bit data so that no infor- mation is lost. If an eight-bit data path is not available (i.e. the remote Kermit needs to do parity checking with the eigth bit), then eight-bit quoting should be used. Of course, BINARY files as well as Apple BASIC files will not have much meaning on a different system. If the user desires to edit a BASIC file on a mainframe, for instance, s/he must convert it to a TEXT file before sending it over. After receiving the file back on the Apple, the user may con- vert it back to BASIC once again. The reason BASIC files would be meaningless to a different machine is that the Apple stores BASIC keywords as single character tokens to save space and processing time. To convert a BASIC program to and from a TEXT file, consult the Apple DOS 3.3 Manual. File information can be obtained by issuing the CATALOG command. For example: ]CATALOG DISK VOLUME 010 *A 002 HELLO B 078 KERMIT A 002 READER T 005 TESTFILE ] When Kermit-65 is receiving a file, the file it creates on diskette will be of the type indicated by the FILE-TYPE parameter. The file will always be left in an unlocked state after it is closed by Kermit-65. When sending a file, Kermit-65 will use the FILE-TYPE parameter to determine how to detect an End-of-file condition. Thus, it is important to have this set properly in all cases. Recommendations for Archiving Files When using a large system for archiving purposes, there is no reason to convert Apple Basic programs into text files before sending them if there is no need to edit them on the mainframe. The FILE-TYPE parameter must always be set cor- rectly when sending and receiving files. The procedure for archiving files is: 1. Run Kermit on remote system. 2. SET FILE-TYPE TEXT (or APPLESOFT or ...) on Kermit-65. 3. Send the files. 1.3. The PRODOS File System The PRODOS system is essentialy the same as the DOS system with the exception that performance has been improved, hardware usage has been expanded and file names have different syntax. File names are the major importance to the Kermit system. File names have the following syntax: /volname/subdirectory1/.../subdirectoryn/filename where "volname" is the volume name where the file is located. Subdirectory(n) is a subdirectory on the volume and may be omitted. Filenames are much more restrictive than DOS filenames. PRODOS filenames are limited to 15 characters with no imbedded spaces and few special characters, and must begin with an al- phabetic character. /volname/sub ... may be omited from the filename by use of the SET PREFIX command. Binary file transfer using PRODOS has its dangers when creating new files. PRODOS keeps the file's size and starting location in the directory which is of course not transferred. Therefore a new binary file will have its starting location 0 which can cause some interesting problems if you try and BRUN the file. Basic files all start at $801 (it says here) so Kermit creates new basic files with a starting address of $801. 1.4. Program Operation Prior to using Kermit-65 for transferring files, the modem interface must be set to handle data in a certain manner. First, the data format should be 8 data bits and 1 stop bit. Second, the card should be set to no parity. The baud rate (if adjustable) must be set to whatever rate the modem can handle. For the D.C. Hayes Micromodem, these parameters are set correctly by default, so very little has to be done. For the Apple Super Serial Card these are set from within Kermit-65 except the interrupt switch (sw6-2) which must be set for interupts on. For the Microtek SV-622, all applicable parameters are set by Kermit-65. Some mainframes may need parity checking (i.e. most IBM machines). In this case some parity setting (other than none) will usually work. When talking with such mainframes, binary and basic files on the Apple cannot be transferred unless Eighth-bit-quoting is acceptable to the host. If you have the parameters set correctly then the "CONNECT" command will start Kermit talk- ing out the communication port. File transfer is very dependent upon parity. Make sure the host and local parity are the same. Following are a couple of site's method for file transfer. We have an IBM 3033 and 4381 and use both 3705/3725 and 7171 or Series/1 front ends. The differences in front ends as far as any microcomputer Kermit is con- cerned duplex (local-echo on for the 3705, local-echo off for the 7171 or Series/1), parity (the two front ends might use different parity, e.g. Mark for the 3705 and Even for the 7171), and flow control (None for the 3705, XON/XOFF for the 7171). In Kermit-65, IBM mainframe users need to set the following parameters: BAUD Whatever is supported. PARITY EVEN, ODD, or MARK, whatever your front end requires. FLOW XON for the 7171, NONE for the 3705. FLOW DELAY 00 LOCAL-ECHO OFF for 7171, ON for 3705 In Kermit-65, SERDAC VAX 8800 users need to set the following parameters: BAUD SERDAC Dial-up & 300, 1200, or 2400 baud FIRN Dialup: (the highest your modem and the dial-up connection will support) Ethernet Hardwire: 300, 1200, 2400, or 4800 baud. PARITY NONE FLOW XON FLOW DELAY 00 (higher for printers, logging, or "slow" Apples) LOCAL-ECHO OFF NOTE: If you want to do a binary file transfer (Apple binary or BASIC files) via a FIRN Network connection to the SERDAC VAX 8800, you must SET PARITY SPACE before the transfer is in- itiated; that will insure that eight-bit quoting is used. If you dial directly into the VAX 8800, SET PARITY NONE; eight-bit quoting (which is less efficient) is not re- quired. Conversing With Kermit-65 Kermit-65 reads file KERMIT.INIT from the default drive when started. The lines of this file are executed one at a time starting at the begining. This file should be an ASCII text file and contain commands to set up Kermit's parameters as desired. It will also execute Kermit's other commands. However, any command which reads a file (like MODEM) or leaves local mode (like CONNECT) will terminate reading of this file and continue with the command specified. Use your favorite editor to produce this file. Here's a sample: set display 80 3 set keyboard 2e set baud 4800 modem Kermit-65's prompt is "Kermit-65>". To run Kermit-65 and issue commands to it, type "brun kermit". Example: ]BRUN KERMIT NOSC/STEVENS/CU - APPLE ][ KERMIT-65 - VER 3.85 Kermit-65>send testfile (file is sent...) Kermit-65>status (performance statistics are printed...) Kermit-65>(other commands...) . . . Kermit-65>exit ] Like many Kermit programs, Kermit-65 uses a DEC-20 style command parser. During interactive operation, you may use the ?-prompting help feature ("?") and recognition (ESC) features while typing commands. A question mark typed at any point in a command displays the options available at that point; typing an ESC character causes the current keyword to be completed (or default value to be supplied). If you have not typed sufficient characters to uniquely specify the keyword (or if there is no default value) then a beep will be sounded and you may continue typing. Keywords may be abbreviated to any prefix that is unique. Remote and Local Operation Kermit-65 is normally run in local mode. It may be run as a remote Kermit as well although there is no advantage to doing things that way. Kermit-65 sup- ports User-mode commands for talking to a Server, and it does support a limited server mode. 1.5. Kermit-65 Commands THE SEND COMMAND Syntax: SEND filespec The SEND command causes a file to be sent from the Apple to the remote system. The Filespec is the name of the file on the Apple diskette to be sent. The parser will not accept control characters and certain special characters in a filename (like comma), so the user may have to rename the file before it is sent. The user may also have problems in filename compatibility with remote Kermits. If the remote Kermit does not have the facilities to beat the filename into a format that its system likes, the user may have to rename the file be- fore sending it. Thanks to Dick Atlee, wildcards are now acceptable when send- ing files (they have always been acceptable when receiving files). The "*" is a multiple character wildcard and the "=" is a single character wildcard. The default disk drive is used for file transfers this can be changed with the 'SET DEFAULT-DISK'(DOS) or 'SET PREFIX'(PRODOS) command (explained below). As a file is being sent, the screen displays 'RECEIVING NUMBER OF BYTES' and 'SENDING NUMBER OF BYTES' followed by the hexidecimal number of bytes trans- ferred since start of transmission. If a packet must be transmitted several times and it reaches the maximum retry count, the transfer will fail and the 'Kermit-65>' prompt will return. If the remote Kermit sends an error packet, the text of the packet will be displayed on the screen, the transfer will fail, and the prompt will return. Currently, a packet can be retransmitted manually by typing anything on the keyboard. If a 'Q' is typed, the entire transmission will be aborted. THE RECEIVE COMMAND Syntax: RECEIVE [filespec] The RECEIVE command tells Kermit-65 to receive a file or file group from the other system. If only one file is being received, you may include the optional filespec as the name to store the incoming file under; otherwise, the name is taken from the incoming file header. If the name in the header is not a legal filename, Kermit-65 will attempt to change it into something legal. If FILE-WARNING is on and an incoming file has a name identical to a file already existing on the diskette, Kermit-65 will issue a warning to the user and at- tempt to modify the filename to make it unique. Currently, a packet can be retransmitted manually by typing anything on the keyboard. If a 'Q' is typed, the entire transmission will be aborted. Filespec is required when xmodem protocol is used. THE TAKE COMMAND Syntax: TAKE filespec The TAKE commands tells kermit-65 to execute commands from the specified file similarly to the KERMIT.INIT file. See discussion on KERMIT.INIT above for details. THE TYPE COMMAND Syntax: TYPE filespec The TYPE commands tells kermit-65 to print to the screen from the specified file. Text files only and works best with 80 characters per line or less. THE GET COMMAND Syntax: GET remote-filespec The GET command requests a remote Kermit server to send the file or file group specified by remote-filespec. This command can be used with a Kermit server on the other end. The remote filespec is any string that can be a legal file specification for the remote system; it is not parsed or validated locally. So if the remote Kermit supports wildcards you can specify them in the remote-filespec. If the remote Kermit is not capable of server functions, then you will probably get an error message back from it like "Illegal packet type". In this case, you must connect to the other Kermit, give a SEND command, escape back, and give a RECEIVE command. Currently, a packet can be retransmitted manually by typing anything on the keyboard. If a 'Q' is typed, the entire transmission will be cancelled. THE CONNECT COMMAND Syntax: CONNECT Establish a terminal connection to the remote system using all the current SET paramaters for terminal type, speed, parity, etc. Get back to Kermit-65 by typing the escape character followed by the letter C. The escape character is Control-@ by default. When you type the escape character, several single-character commands are possible. These are shown in Table 1-2. ------------------------------------------------------------------------------- ? List all the possible single-character arguments. B Send a BREAK signal. C Close the connection and return to Kermit-65. D Drop the phone line to the remote and return to Kermit-65. E rEfresh the screen (useful for clearing garbage on screen). K TOGGLE Keypad application-mode on/off. P Toggle the Printer on/off. R pRint the screen, >= //e required S Show Status of the connection. W sWap the del and backspace key. 0 Send a null (ASCII 0). ^@ (or whatever the Connect-Escape character is): Send the Connect-Escape character itself. Table 1-2: Kermit-65 Single-Character CONNECT Escape Commands ------------------------------------------------------------------------------- You can use the SET ESCAPE command to define a different escape character. When CONNECTed, Kermit-65 will be passing characters entered on the keyboard to the remote system, and passing characters from the remote system to the Apple screen. Incoming characters are interpreted according the selected terminal type (see SET TERMINAL). On an Apple II+ with an incomplete keyboard, special characters can be typed by prefixing regular characters with a right-arrow. On uppercase-only screens, uppercase characters are shown in inverse and lowercase characters are dis- played as normal uppercase characters. Here are the rules for using the special 2/2+ input, to get all printable ASCII characters, and how they appear on the screen. Special meanings are applied in various contexts to certain characters. The left and right arrow keys do spe- cial things, and sometimes the escape key does as well. For letters, the keyboard is always in either default UPPERCASE mode or default lowercase mode. When in UPPERCASE, all letters typed are sent out as uppercase. In lowercase, all letters are sent as lowercase. To reverse the case for the next character only, hit the right-arrow ("prefix") key. To switch the default case, hit the prefix-key twice in a row. For funny characters, the prefix key is also used to get the unusual punctuation characters which are not on the Apple keyboard. Table 1-3 shows the Apple II/II+ keyboard escapes; the letter "p" represents the prefix character. ------------------------------------------------------------------------------- To Get Type Appearence Left Square Bracket p( [ Right Square Bracket p) ] Left Curly Bracket p< { Right Curly Bracket p> } Underline p- _ Backslash p/ \ Tilde (wiggle) p^ ~ Vertical Line p. | Table 1-3: Apple II/II+ Keyboard Escapes ------------------------------------------------------------------------------- The left-arrow key sends a rubout (ASCII 127). With left-arrow and right arrow doing special things, it's a little hard to enter their characters (^H and ^U respectively). There is therefore an escape from prefix mode sequence. If you type prefix-ESC, the next character is sent without any interpretation. If you have the capability for upper/lower case, etc, then use the 'SET KEYBOARD' and 'SET DISPLAY' commands to specify complete keyboards. THE HELP COMMAND Syntax: HELP Typing HELP alone prints a brief summary of the Kermit-65 commands. THE MODEM COMMAND Syntax: MODEM This command is designed for the hayes smart modem. Typing MODEM causes the file KERMIT.MODEM in the default drive/path to be used as a menu. You will be able to select any line in the file to be sent to the modem. Sorry, you can't back up to a previous menu, you will have to Quit and execute MODEM again. A "CONNECT" response from the smart modem will cause Kermit leave the modem com- mand and execute the CONNECT command. The Hayes smart modem must reply with text status responses (not numbers). One command per line with comments al- lowed after the first space (blank). Use your favorite editor to produce this ASCII text file. Since the attention Hayes command (AT) requires a delay the "&" character becomes the time delay for Kermit. Each "&" causes a delay of one second on a 6502 chip. If you have a //gs or an accelerator board you may have to use the SET TIMING command to produce a one second delay. If you really need to send the "&" character to the modem then the "\" is the escape character. Put a "\" before any character and that character will be sent asis. Of course two "\"'s will produce one "\". Normally Kermit will wait for 27 seconds (again on a 6502 chip) for the modem to respond, but any character typed on the keyboard will terminate this wait. You may hear the busy signal and there is no sense waiting any longer, so hit (owch!-not so hard) any key on the keyboard. Following is an example of the KERMIT.MODEM file: +++&&ATH Get the Hayes Smartmodem's attention and then hang up. ATDP1234567 Call your local BBS with pulse dialing. ATDT8901234 Call your work dialup phone with touch tone dialing. THE CATALOG COMMAND Syntax: CATALOG Typing CATALOG produces a catalog (directory) listing of your default drive. THE DELETE COMMAND Syntax: DELETE filespec Typing DELETE causes the file specified to be deleted. THE SERVER COMMAND Syntax: SERVER Typing SERVER alone turns Kermit into a file server to a remote Kermit. Cur- rently server mode will handle remote "send", "get", "remote" and "fin" com- mands. Variants of the above commands will probably work but file serving is very limited at present. Because the Apple requires knowledge of file types you can use the "remote Kermit" (or whatever the remote Kermit's syntax is) command to set the file-type on the server. Yes, the server will execute any command so you can really get the server into trouble (this is not a BBS). You must have the appropiate file type set before transfering files. You can exit server mode by typing Control-C (^C) when not doing file transfers or the remote can of course terminate via the "fin" command. THE REMOTE COMMAND Syntax: REMOTE [option character-string] The only option currently is "kermit". This command submits the command "character-string" to the remote Kermit's command processor. Long replys are not paged so you will have to use ^S to stop the screen. The obvious usage is for setting and showing parameters on the remote Kermit. THE EXIT AND QUIT COMMANDS Syntax: EXIT or QUIT Exit from Kermit-65. You can restart the program, provided you haven't run anything else, by typing 'CALL 4096'. THE SET COMMAND Syntax: SET parameter [option [value]] Establish or modify various parameters for file transfer or terminal connec- tion. You can examine their values with the SHOW command. The following parameters may be SET: APPLICATION-MODE Set VT100 gs keypad in/out of application mode. BAUD Which baud rate should the com card use? CURSOR-KEYS-VT100 In VT100 mode cursor keys give VT100 sequences. DEBUGGING TERSE or VERBOSE packet information. DEFAULT-DISK Which Diskette drive is used for DOS 3.3 file transfer? DISPLAY Which type of screen display is being used? ESCAPE Character for terminal connection. FILE-TYPE Type of Apple file being sent/received. FILE-WARNING Warn users if incoming file exists? FLOW Should xon/xoff flow control be used to the remote? KEYBOARD II+ or //e keyboard. KEYPAD Is there a gs style keypad? LOCAL-ECHO Full or half duplex switch. PARITY Character parity to use PREFIX Which default prefix to use with PRODOS? PRINTER Should the printer be used for the display? PROTOCOL Which protocol is to be used for file transfer. RECEIVE Various parameters for receiving files SEND Various parameters for sending files SLOT Which slot # is communication device in? TIMER Should Kermit observe the receive timeout value? TIMIMG Change the time loop for 1 ms. delays. TERMINAL Which type of terminal should Kermit emulate? SET APPLICATION-MODE Syntax: SET APPLICATION-MODE {ON, OFF} For VT100 emulation with a gs-style keypad you can set the keypad in or out of application mode. Some computer systems set this via escape sequences so it may not be necessary to use this command. SET BAUD Syntax: SET BAUD value Value is the baud rate for your communication card. For the super serial and the microtek it can be 300 to 19200. The actual values will depend upon the com card you are running with. SET CURSOR-KEYS-VT100 Syntax: SET CURSOR-KEYS-VT100 {ON, OFF} In VT100 emulation the cursor keys can also emulate the VT100 cursor keys. SET DEBUGGING Syntax: SET DEBUGGING {TERSE, VERBOSE, OFF} Record the packet traffic on your terminal. Options are: TERSE, Show packet info only (brief). VERBOSE displays packet field descriptions with packet info (lengthy). OFF disables display of debugging information (this is the default). SET DEFAULT-DISK Syntax: SET DEFAULT-DISK {SLOT, VOLUME, DRIVE} value This DOS command will tell Kermit-65 which disk drive should be used for file transfers. The three parameters which may be set separately are SLOT, VOLUME and DRIVE. The value for SLOT ranges from 1 to 7. The value for DRIVE is ei- ther 1 or 2. The value for VOLUME ranges from 0 to 255. SET DISPLAY Syntax: SET DISPLAY {2E, 2P} or SET DISPLAY 80-COL number This command will tell Kermit-65 which kind of screen display you want to use. If you have an Apple II or II+ without an 80 column card, use the first syntax. If you have any kind of an Apple with an 80 column card, enter: SET DISPLAY 80, followed by a space and the slot number where the card resides (if you don't know the slot number, or the card is built-in to the set, try 3 ). SET ESCAPE Syntax: SET ESCAPE hexidecimal-number Specify the control character you want to use to "escape" from remote connec- tions back to Kermit-65. The default is 0 (Control-@). The number is the hex value of the ASCII control character, 1 to 37, for instance 2 is Control-B, B is Control-K. SET FILE-TYPE Syntax: SET FILE-TYPE {APPLESOFT, INTEGER, TEXT, BINARY, OTHER hex-value} This will inform Kermit-65 what type of file is being sent or received. It is important that this is set correctly since Kermit-65 must create a file of the appropriate type when receiving (and it has no way of knowing what kind of file it is). When Kermit-65 is sending, it must also know the type of file since that tells it how to detect the actual end-of-file. The keywords for this parameter are listed below. OTHER includes an added hex-value so that the user may specify the hex value of the file-type. This has meaning only in PRODOS and allows the user to specify any of the many different file types used in PRODOS, see Tables 1-4 and 1-5 (thanks to Phil Chien, M L Stier et al). APPLESOFT The file being transfered is an Applesoft Basic program. INTEGER The file being sent/received is an Integer Basic program. TEXT The file being sent/received is an ASCII Text file. BINARY The file being sent/received is a Binary image. OTHER The type of file being sent/received is specified by the hex-value. SET FILE-WARNING Syntax: SET FILE-WARNING {ON, OFF} This tells Kermit-65 whether to warn the user about incoming filenames con- flicting with existing files or not. If there is a conflict Kermit-65 will at- tempt to change the file name to something unique. SET FLOW Syntax: SET FLOW {OFF, XON, DELAY number} SET FLOW allows one to use the XON/XOFF protocol when connected to a remote site. Delay timings are part of this command. Using delay times is probably a desperation move to keep the screen/printer from losing characters. Setting the timings will have to be set by experience. Perhaps the best way to set the timings is to bring the values down until you get failures and then double the timing figure. Both LOG and SET PRINTER will probably depend on flow control. OFF Turn off flow control XON Turn on xon/xoff flow control with the remote DELAY number Delay the micro until XOFF takes effect Delay followed by a number (including 0) delays the program for that many mil- liseconds after the XOFF is given to the remote. This delay allows the XOFF to take effect before the program continues. NOTE: Except for printing and logging, most Apples will not require you to use a flow delay, even at rates up thru 19200 baud; for proper screen control, however, certain older Apple IIe's may require a fairly high delay (120-160 dec), even at 300 baud. SET KEYBOARD Syntax: SET KEYBOARD {2P, 2E} SET KEYBOARD tells Kermit-65 if the user has a full keyboard (2E) or not (2P). If the user is on an Apple II+, this should be set to 2P (which is the default). When set to that, character translations are available by using the right-arrow key as a prefix character, as shown in Table 1-3. SET KEYPAD Syntax: SET KEYPAD {ON, OFF} SET KEYPAD tells Kermit-65 if the user has an Apple//gs-style keypad available. This is automatically set on a gs but must be set manually on other machines. With keypad set ON then "VT100 keypad on an Apple keyboard" (see below) will not be used but the actual keypad will be. SET LOCAL-ECHO Syntax: SET LOCAL-ECHO {ON,OFF} [Default: OFF] This command tells Kermit-65 to echo to the screen characters you type on the keyboard (LOCAL-ECHO = ON), or to let the remote system echo the typed charac- ters (LOCAL-ECHO = OFF). If, when CONNECTed to the remote, you see a duplicate of every character you type, escape back to Kermit-65, and SET LOCAL-ECHO OFF. If, when CONNECTed to the remote, you see nothing echoed to the screen, escape back to Kermit-65, and SET LOCAL-ECHO ON. SET PARITY Syntax: SET PARITY {NONE, EVEN, ODD, MARK, SPACE} [Default: NONE] This command tells Kermit-65 which parity you want to use while communicating with the remote. Most remotes use NONE; some use EVEN, a few may use the other possible values. If you have a choice of parity to use with a remote machine, if possible, choose NONE. SET PREFIX Syntax: SET PREFIX string [Default: boot volume] This command allows you to specify a ProDOS volume/file prefix. SET PRINTER Syntax: SET PRINTER {ON, SLOT} number or SET PRINTER OFF This allows one to turn the printer on for printing what is displayed on the screen. The printer can also be toggled on/off via the ESCAPE character fol- lowed by the command "P". Remember when you use your printer there are a lot of variables here. What was being sent to the screen now is being sent to your printer. If you were emulating the VT52 your printer may not know how to handle the escape se- quences, tabs, etc. It may be you can tell the host you are a tty or some such device that will produce control codes that your printer can handle. Some printers may require the flow control and delay to get readable printing. ON Turn the printer on, slot number is required. OFF Turn the printer off. SLOT number Printer card is in slot "number". SET PROTOCOL Syntax: SET PROTOCOL {KERMIT, XMODEM} SET PROTOCOL tells kermit-65 which protocol to use for file transfer. NOTE: When XMODEM is used you will probably want to change the carrage return and carrage return/line feed translation in the send/receive parameters. eg. "SET SEND CR<->CR,LF OFF" and "SET RECEIVE CR<->CR,LF OFF". SET SLOT Syntax: SET SLOT number This option tells Kermit-65 in which slot the communication device is located. The range for the number parameter is 1-7. SET TIMER Syntax: SET TIMER {ON, OFF} SET TIMER will turn on or off the timeout checking for receive file transfers. Since there is no clock for exact timing a loop of instructions has been set up assuming a 1 megacycle CPU. CPUs which run faster may have to make allowances via the SET RECEIVE TIMEOUT command or the SET TIMING command. SET TIMIMG Syntax: SET TIMIMG { number } Kermit uses a timing loop with the rom address $fca8 to produce a 1 ms. delay. If you have a machine that runs faster than the 6502 chip you may have to in- crease this number to get the 1 ms delay. SET TERMINAL Syntax: SET TERMINAL {MONITOR, NONE, VT100, VT52} When TERMINAL is NONE, then all incoming characters (except nulls) are passed directly to the display. MONITOR emulation simply displays all the characters received from the remote (except nulls) without any formating of the screen (40 or 80 characters per line). Control characters are displayed inverse. VT100 Emulation The Kermit-65 VT100 emulator is a small but working set of a true VT100 ter- minal. It appears to work with most of the standard full screen editors and processors on BSD UNIX and VAX/VMS machines. An Apple//e, //c, or //gs is probably required with the Apple 80 column text card. The VT100 keypad has also been defined for the application mode via the OA/CA/game button. Figure 1-1 shows the Apple keypad looks like to EDIT (VMS) , and Figure 1-2 shows the layout on an Apple//gs keyboard. When using EVE (VMS) the meaning of the keys will of course change. As you can see the keypad is physically laid out like the VT100 keypad except for the lower right corner. Notice that above the keys are the VT100 labels while in middle of the box (key) is the Apple key label. Also the arrow keys work as VT100 arrow keys with the OA/CA/game button. ------------------------------------------------------------------------------- PF1 PF2 PF3 PF4 .(period) ------- ------- ------- ------- ------- | | |findnxt|delline|select | | 6 | 7 | 8 | 9 | 0 | | gold | help | find |undelln| reset | ------- ------- ------- ------- ------- 7 8 9 - ------- ------- ------- ------- | page |section|append |delword| | Y | U | I | O | |command| fill |replace|undelwd| ------- ------- ------- ------- 4 5 6 , ------- ------- ------- ------- |advanc|backup | cut |delchar| | H | J | K | L | |bottom| top | paste |undelch| ------- ------- ------- ------- 1 2 3 ENTER ------- ------- ------- ------- | word | eol | char | enter | | N | M | , | . | |chgcase|deleol |specins| sub | ------- ------- ------- ------- 0 --------------------------------------- bline | space bar | openline | --------------------------------------- Figure 1-1: VT100 Keypad on an Apple Keyboard ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- PF1 PF2 PF3 PF4 ------- ------- ------- ------- | | |findnxt|delline| | CLEAR | = | / | * | | gold | help | find |undelln| ------- ------- ------- ------- 7 8 9 - ------- ------- ------- ------- | page |section|append |delword| | 7 | 8 | 9 | + | |command| fill |replace|undelwd| ------- ------- ------- ------- 4 5 6 , ------- ------- ------- ------- | advanc|backup | cut |delchar| | 4 | 5 | 6 | - | | bottom| top | paste |undelch| ------- ------- ------- ------- 1 2 3 ENTER ------- ------- ------- ------- | word | eol | char | | | 1 | 2 | 3 | | |chgcase|deleol |specins| | ------- ------- -------| enter | 0 . | ENTER | -----------------------| sub | | bline |select | | | 0 | . | | | openline | reset | | ------------------------------- Figure 1-2: VT100 Keypad on an Apple//gs or Equivalent Keypad ------------------------------------------------------------------------------- VT52 Emulation SET TERMINAL VT52 will turn on the VT52 terminal emulation. One thing that is required is your 80-column card must handle the $16 command in order for reverse scrolling to work. The Apple//e 80 column card handles this fine. The VT52 keypad has been defined using the open/closed Apple. For II or II+ one will have to have a game paddle or joy stick (key shift mod too????) and use the buttons. When a button/open/closed Apple is pushed then the keys starting with 6,7,8 & 9 form the top of the keypad. Key 6 is the blue key key 7 is the red key etc. The keys directly below the 6,7,8 & 9 and shifted one-half key to the right form the second row of the keypad etc. Every thing is fine until you get to the last row on the keypad. There the sp bar is 0 and the other two keys are moved to the upper right as the 0 & - keys. This way the arrow keys are available as VT52 keys with the OA/CA/game button combination (thanks to Dick Atlee for this idea). With those two exceptions the keypad is physically similar to a VT52 keypad. Remember the open/closed Apple or the game button must be pushed (like the cntl key) to get the keypad emulation. Figure 1-3 should clear up the questions. ------------------------------------------------------------------------------- ^ is up arrow BLUE RED GRAY ^ .(period) ENTER ------- ------- ------- ------- ------- ------- | | |delline| up |select | enter | | 6 | 7 | 8 | 9 | 0 | - | | gold | help |undelln|replace| reset | sub | ------- ------- ------- ------- ------- ------- v is down arrow 7 8 9 v ------- ------- ------- ------- | page |findnxt|delword| down | | Y | U | I | O | |command| find |undelwd|section| ------- ------- ------- ------- 4 5 6 -> ------- ------- ------- ------- |advanc|backup |delchar| right | | H | J | K | L | |bottom| top |undelch|specins| ------- ------- ------- ------- 1 2 3 <- ------- ------- ------- ------- | word | eol | cut | left | | N | M | , | . | |chgcase|deleol | paste |append | ------- ------- ------- ------- 0 --------------------------------------- bline | space bar | openline | --------------------------------------- Figure 1-3: VT52 Keypad on an Apple Keyboard ------------------------------------------------------------------------------- THE SHOW COMMAND Syntax: SHOW [option] The SHOW command displays various information: ALL All parameter settings (this is quite long). BAUD Baud rate of the com card. CURSOR-KEYS-VT100 Are the cursor keys emulating the VT100 cursor keys? DEBUGGING Debugging mode. DEFAULT-DISK Which Diskette drive is used for file transfer? DEVICE-DRIVER Which communication device is being used? DISPLAY Which screen display is being used? ESCAPE Character for terminal connection. FILE-TYPE Of Apple DOS/PRODOS file being sent/received. FILE-WARNING Warn users if incoming file exists? FLOW Should XON/XOFF flow control be used to the remote? KEYBOARD II+ or //e keyboard. KEYPAD Does a gs-style keypad exist? LOCAL-ECHO Full or half duplex switch. PARITY Character parity to use PREFIX Which default prefix to use with PRODOS? PRINTER Should the printer be used for the display? PROTOCOL Which protocol is to be used for file transfer. RECEIVE Various parameters for receiving files SEND Various parameters for sending files SLOT Which slot # is communication device in? TIMER Is the receive timeout on or off? TIMING Count for timing loop TERMINAL Which terminal (if any) should Kermit emulate? The above options are analogous to the equivalent SET commands. THE STATUS COMMAND Syntax: STATUS Give statistics about the most recent file transfer. This includes information such as number of characters sent/received, number of data characters sent/received, and last error encountered. THE LOG COMMAND Syntax: LOG filespec When connected to a remote site, log the remote session's output to the specified file. The file type and file warning protocols are observed. This command is dependent upon the flow control (XON/XOFF) working. Without flow control there is little possibility of getting a correct copy of the terminal session. The logging begins when you connect to the remote and is terminated when you escape back to the local Kermit with the ESCAPE character followed by the "C" command. 1.6. Standard Installation To bootstrap Kermit to the Apple, get the files APP3xx.1 thru APP3xx.2 on a DOS 3.3 diskette, where xx is the current version. Make sure the diskette is a master diskette and empty. Then: EXEC APP3xx.1,R25 You will be asked several questions about your hardware and the program should execute and produce kermit3xx, kermit.help and kermit.init with some starting instructions. If you want to run Kermit on PRODOS simply use the PRODOS con- version routines to move kermit3xx, kermit.help and kermit.init to PRODOS. If you want other options as a regular thing then you can change file kermit.init with your favorite editor. Files Supplied for Kermit-65 The following files should be supplied on the columbia distribution tape: APPAAA.HLP List of files (like this one) APP385.1 Easy install file 1 (an exec file for DOS 3.3) APP385.2 Easy install file 2 (an exec file for DOS 3.3) APPACC.HEX Apple com card hex APPACC.M65 Apple com card source APPCCS.HEX CCS 7710 com card hex APPCCS.M65 CCS 7710 com card source APPCPS.HEX CPS com card hex APPCPS.M65 CPS com card source APPGS.HEX GS serial port hex APPGS.M65 GS serial port source APPHMM.HEX Hayes micro modem card hex APPHMM.M65 Hayes micro modem card source APPLE.DOC Complete documentation (it says here) APPLE.MSS Scribe text formatter source for documentation APPMAI.HEX Main kermit pgm hex APPMAI.M65 Main kermit pgm source APPMAK.UNX Make file for UNIX cross assembly (to assemble Kermit) APPMSV.HEX Microtec com card hex APPMSV.M65 Microtec com card source APPSSC.HEX Super serial com card hex APPSSC.M65 Super serial com card source APPXAS.1 65c02 cross assembler for UNIX system part 1 APPXAS.2 65c02 cross assembler for UNIX system part 2 APPXAS.3 65c02 cross assembler for UNIX system part 3 The syntax of the filenames may vary. On UNIX systems, the filenames will be in lowercase. On VM/CMS systems, the period will be replaced by a space. Alternate Installation The main problem exists in getting the hex files onto your diskette as a text file. But again that is a test of your creativity. If you have a version of Kermit running then GET or RECIEVE the file as a text file and you are in busi- ness. Since Kermit has been separated into two assemblies then two hex files will have to be present on the diskette. Get the main hex file APPMAI.HEX and select which com card hex you will need. First "exec APPMAI.HEX". Your Apple (or compatable) will go into monitor and show you *'s for several minutes. This is the monitor loading the hex into binary. If you get beeps from the monitor its probably because you didnt get a good copy of the text file. Now EXEC the com card driver you are going to use. You will have to get back into basic(aha another test for you,try "3d0G") to do this. And you will see the monitor loading the com driver. The order of EXEC's is important. The com card should be loaded last. Next get back into basic and do a "bsave kermit,A$1000,L$6e00". You may have to specify the drive to do this binary save, with a slot or drive on the end of the BSAVE (aha another test). You now run Kermit via "brun kermit". If you want to customize Kermit for your needs, the recommended method is to use file "kermit.init" OR do all your SETs, etc, and then do an "exit". Now you should be back in BASIC. At this point do a "bsave name,A$1000,L$6e00" and when you do a "brun name" all your setups will be remembered. NOTE: If you save your current settings via "bsave kermit ..." you may find that moving that binary to another type of Apple (e.g. from a //e to an //e+) will not be pos- sible. So make sure you keep the original binary to move between machine types. Since the org is now $1000 if you have been using Kermit and then went back to basic for some trivial thing a "CALL 4096" should start up Kermit without having to reload it. In summary: 1. EXEC APPMAI.HEX 2. Choose the com card driver you will use. For example APPSSC.HEX. 3. 3D0G 4. EXEC APPSSC.HEX 5. BSAVE kermit,A$1000,L$6e00 And you should be in business. Remember there is the command HELP and whenever you are into a command a "?" will give you the posible options available at that point of a command. The escape key will finish typing an option if it is possible. The syntax of all the commands and options only requires enough characters to make that command or option unique. 1.7. Problems Installation NOTE: When using the super serial driver you must have the cards sw6-2 on. This allows the card to use interupts. The rest of the switches are set from within Kermit. It appears that you can run your Apple 2 with sw6-2 on and in 99% of the cases will cause no problems. This is because the OS runs with in- terupts locked out ("sei" in assembly language) and the program must explicitly give a "cli" for interupts to work (the super serial driver does). The AE Serial Pro must have switches 1 & 3 open and 2 & 4 closed. This appears to dissagree with the documentation since those settings turn off irq interupts and turn on nmi interupts. So watch this it may get corrected in later ver- sions. The Microtek driver is a super serial look alike which does not run with inter- upts. If you have trouble with the super serial driver you might try the MSV driver. For you people with the MSV-622c card, you might try running a jumper from the UART 6551 pin 26 to the card edge pin 30. This will enable interupts just like the SSC sw2-6, and then you can use the super serial driver. The Prometheus card will work with the Apple com driver. However you will have to set the switches on the card for baud etc. Evidently this card can not be programed by the software. If that is not true then here is an oportunity for you to write a better driver. If you do please pass it on for other Prometheus users. Unconfirmed reports have it that the Apple Cat will work with the Apple com driver. Would appreciate a confirmation. Some have noted the Apple com card must be initialized via the "IN#x" before starting Kermit. Ike has now updated this driver and the initialization is now done within the Apple com driver. Thanks Ike. Usage There is the command HELP and whenever you are into a command a "?" will give you the posible options available at that point of a command. The escape key will finish typing an option if it is possible. The syntax of all the commands and options only requires enough characters to make that command or option unique. When using flow control you may appear to hang. Type a ^Q (Control-Q) and that may free you up. Remember when you use your printer there are a lot of variables here. What was being sent to the screen now is being sent to your printer. If you were emulating the VT52 your printer may not know how to handle the escape se- quences, tabs etc. It may be you can tell the host you are a tty or some such device that will give carrage returns etc that your printer can handle. Some printers may require the flow control and delay to get readable printing. File Transfer Errors "File Transfer Errors," was added to this document by the Southeast Regional Data Center (SERDAC), '88 July 17. In spite of the fact that successful Kermit file transfers are almost always error free, there are a number of circumstances which can corrupt, prevent, or interrupt/abort a transfer. In the case of an actual abort, there may be data loss or corruption, and an incomplete file may not have a correct end-of-file. These circumstances may be roughly divided into two groups: (1) problems due to file or disk errors, and (2) problems due to delays or failures in Kermit packet exchange. Common problems in category (1) include the following: (a) improper file specification (b) wrong file type (c) protected file(s) (d) disk problems (1a) problems can occur when you specify, to either the Apple or host Kermit, a non-existent or improperly located file. Misspelling and/or incorrect (sub)directory specification are popular villains! If you are commanding ei- ther Kermit to SEND a file (SEND filespec), the problem will be fairly obvious. On the Apple II, you'll see an error message like: "FILE NOT FOUND." On the VAX/VMS 8800, for example, you'll see the message: "%KERMIT32 ....., file not found for 'filespec'". In either case, the transfer will not take place. If you're using Kermit-65 to GET (GET filespec) files from the VAX/VMS Kermit server, and the requested file does not exist in your VAX default directory, you should see a Kermit-32 generated "REMOTE MESSAGE %KERMIT32 ....., file not found for 'filespec'" appear in the transmission status display, and then the Kermit-65 message "CANNOT RECEIVE FILE-HEAD". Transfer of the questionable file will not take place. (1b) problems can occur if you forget to specify, to either the Apple or host Kermit, what type of file you wish to transfer. If you are using Kermit-65 to send files to a host, you are fairly well protected against this error. If you attempt to send a file whose CATALOG type does not match the FILE-TYPE parameter setting, you will receive a "INCOMPATIBLE FILE FORMAT" error message, or something similar, and the transfer will not take place. If, however, you are receiving (via RECEIVE or GET) a file whose native type does not match the FILE-TYPE setting, the file WILL be received. It will be mis-typed (according to the FILE-TYPE setting), though, and any later attempt to use it on the Apple will probably be unsuccessful. The same sort of circumstances generally apply for a host Kermit. With the VAX 8800, for example, when Kermit-32 is sending a file, you generally need not worry about setting its file type. When Kermit-32 is receiving a file, however, properly setting its file type is very critical. If you wish to put Kermit-32 in server mode to receive multiple files, set the file type BEFORE using the SERVER command, and make sure that you only send it the appropriate type of files during that server session. You cannot switch file types DURING a given server session! NOTE: One other way you can get into trouble with "wrong file type" is by try- ing to send a file which is mixed-- mostly text, but with some imbedded charac- ters that are not true 7-bit ASCII (i.e., ASCII codes 00-127). This often hap- pens when you are trying to transfer a file which is word processor output. Most word processing software claims to allow you to output a true ASCII or text file, but in some cases it really does not, and in others the choice of output options is confusing. If you have set up either Kermit program to send/receive a text file, and you try to transfer illegal ASCII characters (codes 128-256), your transfer may "hang" or be aborted. At the very best, if the transfer "works," the suspect characters will later probably be meaningless or confusing to the destination machine. (1c) problems can occur in two ways on the Apple II. If your default drive disk is write protected, and you attempt to receive a file, you will receive a "WRITE PROTECTED" error message, and no transfer will take place. If you have set Kermit-65's FILE-WARNING parameter to OFF (normally NOT a good idea), and you attempt to receive a file that already exists in a locked state on your default diskette, you will receive a "FILE LOCKED" error message (if the file is very short, you may have to check with a Kermit-65 STATUS command to see the error message), and no transfer will take place. Similar problems may occur on the host because of various file protection schemes. On the VAX/VMS 8800, for example, Kermit-32 cannot send out a file that you are unauthorized to read. And, it cannot receive a file unless you are authorized to write to that filename and its (sub)directory. If you use Kermit-32 to attempt to SEND (SEND filespec) a protected file, you should see a "%KERMIT32 ....., insufficient privilege or file protection violation for 'filespec'" error message, and no transfer will take place. If you have Kermit-32 in server mode, and you are trying to GET a protected file from it, or you are trying to SEND it a file whose space is protected, you should see a similar Kermit-32 generated REMOTE MESSAGE appear in the transmission status display, and then, on GET, the Kermit-65 message "CANNOT RECEIVE FILE-HEAD". Transfer of the protected file will not take place. (1d) problems are most likely to occur because of Apple II diskette or drive problems. The following conditions will generate "DISK I/O" or "I/O ERROR" messages when Kermit-65 transfer commands are entered: bad diskette in default drive, no diskette in default drive, default drive door open, and/or unINITial- ized disk in default drive. If any of those errors are detected before the attempted transmission of a given file, the transfer of that file will not begin. If any are detected DURING a file transmission, the file transfer will likely abort; at best trans- mitted data will be incomplete. Data which does reach the destination end of an aborted transfer should be considered very suspect; the disk problem should be corrected and the transfer should be repeated! (The best chance you have for salvaging text file data in an abort is if the file destination is the host machine and you have told its Kermit to save incomplete files, e.g., on the VAX-8800, you need to SET INCOMPLETE KEEP). One other Apple II disk problem can be encountered while you are using Kermit-65 to receive files. If you exceed the storage capacity of your diskette during a RECEIVE or a GET, you should see a "DISK FULL" error message. Data that has been received up to the point of the overflow will be automatically DELETEd. Make CERTAIN that you do not try to receive any more files until you have DELETEd some files from the problem diskette, or until you have replaced it with one that has adequate capacity to receive the complete file. NOTE: See Section 1.5.4. It is less likely that (1d) problems would occur because of host machine disk problems. The most likely circumstance you might encounter on the VAX/VMS 8800, for example, would be in receiving a large file and, in the process, ex- ceeding your VAX disk quota. In such a case, you should see an appropriate Kermit-32 generated REMOTE MESSAGE appear within the Kermit-65 transmission status display. If this happens, delete some files from your VAX (sub)directories, and/or have your VAX disk quota increased BEFORE you try the transfer again. If you have issued a SET INCOMPLETE KEEP command to Kermit-32, there may be some chance of salvaging text file data that arrived before the disk quota overage, but the best thing you can do is to repeat the transfer! As a general rule, if some disk or file error prevents a transfer from begin- ning, to get it to "go," you will need to correct the error and repeat all the steps that preceded it. If you are still commanding the host Kermit, and you see an error message, you will have to get the host Kermit's prompt back and give it an acceptable com- mand. If you have commanded the host Kermit to SEND or RECEIVE, and are back commanding Kermit-65 when you notice the error, you will have to correct the problem, CONNECT back to the host, get the host Kermit prompt (with the VAX/VMS 8800, try typing RETURN or CTRL-Y), and repeat the SEND or RECEIVE command, be- fore returning back to Kermit-65 to command it again. If you have placed the host Kermit in server mode, and are giving Kermit-65 commands when you notice an Apple disk/file error prevents a file transfer from starting, chances are good that you won't have to CONNECT back to the host. It is also important to note that within a single server session, when you are transferring multiple files, all files transferred PRECEDING an error (or abort) are probably good. To repeat the transfer, correct the error, and give Kermit-65 the appropriate command to transfer the file that messed up. The first time you do it, you may get back a message like "REMOTE MESSAGE %KERMIT-32..... protocol error" This is just the host server trying to get back "on track" after the error. When the Kermit-65> prompt returns, enter the transfer command again, and it will probably be accepted. If the second attempt should fail, wait for the Kermit-65> prompt, enter: FINISH, wait for the prompt again, and enter: CONNECT. If you do not see the host operating system prompt ($ on the VAX 8800), type a few RETURNs (or on the VAX/VMS a CTRL-Y). Re-invoke the host Kermit and put it back in server mode. If disk or file errors prevent a transfer from completing, recovery will depend on the error, whether you had the host Kermit in server mode or not, and on your desire for accuracy. Some disk/file error aborts are "fatal" (e.g., Apple DISK FULL, and uploading to the VAX 8800 w/o having commanded Kermit-32 to SET INCOMPLETE KEEP). The destination file will be destroyed. The transfer of the file will have to be repeated again from the beginning. Again, unless you have set the host Kermit for server mode, you will have to CONNECT back, get the host Kermit prompt, and re-command it. If you were in a server session, though, you can probably repeat the transfer of the interrupted file without going back to the host (see recovery procedures above). Other disk/file errors that interrupt/abort a transfer may leave salvageable text data at the transfer destination. The best policy, though, is to repeat the transfer of the incomplete file (see recovery procedures above). Common problems in category (2) include the following: (a) bad parity (b) noisy communications line (c) timeout due to delays, "disaster," etc. (d) Kermit-program incompatibility (e) user error (2a) Parity settings are very critical to correct transfers. If you do not inform Kermit-65 of the correct parity being used by the remote host machine or the communications path to it, "checksum" error checking calculations will be wrong, and packets will be consistently rejected when they arrive at their des- tination. In particular, most binary file Kermit transfers won't get very far if parity is not set correctly. [NOTE: If you want to do a binary file transfer (Apple binary or BASIC files) via a FIRN Network connection to the SERDAC VAX/VMS 8800, you must SET PARITY SPACE before the transfer is initiated; that will insure that eight-bit quoting is used. If you dial directly into the VAX/VMS 8800, SET PARITY NONE; eight-bit quoting (which is less efficient) is not required]. (2b) Line noise can be the root cause for a variety of file transfer problems. The beauty of a "packetized protocol transfer" scheme like Kermit is that or- dinarily, the scheme will overcome an occasional burst of line noise. A packet which arrives out of sequence, or which does not have the same checksum "bit count" as when it was sent, will get retransmitted, and the noise induced data error will correct itself. Sometimes, however, bad line noise can outwit even the cleverest aspects of Kermit. There are some times where severe noise can corrupt the "checksum" er- ror checking and lead to undetected transmission of a bad character (assuming that the severe line noise exists, chances of this happening for one character are, for Kermit-65 error checking, less than two percent). If line noise is bad enough and persistent enough, it is also a cause for several problems that will eventually "hang" or totally confuse and abort a transfer: Each transfer is preceded by the Kermit-to-Kermit exchange of several short "initialization packets. These tell the controlling programs critical things to expect about the upcoming transfer. If line noise prevents the packets from arriving, or scrambles them up, the transfer probably can't get started cor- rectly. One of the biggest vulnerabilities of the Kermit scheme is that each arriving packet must be acknowledged (ACK) by the receiver, and that the sender must ac- tually receive back the acknowledgement (likewise, if an expected packet does not arrive, there often must be a negative acknowledgement (NAK)). Since the ACK/NAK packets are very short, they are rather vulnerable to severe noise. If too many of them are scrambled or lost, the transfer can get out of synch, and the transferring programs can lose track of where they are. One other place Kermit is vulnerable is in the beginning of a data packet. The first several bytes of these longer packets are reserved for control infor- mation: packet type, byte count, sequence number, etc. If line noise repeatedly coincides with the transmission of this control information, it is very easy for the transfer to get confused-- particularly if the packet number- ing gets garbled. If you detect frequent line noise after you've connected to a host, but before you begin transfers (you will probably see extraneous junk characters appearing on your screen), you're probably in for trouble. Once transfers actually begin, line noise problems are often characterized by incrementing of the RETRY counter on the Kermit-65 transmission status display, and/or by long pauses in incrementing of the status display byte counter. To minimize line noise, first see if there are any obvious loose connections in your equipment (telephone line connection to wall box, telephone line to modem, modem cabling to serial connector, or, if appropriate, cabling from hardwire port to serial connector). If not, you may want to hang up and redial to get another telephone connection (almost every connection is unique, and you may get a better one than you had). Many line noise problems will clear up with those simple remedies, but some may be beyond your control! If all else fails, you may also try shortening the maximum length of your data packets (SET SEND/RECEIVE PACKET-LENGTH) to possibly lessen the effects of per- sistent noise. (2c) A Kermit transfer consists of a regular and predictable exchange of initializa- tion, data, and, ACK/NAK packets. If something (line noise, busy computer, user error, etc.) interrupts or delays this regular exchange, there must be a way for a Kermit program on at least one end to figure out something is wrong and try to get the packet exchange back on track again. This is usually done with a timer and retry mechanism. If a Kermit does not receive an expected packet, within its timer's time limit (a timeout), it will resend its last sent packet to try to "wake up" the other Kermit (effectively by asking it to send its last packet again). This resending is repeated ("retried") a number of times before the program assumes it cannot get things on track again. Each packet resent by Kermit-65 is counted as a RETRY on its transmission status display. If Kermit-65's retry count exceeds 20, it will try to issue an error message according to what kind of packet it was waiting for and/or it will say MAX RETRY COUNT EXCEEDED. The transfer will then be aborted. Very frequently, timeouts are caused by unexpected delays in the remote com- puter, or in the network thru which you connect to it. If you know that the host machine or network is very busy, and you repeatedly have aborted transfers due to timeouts, you may be able to alleviate the problem by increasing the value of the default Kermit-65 receive timeout parameter (SET RECEIVE TIMEOUT). Other common ways that Kermit-65 can timeout and abort are: (1) if the host machine "goes down" during a transfer, (2) if the telephone, network, or hardwire connection is completely broken during a transfer, (3) if you forgot to "start up" the host Kermit and give it a transfer command (SEND, RECEIVE, or SERVER) BEFORE giving Kermit-65 a transfer command, and (4) if (2a), (2b), (2d), or (2e) problems occur and critical initialization packets are never received. In cases (1) and (2), you will eventually probably see a CANNOT RECEIVE DATA or MAX RETRY COUNT EXCEEDED message from Kermit-65. Cases (3) and (4) may result in a CANNOT RECEIVE INIT message. (2d) To do effective Kermit transfers, there must be two Kermit programs working-- one on either end of a "computer connection." In addition, the two Kermits must be able to "talk to" each other in a prescribed, standard way. Although there are specific standards for writing all Kermit programs, most of them have been written by volunteers and are in the "public domain." The protocol re- quirements and resultant programs are generally rather complex, and it is all too easy to inadvertently program in a subtle error in a given Kermit version. Additionally, there are many "levels of ability" of Kermit programs: some can operate in server mode, some cannot. Some can transfer binary files; some can- not, etc. Unless the Kermit programs you are using are both error free, and both have the same capabilities for the transfers you wish to perform, you are in trouble! If there is a systematic "bug" in one of the Kermit programs, or if you are as- king one Kermit to do something the other can't do, there will usually be a problem with packet exchange; in many cases the requested transfer will not even get started. You may see a Kermit-65 error message, on the transmission status display, saying that a packet was not received, or a REMOTE MESSAGE say- ing a packet was unexpectedly received, or one that the command cannot be ex- ecuted by the other Kermit. In some cases, you may see no explanatory error messages at all; the transfer will just "hang" and will probably eventually "timeout" and abort (MAX RETRY COUNT EXCEEDED). (2e) If you've read about category (1) errors above, you can see that there are a variety of things you can do to with files or disks to mess up a Kermit trans- fer. You can also wreak havoc by issuing improper or illegal commands to Ker- mit programs. Before trying to transfer a lot of files, or trying out a new type of transfer, be sure you understand the procedure you need to follow and the various Kermit commands that will be involved. New Kermit users often try to command their local Kermit program (e.g., Kermit-65) to send or receive a file, without having first invoked and com- manded the host Kermit. Another common error is to issue improper commands to a remote server. For ex- ample, when VAX/VMS Kermit-32 is in server mode, and you are requesting files from it via Kermit-65 commands, you cannot use a RECEIVE command; you must in- stead use GET. As with Kermit program incompatibilities, illegal or inappropriate commands will often cause a problem with packet exchange; in many cases the requested transfer or action will not even get started. You may see a Kermit-65 error message, on the transmission status display, saying a packet was not received, a REMOTE MESSAGE that a packet was unexpectedly received, or one that the com- mand cannot be executed by the other Kermit. In some cases, you may see no ex- planatory error messages at all; the transfer will just "hang" and will prob- ably eventually "timeout" and abort (MAX RETRY COUNT EXCEEDED). Except for the fact that you will probably never note a category (2) "packet exchange" error while you are "talking to" the remote system or commanding its Kermit, and that the remedies you must employ to correct the errors will be different, recovery procedures to get your file transferred correctly will be much the same as those we described at the end of the discussion on category (1) "disk/file" errors. Make sure to read that discussion for more details than we have included below. In short, if an error prevents a given transfer from actually beginning, you will need to correct the error and repeat all the steps that preceded it. This will be more difficult if you are transferring only one file-- having commanded the remote Kermit to SEND or RECEIVE. If you have placed the remote Kermit in server mode, and an error prevents the transfer of one file, all files trans- ferred up to that point are probably OK, and you can usually correct the problem, and get a transfer started again without having to reCONNECT back to the host. If you are transferring a text file, and an abort occurs in mid-transfer, some data may be salvageable in the destination file, but the best rule with any type of file is to repeat the transfer, in which case the recovery procedures in the last paragraph apply. 1.8. Customizing Kermit-65 The source code to Kermit-65 is in 6502 Assembler. It has been formatted for a cross assembler which runs on a unix 2's complement machine. Files appxas.1 thru appxas.3 are the cross assembler for UNIX. Get the files on a UNIX system and then look at the documentation at the start. They will easily make you a xasm for Kermit. The file appmak.unx is the makefile to use with the xasm to reassemble all of Kermit's parts. Kermit-65 3.xx has been separated into two assemblies, the main routines and the com card routines for the devices shown in Table 1-1. A vector has been set up in low memory for the two assemblies to communicate. Look at the working com drivers for tips on how to incorporate your version of the com driver. some things to note: It is probably best to buffer the input from the remote and to get input characters from the remote every chance you get. Note the Microtek SV-622 driver, whenever the input is checked for a character and has a charac- ter the character is put into the buffer immeadiatly. Also when the output is checked for ready to output, if the card is not ready to output then it is checked for a character to input. All this should help prevent losing charac- ters. Communications card vector area: address size module function 1003 byte main This is the baud rate index as follows: 3 - 110 4 - 135.4 5 - 150 6 - 300 7 - 600 8 - 1200 9 - 1800 10 - 2400 11 - 3600 12 - 4800 13 - 7200 14 - 9600 15 - 19200 for example: if index is 6 then line should be 300 baud 1004 byte unused 1005 word driver Address of a null terminated string. address should point to a capitalized string of the drivers id 1007 byte main Com slot in the form $n0 where n is slot #. 1008 byte main Force initialization flag when 0. init routine should always initialize when this flag is 0 & then set flag non-zero. 1009 word main Address of the end of Kermit main routine. 100b byte main Flow control is on when high bit is set. 100c word driver Address of the end of the com driver. 1020 3 bytes driver Jump to initialization routine. 1023 3 bytes driver Jump to command routine. A reg has command 0 - hang up the line $0b - set baud rate $0c - set break on the line $91 - do xon on the line $93 - do xoff on the line routine returns false (P reg zero flag) if unable to do command. 1026 3 bytes driver Jump to check for input from the line. routine returns false (P reg zero flag) if no character on line 1029 3 bytes driver Jump to get input character from line. routine returns character in A reg 102c 3 bytes driver Jump to put character in A reg on line. 102f 3 bytes driver Jump to reset com driver. 1040 3 bytes main Jump to Apple ROM wait rtn. microsecs delay =1/2(26+27A+5A*A) where A is the accumulator 1043 3 bytes main Jump to routine to print null-terminated string. X reg contains least significant byte of address Y reg contains most significant byte of address routine does not issue a carriage return. 1046 3 bytes main Jump to routine to read the keyboard. A reg contains the character read 1049 3 bytes main Jump to routine to print carrage rtn & line feed. 104f 3 bytes main Jump to routine to set characters parity. A reg contains the character before and after. All the routines should return with the "rts" instruction. Routines which can return a true/false indication should return with the P reg zero flag set ap- propiately. That is: a "beq" instruction will branch on a false indication and the "bne" will branch on a true indication. The com driver should start its routines above the main routines and tell where the end of the com driver is via location $100c. If your com driver gets too large then the bsave address would have to be changed when you are saving the binary to diskette. ------------------------------------------------------------------------------- List of most of the prodos file types. Num Name OS Definition $00 typeless $01 BAD both BAD blocks file $02 PCD SOS Pascal CoDe file $03 PTX SOS Pascal TeXt file $04 TXT both ASCII text file $05 PDA SOS Pascal DAta file $06 BIN both BINary file $07 CHR SOS CHaRacter font file $08 PIC both PICture file $09 BA3 SOS Business BASIC (SOS) program file $0A DA3 SOS Business BASIC (SOS) data file $0B WPD SOS Word Processor Document $0C SOS SOS system file $0D SOS SOS reserved file type $0E SOS SOS reserved file type $0F DIR Both subDIRectory file $10 RPD SOS RPS data file $11 RPI SOS RPS index file $12 SOS Applefile diskcard file $13 SOS Applefile model file $14 SOS Applefile report format file $15 SOS Screen library file $16 SOS SOS reserved file type $17 SOS SOS reserved file type $18 SOS SOS reserved file type $19 ADB ProDOS AppleWorks Database file $1A AWP ProDOS AppleWorks WordProcessing file $1B ASP ProDOS AppleWorks Spreadsheet file $1C-$5F Reserved $60-$6F ProDOS PC Transporter (Applied Engineering) $60 PRE ProDOS ProDOS preboot driver $61-$6A ProDOS Reserved $6B NIO ProDOS PC Transporter BIOS and drivers $6C ProDOS Reserved $6D DVR ProDOS PC Transporter device drivers $6E ProDOS Reserved $6F HDV ProDOS MSDOS HardDisk Volume $70-$9F Reserved $A0 WPF ProDOS WordPerfect document file $A1 MAC ProDOS Macrofile $A2 HLP ProDOS Help File $A3 DAT ProDOS Data File $A4 Reserved $A5 LEX ProDOS Spelling dictionary $A6-$AB Reserved Table 1-4: PRODOS file types, part 1 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Num Name OS Definition $AC ARC ProDOS General Purpose Archive file $AD-$AF Reserved $B0 SRC ProDOS ORCA/M & APW source file $B1 OBJ ProDOS ORCA/M & APW object file $B2 LIB ProDOS ORCA/M & APW library file $B3 S16 ProDOS ProDOS16 system file $B4 RTL ProDOS ProDOS16 runtime library $B5 EXE ProDOS APW shell command file $B6 STR ProDOS ProDOS16 startup init file $B7 TSF ProDOS ProDOS16 temporary init file $B8 NDA ProDOS ProDOS16 new desk accessory $B9 CDA ProDOS ProDOS16 classic desk accessory $BA TOL ProDOS ProDOS16 toolset file $BB DRV ProDOS ProDOS16 driver file $BC-$BE Reserved for ProDOS16 load file $BF DOC ProDOS document file $C0 PNT ProDOS //gs paint document $C1 SCR ProDOS //gs screen file $C2-$C7 Reserved $C8 FNT ProDOS Printer font file $C9 ProDOS finder files $CA ProDOS finder icons $CB-$DF Reserved $E0 LBR ProDOS Apple archive library file $E1 Unknown (unlisted) $E2 ATI ProDOS Appletalk init file $E3-$EE Reserved $EF PAS ProDOS ProDOS Pascal file $F0 CMD ProDOS added command file $F1-$F8 ProDOS User defined filetypes (popular ones include:) $F1 OVL ProDOS Overlay file $F2 DBF ProDOS Database file $F3 PAD ProDOS MouseWrite file $F4 MCR ProDOS AE Pro macro file $F5 ECP ProDOS ECP batch file $F6 DSC ProDOS description file $F7 TMP ProDOS temporary work file $F8 RSX ProDOS linkable object module $F9 IMG ProDOS ProDOS image file $FA INT ProDOS Integer BASIC program $FB IVR ProDOS Integer BASIC variables file $FC BAS ProDOS AppleSoft BASIC program $FD VAR ProDOS AppleSoft BASIC variables file $FE REL ProDOS ProDOS EDASM relocatable object module file $FF SYS ProDOS ProDOS8 system file Table 1-5: PRODOS file types, part 2 ------------------------------------------------------------------------------- Index Apple II 1 Apple II Keypad 4, 5 CATALOG Command 3 CONNECT Command 3 DELETE Command 3 GET Command 2 MODEM Command 3 RECEIVE Command 2 REMOTE Command 3 SEND Command 2 SERVER Command 3 SET APPLICATION-MODE 4 SET Command 3 SET DEFAULT-DISK 4 SET DISPLAY 4 SET FILE-TYPE 4 SET KEYBOARD 4 SET KEYPAD 4 SET LOCAL-ECHO 4 SET PARITY 4 SET PREFIX 4 SET PRINTER 4 SET PROTOCOL 5 SET SLOT 5 SET TERMINAL 5 SHOW command 6 TAKE Command 2 TYPE Command 2 VT100 Emulation 5 VT52 Emulation 5 Table of Contents 1. Apple II Kermit 1 1.1. Supported Systems and Devices 1 1.2. The DOS 3.3 File System 1 1.3. The PRODOS File System 1 1.4. Program Operation 2 1.5. Kermit-65 Commands 2 1.6. Standard Installation 6 1.7. Problems 6 1.8. Customizing Kermit-65 9 Index 10 List of Figures Figure 1-1: VT100 Keypad on an Apple Keyboard 5 Figure 1-2: VT100 Keypad on an Apple//gs or Equivalent Keypad 5 Figure 1-3: VT52 Keypad on an Apple Keyboard 5 List of Tables Table 1-1: Apple II Communication Cards Supported by Kermit-65 1 Table 1-2: Kermit-65 Single-Character CONNECT Escape Commands 3 Table 1-3: Apple II/II+ Keyboard Escapes 3 Table 1-4: PRODOS file types, part 1 9 Table 1-5: PRODOS file types, part 2 9
krb20699@uxa.cso.uiuc.edu (05/28/89)
Part 4 of 4 of Kermit 3.85 (Update info.) ============= Cut Here ================== From APPLE2-L@BROWNVM.BITNET Fri Jan 6 23:43:17 1989 Received: from husc6.harvard.edu (husc6.ARPA) by husc7.HARVARD.EDU; Fri, 6 Jan 89 23:44:04 est Received: from BROWNVM by husc6.harvard.edu with BITNET; Fri, 6 Jan 89 23:31:21 EST Received: by BUACCA (Mailer X1.25) id 7527; Fri, 06 Jan 89 23:31:20 EST Date: Fri, 6 Jan 89 23:27:54 EST Reply-To: Apple II List <APPLE2-L@brownvm.harvard.edu> Sender: Apple II List <APPLE2-L@brownvm> Comments: Resent-From: Christopher Chung <CHRIS@BROWNVM> Comments: Originally-From: Ted Medin <MEDIN-T@SHARK.nosc.mil> From: Christopher Chung <CHRIS@brownvm> Subject: kermit-65 3.85 part 4 of 4 To: Paul Nakada <NAKADA@husc7> Status: R ------- part 4 of 4 ---------- appaaa.new Changes for 3.84 to 3.85 1. Since most apple 2's have no clock kermit uses a loop with the cpu for time delays. There is now a "set timing nnn", where nnn is the times thru the $fca8 rom routine for a 1 ms delay. If your machine runs faster than a 6502 cpu then you may want to increase this number to get the 1 ms delay. 2. Kermit-65 has been on a weight loss program to attempt to improve performance. If you have a //e+ or better with a interupt driven com routine the results are significant otherwise so so. 3. The help command now reads file kermit.help for help. So if you dont like the help you can write your own. File is a text file and should be limited to 80 col lines. 4. With all the different (hayes compatable?) modems we have had to add an escape character "\" (reverse slash) for the modem file. So if you need to send the "&" to your modem, prefix it with the "\" and the "&" will not be interpreted as the 1 sec delay. And of course if you want to send the "\" you will have to send 2 of them. 5. The "type" command has been added so you can list a text file on your screen. If you have more than 80 col lines things may get a little out of hand. Otherwise you should be able to see 22 lines at a time and optionally be able to start over again at the top. 6. Sending files with wildcards in the names now uses the hardware stack. This means that a very complicated name with wildcards may cause a stack overflow with undefined results. Appreciate feedback on this please.
krb20699@uxa.cso.uiuc.edu (05/28/89)
This is part 1 of 2 of the program portion of Kermit 3.85. The last two parts are docs and miscellaneous, I believe. Rename the first two program files as "APP385.1" and "APP385.2". This is very important. Just EXEC the program TXT files, and the rest is academic. BE SURE TO EXEC THE FIRST TWO PROGRAM TXT FILES UNDER DOS 3.3!!! Ken. krb20699@uxa.cso.uiuc.edu =================================== Cut Here =================================== REM FIRST LINE OF APP385.1-- DO NOT REMOVE THESE REM LINES REM SAVE AS "APP385.1" [AS RECEIVED, WITHOUT REMOVING UUCP HEADERS] REM 689 LINES,30640 BYTES '88 SEPT 13-->WARNING APP385.2 IS DELETED BY INSTALL REM GLEN BREDON'S EXECUTIONER WAS USED TO COMPRESS CODE IN PART 2 REM IT ONLY WORKS IF THERE IS A LINE WITH ONLY A CARRIAGE RETURN ON IT REM AT THE END OF THE COMPRESSED CODE. MANY SYSTEMS WILL ADD A SPACE REM BEFORE THE CARRIAGE RETURN. YOU MUST REMOVE THE SPACE BEFORE IT WILL REM WORK. SO, LOAD APP385.2 INTO A WORD PROCESSOR AND LOOK. REM FIX THE LINE AT THE VERY END OF PART 2 IF NECESSARY. REM REM TURN ON APPLE WITH 'DOS3.3 SYSTEM MASTER' DISK IN DRIVE 1 REM REPLACE 'SYSTEM MASTER' DISK WITH BLANK DISK REM TYPE: FP<RETURN> THEN TYPE: INIT HELLO<RETURN> REM REPLACE NEW DISK WITH 'DOS3.3 SYSTEM MASTER' THEN TYPE: BRUN FID<RETURN> REM COPY DOWNLOADS 'APP385.1' AND 'APP385.2' TO NEW DISK REM PUT NEW DISK IN DRIVE 1 AND TYPE: PR#6<RETURN> REM TYPE: EXEC APP385.1,R25<RETURN> [YES, THAT'S "R25"] REM REM TO REINSTALL TYPE: BLOAD KERMIT385<RETURN> REM THEN TYPE: EXEC APP385.INSTALL<RETURN> REM Things to remember:fix size of bin save REM pgm must fit between 4096 & lomem REM test is made at 131 for correct load of kermit REM test is made at 141 for lomem token & 3 the first digit of lomem REM DO NOT REMOVE THESE REM LINES REM CLOSE NEW 75 IF PEEK(-8192)=32 THEN GOTO 100:REM TEST FOR INTEGER 95 END 100 PRINT "SORRY, GOTTA STOP HERE" 110 PRINT "APPLESOFT BASIC REQUIRED" 120 POKE-21837,0:CALL-23830:REM TURN OFF EXEC FLAG AND CLOSE 130 END RUN TEXT:SPEED=100:PRINT" PROGRAM STARTING " PRINT" (ALL THOSE ']' PROMPTS ARE NORMAL)" PRINT" ":SPEED=255 NEW 75 IF PEEK(48896)=76 OR PEEK(978)><157 GOTO 100:REM TEST PRODOS OR MOVED DOS 95 END 100 D$=CHR$(4):G$=CHR$(7):M$=CHR$(13) 110 F$="T":FE$=D$+"EXEC "+F$:FD$="DELETE "+F$ 120 EE$=G$+"SORRY, GOTTA STOP HERE"+M$+M$+G$ 130 PRINT D$;"OPEN ";F$:PRINT D$;"WRITE ";F$:PRINT "CLOSE" 140 IF PEEK(978)=190 THEN PRINT FD$ 150 PRINT "END":PRINT D$;"CLOSE ";F$ 160 PRINT EE$;"NORMAL DOS 3.3 REQUIRED":PRINT FE$:END RUN CLOSE CALL-151 0300:48 98 48 8A 48 20 F7 AF A9 00 85 40 85 41 A0 C8 0310:18 B9 F2 B3 F0 0E 0A 90 FB 48 E6 40 D0 02 E6 41 0320:68 18 90 F0 88 D0 E9 68 AA 68 A8 68 60 00 00 00 0330:68 A8 68 A6 DF 9A 48 98 48 60 00 3D0G FP 10D$=CHR$(4):G$=CHR$(7):M$=CHR$(13):Q$=CHR$(34):VN$="385":V$="APP"+VN$+"." 20KR$="KERMIT"+VN$:C0$="INSTALL":C1$="SS":C2$="SV":C3$="MM":C4$="AC":FS=65 23C5$="CC":C6$="GS":C7$="CP":CF$="INIT":H$="KERMIT.":CH$="HELP" 30EE$=G$+M$+"SORRY, GOTTA STOP HERE"+M$+G$ 110ONERRGOTO1000 112TL=3:FORT=2TOTL:T$(T)=STR$(T):NEXTT:T=2:E=0 115L$(0)="HOWDY-- " 117L$(1)=" " 119L$(2)="GONNA MAKE YOU A DOS KERMIT OF YOUR OWN " 121L$(3)="BUT FIRST, " 123L$(4)="GONNA CHECK TO SEE IF WE'VE GOT ALL THE " 125L$(5)="FILE NAMES SPELLED AS EXPECTED. AND, " 127L$(6)="IF THERE'S ENOUGH SPACE ON THIS DISK. " 130TEXT:NORMAL:HOME 135FORV=0TO6:FORH=40TO1STEP-3:VTABV+1:INVERSE:?SPC(40):?:VTABV+1:NORMAL 137?LEFT$(L$(V),41-H):NEXT:NEXT 140?D$;"VERIFY ";V$;T 150T=T+1:IFT<TLGOTO140 300CALL768:SC=PEEK(64)+PEEK(65)*256 305IFSC<FSTHENE=E+1:E$(E)="NOT ENOUGH FREE SPACE ON THIS DISK" 350IFE>0GOTO3000 400?"LOOKIN GOOD":?:?"GO DO SOMETHIN INTERESTING" 410?"FOR A FEW MINUTES":?:?"WILL 'BEEP' WHEN YOU'RE NEEDED":? 420POKE216,0:FORI=1TO2000:NEXTI:END 1000IFPEEK(222)><6GOTO9000 1010E=E+1:E$(E)="CAN'T FIND "+V$+T$(T):T=T+1:IFT<TLTHENRESUME 1020GOTO300 3000?EE$:?"THESE ARE THE PROBLEMS TO FIX:":? 3010POKE216,0:FORI=1TOE:?E$(I):NEXTI 4000POKE-21837,0:?D$;"CLOSE":END 8000REM LAST LINES OF CFIG GENERATORS (FOLLOWING) 8010?"3D0G" 8020?EX$ 8085?"END" 8090?CL$ 8095END 8500REM ASSIGN STRINGS FOR CFIG GENERATORS (FOLLOWING) 8550CV$=V$+C$:O$=D$+"OPEN"+CV$:W$=D$+"WRITE"+CV$:CL$=D$+"CLOSE"+CV$ 8555EX$="EXEC"+V$+C0$+",R1" 8595RETURN 9000 REM ONERR ERROR ROUTINE 9005CALL816 9010PE=PEEK(222):POKE216,0:?EE$ 9020?"IF CONFUSED, ASK FOR HELP":?"--NOTE YOU GOT ERROR #";PE 9999POKE-21837,0:?D$;"CLOSE":END:REM TURN OFF EXEC AND CLOSE RUN CLOSE DEL40,7999 50ONERRGOTO9000 99GOSUB8500:?O$:?W$ REM START OF CFIG GENERATORS 98C$=C1$ 103?"REM 1ST LINE OF ";V$;C1$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:09 7B" 118?"100C:FD 87" 119?"1020:4C ED 7B 4C 69 7D 4C EE 7C 4C FF 7C 4C 1A 7D 4C 31 7D" 120?"7B00:00 00 00 00 00 00 00 00 00 D3 D3 C3 A0 D6 B1 AE B1 B4" 121?"7B12:00 C3 CF CD A0 D2 D4 CE A0 C1 D3 CD A0 D4 CF CF" 122?"7B22:A0 CC CF D7 00 3C AD A0 C2 C1 C4 A0 C3 CF CD A0 C3 CD" 123?"7B34:C4 00 68 AA 6C 04 7B 8A 48 AD 89 C0 10 F4 29 08" 124?"7B44:D0 52 2C 0B 10 10 2B 70 26 AD 07 7B F0 0C AD 06 7B" 125?"7B55:D0 1F A9 13 8D 06 7B D0 0F AD 06 7B F0 13 A9 00" 126?"7B65:8D 07 7B 8D 06 7B A9 11 20 4F 10 8D 88 C0 4C DE 7B" 127?"7B76:AD 02 7B CD 03 7B F0 14 EE 03 7B CD 03 7B F0 0C" 128?"7B86:AE 03 7B BD FD 86 8D 88 C0 4C DE 7B 20 E3 7B 4C DE 7B" 129?"7B98:AD 88 C0 AE 01 7B 9D FD 7D 2C 0B 10 10 26 29 7F" 130?"7BA8:C9 11 D0 0E A9 BF 2D 0B 10 8D 0B 10 20 E9 7B 4C DE 7B" 131?"7BBA:C9 13 D0 0E A9 40 0D 0B 10 8D 0B 10 20 E9 7B 4C DE 7B" 132?"7BCC:EE 01 7B D0 0D AE A0 7B E8 E0 86 D0 02 A2 7D 8E A0 7B" 133?"7BDE:68 AA A5 45 40 A9 01 8D 8A C0 60 A9 05 D0 F8 78" 134?"7BEE:AD 05 7B D0 25 AD FE 03 8D 04 7B AD FF 03 8D 05 7B" 135?"7BFF:A9 7B CD 0A 10 F0 04 90 09 B0 0E A9 00 CD 09 10" 136?"7C0F:B0 07 A2 13 A0 7B 20 82 7D AD 08 10 F0 0C 58 60" 137?"7C1F:A9 60 8D E9 7B 8D E3 7B D0 09 AD C0 FB F0 F1 C9 E0" 138?"7C30:D0 5B AD E2 7B 8D DE 7B A9 3D 8D FE 03 A9 7B 8D FF 03" 139?"7C42:A2 00 BD 38 7B 9D 36 7B E8 E0 03 D0 F5 A2 00 2C 11 C0" 140?"7C54:30 02 A2 08 2C 12 C0 10 02 E8 E8 2C 81 C0 2C 81 C0" 141?"7C65:DA AD 16 C0 0A A0 01 B9 FE FF 8D 09 C0 99 FE FF" 142?"7C75:8D 08 C0 99 FE FF 88 10 EE 90 03 8D 09 C0 FA 3C 81 C0" 143?"7C87:3C 81 C0 4C 97 7C A9 3B 8D FE 03 A9 7B 8D FF 03" 144?"7C97:A9 00 8D 00 7B 8D 01 7B 8D 02 7B 8D 03 7B A9 7D" 145?"7CA7:8D A0 7B 8D 05 7D AE 07 10 8E 08 10 18 A9 89 6D 07 10" 146?"7CB9:8D 3E 7B 8D 54 7D 18 A9 88 6D 07 10 8D 8D 7B 8D 99 7B" 147?"7CCB:8D 71 7B 8D 61 7D 8D 27 7D A9 8A 18 6D 07 10 8D E6 7B" 148?"7CDD:A9 05 9D 8A C0 A9 18 29 F0 0D 03 10 9D 8B C0 58" 149?"7CED:60 78 AD 00 7B CD 01 7B D0 06 AD A0 7B CD 05 7D" 150?"7CFD:58 60 78 AE 00 7B BD FD 7D EE 00 7B D0 0D AC 05 7D" 151?"7D0E:C8 C0 86 D0 02 A0 7D 8C 05 7D 58 60 78 AE 02 7B" 152?"7D1E:9D FD 86 EC 03 7B D0 06 8D 88 C0 20 E9 7B EE 02 7B" 153?"7D2F:58 60 78 AD 05 7B F0 1A AD 04 7B 8D FE 03 AD 05 7B" 154?"7D40:8D FF 03 A9 00 8D 05 7B AE 07 10 9D 89 C0 9D 8A C0" 155?"7D51:60 AA AD 89 C0 29 10 F0 0E 8A 29 7F 20 4F 10 8D 88 C0" 156?"7D63:20 E9 7B A9 01 60 F0 C6 C9 0C F0 69 C9 0B F0 54" 157?"7D73:C9 91 F0 14 C9 93 F0 30 20 DA FD A2 27 A0 7B 20 43 10" 158?"7D85:20 49 10 A9 00 60 78 20 52 7D F0 0C A9 00 8D 07 7B" 159?"7D96:8D 06 7B A9 01 58 60 A9 00 8D 07 7B 58 AD 06 7B" 160?"7DA6:D0 FB A9 01 60 78 20 52 7D F0 0A A9 01 8D 06 7B" 161?"7DB6:8D 07 7B 58 60 A9 01 8D 07 7B 58 AD 06 7B F0 FB" 162?"7DC6:60 AE 07 10 78 BD 8B C0 29 F0 0D 03 10 9D 8B C0" 163?"7DD6:58 60 78 AC 07 10 B9 8A C0 09 0C 99 8A C0 A9 E9" 164?"7DE6:8D 08 7B AD 0E 10 20 40 10 CE 08 7B D0 F5 A9 05" 165?"7DF6:99 8A C0 58 A9 01 60" RUN DEL 100,7999 98C$=C2$ 103?"REM 1ST LINE OF ";V$;C2$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:05 7B" 118?"100C:99 7E" 119?"1020:4C 53 7B 4C 42 7C 4C 9D 7B 4C FD 7B 4C 07 7C 4C 33 7C" 120?"7B00:00 00 00 00 00 CD C9 C3 D2 CF D4 C5 CB A0 D3 D6 AD" 121?"7B11:B6 B2 B2 A0 D6 B1 AE B7 00 AA AA AA AA AA C5 D2 D2 CF" 122?"7B23:D2 AA AA AA AA AA A0 C3 CF CD A0 D2 CF D5 D4 C9 CE C5" 123?"7B35:D3 A0 C1 D3 D3 C5 CD C2 CC C5 C4 A0 D4 CF CF A0 CC CF" 124?"7B47:D7 A0 C9 CE A0 CD C5 CD CF D2 D9 00 A9 7B CD 0A 10" 125?"7B58:F0 04 90 0B B0 13 A9 00 CD 09 10 F0 0C B0 0A A2 1A" 126?"7B69:A0 7B 20 43 10 20 49 10 AD 08 10 D0 26 A9 00 8D 00 7B" 127?"7B7B:8D 01 7B 8D 02 7B 8D 03 7B AE 07 10 A9 0B 8D 08 10" 128?"7B8C:9D 89 C0 9D 8A C0 A9 18 29 F0 0D 03 10 9D 8B C0" 129?"7B9C:60 AE 07 10 BD 89 C0 29 08 F0 4F BD 88 C0 AC 00 7B" 130?"7BAD:99 99 7C EE 00 7B 2C 0B 10 10 3E B9 99 7C 29 7F" 131?"7BBD:C9 11 D0 26 AD 0B 10 29 BF 8D 0B 10 CE 00 7B AC 03 7B" 132?"7BCF:CC 02 7B F0 22 BD 89 C0 29 10 F0 F9 B9 99 7D 9D 88 C0" 133?"7BE1:EE 03 7B 4C CC 7B C9 13 D0 0B A9 40 0D 0B 10 8D 0B 10" 134?"7BF3:CE 00 7B AD 00 7B CD 01 7B 60 AE 01 7B BD 99 7C" 135?"7C03:EE 01 7B 60 48 AE 07 10 BD 89 C0 29 10 F0 1B 2C 0B 10" 136?"7C15:10 0F 50 0D AC 02 7B 68 99 99 7D EE 02 7B 4C A0 7B" 137?"7C26:68 9D 88 C0 4C A0 7B 20 A0 7B 4C 0B 7C A9 00 8D 08 10" 138?"7C38:AE 07 10 9D 89 C0 9D 8A C0 60 F0 12 C9 0C F0 2E" 139?"7C48:C9 0B F0 1B C9 91 F0 07 C9 93 F0 03 A9 00 60 AE 0B 10" 140?"7C5A:10 F8 29 7F 20 4F 10 20 07 7C A9 01 60 AE 07 10" 141?"7C6A:BD 8B C0 29 F0 0D 03 10 9D 8B C0 60 AC 07 10 B9 8A C0" 142?"7C7C:48 09 0C 99 8A C0 A9 E9 8D 04 7B AD 0E 10 20 40 10" 143?"7C8D:CE 04 7B D0 F5 68 99 8A C0 A9 01 60" RUN DEL 100,7999 98C$=C3$ 103?"REM 1ST LINE OF ";V$;C3$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:07 7B" 118?"100C:F9 7F" 119?"1020:4C 9E 7B 4C A4 7D 4C 05 7D 4C 65 7D 4C 6F 7D 4C 9B 7D" 120?"7B00:00 00 00 00 00 00 00 C8 C1 D9 C5 D3 A0 CD C9 C3" 121?"7B10:D2 CF A0 CD CF C4 C5 CD A0 D6 B1 AE B7 00 C3 CF CD" 122?"7B21:A0 D2 CF D5 D4 C9 CE C5 D3 A0 C1 D3 CD A0 D4 CF CF A0" 123?"7B33:CC CF D7 A0 C9 CE A0 CD C5 CD CF D2 D9 00 CE D5 CD" 124?"7B44:C2 C5 D2 A0 D4 CF A0 C4 C9 C1 CC BA 00 C1 D7 C1" 125?"7B54:C9 D4 C9 CE C7 A0 C3 C1 D2 D2 C9 C5 D2 AE AE AE C1 CE" 126?"7B66:D9 A0 CB C5 D9 A0 C1 C2 CF D2 D4 D3 00 C3 CF CE" 127?"7B76:CE C5 C3 D4 C5 C4 AE 00 D4 C8 C5 D2 C5 A0 D7 C9 CC" 128?"7B87:CC A0 C2 C5 A0 C1 A0 B3 B5 A0 D3 C5 C3 A0 C4 C5 CC C1" 129?"7B99:D9 00 A9 01 60 A9 7B CD 0A 10 F0 04 90 0B B0 13" 130?"7BA9:A9 00 CD 09 10 F0 0C B0 0A A2 1E A0 7B 20 43 10" 131?"7BB9:20 49 10 AE 07 10 BD 87 C0 BD 86 C0 29 04 F0 D2" 132?"7BC9:8A 4A 4A 4A 4A 8D 06 7B A2 7E A0 7B 20 43 10 20 49 10" 133?"7BDB:A5 36 48 A5 37 48 AD 06 7B 20 95 FE A9 91 20 ED FD" 134?"7BEC:A9 8D 20 ED FD A9 9A 20 ED FD A9 14 8D 01 7B A9 7D" 135?"7BFD:8D 00 7B AD 0E 10 20 40 10 CE 00 7B D0 F5 CE 01 7B" 136?"7C0E:D0 EB 68 85 37 68 85 36 A9 8D AE 07 10 9D 85 C0" 137?"7C1E:A9 03 9D 87 C0 A9 11 9D 87 C0 A9 14 8D 01 7B A9 7D" 138?"7C2F:8D 00 7B AD 0E 10 20 40 10 CE 00 7B D0 F5 CE 01 7B" 139?"7C40:D0 EB A2 41 A0 7B 20 43 10 20 0C FD 20 ED FD 29 7F" 140?"7C51:C9 30 30 5F C9 3A 10 5B 29 0F D0 02 A9 0A 8D 01 7B" 141?"7C62:A9 0D AE 07 10 9D 85 C0 A9 3D 8D 00 7B AD 0E 10" 142?"7C72:20 40 10 CE 00 7B D0 F5 A9 8D AE 07 10 9D 85 C0" 143?"7C82:A9 27 8D 00 7B AD 0E 10 20 40 10 CE 00 7B D0 F5" 144?"7C92:CE 01 7B D0 CB A9 06 8D 01 7B A9 64 8D 00 7B AD 0E 10" 145?"7CA4:20 40 10 CE 00 7B D0 F5 CE 01 7B D0 EB 4C 49 7C" 146?"7CB4:C9 0D D0 91 20 49 10 A2 51 A0 7B 20 43 10 AE 07 10" 147?"7CC5:2C 00 C0 10 0E 20 0C FD A9 00 AE 07 10 9D 85 C0" 148?"7CD5:A9 00 60 BD 87 C0 BD 86 C0 29 04 D0 E3 A9 8F 9D 85 C0" 149?"7CE7:20 49 10 A2 73 A0 7B 20 43 10 20 49 10 A9 00 8D 02 7B" 150?"7CF9:8D 03 7B 8D 04 7B 8D 05 7B A9 01 60 AE 07 10 BD 86 C0" 151?"7D0B:29 01 F0 4F BD 87 C0 AC 02 7B 99 F9 7D EE 02 7B" 152?"7D1B:2C 0B 10 10 3E B9 F9 7D 29 7F C9 11 D0 26 AD 0B 10" 153?"7D2C:29 BF 8D 0B 10 CE 02 7B AC 05 7B CC 04 7B F0 22" 154?"7D3C:BD 86 C0 29 02 F0 F9 B9 F9 7E 9D 87 C0 EE 05 7B" 155?"7D4C:4C 34 7D C9 13 D0 0B A9 40 0D 0B 10 8D 0B 10 CE 02 7B" 156?"7D5E:AD 02 7B CD 03 7B 60 AE 03 7B BD F9 7D EE 03 7B" 157?"7D6E:60 48 AE 07 10 BD 86 C0 29 02 F0 1B 2C 0B 10 10 0F" 158?"7D7F:50 0D AC 04 7B 68 99 F9 7E EE 04 7B 4C 08 7D 68" 159?"7D8F:9D 87 C0 4C 08 7D 20 08 7D 4C 73 7D A9 00 AE 07 10" 160?"7DA0:9D 85 C0 60 F0 23 C9 0C F0 28 C9 0B F0 0A C9 91" 161?"7DB0:F0 07 C9 93 F0 03 A9 00 60 AE 0B 10 10 F8 29 7F" 162?"7DC0:20 4F 10 20 6F 7D A9 01 60 AE 07 10 9D 85 C0 A9 01" 163?"7DD1:60 AC 07 10 AE 06 7B BD F8 07 09 60 99 86 C0 A9 E9" 164?"7DE2:8D 00 7B AD 0E 10 20 40 10 CE 00 7B D0 F5 BD F8 07" 165?"7DF3:29 9F 99 86 C0 60" RUN DEL 100,7999 98C$=C4$ 103?"REM 1ST LINE OF ";V$;C4$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:08 7B" 118?"100C:0B 7F" 119?"1020:4C 86 7B 4C BB 7C 4C 28 7C 4C 88 7C 4C 92 7C 4C BA 7C" 120?"7B00:00 00 00 00 00 00 00 01 C1 D0 D0 CC C5 A0 C3 CF CD" 121?"7B11:CD A0 C3 C1 D2 C4 A0 D6 B1 AE B8 00 AA AA AA AA AA C5" 122?"7B23:D2 D2 CF D2 AA AA AA AA AA A0 C3 CF CD A0 D2 CF D5 D4" 123?"7B35:C9 CE C5 D3 A0 C1 D3 D3 C5 CD C2 CC C5 C4 A0 D4 CF CF" 124?"7B47:A0 CC CF D7 A0 C9 CE A0 CD C5 CD CF D2 D9 00 C1 D7 C1" 125?"7B59:C9 D4 C9 CE C7 A0 C3 C1 D2 D2 C9 C5 D2 AE AE AE AE A8" 126?"7B6B:C1 CE D9 A0 CB C5 D9 A0 C1 C2 CF D2 D4 D3 A9 00" 127?"7B7B:C3 CF CE CE C5 C3 D4 C5 C4 AE 00 A9 7B CD 0A 10" 128?"7B8B:F0 04 90 0B B0 16 A9 00 CD 09 10 F0 0F B0 0D A2 1D" 129?"7B9C:A0 7B 20 43 10 20 49 10 4C D0 03 A9 08 8D FE 03" 130?"7BAC:A9 7D 8D FF 03 AD 07 10 4A 4A 4A 4A 8D 05 7B AE 07 10" 131?"7BBE:A9 03 9D 8E C0 A9 15 9D 8E C0 AE 07 10 BD 8F C0" 132?"7BCE:BD 8E C0 29 04 D0 0B A9 15 8D 06 7B 9D 8E C0 A9 01" 133?"7BDF:60 A2 56 A0 7B 20 43 10 AE 07 10 AC 05 7B A9 15" 134?"7BEF:8D 06 7B 9D 8E C0 2C 00 C0 10 06 20 0C FD A9 00" 135?"7BFF:60 BD 8F C0 BD 8E C0 29 04 D0 EB 20 49 10 A2 7B" 136?"7C0F:A0 7B 20 43 10 20 49 10 A9 00 8D 01 7B 8D 02 7B" 137?"7C1F:8D 03 7B 8D 04 7B A9 01 60 AE 07 10 BD 8E C0 29 01" 138?"7C30:F0 4F BD 8F C0 AC 01 7B 99 0B 7D EE 01 7B 2C 0B 10" 139?"7C41:10 3E B9 0B 7D 29 7F C9 11 D0 26 AD 0B 10 29 BF" 140?"7C51:8D 0B 10 CE 01 7B AC 04 7B CC 03 7B F0 22 BD 8E C0" 141?"7C62:29 10 F0 F9 B9 0B 7E 9D 8F C0 EE 04 7B 4C 57 7C" 142?"7C72:C9 13 D0 0B A9 40 0D 0B 10 8D 0B 10 CE 01 7B AD 01 7B" 143?"7C84:CD 02 7B 60 AE 02 7B BD 0B 7D EE 02 7B 60 48 AE 07 10" 144?"7C96:BD 8E C0 29 02 F0 17 2C 0B 10 10 0D 50 0B AC 03 7B" 145?"7CA7:68 99 0B 7E EE 03 7B 60 68 9D 8F C0 60 20 2B 7C" 146?"7CB7:4C 96 7C 60 F0 1E C9 0C F0 20 C9 0B F0 0A C9 91" 147?"7CC7:F0 07 C9 93 F0 03 A9 00 60 29 7F 20 4F 10 20 92 7C" 148?"7CD8:A9 01 60 AE 07 10 A9 01 60 AC 07 10 AD 06 7B 09 60" 149?"7CE9:99 8E C0 A9 E9 8D 07 7B AD 0E 10 20 40 10 CE 07 7B" 150?"7CFA:D0 F5 AD 06 7B 29 9F AC 07 10 99 8E C0 60 A5 45" 151?"7D0A:40" RUN DEL 100,7999 98C$=C5$ 103?"REM 1ST LINE OF ";V$;C5$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:0A 7B" 118?"100C:D8 87" 119?"1020:4C 1F 7C 4C 66 7D 4C 0B 7D 4C 1C 7D 4C 37 7D 4C 48 7D" 120?"7B00:00 00 00 00 00 00 00 00 00 00 C3 C3 D3 A0 B7 B7" 121?"7B10:B1 B0 A0 D6 B1 AE B1 B1 00 C3 CF CD A0 D2 CF D5 D4 C9" 122?"7B22:CE C5 D3 A0 C1 D3 D3 C5 CD C2 CC C5 C4 A0 D4 CF CF A0" 123?"7B34:CC CF D7 00 C3 C3 D3 A0 B7 B7 B1 B0 A0 D5 CE C1" 124?"7B44:C2 CC C5 A0 D4 CF A0 D3 C5 D4 A0 C2 C1 D5 C4 00" 125?"7B54:3C AD AD A0 C9 D3 A0 D5 CE CB CE CF D7 CE A0 C3" 126?"7B64:CF CD A0 C3 C1 D2 C4 A0 C3 CF CD CD C1 CE C4 00" 127?"7B74:8A 48 AD 80 C0 10 49 29 01 D0 52 2C 0B 10 10 29" 128?"7B84:70 43 AD 07 7B F0 0D AD 06 7B D0 1D A9 13 8D 06 7B" 129?"7B95:4C A4 7B AD 06 7B F0 10 A9 00 8D 06 7B A9 11 20 4F 10" 130?"7BA7:8D 81 C0 4C 14 7C AD 02 7B CD 03 7B F0 14 AE 03 7B" 131?"7BB8:BD D8 86 8D 81 C0 EE 03 7B 4C 14 7C 68 AA 6C 04 7B" 132?"7BC9:A9 95 8D 80 C0 4C 14 7C AD 81 C0 AE 01 7B 9D D8 7D" 133?"7BDA:2C 0B 10 10 23 29 7F C9 11 D0 0E A9 BF 2D 0B 10" 134?"7BEA:8D 0B 10 20 19 7C 4C 14 7C C9 13 D0 0B A9 40 0D 0B 10" 135?"7BFC:8D 0B 10 4C 14 7C EE 01 7B D0 0D AE D9 7B E8 E0 86" 136?"7C0D:D0 02 A2 7D 8E D9 7B 68 AA A5 45 40 A9 B5 8D 80 C0" 137?"7C1E:60 78 AD 05 7B D0 28 AD FE 03 8D 04 7B AD FF 03" 138?"7C2E:8D 05 7B A9 7B CD 0A 10 F0 04 90 09 B0 11 A9 00" 139?"7C3E:CD 09 10 B0 0A A2 19 A0 7B 20 43 10 20 49 10 AD 08 10" 140?"7C50:F0 03 4C 09 7D AD C0 FB C9 E0 F0 09 C9 00 D0 5B" 141?"7C60:AD BF FB D0 56 AD 18 7C 8D 14 7C A9 EA 8D C4 7B" 142?"7C70:8D C5 7B A9 76 8D FE 03 A9 7B 8D FF 03 A2 00 2C 11 C0" 143?"7C82:30 02 A2 08 2C 12 C0 10 02 E8 E8 2C 81 C0 2C 81 C0" 144?"7C93:DA AD 16 C0 0A A0 01 B9 FE FF 8D 09 C0 99 FE FF" 145?"7CA3:8D 08 C0 99 FE FF 88 10 EE 90 03 8D 09 C0 FA 3C 81 C0" 146?"7CB5:3C 81 C0 4C C5 7C A9 74 8D FE 03 A9 7B 8D FF 03" 147?"7CC5:A9 00 8D 00 7B 8D 01 7B 8D 02 7B 8D 03 7B A9 7D" 148?"7CD5:8D D9 7B 8D 22 7D AE 07 10 8E 08 10 18 A9 80 6D 07 10" 149?"7CE7:8D 77 7B 8D 1C 7C 8D CC 7B 18 A9 81 6D 07 10 8D BC 7B" 150?"7CF9:8D D2 7B 8D A8 7B A9 03 9D 80 C0 A9 95 9D 80 C0" 151?"7D09:58 60 78 AD 00 7B CD 01 7B D0 06 AD D9 7B CD 22 7D" 152?"7D1A:58 60 78 AE 00 7B BD D8 7D EE 00 7B D0 0D AC 22 7D" 153?"7D2B:C8 C0 86 D0 02 A0 7D 8C 22 7D 58 60 48 78 20 19 7C" 154?"7D3C:68 AE 02 7B 9D D8 86 EE 02 7B 58 60 78 AD 05 7B" 155?"7D4C:F0 17 AD 04 7B 8D FE 03 AD 05 7B 8D FF 03 A9 00" 156?"7D5C:8D 05 7B AE 07 10 9D 80 C0 60 F0 1D C9 0C F0 45" 157?"7D6C:C9 0B F0 18 C9 91 F0 1B C9 93 F0 29 20 DA FD A2 54" 158?"7D7D:A0 7B 20 43 10 20 49 10 A9 00 60 A2 38 A0 7B 4C 7F 7D" 159?"7D8F:78 20 19 7C A9 00 8D 07 7B 58 AD 06 7B D0 FB A9 01" 160?"7DA0:60 78 20 19 7C A9 01 8D 07 7B 58 AD 06 7B F0 FB" 161?"7DB0:60 78 AC 07 10 A9 60 99 80 C0 99 81 C0 58 A9 E9" 162?"7DC0:8D 09 7B AD 0E 10 20 40 10 CE 09 7B D0 F5 A9 B5" 163?"7DD0:78 99 80 C0 58 A9 01 60" RUN DEL 100,7999 98C$=C6$ 103?"REM 1ST LINE OF ";V$;C6$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:00 7B" 118?"100C:70 7D" 119?"1020:4C F7 7B 4C 2E 7D 4C AC 7C 4C F6 7C 4C FA 7C 4C 26 7D" 120?"7B00:AF AF C7 D3 A0 D3 C5 D2 C9 C1 CC A0 D0 CF D2 D4 A0 D6" 121?"7B12:B1 AE B3 00 AA AA AA AA AA C5 D2 D2 CF D2 AA AA" 122?"7B22:AA AA AA A0 C3 CF CD A0 D2 CF D5 D4 C9 CE C5 D3 A0 C1" 123?"7B34:D3 D3 C5 CD C2 CC C5 C4 A0 D4 CF CF A0 CC CF D7 A0 C9" 124?"7B46:CE A0 CD C5 CD CF D2 D9 00 BC AD A0 D3 D4 C1 D4 D5 D3" 125?"7B58:A0 C5 D2 D2 CF D2 A0 CF CE A0 C3 CF CD A0 C3 C1 CC CC" 126?"7B6A:A0 C6 D2 CF CD A0 AD A0 00 00 01 46 20 44 01 30 44" 127?"7B7B:01 30 50 01 42 45 01 43 44 01 58 44 01 4C 44 01 45 44" 128?"7B8D:01 4D 44 01 41 44 01 5A 00 01 54 01 53 01 51 01 5A 00" 129?"7B9F:00 03 00 00 00 00 00 00 00 E0 00 F0 18 20 DA FD" 130?"7BAF:A2 4F A0 7B 20 43 10 68 AA 68 A8 48 8A 48 98 20 41 F9" 131?"7BC1:4C 49 10 60 78 A9 03 8D A0 7B A9 00 8D A1 7B 20 ED 7B" 132?"7BD3:AD A6 7B 29 7F 8D A6 7B AD A4 7B 29 FB 8D A4 7B" 133?"7BE3:A9 01 8D A1 7B 20 ED 7B 58 60 8B 7A A2 7B A9 A0" 134?"7BF3:20 00 C0 60 A9 7B CD 0A 10 F0 04 90 0B B0 13 A9 00" 135?"7C04:CD 09 10 F0 0C B0 0A A2 16 A0 7B 20 43 10 20 49 10" 136?"7C15:AD 08 10 D0 AA AD 07 10 4A 4A 4A 4A 09 C0 8D 4F 7C" 137?"7C26:8D 5B 7C 8D 61 7C 8D 67 7C 8D 6D 7C 8D B6 7C 8D C7 7C" 138?"7C38:8D 22 7D 8D 10 7D 8D F5 7B 8D 46 7C AD 12 C0 8D F4 7B" 139?"7C4A:20 C5 7B AD 0D C0 8D 5A 7C AC 07 10 AE 5B 7C 20 00 C0" 140?"7C5C:20 A8 7B AD 0E C0 8D C6 7C AD 0F C0 8D 21 7D AD 10 C0" 141?"7C6E:8D B5 7C 8D 0F 7D A9 01 20 1A 7D AD 03 10 C9 09" 142?"7C7E:90 0A 48 A9 31 20 1A 7D 68 38 E9 0A 18 69 30 20 1A 7D" 143?"7C90:A9 42 20 1A 7D 9C 73 7B AE 73 7B BD 74 7B F0 09" 144?"7CA0:20 1A 7D EE 73 7B 4C 98 7C A9 01 60 AE B6 7C AC 07 10" 145?"7CB2:A9 01 20 00 C0 B0 06 20 A8 7B A9 00 60 AE C7 7C" 146?"7CC2:AC 07 10 20 00 C0 20 A8 7B 8D 9F 7B AC 0B 10 10 20" 147?"7CD3:29 7F C9 11 D0 0B A9 BF 2D 0B 10 8D 0B 10 4C BC 7C" 148?"7CE4:C9 13 D0 0B A9 40 0D 0B 10 8D 0B 10 4C BC 7C A9 01" 149?"7CF5:60 AD 9F 7B 60 48 2C 0B 10 50 06 20 AC 7C 4C FB 7C" 150?"7D06:AE 10 7D AC 07 10 A9 00 20 00 C0 B0 06 20 A8 7B" 151?"7D16:4C 06 7D 68 AE 22 7D AC 07 10 20 00 C0 4C A8 7B" 152?"7D26:A9 00 8D 08 10 A9 01 60 F0 12 C9 0C F0 22 C9 0B" 153?"7D36:F0 16 C9 91 F0 07 C9 93 F0 03 A9 00 60 29 7F 20 4F 10" 154?"7D48:20 FA 7C A9 01 60 A9 00 8D 08 10 A9 01 60 20 C5 7B" 155?"7D59:9C 73 7B AE 73 7B BD 96 7B F0 09 20 1A 7D EE 73 7B" 156?"7D6A:4C 5C 7D A9 01 60" RUN DEL 100,7999 98C$=C7$ 103?"REM 1ST LINE OF ";V$;C7$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 116?"CALL -151" 117?"1005:05 7B" 118?"100C:3F 7F" 119?"1020:4C 78 7B 4C 7F 7C 4C E8 7B 4C 43 7C 4C 4D 7C 4C 79 7C" 120?"7B00:00 00 00 00 00 CD CF D5 CE D4 C1 C9 CE A0 C8 C1 D2" 121?"7B11:C4 D7 C1 D2 C5 A0 C3 D0 D3 A0 D6 B1 AE B3 00 AA AA AA" 122?"7B23:AA AA C5 D2 D2 CF D2 AA AA AA AA AA A0 C3 CF CD A0 D2" 123?"7B35:CF D5 D4 C9 CE C5 D3 A0 C1 D3 D3 C5 CD C2 CC C5 C4 A0" 124?"7B47:D4 CF CF A0 CC CF D7 A0 C9 CE A0 CD C5 CD CF D2 D9 00" 125?"7B59:A9 27 20 68 7B AD FB C0 29 C1 C9 C1 D0 F7 60 48" 126?"7B69:A9 80 8D FE C0 68 8D FB C0 A9 00 8D FE C0 60 A9 7B" 127?"7B7A:CD 0A 10 F0 04 90 0B B0 13 A9 00 CD 09 10 F0 0C" 128?"7B8A:B0 0A A2 20 A0 7B 20 43 10 20 49 10 AD 08 10 D0 4C" 129?"7B9B:A9 00 8D 00 7B 8D 01 7B 8D 02 7B 8D 03 7B AD 07 10" 130?"7BAC:4A 4A 4A 4A 29 0F 09 C0 20 FC 7C A9 80 8D FE C0" 131?"7BBC:A9 4E 8D FA C0 AD 03 10 C9 0A 30 03 38 B0 01 18" 132?"7BCC:A9 35 29 F0 0D 03 10 E9 00 8D FA C0 A9 00 8D FE C0" 133?"7BDD:A9 27 20 68 7B A9 01 8D 08 10 60 AD FB C0 29 C2" 134?"7BED:C9 C2 D0 4B AD FA C0 AC 00 7B 99 3F 7D EE 00 7B" 135?"7BFD:2C 0B 10 10 3A B9 3F 7D 29 7F C9 11 D0 22 AD 0B 10" 136?"7C0E:29 BF 8D 0B 10 CE 00 7B AC 03 7B CC 02 7B F0 1E" 137?"7C1E:20 59 7B B9 3F 7E 8D FA C0 EE 03 7B 4C 16 7C C9 13" 138?"7C2F:D0 0B A9 40 0D 0B 10 8D 0B 10 CE 00 7B AD 00 7B" 139?"7C3F:CD 01 7B 60 AE 01 7B BD 3F 7D EE 01 7B 60 48 A9 27" 140?"7C50:20 68 7B AD FB C0 29 C1 C9 C1 D0 17 2C 0B 10 10 0D" 141?"7C61:50 0B AC 02 7B 68 99 3F 7E EE 02 7B 60 68 8D FA C0" 142?"7C72:60 20 E8 7B 4C 4E 7C A9 00 8D 08 10 60 F0 12 C9 0C" 143?"7C83:F0 4D C9 0B F0 1B C9 91 F0 07 C9 93 F0 03 A9 00" 144?"7C93:60 AE 0B 10 10 F8 29 7F 20 4F 10 20 4D 7C A9 01" 145?"7CA3:60 A9 80 8D FE C0 A9 4E 8D FA C0 AD 03 10 C9 0A" 146?"7CB3:30 03 38 B0 01 18 A9 35 29 F0 0D 03 10 E9 00 8D FA C0" 147?"7CC5:A9 00 8D FE C0 A9 27 20 68 7B A9 C1 60 A9 80 8D FE C0" 148?"7CD7:AD FB C0 48 A9 08 8D FB C0 A9 E9 8D 04 7B AD 0E 10" 149?"7CE8:20 40 10 CE 04 7B D0 F5 68 8D FB C0 A9 00 8D FE C0" 150?"7CF9:A9 01 60 8D EA 7B 8D 60 7B 8D 6D 7B 8D 71 7B 8D 76 7B" 151?"7D0B:8D BB 7B 8D C0 7B 8D D7 7B 8D DC 7B 8D F3 7B 8D 26 7C" 152?"7D1D:8D 55 7C 8D 71 7C 8D A8 7C 8D AD 7C 8D C4 7C 8D C9 7C" 153?"7D2F:8D D6 7C 8D D9 7C 8D DF 7C 8D F3 7C 8D F8 7C 60" RUN DEL 100,8084 98C$=CF$ 103?"REM 1ST LINE OF ";V$;CF$;"--DO NOT REMOVE THESE REM LINES" 114?"CLOSE" 115?"DEL 120,800" 160?"160D$=CHR$(4):G$=CHR$(7):GOSUB710:GOSUB720" 170?"170?:INPUT";Q$;"SWAP BS & DEL KEYS ? (Y/N)";Q$;";R$" 180?"180GOSUB660:IFWGOTO170" 190?"190IFRTHENGOSUB730:?";Q$;"SET SWAP ON";Q$;":GOSUB720" 200?"200?:INPUT";Q$;"FLOW CONTROL ? (Y/N)";Q$;";R$" 210?"210GOSUB660:IFWGOTO200" 220?"220IFRTHENGOSUB730:?";Q$;"SET FLOW XON";Q$;":GOSUB720" 230?"230A$(1)=";Q$;"VT52";Q$;":A$(2)=";Q$;"VT100";Q$ 240?"240A$(3)=";Q$;"NONE";Q$;":A$(4)=";Q$;"MONITOR";Q$ 250?"250?:?:?";Q$;"TYPE OF TERMINAL EMULATION";Q$ 260?"260?";Q$;"1 ";Q$;";A$(1)" 270?"270?";Q$;"2 ";Q$;";A$(2)" 280?"280?";Q$;"3 ";Q$;";A$(3)" 290?"290?";Q$;"4 ";Q$;";A$(4)";":?" 300?"300GOSUB690:GOSUB730:?";Q$;"SET TERMINAL ";Q$;";A$(S):GOSUB720" 340?"340A$(4)=";Q$;"TEXT";Q$;":A$(3)=";Q$;"INTEGER";Q$ 341?"341A$(1)=";Q$;"APPLESOFT";Q$;":A$(2)=";Q$;"BINARY";Q$ 342?"342?:?:?";Q$;"TYPE OF FILE TRANSFER";Q$ 343?"343?";Q$;"1 ";Q$;";A$(1)" 344?"344?";Q$;"2 ";Q$;";A$(2)" 345?"345?";Q$;"3 ";Q$;";A$(3)" 346?"346?";Q$;"4 ";Q$;";A$(4)";":?" 348?"348GOSUB690:GOSUB730:?";Q$;"SET FILE-TYPE ";Q$;";A$(S):GOSUB720" 360?"360IFPEEK(64435)=6THENR=1:GOSUB750:GOTO400:REMIIE/C" 370?"370?:INPUT";Q$;"KEYBOARD LOWER CASE ? (Y/N)";Q$;";R$" 376?"376GOSUB660:IFWGOTO370" 380?"380GOSUB750" 390?"390?:INPUT";Q$;"DISPLAY LOWER CASE ? (Y/N)";Q$;";R$" 395?"395GOSUB660:IFWGOTO390" 400?"400IFRTHENGOSUB730:?";Q$;"SET DISPLAY 2E-40";Q$;":GOSUB720" 410?"410?:INPUT";Q$;"80 COLUMN DISPLAY ? (Y/N)";Q$;";R$" 415?"415GOSUB660:IFWGOTO410" 420?"420IFR=0GOTO460" 430?"430D3=3:?:INPUT";Q$;"IN SLOT 3 ? (Y/N)";Q$;";R$" 435?"435GOSUB660:IFWGOTO430" 440?"440IFRGOTO455" 450?"450GOSUB690:D3=S" 455?"455GOSUB730:?";Q$;"SET DISPLAY 80-COL ";Q$;";D3:GOSUB720" 460?"460?:INPUT";Q$;"MODEM IN SLOT 2? (Y/N)";Q$;";R$:GOSUB660:IFWGOTO460" 470?"470IFRTHENM=2:GOTO485" 480?"480GOSUB690:M=S" 485?"485GOSUB730:?";Q$;"SET SLOT ";Q$;";M:GOSUB720" 486?"486?:INPUT";Q$;"PRINTER IN SLOT 1? (Y/N)";Q$;";R$:GOSUB660:IFWGOTO486" 487?"487IFRTHENM=1:GOTO489" 488?"488GOSUB690:M=S" 489?"489GOSUB730:?";Q$;"SET PRINTER SLOT ";Q$;";M:GOSUB720" 490?"490A$(1)=";Q$;"300";Q$;":A$(2)=";Q$;"600";Q$ 491?"491A$(3)=";Q$;"1200";Q$;":A$(4)=";Q$;"2400";Q$ 492?"492A$(5)=";Q$;"4800";Q$;":A$(6)=";Q$;"9600";Q$ 493?"493A$(7)=";Q$;"19200";Q$ 494?"494?:?";Q$;" IS MODEM BAUD:";Q$;":?";Q$;"1 ";Q$;";A$(1)" 495?"495?";Q$;"2 ";Q$;";A$(2)" 496?"496?";Q$;"3 ";Q$;";A$(3)" 497?"497?";Q$;"4 ";Q$;";A$(4)" 498?"498?";Q$;"5 ";Q$;";A$(5)" 499?"499?";Q$;"6 ";Q$;";A$(6)" 500?"500?";Q$;"7 ";Q$;";A$(7)";":GOSUB690" 510?"510GOSUB730:?";Q$;"SET BAUD ";Q$;";A$(S):GOSUB720" 520?"520?:INPUT";Q$;"CHANGE SOMETHING ? (Y/N)";Q$;";R$" 525?"525GOSUB660:IFWGOTO520" 530?"530IFRGOTO160" 540?"540POKE814,0" 600?"600POKE216,0" 610?"610?";Q$;"REBOOT TO START KERMIT.";Q$ 640?"640?";Q$;"START WITH 'BRUN ";KR$"'";Q$ 645?"645?";Q$;"THEN TYPE 'HELP'";Q$ 651?"651END" 660?"660IFR$=";Q$;"Y";Q$;"ORR$=";Q$;"Y";Q$;"THENR=1:W=0:RETURN" 670?"670IFR$=";Q$;"N";Q$;"ORR$=";Q$;"N";Q$;"THENR=0:W=0:RETURN" 680?"680W=1:RETURN" 690?"690?:INPUT";Q$;"WHICH ? (1,2,3 ... )";Q$;";S:IFS<1ORS>10GOTO690" 700?"700RETURN" 710?"710?D$;";Q$;"OPEN KERMIT.INIT";Q$;":?D$;";Q$;"DELETE KERMIT.INIT";Q$ 713?"713?D$;";Q$;"OPEN KERMIT.INIT";Q$;":?D$;";Q$;"WRITE KERMIT.INIT";Q$ 716?"716RETURN" 720?"720?D$;";Q$;"CLOSE KERMIT.INIT";Q$;":RETURN" 730?"730?D$;";Q$;"APPEND KERMIT.INIT";Q$;":?D$;";Q$;"WRITE KERMIT.INIT";Q$ 740?"740RETURN" 750?"750IFRTHENGOSUB730:?";Q$;"SET KEYBOARD 2E";Q$;":GOSUB720" 760?"760RETURN" 770?"RUN" RUN DEL 100,8085 98C$=CH$:V$=H$ 116?" [USE <CNTL-S> TO PAUSE]" 117?"? GIVE OPTIONS AT ANY POINT" 118?" " 119?"SET ? GIVE 'SET' OPTIONS" 120?" " 121?"SHOW ALL SHOWS ALL PRESENTLY 'SET'" 122?" " 123?"<ESC> COMPLETES COMMAND" 124?" " 125?"STATUS LAST FILE TRANSFER INFO" 126?" " 127?"--> [II+ ONLY] SHIFT" 128?" " 129?" " 130?"---IN/OUT" 131?" " 132?"FROM KERMIT-65> YOU CAN TALK TO OS & MODEM AS FOLLOWS:" 133?" " 134?"EXIT [TO DOS/PRODOS]" 135?" " 136?"CALL4096 [TO KERMIT-65]" 137?" " 138?"BRUN KERMIT385 [SOMETIMES-TO KERMIT-65]" 139?" " 140?"CONNECT [TO MODEM]" 141?" " 142?"<CNTL-@>C [TO KERMIT-65]" 143?" " 144?" " 145?"---UP/DOWN LOAD SEQUENCE" 146?" " 147?"[PROMPT YOU SEE]" 148?" " 149?". [WHAT YOU TYPE]" 150?" " 151?"KERMIT-65>" 152?" " 153?" CONNECT" 154?" " 155?"NO PROMPT" 156?" " 157?" ATD555-1234 [HAYES DIAL]" 158?" " 159?"% [MAINFRAME PROMPT-USE LOWER CASE]" 160?" " 161?" LOGIN" 162?" " 163?" PASSWORD" 164?" " 165?" KERMIT R [HOST DEPENDENT]" 166?" " 167?" <CNTL-@>C" 168?" " 169?"KERMIT-65>" 170?" " 171?" SEND FOO [UPLOAD FILE NAMED 'FOO']" 172?" " 173?"KERMIT-65>" 174?" " 175?" CATALOG" 176?" " 177?"KERMIT-65>" 178?" " 179?" CONNECT" 180?" " 181?"% KERMIT S FOO [HOST DEPENDENT]" 182?" " 183?" <CNTL-@>C" 184?" " 185?"KERMIT-65>" 186?" " 187?" RECEIVE [DOWNLOADS FILE NAMED 'FOO']" 188?" " 189?" CONNECT" 190?" " 191?"% +++ATH0 [HAYES HANGUP]" 192?" " 193?" <CNTL-@>C" 194?" " 195?"KERMIT-65>" 196?" " 197?" " 198?"---LOG TO DISK" 199?" " 200?"KERMIT-65>" 201?" " 202?" LOG FOO [OPEN LOG: 'FOO']" 203?" " 204?" CONNECT" 205?" " 206?"% CAT FOO [MAINFRAME PRINTS 'FOO']" 207?" " 208?" <CNTL-@>C" 209?" " 210?"KERMIT-65> [LOG ENDS]" 211?" " 212?" CONNECT" 213?" " 214?"% ..." RUN REM CFIG.INSTALL DEL 100,8499 98C$=C0$ 103?"REM1ST LINE OF ";V$;C0$"--DO NOT REMOVE THESE REM STATEMENTS" 120?"CLOSE" 121?"IF PEEK(-8192)=32 THEN PRINT ";Q$;"STOPPING";Q$ 122?"IF PEEK(-8192)=32 THEN PRINT ";Q$;"APPLESOFT BASIC REQUIRED";Q$ 123?"IF PEEK(-8192)=32 THEN POKE-21837,0" 124?"IF PEEK(-8192)=32 THEN CALL-23830" 125?"IF PEEK(-8192)=32 THEN END" 131?"POKE814,0:IFPEEK(4096)=76ANDPEEK(4160)=76THENPOKE814,234" 132?"IFPEEK(814)=0THEN?CHR$(7);";Q$;"STOPPING";Q$;":?" 133?"IFPEEK(814)=0THEN?";Q$;"BLOAD ";KR$;"'";Q$ 134?"IFPEEK(814)=0THEN?";Q$;"BEFORE EXEC'ING PROGRAM";Q$;":POKE-21837,0:END" 141?"POKE814,0:IFPEEK(2053)=164ANDPEEK(2054)=51THENPOKE814,234:RUN" 142?"CALL-151" 143?"0300:48 98 48 8A 48 20 F7 AF A9 00 85 40 85 41 A0 C8 18 B9 F2 B3 F0 0E" 144?"0316:0A 90 FB 48 E6 40 D0 02 E6 41 68 18 90 F0 88 D0 E9 68 AA 68 A8 68" 145?"032C:60 00 00 00 68 A8 68 A6 DF 9A 48 98 48 60 00" 146?"3D0G:REMONERR FIX" 147?"CALL768:SC=PEEK(64)+PEEK(65)*256" 148?"IFSC<100THEN?CHR$(4);";Q$;"DELETE ";V$;"2";Q$ 151?"FP" 152?"150LOMEM:33000 160?"160D$=CHR$(4):G$=CHR$(7):IFPEEK(48896)><76ANDPEEK(978)=157GOTO200" 170?"170?D$;";Q$;"OPEN T";Q$;":?D$;";Q$;"WRITE T";Q$ 180?"180?";Q$;"END";Q$;":?D$;";Q$;"CLOSE";Q$;":?G$;";Q$;"GET DOS3.3";Q$;":?" 190?"190?D$;";Q$;"EXEC T";Q$;":END" 200?"200POKE216,0:POKE-21837,0:?D$;";Q$;"CLOSE";Q$ 210?"210IFPEEK(814)=234THENPOKE814,0:GOTO570" 220?"220?G$" 235?"235?";Q$;"1 SUPER SERIAL OR //C SERIAL PORT";Q$ 240?"240?";Q$;"2 MICROTEK SV-622";Q$ 250?"250?";Q$;"3 MICROMODEM II";Q$ 251?"251?";Q$;"4 APPLE";Q$ 252?"252?";Q$;"5 CCS 7710";Q$ 253?"253?";Q$;"6 GS SERIAL PORT";Q$ 254?"254?";Q$;"7 CPS";Q$ 255?"255?";Q$;"[UNSURE, TRY 1]";Q$ 260?"260S$=";Q$;C1$;Q$;":GOSUB690:IFS=2THENS$=";Q$;C2$;Q$ 270?"270IFS=3THENS$=";Q$;C3$;Q$ 273?"273IFS=4THENS$=";Q$;C4$;Q$ 276?"276IFS=5THENS$=";Q$;C5$;Q$ 277?"277IFS=6THENS$=";Q$;C6$;Q$ 278?"278IFS=7THENS$=";Q$;C7$;Q$ 280?"280XS$=";Q$;V$;Q$;"+S$" 290?"290ONERRGOTO310" 300?"300?D$;";Q$;"VERIFY";Q$;";XS$:GOTO330" 310?"310CALL816:?G$:?";Q$;"INSERT DISK WITH ";Q$;";XS$;";Q$ 320?"320INPUT";Q$;"PRESS RETURN";Q$;";I$:RESUME" 330?"330POKE216,0:?D$;";Q$;"EXEC";Q$;";XS$:END" 570?"570ONERRGOTO590" 580?"580?D$;";Q$;"BSAVE";KR$;",A$1000,L$6E00";Q$;":GOTO710" 590?"590CALL816:?G$:INPUT";Q$;"DISK FULL--FIX, PRESS RETURN";Q$;";I$:RESUME" 690?"690?:INPUT";Q$;"WHICH ? (1,2,3 ... )";Q$;";S:IFS<1ORS>10GOTO690" 700?"700RETURN" 710?"710?D$;";Q$;"EXEC";V$;CF$;Q$ 1000?"RUN" 1010?CL$ 1020END RUN CLOSE FP EXEC APP385.2,R25 END REMEND PART 1 OF 2,SAVE TO APPLE DISK NOW AS:APP385.1