I do my 68HC11 work on an old '286 machine using DOS 5.1, and also on a 233MHz Compaq running Windows 95. There are various DOS-based tools for assembling HC11 code, and for loading it into the HC11. I have settled on a set of these tools which works well for me, while friends of mine use a different set of tools; whatever works for you is worth using. There are also Macintosh tools which my students have used successfully.
Below, you can load the DOS ZIP file with the tools I use (and some which I don't). I also have pointers to other sources of 68HC11 tools.
This ZIP file contains the following files: Note: I have ordered file files in the following table for ease in describing them. They are ordered differently in the ZIP file, and thus will also be ordered differently in the directory.
The PCBUG11.exe file has been modified by Karl Lunt to work well with today's faster PCs. Thanks Karl!
At the end of the table are 17 files which I've written to make your life easier; take a look at them.
||The program which allows the PC to talk to the 68HC11 (in bootstrap mode), allowing you to load programs into it. See my PCBUG11_Primer.html for details on using it.|
|PCBUG11.HLP||55385||11-14-90 7:06p||Help file for PCBUG11.EXE.|
|PCBUGRTN.EXE||3584||03-21-90 12:06p||A supporting program for PCBUG11.EXE.|
|READ.ME||6761||09-26-91 3:42p||A text file of interesting things about PCBUG11.EXE.|
|AS11.EXE||25647||01-13-92 4:59p||The program AS11 is used to assemble the 68HC11 assembly language into 68HC11 machine code ( a .S19 file). See my AS11_Primer.html for more details.|
|ASMHC11.EXE||38992||10-23-90 7:12p||Another 68HC11 assembler program. Some prefer it over AS11...|
|"Talker" programs used by PCBUG11.EXE with the various types of 68HC11 devices.|
|Code for a "talker" program.|
|Code for another "talker" program.|
|CONVERT.EXE||7440||02-09-90 2:52p||A PCBUG11 Macro Conversion Routine. I've never used it and I'm not sure what its for.|
|CODES.P11||1994||05-05-86 7:40p||A list of 68HC11 instruction codes with some "magic" numbers. I'm not sure which program needs this, but don't delete it.|
|OFFSETS.P11||336||02-05-86 8:41p||More magic numbers for some program...|
|Not sure about these either.|
|6811REGS.ASM||3584||10-11-91 1:18a||A list of the 68HC11 registers and their memory locations. Some people "include" this file in their code and use the definitions.|
|File||Size||Date||My custom files follow:|
|STARTUP.MCR||199||03-12-96 9:54p||A PCBUG11 "startup" files. If you tell it to, PCBUG11 will read this file when it starts up and will execute the directives in the "AUTOSTART" block. I use this to set PCBUG11 into HEX mode, to set the EEPROM range from B600 to B7FF (for an 'E1), and to read in the file E1MM.S19 (see below).|
|STARTE2.MCR||220||08-20-95 5:12p||Same as above, but with an EEPROM range for an 'E2 chip (F800 to FFFF).|
|STARTUPE.MCR||216||01-26-96 3:49p||Same as STARTUP.MCR, but I also load the file EXPAND.S19, which puts the HC11 into expanded mode. This allows PCBUG11 to use the HC11 for programming an external RAM or EEPROM.|
|TEST_RAM.MCR||226||07-07-96 11:05a||A macro for testing external RAM by block-filling with various values and verifying.|
|E1MM.ASM||24||08-09-94 4:50a||File which contains:
ORG $1035 fcb $00
It sets the memory location $1035 to the value $00, which allows the internal EEPROM in the HC11 to be programmed (it defaults to being write-protected).
|E1MM.S19||26||11-28-94 7:13a||The machine-code for E1MM.ASM.|
|EXPAND.ASM||24||01-20-96 3:56p||File which contains:
ORG $103C fcb $E5
It sets the memory location $103C to the value $E5, which allows external memory to be accessed.
|EXPAND.S19||26||01-20-96 3:56p||The machine-code for EXPAND.ASM.|
|Expanded memory note:||If you want to use external memory with an HC11 and keep it in bootstrap mode, just
place the following code in the internal EEPROM (assuming an 'E1)
ORG $B600 ldaa #$E5 staa $103C jmp $8000 ORG $8000 * External code...
Where 8000 is the start of your program in external memory.
|JMPTO200.ASM||93||01-26-96 9:02p||Code to jump into external EEPROM at $2000.|
|JMPTO200.S19||40||01-26-96 9:02p||The machine-code for JMPTO200.ASM.|
|- - - - - - - - - -||-||- - - - - - - - - -||OK, the really to make your HC11 programming easy!!!|
|PCBUGE1.BAT||69||02-18-96 5:28p||The first line:
adds to the DOS PATH the location of the PCBUG11 and AS11 files.
The second line
d:\6811\pcbug\pcbug11 -e port=2 macro=startup
invokes PCBUG11.EXE for an 'E1 device, specifies that COM port 2 is being used to program it, and tells PCBUG11 to read the STARTUP.MCR file. Remember the STARTUP.MCR file? It sets PCBUG11 into HEX mode, defines the EEPROM range, and opens up the EEPROM for programming, all in one easy command!
|PCBUGE11.BAT||33||09-10-95 9:44a||Same as PCBUGE1.BAT, but for serial port 1.|
|PCBUGE12.BAT||33||03-12-95 11:28p||Like PCBUGE1.BAT.|
|PCBUGE1E.BAT||70||03-23-96 10:38a||Like PCBUGE1.BAT, but it calls the STARTUPE.MCR file, which puts the HC11 into expanded mode.|
|PCBUGE2.BAT||33||04-16-95 7:23p||Uses the -A option for the 'E2, and calls STARTE2.MCR to set the EEPROM range at $F800 to $FFFF.|
|PCBUGA1.BAT||33||07-01-94 5:59a||A version for an 'A family HC11 device.|
|PCBUGE1.BAK||33||06-02-94 9:35p||A back-up of PCBUGE1.MCR (without the append line).|
|47 file(s)||292748 bytes||This is what my DOS "DIR" command gives me.|
OK, I know assembly language it not for everyone. Here is a short list of some of the other tools available for programming the 68HC11 devices.
Randy has formed Newton Labs, which will soon be distributing a commercial version of Interactive C (along with other already available robotics products).