Application Note
AN1060
—
Rev. 1.0
308
MOTOROLA
Listing 2. BASIC Program for Personal Computer
1
’
***********************************************************************
2
’
*
3
’
* E9BUF.BAS - A PROGRAM TO DEMONSTRATE THE USE OF THE BOOT MODE
4
’
* ON THE HC11 BY PROGRAMMING AN HC711E9 WITH
5
’
* BUFFALO 3.4
6
’
*
7
’
* REQUIRES THAT THE S-RECORDS FOR BUFFALO (BUF34.S19)
8
’
* BE AVAILABLE IN THE SAME DIRECTORY OR FOLDER
9
’
*
10
’
* THIS PROGRAM HAS BEEN RUN BOTH ON A MS-DOS COMPUTER
11
’
* USING QUICKBASIC 4.5 AND ON A MACINTOSH USING
12
’
* QUICKBASIC 1.0.
14
’
*
15
’
************************************************************************
25 H$ = "0123456789ABCDEF"
’
STRING TO USE FOR HEX CONVERSIONS
30 DEFINT B, I: CODESIZE% = 8192: ADRSTART= 57344!
35 BOOTCOUNT = 25
’
NUMBER OF BYTES IN BOOT CODE
40 DIM CODE%(CODESIZE%)
’
BUFFALO 3.4 IS 8K BYTES LONG
45 BOOTCODE$ = ""
’
INITIALIZE BOOTCODE$ TO NULL
49 REM ***** READ IN AND SAVE THE CODE TO BE BOOT LOADED *****
50 FOR I = 1 TO BOOTCOUNT
’
# OF BYTES IN BOOT CODE
55 READ Q$
60 A$ = MID$(Q$, 1, 1)
65 GOSUB 7000
’
CONVERTS HEX DIGIT TO DECIMAL
70 TEMP = 16 * X
’
HANG ON TO UPPER DIGIT
75 A$ = MID$(Q$, 2, 1)
80 GOSUB 7000
85 TEMP = TEMP + X
90 BOOTCODE$ = BOOTCODE$ + CHR$(TEMP)
’
BUILD BOOT CODE
95 NEXT I
96 REM ***** S-RECORD CONVERSION STARTS HERE *****
97 FILNAM$="BUF34.S19"
’
DEFAULT FILE NAME FOR S-RECORDS
100 CLS
105 PRINT "Filename.ext of S-record file to be downloaded (";FILNAM$;") ";
107 INPUT Q$
110 IF Q$<>"" THEN FILNAM$=Q$
120 OPEN FILNAM$ FOR INPUT AS #1
130 PRINT : PRINT "Converting "; FILNAM$; " to binary..."
999 REM ***** SCANS FOR
’
S1
’
RECORDS *****
1000 GOSUB 6000
’
GET 1 CHARACTER FROM INPUT FILE
1010 IF FLAG THEN 1250
’
FLAG IS EOF FLAG FROM SUBROUTINE
1020 IF A$ <> "S" THEN 1000
1022 GOSUB 6000
1024 IF A$ <> "1" THEN 1000
1029 REM ***** S1 RECORD FOUND, NEXT 2 HEX DIGITS ARE THE BYTE COUNT *****
1030 GOSUB 6000
1040 GOSUB 7000
’
RETURNS DECIMAL IN X