PAULMON2 is available as assembly language source code or ready-to-run
binary object code. You can now download a copy directly from this web page.
PAULMON2 is in the public domain. You may copy
sections of code from PAULMON2 into your own programs, even
for commercial purposes. It's good form to give credit where credit is due,
but even that is not required. PAULMON2 comes with "no strings attached".
Need A Pre-Programmed Chip, No Problem
If you need a 87C52 chip pre-programmed with PAULMON2, you can
buy the pre-programmed chip here.
There is documentation for PAULMON2 online.
Automatic baud rate detection code which attempts
to avoid detecting the baud rate on characters other than the
carriage return. Hopefully this will help prevent the situation
where the board appears dead, only because some "garbage" appears
on the serial line when a terminal emulation program starts up,
ms windows has to be restarted (imagine that), or some other
Memory editor can write to flash rom, page-up
and page-down keys now work in memory editor, arrow keys
work (more or less) during hex entry, cool
cin_filter routine available in the jump table, new type of startup
program to run before auto baud rate detection (see
fix_baud.asm, also in a
improvements in download and upload, fixed bug that would crash paulmon2
if a program was located on the last page in searchable memory, and
several other minor improvements.
These asm files should be assembled with as31, which is also available for free.
- paulmon21.asm - Source for PAULMON2 v2.1, core functions, assembles to only 4k
- extra.asm - Extras Package, Disassembler, Single-Step Run, Fancy Memory Editor
- pm21_src.zip - Both of these in a ZIP file.
Pick the Ready-To-Run Copy For Your Memory Configuration:
All of these obj files are ready-to-program
Intel Hex format.
Some EPROM programmer
software defaults to binary format. You must select intel-hex before loading these files.
They will appear too large (due to intel-hex ascii encoding, embedded address, checksum and other
info) if your programmer loads them as binary format.
For systems with only 4k of EPROM (87C51), these files will work if
only the first half is used. No modification is necessary. Most
EPROM programmers will either load the entire file and use only the first half,
or only attempt to load the first half of the file if a 4k part
is selected. Remember, you need to load them as intel-hex format.
For developing your own programs, the
files can be quite useful. They are also available in this
ZIP archive for easier downloading.
Documentation is now paritally on-line.
Original PAULMON2 Still Available
The original PAULMON2 supported a 28F256 Flash ROM, which is now an
obsolete part... but the code is still available here, in case you
have this chip.
- paulmon2.asm - Source for Paulmon2, core functions, assembles to only 4k, also as a zip file
- pm2_2f.obj - Ram from 2000 to 3FFF, EPROM from 0000 to 1FFF, Flash ROM from 8000 to FFFF, such as this older development board, also in ZIP format.
- pm2_2.obj - Ram from 2000 to 3FFF, EPROM from 0000 to 1FFF, also in ZIP format.
- pm2_4.obj - Ram from 4000 to 7FFF, EPROM from 0000 to 1FFF, also in ZIP format.
- pm2_8.obj - Ram from 8000 to FFFF, EPROM from 0000 to 1FFF, also in ZIP format.
Nearly everything has been rewritten and improved.
Overall the level of quality in PAULMON2 is just much higher than
the original PAULMON1 (which was really my first substantial 8051
- Version 2.1 changes Flash ROM support to 39F512. The older 28F256
is now and obsolete part.
- Fits in either 4k or 8k. The disassembler, single-step execution,
and fancy external memory editor are omitted for the 4k version.
- Intel hex download checks for nearly every possible error.
- Intel hex upload added.
- Auto baud rate detection greatly improved. Initial tests show
it reliably detects reload=255 (57600 baud w/ 11.0592 MHz crystal).
This is the part which requires the most beta testing on various
- Support for AMD 28F256 flash rom.
- Program headers recognized to identify programs in memory.
- Start-up programs run (useful with flash rom).
- Externally installed commands.
- New fancy external memory editor (uses vt100 terminal codes)
- Single step execution greatly improved.
- Several useful routines added (many are already available in my
- More configurable (before assembly).
PAULMON2 is in the public domain. PAULMON2 is distributed in
the hope that it will be useful, but without any warranty;
without even the implied warranty of merchantability or fitness
for a particular purpose.
PAULMON2, Paul Stoffregen
Last updated: November 28, 2003
Status: The PAULMON2 project is in (publically available) beta testing.
Suggestions, comments, bug reports???