[comp.binaries.ibm.pc.d] UUD19.BAS - Easy bootstrap for fast uudecode program

w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) (02/23/90)

100 REM - BASIC PROGRAM TO CREATE UUD19.COM (a fast uudecoder)
110 CLS:PRINT "Creating UUD19.COM   ": OPEN "UUD19.COM   " AS #1 LEN = 1
120 FIELD #1, 1 AS A$: CHECKSUM#=0
130 FOR I = 1 TO    47
140  LINESUM#=0: LOCATE 2,3: PRINT "Countdown: "    47 - I ;
150  FOR J = 1 TO  16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$)
160   LINESUM#=LINESUM#+VAL("&H"+BYTE$)
170   IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1
180  NEXT J
190  READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$)
200  IF LINECHECK# = LINESUM# THEN GOTO 220
210  LOCATE 4,2: PRINT "Error in line #"  ;  260 +  10 * I: GOTO 260
220 NEXT I
230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$)
240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260
250 PRINT: PRINT "UUD19.COM    created successfully": SYSTEM
260 PRINT: PRINT "UUD19.COM    is not valid!": END
270 DATA EB, 54, 90, 49, 6E, 70, 75, 74, 20, 66, 69, 6C, 65, 20, 65, 72,   696
280 DATA 72, 6F, 72, 2E,  D,  A, 4F, 75, 74, 70, 75, 74, 20, 66, 69, 6C,   584
290 DATA 65, 20, 65, 72, 72, 6F, 72, 2E,  D,  A, 73, 74, 61, 72, 74, 20,   542
300 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E,  D,  A, 45, 6E, 64, 20,   509
310 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E,  D,  A,  0,  0,  0,  0,   3D2
320 DATA 62,  3, 62,  3, 12,  3, E8, BC,  1, E8, 2D,  1, BF, 12,  3, E8,   556
330 DATA AA,  0, AD, 3D, 62, 65, 75, F4, AD, 3D, 67, 69, 75, EE, AD, 3D,   7CB
340 DATA 6E, 20, 75, E8, BF, 12,  3, AC, 3A, C4, 76, FB, AC, 3A, C4, 75,   7F9
350 DATA FB, AC, 3A, C4, 76, FB, 3A, C4, 74,  4, AA, AC, EB, F8, BA, 12,   991
360 DATA  3, 33, C9, 88,  D, B4, 3C, CD, 21, 73,  3, E9, E3,  0, A3, 4E,   6A5
370 DATA  1, BF, 12,  3, E8, 65,  0, AC,  A, C0, 74, 48, BB, 20, 20, 2A,   579
380 DATA C3,  A, C0, 74, 3F, 32, E4, 8B, E8, B9,  4,  6, AC, 8A, E0, AC,   84E
390 DATA 8A, D0, 2B, C3, D0, E4, D0, E4, D2, E8,  A, C4, AA, 4D, 74, D4,   A77
400 DATA 8A, E2, AC, 8A, D0, 2B, C3, D2, E4, D0, E8, D0, E8,  A, C4, AA,   AFE
410 DATA 4D, 74, C1, 8A, E2, AC, 2B, C3, 8A, CD, D2, E4,  A, C4, AA, 4D,   95A
420 DATA 75, C7, EB, B0, E8, 15,  0, AD, 3D, 65, 6E, 75,  5, AC, 3C, 64,   757
430 DATA 74,  3, E8, AE,  0, E8, 61,  0, B4, 4C, CD, 21, 8B, 36, 50,  1,   656
440 DATA 89, 3E, 54,  1, BD, 50,  0, BF, C2,  2, 33, C0, AB, B9, 27,  0,   62A
450 DATA B8, 20, 20, F3, AB, BF, C2,  2, 3B, 36, 52,  1, 72,  6, E8, 38,   675
460 DATA  0, E8, 55,  0, AC, 3C, 60, 75,  4, B0, 20, EB,  8, 3C,  D, 74,   57E
470 DATA 1B, 3C,  A, 74, 18, AA, 4D, 75, DF, 3B, 36, 52,  1, 72,  3, E8,   559
480 DATA 37,  0, AC, 3C,  A, 75, F2, BF, 12,  3, EB, B4, 46, 89, 36, 50,   658
490 DATA  1, 8B, 3E, 54,  1, BE, C2,  2, C3, BA, 12,  3, 8B, CA, 87,  E,   61D
500 DATA 54,  1, 2B, CA, 76,  A, 8B, 1E, 4E,  1, B4, 40, CD, 21, 72,  1,   517
510 DATA C3, BA, 16,  1, B9, 14,  0, EB, 22, BA, 62,  3, B9, 9E, FA, 8B,   769
520 DATA 1E, 4C,  1, B4, 3F, CD, 21, 72,  C,  B, C0, 74,  8, 8B, F2,  3,   591
530 DATA C6, A3, 52,  1, C3, BA,  3,  1, B9, 13,  0, 50, E8,  A,  0, 58,   5A3
540 DATA E9, 55, FF, BA, 3C,  1, B9, 10,  0, BB,  2,  0, B4, 40, CD, 21,   69C
550 DATA C3, 90, 54, 68, 69, 73, 20, 50, 72, 6F, 67, 72, 61, 6D, 20, 52,   655
560 DATA 65, 71, 75, 69, 72, 65, 73, 20, 44, 4F, 53, 20, 56, 65, 72, 73,   5C4
570 DATA 69, 6F, 6E, 20, 32, 2E, 30, 20, 6F, 72, 20, 68, 69, 67, 68, 65,   51C
580 DATA 72, 2E,  D,  A, 24,  D,  A, 49, 6E, 70, 75, 74, 20, 70, 61, 74,   467
590 DATA 68, 2F, 66, 69, 6C, 65, 3A, 20, 20, 4E, 6F, 20, 61, 63, 74, 69,   52F
600 DATA 6F, 6E,  D,  A, 24, B4, 30, CD, 21, 3C,  2, 73,  C, BA, C2,  2,   525
610 DATA B4,  9, CD, 21, B8,  1, 4C, CD, 21, E8, 36,  0, 73, 23, BA, F5,   701
620 DATA  2, B9, 14,  0, BB,  2,  0, B4, 40, CD, 21, BF, 7F,  0, C6,  5,   577
630 DATA 50, 8B, D7, B4,  A, CD, 21, E8, 18,  0, 73,  5, BA,  9,  3, EB,   687
640 DATA CF, BA, 84,  3, B8,  0, 3D, CD, 21, 72,  4, A3, 4C,  1, C3, E9,   705
650 DATA 43, FF, BE, 80,  0, BF, 84,  3, FC, AC,  A, C0, 74,  F, B4, 20,   78F
660 DATA AC, 3A, C4, 76, FB, 3A, C4, 76,  6, AA, AC, EB, F8, F9, C3, C6,   A50
670 DATA  5,  0, F8, C3, 55, 55, 44, 45, 43, 4F, 44, 45, 20, 76, 31, 2E,   503
680 DATA 39,  0, 4F, 72, 69, 67, 69, 6E, 61, 6C, 6C, 79, 20, 62, 79, 20,   56E
690 DATA 54, 68, 65, 6F, 64, 6F, 72, 65, 20, 41, 2E, 20, 4B, 61, 6C, 64,   565
700 DATA 69, 73,  0, 54, 68, 6F, 72, 6F, 75, 67, 68, 6C, 79, 20, 72, 65,   608
710 DATA 68, 61, 63, 6B, 65, 64, 20, 62, 79, 20, 44, 61, 76, 69, 64, 20,   583
720 DATA 50, 20, 4B, 69, 72, 73, 63, 68, 62, 61, 75, 6D, 2C, 20, 54, 6F,   588
730 DATA 61, 64, 20, 48, 61, 6C, 6C,  0,  0,  0,  0,  0,  0,  0,  0,  0,   266
740 DATA 76583