8051 Downloads (some code and stuff)
ROMJ User Manual in HTML
ROMJ Source Code ZIP romj.asm
and macro.src, source to make ROMJ using ML-ASM.
ROMJ in HEX format All ROMJ versions-ready
to burn.
LODNGO A BASIC program to load
the hexload portion of ROMJ, for my 3X1 board, and load the rest
of ROMJ.
Caution, this requires a board which can load a HEX program, and be reconfigured
to reset, and run
a Command Expansion Program! See the Basic-52 manual for requirements.
MCS-51 BASIC Manual Intel's manual
zipped.
HEX Load and Prog Load an Intel
Hex file, with relocation feature, and program an EPROM.
HEX Load Load an Intel Hex file, with
relocation feature.
MACRO.SRC Macros I wrote to make
the expansion easier to write. I even made a macro for a CASE test.
Note: this is required, as well as ML-ASM, to assemble ROMJ.
ROMJ Source in text format if you just want
to see it...
ROMJ XREF A cross-reference
listing of the ROMJ ASM program, for those who want to modify it,
which lists the variable names and labels and the line numbers they are
used on.
BASIC-52 XREF A cross reference
of the CMOS BASIC-52 source. No linking required.
FP-52 XREF
A cross reference of the FP source for BASIC-52. No linking required.
ASMXREF.CBL A quick hack
in COBOL to produce a ML-ASM cross reference listing. This version
only processes the labels of certain ASM Directives. It doesn't process
the operands
of EQU BIT MACRO DB DW, and ignores DATA CODE RET NOP RETI.
If you want to run it, you'll need Personal COBOL from Microfocus. Microfocus
has
three versions that are available. Students can get them at the college
bookstore, or
from their website. Versions are also available for non-students, but at
a higher cost.
Why not do it in C? I gave up after a week of hacking at it, the COBOL
program took
two hours to write and debug, for the first version. strtok in C/C++ is
much harder to
work with than string/unstring in COBOL, and internal sorts are
standard in COBOL.
Plac in source form. My Electronic Postcard,
a Plac with a LCD display.
Why ROMJ?
Well, Micromint had used A,B,C,D? and I wanted something new, so I started
at F.
J is the last version which I finished about 10 years after the first
version. Much of the earlier
code is very compact, and labels/comments may be brief-I was developing
it on a BCC-52 from
Micromint using their ROMA&B, ASM and editor, and which only had
32K for workspace.
Later updates were on the PC using ML-ASM.
If you look at the source, you will see about 5 or 6 different styles
of coding, and it may be good,
bad, or "it works!". I often tried adding too many features to the
code, and then deleted the extra, or
I just had a bad day. Anyway, if you are developing BASIC or BASIC
and ASM for the
8051 family, it may be useful, or provide some examples of ASM coding.
The macro.src has a few
constructs which make life easier for ASM coding.