Article View: comp.os.msdos.programmer
Article #4920Re: Romable code with Microsoft C?
From: Shaun Case
Date: Wed, 27 Feb 1991 22:46
Date: Wed, 27 Feb 1991 22:46
52 lines
3141 bytes
3141 bytes
In article <1991Feb22.211530.4528@nntp-server.caltech.edu> josephc@nntp-server.caltech.edu (Simplelogic) writes:
>marty@wuphys.wustl.edu (Marty Olevitch) writes:
>
>>We have an application that runs on a PC from ROM. Up until now, we have
>>been using Aztec C to create the romable code, but now we are thinking of
>>switching to Microsoft C for a number of reasons. Looking over the
>>documentation, there is nothing on creating romable code with MSC. Can it be
>>done? Is it necessary to buy a separate linker or "locater", or can the MS
>>link program be used?
>
>I have had a similar wish using Borland's products, and I have found that
>there was no way to directly produce rommable code. A quick call to Borland
>did, however, reveal a name of a company that might help: Paradigm Systems
>(1-800-582-0864, or 1-800-537-5043 to order) in New York.
>
When I had to design and build a single board 8088 machine with a monitor
in ROM for an engineering class, I used a utility called ROMIZE that
turned turbo C object code into rommable code. However, it needed
either TASM or MASM, along with exe2bin to make the code. The utility
was horked off Compu$erv by a classmate, and is PD as far as I know.
I used it with great success. The only restrictions were:
1) You had to compile to .obj code using the right memory model
(small, I think, it's been a while)
2) You couldn't use any library routines that called BIOS services
or did PC dependent stuff. Thus, you couldn't use floating
point, printf(), file io, console io, etc, but you could use things
like isalpha(), casts, arrays, etc. I wasn't really sure in some
cases what used BIOS calls and what didn't, so I ended up writing
a lot of small functions like str_to_hex(), itoa(), etc. It was
pretty easy, and a lot of fun, and now I have a nice library of
(probably inefficient) routines for bonehead compilers that don't
support things like strstr().
The utility had its own c0 startup code, which was assembly, with
source. You could change it if you wanted to -- I think I had to
make a small patch to it.
Anyhow, I still have the package, and would be willing to mail
it to a few people, if you are interested. I'd really like it if
someone could find an FTP site for it, or could put it on Simtel.
It's pretty short.
Shaun.
--
Shaun Case: shaunc@gold.gvg.tek.com or atman%ecst.csuchico.edu@RELAY.CS.NET
or Shaun Case of 1:119/666.0 (Fidonet) or 1@9651 (WWIVnet)
---
A bullet in the Bush is worth two in the hand.
Technical Details
Message-ID:
<2006@gold.gvg.tek.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!gvgpsa!gold.gvg.tek.com!shauncReferences:
<1991Feb22.155750.1404@wuphys.wustl.edu> <1991Feb22.211530.4528@nntp-server.caltech.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!gvgpsa!gold.gvg.tek.com!shaunc From: shaunc@gold.gvg.tek.com (Shaun Case) Newsgroups: comp.os.msdos.programmer,comp.sys.ibm.pc.hardware Subject: Re: Romable code with Microsoft C? Message-ID: <2006@gold.gvg.tek.com> Date: 27 Feb 91 22:46:19 GMT References: <1991Feb22.155750.1404@wuphys.wustl.edu> <1991Feb22.211530.4528@nntp-server.caltech.edu> Followup-To: comp.os.msdos.programmer Organization: Grass Valley Group, Grass Valley, CA Lines: 52