<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 02 Feb 1988 04:31:04 GMT
From   : mnetor!utzoo!lsuc!ncrcan!brambo!wwg@uunet.uu.net (Warren W. Gay)
Subject: Debugging a new BIOS

In article <581*kenw@noah.arc.cdn> kenw@noah.arc.CDN (Ken Wallewein) writes:
>
>  I trying to upgrade the BIOS of my brother's California Computer Systems
>S100 system, and I've run into a bit of a snag. 
>etc... when it goes to relog
>B: it sends the heads on B: on a colision course for the spindle. Needless ...
>... Now we get to the _real_ problem: how do I debug it?!?!? ...

What I suggest is that you judicously place some calls to print "progress"
messages in various "suspect" portions of your BIOS, and re-assemble. If you
can use another serial port to dump this info (like a line printer), you might
be able to trace the approxiamte area of the problem.  From there, you might
be able to zero in on it.  Dumping to another serial port makes it easier to
get through a session without wading thru messages within the session.
 
For debugging nasty things like that I like to put tests in like
if "this data item doesn't look normal" then
    print "data item such & such is corrupt" /* hex dump even better... */
in various places in addition to the 
    "print ? BIOS call entered"
    "print ? section x of BIOS call..."
    "print ? BIOS call returning..."
     etc...
messages sprinkled about.

However if this does not help, you'll have to provide more sophisticated
debug traces with print calls etc.  You might want to add a "print_hex_byte"
to your bios to provide another tool to test with.  I see no choice, but to
wade into the code up to your eye balls.

Ever tried to trace a vectored interupt for serial i/o using Zilogs SIO
chips?  Turned out to be hardware after 3 months of pulling my hair out;
The serial i/o chips just needed a 150 ohm resister tied to +5 V on the 
system clock pin!  Without that, they worked most of the time, but not
all of the time!  Had to resort to similar methods to the above, the exception
being that I could not just dump serial data any time I wished (within the
interrupt routine).
-- 
Warren W. Gay - Bramalea Software Systems Inc...!utgpu!telly \ !brambo!wwg
                ...!{uunet!mnetor, watmath!utai}!lsuc!ncrcan /
                "Life is a compromise.  So lets be #pragma-tic."

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>