[comp.sys.ibm.pc] ROMable code continued

noworol@eecg.toronto.edu (Mark Noworolski) (12/28/88)

After just having spent an infuriating 2 or 3 hours playing with an RS-232
port I just thought I should share something with you. 

 Symptoms: RS-232 port does not echo characters when pins 2&3 are shorted on
it. I used kermit so pins 4,5 6,20,8 or whatever did not need to be
shorted.  This is in a 16Mhz 386 machine (8 bit peripheral). Although
receive works, send doesn't.

Repair: Move the card to a slow 4.77Mhz 8088 machine - now it works!!!

So does this mean that the peripherals slots out of the 386 are too fast (I
always thought that the clock on 8 bit peripherals was slowed down to
4.77Mhz)?

ROMing code:  I want to write some Turbo C (2.0) code which I can plug into
a standard PC motherboard ROM slot (next to the BIOS). I want it to control
RS-232 ports and do a minimal amount of computing (essentially it will be a
diskless, keyboardless, and screenless microcontroller). In the IBM
technical reference manual they say to put the bytes 55 AA ll (where ll is
the length of the EPROM program /512) ahead of your program. And also that
the checksum of the program should be 0 (mod 100hex). They only mention this
for the case of adapter card ROMs- is it the same for my case?  Is this
really all there is to it (for an assembly language program)?

Just today I managed to photocopy a DDJ article (Dec 1987- Jan 1988) which
describes (vaguely) how to ROM Turbo C programs. Unfortunately the amount of
code involved is horrendous (15 pages or so). Is there a source for DDJ
listings or if it's legal can someone who has got this code (or any other
ROM related loader programs) e-mail me a copy?

After this whole trauma is worked out I will summarize my findings on the
net.

Hoping for some help,
Happy new year,
mark  (if the following address doesn't do it try noworol@ecf.toronto.edu)

-- 
There's a really fine line between stupid and clever.

	Nigel - Lead Guitar, Spinal Tap

noworol@ecf.toronto.edu

jwb1@ihlpf.ATT.COM (Bailey) (12/31/88)

The Watson Voice Messaging Product is Great. I am totally satisfied with it.  But I 
really need help in developing voice application software products on my IBM 286PC.
Watson Offers the WATSON VIS which are drivers that can be called by C.  They also 
offer DBTALKER which stores digitized voice using DBASE III.  I could use this but 
I think I would have to use CLIPPER to get it to interface with C.

Any help will be appreciated.
Thanks

cww@ndmath.UUCP (Clarence W. Wilkerson) (12/31/88)

These requirements are to allow the main bios roms to link in
other roms. It does this by calling the initialization routine
in the rom with correct id and checksum. This routine is responsible
for setting up its interrupt vectors, etc, so that it can be accessed
indirectly by "ROM BIOS calls". For example, a disk controller ROM
might steal interrupt 14 hex, and intercept each call to decide if
it can use the winchester or pass it on the bios floppy code.
   Actually, your initialization code can do anything it wants,
   including not returning to the calling routine. However, I have
   not been able to determine the initialization sequence as to when the
   keyboard, console drivers, etc are initialized, so the results have varied
   from machine to machine. I included in a winchester ROM code to ask for a password. On some machines, this worked. On others, the keyboard was not
   set yet, so it all frooze.
   "froze"