home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RBBS in a Box Volume 1 #3.1
/
RBBSIABOX31.cdr
/
basw
/
bascom9.fix
< prev
next >
Wrap
Text File
|
1985-03-05
|
27KB
|
606 lines
B A S I C C O M P I L E R P A T C H E S
**********************************************************
*** This information was derived from the IBM PCSS ***
*** system in BOCA RATON, FL ***
*** ***
*** Origional file from the Charlotte, NC PC-BBS ***
*** 1200/300 N/8/1 (704) 365-4311 ***
**********************************************************
UPDATED TO INCLUDE PATCHES 8 AND 9 FROM A MORE RECENT PRINTED `SCRIPT'.
2/1/84 JEFF BARTON
These patches are provided to fix the following known bugs with the IBM
Basic Compiler.
1. The use of CHAIN with COMMON from a large program to a small program,
both with large data areas can cause an "Out of MEMORY Error"
2. The use of INPUT# with quotes strings of length 1 may produce random
results.
3. When using array calculations such as:
T(J,L)=G(J)*E(L)+T(J+1,T)
an internal error may result.
4. MOD does not return the correct value under certain conditions.
5. When using several LEFT$, RIGHT$ or MID$'s in string calculations, a
"string formula too complex" error is received.
6. COMMUNICATION Buffers are destroyed when CHAINing to another program.
7. BLOAD may fail with an "input past end".
APPLY THESE PATCHES USING DOS 1.1 ONLY!!!
-----------------------------------------
Sept 1, 1983
Following is the complete set of Basic Compiler Patches. for version
1.0. These will be updated as needed, the date will be in the first line of
the text. Before starting, boot up DOS 1.1 on your machine. These patches
can not be installed properly with any other version of DOS. Use DOS 1.1
throughout the procedure. If you are fast, it will take you about 1/2 to
3/4 hour to install these patches. Be certain that you are using a back-up
diskette, not the originals. We all make mistakes, and it is MUCH easier to
start over with another diskette than to try to reconstruct damaged data.
When you are done, be sure to note on the label that these diskettes have
been patched, and the date the patch was installed.
NOTE: Patches 8 and 9 have been added since Sept. '83. Patch 6 and
parts of other patches are superceded by these additions.
8. Patched BASRUN.EXE can produce errors with the REST and LSET
commands. Patch 8 also allows compiled programs to work with the DOS PRINT
command and CHAIN to COM FILES.
9. Patch 9 allows the compiler to correctly detect duplicate COMMON
definition of arrays at compile time. J.B.
============================================================
UPDATE PROCEDURE
The following is a "script" of the procedure to update your BASIC
Compiler Library and Basic diskettes. Follow it carefully. If you make a
mistake don't panic, just start again.
First, you will make an exact copy of your BASIC Compiler Library and
Basic diskettes using the DOS DISKCOPY command. You need two blank
formatted diskettes. Put your DOS diskette in Drive A and a blank formatted
diskette in Drive B. ALL YOUR INPUTS ARE IN <>'s, as in <DISKCOPY A: B:>.
Do NOT type the <>'s.
A><DISKCOPY A: B:><enter>
This command will send the following messages to the screen:
Insert source diskette in drive A:
Insert target diskette in drive B:
Strike any key when ready
You must insert the MASTER copy of the BASIC Compiler Library diskette in
drive A. Anything else will NOT work. This is your source diskette. You
must insert the BLANK FORMATTED diskette in drive B. (This is your target
diskette.) Press the enter key to start the disk copy.
The following message will appear on the screen:
Copy another (Y/N)?<Y>
The following message will appear on the screen:
Insert source diskette in drive A:
Insert target diskette in drive B:
Strike any key when ready
Remove your Master Library diskette from drive A and your copy from drive
B. Label your copy "BASIC COMPILER LIBRARY DISKETTE - UPDATED WORKING
COPY". Insert your Basic Compiler Basic diskette in drive A, and your
second formatted blank diskette in drive B. Strike the return key to start
the copy.
The following message will appear on the screen:
Copy another (Y/N)?<N>
Remove your Master Basic diskette from drive A and your copy from drive B.
Label your copy "BASIC COMPILER BASIC DISKETTE - UPDATED WORKING COPY".
Place your DOS diskette back in drive A.
========== USING DEBUG TO UPDATE YOUR DISKETTE =============
The DEBUG prompt is "-". Everything that you type will be after the
"-" or after the ".". Immediately after entering the hex digits following
the "." prompts, you must press the space bar to move to the next byte. The
places that you must press the ENTER key are indicated by <enter>. Note
that the "xxxx" in the data displayed will be filled with the appropriate
memory address.
************************************************************
****** * * * * * * * 1 * * * * * * * *******
************************************************************
==================== PROBLEM DESCRIPTION ===================
The use of CHAIN with COMMON when CHAINing from a large program with a
large data area to a small program with a large data area may produce an
incorrect 'Out of memory' error.
====================== PROBLEM SOLUTION ====================
UPDATING BASRUN.EXE
The following procedure will update the file BASRUN.EXE. Remember that
the DOS diskette should be in drive A and the diskette labeled "BASIC
COMPILER LIBRARY - UPDATED WORKING COPY" should be in drive B. If at any
time you do not see the data exactly as it appears on this procedure,
(ignore (cont'd)s) you did something wrong and you should start again. You
can start again by typing Q followed by ENTER. This returns you to DOS. Be
certain that you are on drive B:; you should see a B> prompt. If you see
anything else then type B: to switch to your B: drive.
B><A:DEBUG BASRUN.EXE><enter>
-<R><enter>
AX=0000 BX=0000 CX=79AA DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=04B5 ES=04B5 SS=04C5 CS=057B IP=0000 NV UP DI PL NZ NA PO NC
057B:0000 1E PUSH DS
-<Q><enter>
B><RENAME BASRUN.EXE BASRUN.TMP><enter>
In the listing above, notice that the value of CS=057B. This is the
value that will be used in the next step. Since CS=057B, the command that
is used with Debug is:
E57B:0CF1
The value of the CS register is always used with this command, it is not
NECESSARILY going to be 057B.
B><A:DEBUG BASRUN.TMP><enter>
-<E57B:0CF1><enter>
xxxx:0CF1 3B.<72> C1.<09> 77.<3B> 03.<C1> E9.<77> CA.<05> FB.<E9>
xxxx:0CF8 A3.<CA> 7A.<FB> 07.<00> 0B.<00> FF.<A3> 74.<7A> 38.<07>
-<W><enter>
Writing 7C00 bytes
-<Q><enter>
NOTE: If the above process fails to to produce the sequence shown, try
the DEBUG command: -<E1951><enter>. If the contents of address 1951 are
reported to be 3B, proceed with the rest of the patch. I could not find the
sequence of original data by following the above instructions, but a search
for the sequence produced results at address 1951. J.B.
Leave your Working Library diskette in drive B, and your DOS 1.1
diskette in drive A: for the following update installation. CONTINUE TO #2
************************************************************
****** * * * * * * * 2 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
The use of the INPUT# statement with quoted strings of length 1 may
produce random results.
====================== PROBLEM SOLUTION ====================
Use the procedure described below to update your IBM Personal Computer
BASIC Compiler.
UPDATING BASRUN.EXE
B><A:DEBUG BASRUN.TMP><enter>
-<E6236><enter>
xxxx:6236 3C.<B1> 22.<FF>
xxxx:6238 75.<3C> 10.<22> 80.<75> FA.<10> 2C.<80> 75.<FA> 0B.<2C> E8.<75>
xxxx:6240 7E.<0B> 00.<E8> BA.<7C> 22.<00> 22.<BA> E8.<22> 48.<22> D4.<E8>
xxxx:6248 72.<46> 40.<D4> B1.<72> FF.<3E>
-<W><enter>
Writing 7C00 bytes
-<Q><enter>
B><RENAME BASRUN.TMP BASRUN.EXE><enter>
UPDATING BASCOM.LIB:
The following procedure will update the file BASCOM.LIB. Remember that
the DOS diskette should be in drive A and the disk labeled "BASIC COMPILER
LIBRARY DISKETTE - UPDATED WORKING COPY" should be in drive B.
If at any time you do not see the data exactly as it appears on this
procedure, you did something wrong and you should start again. You can
start again by typing Q followed by ENTER. This returns you to DOS.
B><A:DEBUG BASCOM.LIB><enter>
-<ECBD7><ENTER>
-xxxx:CBD7 3C.<B1>
-xxxx:CBD8 22.<FF> 75.<3C> 10.<22> 80.<75> FA.<10> 2C.<80> 75.<FA> 0B.<2C>
-xxxx:CBE0 E8.<75> 00.<0B> 00.<E8> BA.<00> 22.<00> 22.<BA> E8.<22> 00.<22>
-xxxx:CBE8 00.<E8> 72.<00> 40.<00> B1.<72> FF.<3E>
-<ECCA1><enter>
xxxx:CCA1 39.<3B>
-<ECCA8><enter>
-xxxx:CCA8 3F.<41>
-<W><enter>
Writing 19600 bytes
-<Q><enter>
B>
You are now back in DOS. You should compile and run the following
program to verify that you applied the update correctly. Be sure to compile
and run the program using the diskette labeled "BASIC COMPILER LIBRARY -
UPDATED WORKING COPY" to verify that the updates to both files work
properly.
10 OPEN "TSTPROG" FOR OUTPUT AS #1
20 FOR I=1 TO 10
30 WRITE #1,I,"A","BB","CCC","DDDD"
40 NEXT I
50 CLOSE
60 OPEN "TSTPROG" FOR INPUT AS #1
70 IF EOF(1) THEN END
80 INPUT #1,J,A$,B$,C$,D$
90 PRINT J;A$;B$;C$;D$
100 GOTO 70
This program should print :
1 ABBCCCDDDD
2 ABBCCCDDDD
3 ABBCCCDDDD
4 ABBCCCDDDD
5 ABBCCCDDDD
6 ABBCCCDDDD
7 ABBCCCDDDD
8 ABBCCCDDDD
9 ABBCCCDDDD
10 ABBCCCDDDD
Continue to #3
************************************************************
****** * * * * * * * 3 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
When using arrays and making calculations such as :
T(J,L)=G(J)*E(L)+T(J+1,I)
the compiler may give an Internal Error or the calculation may be performed
incorrectly. Use the following procedure to update BASCOM.COM on your
"BASIC COMPILER BASIC - UPDATED WORKING COPY" diskette.
===================== PROBLEM SOLUTION =====================
The following is a "script" of the procedure to patch your diskette.
Follow it carefully. If you should make a mistake don't panic. Just start
again. All user inputs are in <>'s. Do NOT type the <>'s. Make sure your
DOS 1.1 diskette is in drive A and your diskette labeled "BASIC COMPILER
BASIC - UPDATED WORKING COPY" is in drive B.
Just a reminder: The DEBUG prompt is "-". All the things that you type
are after the "-" prompt or after the "." prompt. Immediately after
entering the hex digits following the "." prompts, you must press the space
bar to move to the next byte. When you are entering data after the "-"
prompts or entering the last set of hex digits on a line, you must press
the ENTER key. Note that the "xxxx" in the data displayed line will be
filled with the appropriate memory address.
A><DEBUG>
-<NB:BASCOM.COM>
-<L>
-<D8AB3 L1>
xxxx:8AB3 0C
If you do not see the above line of data after the "D3AB3 L1" command
then you did something wrong and you should start again. You can start
again by typing Q followed by ENTER. This returns you to DOS.
-<E8AB3>
04B5:8AB3 0C.<1F>
-<W>
Writing A280 bytes
-<Q>
You are now back in DOS. Run the program below to be sure that you
have updated your diskette correctly.
10 DEFINT D,F,N
20 DSD=0
30 FOR N=0 TO 7
40 FSEC=FSEC+1
50 NEXT
60 PRINT "The result is ";512*(1-DSD)*FSEC,"The result should be 4096"
CONTINUE TO #4
************************************************************
****** * * * * * * * 4 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
MOD does not return the correct value under the following conditions:
(1) Using a binary noncommutative operator such as MOD, IMP,
or \ (integer division with the backslash)
(2) The left operand is simpler than the right operand
(3) The result is required in the BX register
The following example shows the problem:
10 A=3: B=4: C=10
20 PRINT "C MOD (A + B) = "; C MOD (A + B)
RUN
C MOD (A + B) = 7
In this example the result of the operation will always be (A + B)
regardless of what the true result should be. So in general the problem is:
A MOD (B + C) = (B + C)
====================== PROBLEM SOLUTION ====================
Use the procedure described below to update your IBM diskette labeled
"BASIC COMPILER BASIC - UPDATED WORKING COPY".
UPDATING BASCOM.COM
The following procedure will update the file BASCOM.COM. Remember that
the DOS 1.1 diskette should be in drive A and the diskette labeled "BASIC
COMPILER BASIC - UPDATED WORKING COPY" should be in drive B. If at any time
you do not see the data exactly as it appears on this procedure, you did
something wrong and you should start again. You can start again by typing Q
followed by ENTER. This returns you to DOS.
B><A:DEBUG BASCOM.COM><enter>
-<E7450><enter>
xxxx:7450 F6.<86> 87.<47> 02.<02> 00.<24> 08.<08> <enter>
-<W><enter>
Writing A280 bytes
-<Q><enter>
CONTINUE TO #5
************************************************************
****** * * * * * * * 5 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
When using several LEFT$, RIGHT$, or MID$'s in string calculations, a
"string formula too complex" error is received. The error occurs when using
a null string. Use the procedure described below to update your IBM
Personal Computer BASIC Compiler version 1.0.
===================== PROBLEM SOLUTION =====================
The following is a "script" of the procedure to update your diskette
labeled "BASIC COMPILER LIBRARY - UPDATED WORKING COPY". This procedure
will be used to update BASCOM.LIB and BASRUN.EXE. Follow it carefully. If
you make a mistake don't panic, just start again. Remove your BASIC
diskette from drive B and insert your LIBRARY diskette. Be sure that your
DOS 1.1 diskette is still in drive A.
Just a reminder: If at any time you do not see the data exactly as it
appears on this procedure, you did something wrong and you should start
again. You can type Q followed by ENTER to return to DOS and start again.
The DEBUG Search Command (-S) appears to ensure the procedure will
will be inserted in the correct place. Use the spacebar to move from one
field to the next when you make no entry into that field. The following
procedure will update the file BASCOM.LIB.
B><A:DEBUG BASCOM.LIB><enter>
-<S1000:0 FFFF C0 01 02 02><enter>
1000:**** <-----use this address (****) next
-<E1000:****><enter>
1000:**** C0.<C8>
-<S1000:**** FFFF BB 00 00 C3 21><enter>
1000:$$$$ <-----use this address ($$$$) next
-<E1000:$$$$><enter>
1000:$$$$ BB.<53> 00.<BB> 00. C3.<00>
1000:xxxx 21.<B1>
-<S1000:$$$$ FFFF C1 16 01 01 CF><enter>
1000:@@@@ <-----use this address (@@@@) next
-<E1000:@@@@><enter>
1000:@@@@ C1.<C2> 16. 01. 01. CF.<CE>
-<S1000:@@@@ FFFF 8A 02 00 00 74><enter>
1000:#### <-----use this address (####) next
1000:xxxx
1000:xxxx ...
-<E1000:####> <-----from above
1000:#### 8A.<A0> 02.<0C> 00.<00> 00.<01> 74.<C0>
1000:xxxx 20.<01> 4D.<5B> 4A.<E8> 5A.<00> 20.<00> 4D.<BB> 4A.<00> 5A.<00>
1000:xxxx 20.<C3> 4D.<D1> 4A.<9C> 5A.<0B> 20.<00> 4D.<84> 4A.<02> 5A.<06>
1000:xxxx 20.<01> 4D.<04> 4A.<C4> 5A.<05> 20.<16> 4D.<01> 4A.<01> 5A.<E7>
1000:xxxx 20.<8A> 4D.<02> 4A.<00> 5A.<00> 20.<74>
-<W><enter
Writing 19600 bytes
-<Q><enter>
UPDATING BASRUN.EXE
NOTE: The following procedure will update the file BASRUN.EXE, BUT the
patch will be undone by the procedure in patch 8. It is suggested that you
omit these steps. If you do try them, but do not get the sequences shown,
try the first patch at 567A and the second at 56FD with DEBUG commands:
-<E567A><enter> and -<E56FD><enter>. Note that these are the addresses used
in patch 8 and the data is restored to the condition before this patch.J.B.
B><A:DEBUG BASRUN.EXE><enter>
-<R><enter>
AX=0000 BX=0000 CX=79AA DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=04B5 EX=04B5 SS=04C5 CS=XXXX IP=0000 NV UP DI PL NZ NA C PO NC
047B:0000 1E PUSH DS
-<Q><enter>
In the listing above, notice that the value of CS=XXXX. Whatever value
is in CS will be used in the next step. For example, if the value of
CS=05A1, then the first command that is used with DEBUG is <E05A1:4A1A>
B><RENAME BASRUN.EXE BASRUN.TMP><enter>
B><A:DEBUG BASRUN.TMP><enter>
-<EXXXX:4A1A><enter>
xxxx:4A1A BB.<E9> C6.<80><enter>
-<EXXXX:4A9D><enter>
XXXX:4A9D XX.<E8> XX.<7A> XX.<E5>
XXXX:4AA0 XX.<BB> XX.<C6> XX.<00> XX.<C3>
-<W>
Writing 7C00 bytes
-<Q>
CONTINUE TO #6
************************************************************
****** * * * * * * * 6 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
It is possible for COMM buffers to be destroyed when chaining. If your
program opens data files and COMM files and then chains to another program,
the COMM file will be closed. Use the procedure described below to update
your IBM PC Basic Compiler. Also note that the integrity of COMM buffers
can be guaranteed only if they are opened before any other files in the
program.
NOTE: Before you do this extensive patch, see patch 8. The same
addresses are referenced and the data is restored to the condition before
this patch. It is suggested that this patch be skipped. J.B.
====================== PROBLEM SOLUTION ====================
The following procedure will be used to update your "Basic Compiler
Library - Updated Working Copy" diskette. If you make a mistake, just start
again. The DOS diskette should be in drive A: and the "Basic Compiler
Library - Updated Working Copy" diskette in drive B:
B><A:DEBUG BASRUN.TMP><enter>
-<E1BE6><enter>
xxxx:1BE6 52.<2C> 1C.<3B><enter>
-<E2120><enter>
xxxx:2120 8E.<E8> 1E.<00> 10.<36> 05.<90><enter>
-<E5714><enter>
xxxx:5714 8B.<50> F3.<98> 58.<D1> 5B.<E0>
xxxx:5718 5A.<93> 59.<2E> E8.<8C> 5D.<9F> E5.<B8> CB.<48> 51.<93> 52.<58>
xxxx:5720 53.<E9> 50.<17> E8.<E1> 10.<2E> 00.<8E> 91.<9D>8 F3.<A8> A4.<48>
xxxx:5728 91.<C3><enter>
-<W><enter>
Writing 7C00 bytes
-<Q><enter>
CONTINUE TO #7
************************************************************
****** * * * * * * * 7 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
BLOAD may fail with an "Input Past End" error if the screen being
loaded contains a 1A at a sector boundary.
====================== PROBLEM SOLUTION ====================
Use the following procedure to update your IBM Basic Compiler version
1.0. Insert your diskette labeled "Basic Compiler Library - Updated Working
Copy" in drive B:, and your DOS diskette in drive A:
B><A:DEBUG BASRUN.TMP><enter>
-<E4A69><enter>
xxxx:4A69 04.<D7><enter>
-<W><enter>
Writing 7C00 bytes
-<Q><enter>
B><RENAME BASRUN.TMP BASRUN.EXE><enter>
With your "Basic Compiler Library - Updated Working Copy" diskette
still in drive B: use the following directions for using DEBUG to install
the patch. Again, if you make a mistake, type Q and start over again.
B><A:><enter>
A><DEBUG><enter>
-<LDS:100 1 7A 1><enter>
-<EDS:15E><enter>
xxxx:015E 04.<D7><enter>
-<WDS:100 1 7A 1><enter>
-<Q><enter>
A>
************************************************************
****** * * * * * * * 8 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
The use of LSET or RSET with a copy of BASRUN.EXE that has been patched
can produce errors. This procedure is also needed to correct BASRUN.EXE so
compiled programs can work with the DOS PRINT command and to allow programs
to CHAIN to .COM files.
====================== PROBLEM SOLUTION ====================
First, make an exact copy of your patched BASRUN.EXE using the DOS
DISKCOPY program. You need a blank formatted diskette. Put your DOS
diskette in drive A and the blank formatted diskette in drive B. Use the
DOS DISKCOPY command [described in the DOS manual] to make a copy of your
diskette. When you are done, you should put your DOS diskette back in drive
A and the copy you just made in drive B.
The DEBUG prompt is "-". Everything you enter will be in <>.
Immediately after the "." prompts, you must press the space bar to move to
the next byte. The enter or return key is indicated by <enter>. The xxxx's
will be filled with the proper address by DEBUG. If you have a problem,
type a Q at the dash prompt. This will return you to DOS where you can
start over.
SECTION 1
The first section of this update will replace existing bytes in your
patched BASRUN.EXE with the original bytes. This section is only needed if
you are updating a patched version. If you are using an original version
and skipped patches 5 (BASRUN.EXE section) and 6, you can skip this section
and go on to section 2. If the bytes indicated by "xx" are the same as
those you need to enter, you can hit the space bar to move to the next
byte. You only need to change those bytes that differ from those indicated
in this procedure. Type B:<enter> to get to your B drive.
B> <RENAME BASRUN.EXE BASRUN.TMP><enter>
B> <A:DEBUG BASRUN.TMP><enter>
-<E1BE5><enter>
xxxx:1BE5 xx.<E8> xx.<52> xx.<1C><enter>
-<E2120><enter>
xxxx:2120 xx.<8E> xx.<1E> xx.<10> xx.<05><enter>
-<E2C34><enter>
xxxx:2C34 xx.<8E> xx.<1E> xx.<10><enter>
-<E567A><enter>
xxxx:567A xx.<BB> xx.<C6><enter>
-<E56FD><enter>
xxxx:56FD xx.<51> xx.<52> xx.<53>
xxxx:5700 xx.<50> xx.<E8> xx.<31> xx.<00> xx.<50> xx.<D1> xx.<E9> xx.<B8>
xxxx:5708 xx.<20> xx.<20> xx.<F3> xx.<AB> xx.<73> xx.<01> xx.<AA> xx.<59>
xxxx:5710 xx.<F3> xx.<A4> xx.<8B> xx.<FA> xx.<8B> xx.<F3> xx.<58> xx.<5B>
xxxx:5718 xx.<5A> xx.<59> xx.<E8> xx.<5D> xx.<E5> xx.<CB> xx.<51> xx.<52>
xxxx:5720 xx.<53> xx.<50> xx.<E8> xx.<10> xx.<00> xx.<91> xx.<F3> xx.<A4>
xxxx:5728 xx.<91> xx.<D1> xx.<E9> xx.<B8> xx.<20> xx.<20><enter>
SECTION 2.
This section of the update correctly patches the following items:
1. LEFT$, RIGHT$, MID$ of null strings can give an incorrect error
message - String Formula Too Complex.
2. CHAINing closes communication files. You must open COMM files
before opening any other files in the BASIC program.
3. BASIC compiled programs do not work with DOS PRINT utility.
4. RSET and LSET problems with previously patched BASRUN.EXE.
This section can be used to apply the three patches to a new copy of
BASRUN.EXE or to an existing patched copy after section 1 above has been
applied. With DEBUG running and loaded with BASRUN.TMP as above:
-<E0102><enter>
xxxx:0102 AA.<FF><enter>
-<E1BE5><enter>
xxxx:1BE5 E8.<E8> 52.<DA> 1C.<60><enter>
-<E2120><enter>
xxxx:2120 8E.<E8> 1E.<AE> 10.<5B> 05.<90><enter>
-<E2C34><enter>
xxxx:2C34 8E.<E9> 1E.<7A> 10.<50><enter>
-<E567A><enter>
xxxx:567A BB.<E9> C6.<2D> 00.<26><enter>
-<E7CAA><enter>
xxxx:7CAA 00.<E8> 00.<CD> 00.<BF> 00.<BB> 00.<C6> 00.<00>
xxxx:7CB0 00.<C3> 00.<9C> 00.<FF> 00.<1E> 00.<12> 00.<05> 00.<8E> 00.<1E>
xxxx:7CB8 00.<10> 00.<05> 00.<E9> 00.<7B> 00.<AF> 00.<00> 00.<00> 00.<00>
xxxx:7CC0 00.<00> 00.<00> 00.<50> 00.<98> 00.<D1> 00.<E0> 00.<93> 00.<2E>
xxxx:7CC8 00.<8C> 00.<9F> 00.<66> 00.<6E> 00.<93> 00.<58> 00.<E9> 00.<69>
xxxx:7CD0 00.<BB> 00.<2E> 00.<8E> 00.<9D> 00.<56> 00.<6E> 00.<C3><enter>
-<W><enter>
Writing 7C00 bytes
-<Q><enter>
B> RENAME BASRUN.TMP BASRUN.EXE<enter>
Be sure to note on the disk label that patch 8 has been installed.
************************************************************
****** * * * * * * * 9 * * * * * * * *******
************************************************************
See Basic Compiler Patches #1 for setup procedure.
==================== PROBLEM DESCRIPTION ===================
When a program has duplicate COMMON definitions for arrays, the
compiler does not detect the error correctly. The compiler should give a CD
error at compile time.
====================== PROBLEM SOLUTION ====================
With your DOS diskette in drive A and the "Updated Working Copy" of the
BASIC compiler diskette in drive B: type <B:><enter> to get to your B
drive.
B> <A:DEBUG BASCOM.COM><enter>
-<E3FD><enter>
xxxx:03FD 00.<E8> 00.<97> 00.<18>
xxxx:0400 00.<E8> 00.<A7> 00.<18> 00.<E9> 00.<56> 00.<18><enter>
-<E1C92><enter>
xxxx:1C92 E8.<E9> 15.<68> 00.<E7><enter>
-<W><enter>
Writing xxxx bytes
-<Q><enter>
Be sure to note on the diskette label that patch 9 has been installed.
************************************************************
****** * * * T H E E N D * * * *******
************************************************************