CPC Bootloader Help
The CPC Bootloader reads a hex file, transfers it via a serial com port and programs it into a CPC devise.
Links
CPC
www download site
CPC www home page

Typical “Basic” screen
Top of the screen
![]()
Form header: Program name
“CPC_Bootloader” and version.
![]()
Instructions: Click this button for
a mini-tutorial.
![]()
Basic/Advanced:
Base: Minimal user interface. (Show above)
Advance: Additional functionality. (Shown
below)
![]()
Access to this help file.
![]()
The set-up portion of the tool.
![]()
Either browse or manually enter the desired program (hex file). If this software is started by dropping the
hex file onto the shortcut or by setting up a short cut with the hex file name
as the first parameter that file will automatically appear here.
Intel hex file format

After a program hex file is read, any comments imbedded in the file will appear
here. It is possible that this box will
be empty.
Q: What to do with this result?
A: The user needs to review this response to insure the correct hex file was
loaded.
![]()
Serial com port selection: You may type
in the desired value or click on the pull down menu. The available serial com ports (COM1 – COM
256) will automatically be filtered. In
addition, each port will be exercised and report the CPC software revision, if
found. If the phrase “Unavailable” appears,
it implies the port is in use by another tool or is not ready for use yet. The pull-down menu takes a few seconds to
complete its survey of com ports, please be patient.
![]()
The test portion of the tool.
Q: Why do this?
A: Before bootloading, running the tests before bootloading check if the
existing firmware is reasonable working.
Also the version of the existing bootloader code in firmware is reported
by the ID command. The response to these
commands helps indicate a valid existing firmware. After bootloading, these test help indicate
success.
![]()
(Basic only) The button causes the transmission of 5 ISCCP commands and reports
their results. It is not necessary to select
a hex file perform this button is enabled.

Buttons: These 5 labels which are really 5 buttons (and show as buttons in the
Advanced mode) describe the results of the ISCCP commands. These 5 buttons may individually be clicked.
Text box: The response to the corresponding command is shown here. The correctness of the response is left to
the user.
![]()
The bootload portion of the tool
![]()
By clicking on this button the selected tasks of programming and/or comparing
will begin. This button is not enabled
unless a valid hex file has been read.
![]()
![]()
The bootload task selection:
Program: Program the hex
file in to the CPC unit. Multiple 512
instruction blocks are programmed. A
compare is done after each block. The
blocks of program memory which contains the bootloader are prevented from
re-programming by the bootload24 code in the CPC unit.
Compare: Do not program
the CPC unit. Instead compare the hex file
with the CPC unit. The blocks of program
memory which contain the bootloader may
also be compared.
Program + Compare:
(Advanced only): Perform both the above tasks sequentially.
![]()
Progress bar indicating the portion of bootload task completed. The color is also significant.
Blue: Task in progress.
Green: Task completed successfully: Programming done and/or comparing done and
matched.
Red: Task incomplete or failed. The status
bar at the bottom of the screen hints to the problem.
White: Task not running.
Bottom of the screen
![]()
The status line shows various messages during program execution. In particular, the result of a bootload task
is shown here indicating “Passed” or “Failed”.
Additional “Advanced” features:

Typical “Advanced” screen
![]()
The desired baud: The value may be
entered manually or via the pull-down menu.
Non-typical values will likely error the program.
![]()
The Baud Rate Generator value: This
value is automatically calculated whenever the baud is changed. An alternate value may be manually enter
afterwards. It is this BRG value that is
used by the PIC to determine its precise communication rate.
![]()
Re-read and parse the selected hex file.
Useful if a re-read of the hex file is needed as it may have changed
outside this tool.
![]()
The “Write Key” used during programming.
Alternate values are useful for testing the correct operation of the
key.
![]()
Expanded ISCCP command options.
Alternate commands may be placed in the first text box. The text on the buttons will change to match
the new command.
![]()
End-Of-Line option:
Checked: The commands are implied to have an unseen appended <CR>
ASCII(13). The end portion of a response
that matches <CR><LF> is not shown.
Unchecked: The commands are sent explicitly as entered in the text box. The responses also explicitly show their
end-of-line data.
Use ‘\r’ for <CR> and ‘\n’ for <LF>. Other values like \00 or \FF imply a
hexadecimal encoding of the received byte.