Embedded 8088 code bootup string problem

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Greeting all,
I have an embedded system that I have to maintain now which had it's
last changes put in over ten years ago.  I am not a programmer by any
means but I need to solve a simple problem:  The bootup string has to
be put into the prom manually and I think the assembler can do it and
save a lot of time.  Here's the scoop as I inherited the thing.

The processor is an 8088.
The prom is a 27C512.
The assembler is a Borland TASM 2.0
Program code is written in six modules totaling about 0.5mb and is
assembled by running a batch file in DOS.  This creates an EXE file
which is converted to a BIN by the DOS EXE2BIN utility.  The resulting
BIN file has to be blown into a prom and then read back out of the
prom as a hex file.  This, of course, provides the fill for the prom
so the boot up string can be installed by editing the HEX file.  The
bytes at the boot location must be as follows:

        fff0 = ea
        fff1 = 00
        fff2 = 00
        fff3 = 00
        fff4 = f0

Damn!  Surely this can't be the only way!!  If I try to put the bootup
code in the code at the location specified I get a out of segment
error.  I think this is because it is being put into an EXE instead of
a BIN file and the headers etc run the code past the segment.  That's
my guess.  I do have the documentation for this assembler and, if they
thought anyone would ever write anything but PC code, you would never
guess it so there is nothing for me there.  Sorry people, only the
ancient among us may have knowledge about this assembler now.  Anyone?
And, many Thanks!

Re: Embedded 8088 code bootup string problem

Quoted text here. Click to load it

If I'm not totally misremembering things, TASM doesn't really need
post-processing by EXE2BIN --- it can generate .COM or raw binary
files directly.

Quoted text here. Click to load it

That's overly complicated.  Just use one of the many BIN2HEX utilities
available out there to transform your binary file to hex file format.

[Patching in the jump-to-start at the bootup vector location...]

Quoted text here. Click to load it

You'ld have to learn how to instruct TASM and/or the linker to put the
boot jump into a segment of its own, and locate that at the right
position.


--
Hans-Bernhard Broeker ( snipped-for-privacy@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: Embedded 8088 code bootup string problem
Quoted text here. Click to load it

Definite deja-vu!  I was literally just going through some 15 year old
8088/V20 code looking at how I built the ROMs.  This wouldn't be for some
legacy Vipco/Magic Sign stuff would it?  If so, let's talk... ;^)

So far, the other replies have covered everything*.  If I come across
anything clever, I'll post.  As I said, I really am just going through the
old code & "tool chain".  (Building/knitting a "junk-box special".)

* The main thing I remember about Paradigm Locate was the incredible
*STINK* from the manual binding.  Only the rendering plants in the
south-side of Chicago have been worse.  Other than that, it worked as
advertised.

--
Ron Sharp.
"Gosh that takes me back... or is it forward? That's the trouble with time
We've slightly trimmed the long signature. Click to see the full one.
Re: Embedded 8088 code bootup string problem

Quoted text here. Click to load it

Yep ... (Yecch!)

Tauno Voipio
tauno voipio @ iki fi



Re: Embedded 8088 code bootup string problem
Quoted text here. Click to load it

No, No, this is just a very arcane processor used in the two way radio
industry.  I had figured that the problem was in the way EXE2BIN
screwed with the file so I have another EXE written to take the HEX
output, pad it and add in the boot string.  Since the assembler is
just being used for this one processor and application, I think an
after-ass treatment will work best here.  It is not the best solution
but it really is good enough in this case.
Thanks,
Eddie

Re: Embedded 8088 code bootup string problem

Quoted text here. Click to load it

Not just that - the very first IBM PC:s  (PC, PC/XT) were built on 8088's.

I still have an 8088 from engineering sample series C - othewise OK, but
interrupts do not work.

Tauno Voipio
tauno voipio @ iki fi




Re: Embedded 8088 code bootup string problem
snipped-for-privacy@netscope.net (Eddie Fowlkes) wrote in message
Quoted text here. Click to load it
1. Create a one line text file named a.hex with the boot code in it:
:05FFF000EA000000F032
2. After running EXE2BIN, run a BIN2HEX converter on your file. Example:
BIN2HEX binary.bin b.hex
3. Merge the two hex files using copy:
COPY a.hex+b.hex c.hex

You should be able to program the PROM with c.hex.  Steps 2 & 3 are
the only ones needed for subsequent builds if this works.

Re: Embedded 8088 code bootup string problem
On 20 Oct 2003 21:47:46 -0700, snipped-for-privacy@netscope.net (Eddie Fowlkes)

Quoted text here. Click to load it

Find yourself a locating linker.  It'll make you life a lot easier,
especially if you ever find yourself with more than 64k of code.

Paradigm sells development kits.  There used to be a linker on the net
called jloc that was free as long as you let the author know you were
using it.  Might still be available.

HTH,

                               -=Dave
--
Change is inevitable, progress is not.

Site Timeline