[comp.binaries.ibm.pc.d] XXD11.BAS - Easy bootstrap for fast XXdecode program v1.1

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

100 REM - BASIC PROGRAM TO CREATE XXD11.COM   (fast xxdecoder)
110 CLS:PRINT "Creating XXD11.COM   ": OPEN "XXD11.COM   " AS #1 LEN = 1
120 FIELD #1, 1 AS A$: CHECKSUM#=0
130 FOR I = 1 TO    54
140  LINESUM#=0: LOCATE 2,3: PRINT "Countdown: "    54 - 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 "XXD11.COM    created successfully": SYSTEM
260 PRINT: PRINT "XXD11.COM    is not valid!": END
270 DATA E9, A7,  0, 49, 6E, 70, 75, 74, 20, 66, 69, 6C, 65, 20, 65, 72,   657
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, 65, 78, 69, 73,   58B
320 DATA 74, 73, 2E, 20, 41, 62, 6F, 72, 74, 69, 6E, 67, 21,  D,  A,  0,   4A3
330 DATA  0,  0,  0, EA,  3, EA,  3, 9A,  3,  0, 2B, 2D, 30, 31, 32, 33,   395
340 DATA 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A,   3FE
350 DATA 4B, 4C, 4D, 4E, 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5A,   528
360 DATA 61, 62, 63, 64, 65, 66, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F, 70,   688
370 DATA 71, 72, 73, 74, 75, 76, 77, 78, 79, 7A, E8, F0,  1, E8, 62,  1,   7BB
380 DATA BF, 9A,  3, E8, EF,  0, AD, 3D, 62, 65, 75, F4, AD, 3D, 67, 69,   807
390 DATA 75, EE, AD, 3D, 6E, 20, 75, E8, BF, 9A,  3, AC, 3A, C4, 76, FB,   8AF
400 DATA AC, 3A, C4, 75, FB, AC, 3A, C4, 76, FB, 3A, C4, 74,  4, AA, AC,   901
410 DATA EB, F8, BA, 9A,  3, 33, C9, 88,  D, 80, 3E, 69,  1, FF, 74, 20,   786
420 DATA B4, 4E, CD, 21, 3C,  2, 74, 18, 3C, 12, 74, 14, 8B, CF, 2B, CA,   5DF
430 DATA 49, 49, E8, 3B,  1, BA, 4C,  1, B9, 13,  0, B0,  5, E9, 24,  1,   54C
440 DATA B4, 3C, CD, 21, 73,  3, E9, F1,  0, A3, 61,  1, BF, 9A,  3, E8,   777
450 DATA 83,  0, 8A,  4,  A, C0, 74, 65, 3C, 2B, 74, 61, 3C, 20, 74, 5D,   51D
460 DATA 57, BB, 6A,  1, BA, 40,  0, 56, AC,  A, C0, 74, 12, 8B, FB, 8B,   6DA
470 DATA CA, F2, AE, 75, 45, 8B, C7, 48, 2B, C3, 88, 44, FF, EB, E9, 5E,   9A9
480 DATA 5F, AC, 32, E4, 8B, E8, B9,  4,  6, AD, 86, C4, 8A, D0, D0, E4,   95C
490 DATA D0, E4, D2, E8,  A, C4, AA, 4D, 74, B5, 8A, E2, AC, 8A, D0, D2,   AA0
500 DATA E4, D0, E8, D0, E8,  A, C4, AA, 4D, 74, A4, 8A, E2, AC, 8A, CD,   AA0
510 DATA D2, E4,  A, C4, AA, 4D, 75, CE, EB, 95, E9, A1,  0, E8, 15,  0,   8C5
520 DATA AD, 3D, 65, 6E, 75,  5, AC, 3C, 64, 74,  3, E8, 9C,  0, E8, 51,   6B7
530 DATA  0, B4, 4C, CD, 21, 8B, 36, 63,  1, 89, 3E, 67,  1, BD, 43,  0,   542
540 DATA BF, 4A,  3, C6,  5,  0, 3B, 36, 65,  1, 72,  6, E8, 33,  0, E8,   529
550 DATA 50,  0, AC, 3C,  D, 74, 1B, 3C,  A, 74, 18, AA, 4D, 75, E7, 3B,   534
560 DATA 36, 65,  1, 72,  3, E8, 3A,  0, AC, 3C,  A, 75, F2, BF, 9A,  3,   5E8
570 DATA EB, C7, 46, C6,  5,  0, 89, 36, 63,  1, 8B, 3E, 67,  1, BE, 4A,   61F
580 DATA  3, C3, BA, 9A,  3, 8B, CA, 87,  E, 67,  1, 2B, CA, 76,  A, 8B,   66F
590 DATA 1E, 61,  1, B4, 40, CD, 21, 72,  1, C3, BA, 16,  1, B9, 14,  0,   536
600 DATA EB, 22, BA, EA,  3, B9,  0, E1, 8B, 1E, 5F,  1, B4, 3F, CD, 21,   738
610 DATA 72,  C,  B, C0, 74,  8, 8B, F2,  3, C6, A3, 65,  1, C3, BA,  3,   694
620 DATA  1, B9, 13,  0, E8,  9,  0, E9, 67, FF, BA, 3C,  1, B9, 10,  0,   5CD
630 DATA 50, BB,  2,  0, B4, 40, CD, 21, 58, C3, 54, 68, 69, 73, 20, 70,   632
640 DATA 72, 6F, 67, 72, 61, 6D, 20, 72, 65, 71, 75, 69, 72, 65, 73, 20,   638
650 DATA 44, 4F, 53, 20, 56, 65, 72, 73, 69, 6F, 6E, 20, 32, 2E, 30, 20,   4BC
660 DATA 6F, 72, 20, 68, 69, 67, 68, 65, 72, 2E,  D,  A, 24,  D,  A, 49,   441
670 DATA 6E, 70, 75, 74, 20, 70, 61, 74, 68, 2F, 66, 69, 6C, 65, 3A, 20,   5BD
680 DATA 20, 4E, 6F, 20, 61, 63, 74, 69, 6F, 6E,  D,  A, 24, B4, 30, CD,   567
690 DATA 21, 3C,  2, 73,  C, BA, 4A,  3, B4,  9, CD, 21, B8,  1, 4C, CD,   562
700 DATA 21, E8, 36,  0, 73, 23, BA, 7D,  3, B9, 14,  0, BB,  2,  0, B4,   54D
710 DATA 40, CD, 21, BF, 7F,  0, C6,  5, 50, 8B, D7, B4,  A, CD, 21, E8,   77D
720 DATA 18,  0, 73,  5, BA, 91,  3, EB, CF, BA, 2C,  4, B8,  0, 3D, CD,   644
730 DATA 21, 72,  4, A3, 5F,  1, C3, E9, 44, FF, BE, 80,  0, BF, 2C,  4,   6B6
740 DATA FC, AC,  A, C0, 74, 2F, B4, 20, AC, 3A, C4, 76, FB, 3C, 2F, 74,   7E3
750 DATA  4, 3C, 2D, 75, 18, 8B, D0, 8B,  4, 24, 5F, 3D, 4F, 20, 8B, C2,   560
760 DATA 75,  B, F6, 16, 69,  1, 46, 46, AC, 3A, C4, 76,  A, AA, AC, EB,   6ED
770 DATA F8, 3A, C4, 76,  2, F9, C3, C6,  5,  0, F8, C3, 58, 58, 44, 20,   7C4
780 DATA 76, 31, 2E, 31,  0, 44, 61, 76, 69, 64, 20, 50, 20, 4B, 69, 72,   4A4
790 DATA 73, 63, 68, 62, 61, 75, 6D, 2C, 20, 54, 6F, 61, 64, 20, 48, 61,   580
800 DATA 6C, 6C,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,    D8
810 DATA 87150