[sebhc] Improvements to the image transfer program

Dwight K. Elvey dwight.elvey at amd.com
Mon Aug 30 13:30:26 CDT 2004

Hi Mark
 The bootstrap is relatively simple. You follow the instructions and
then send the raw file H89LDR2.BIN in reversed order ( last byte of
file first through to first byte of file ). The bootstrap program
will automatically transfer execution to the main program. The
main program has a self aligning feature to account for 1 or 2
extra initial characters in bringing up the seal line.
 Once the main program is running, you can use the commands as
described at the beginning of the file: H89LDR2.ASM. The DOS
side just uses this small set of commands to transfer images.
( I was looking at these comments and noticed an error. The
S command no longer needs a formatted disk. It formats the
tracks it needs for the boot program. I does only format what
it uses so it may not be an image that can be saved. ).
 The DOS side code is written in Forth. It uses a particular
Forth called FPC ( available free online from several sites ).
I use and auxiliary program called TCOM that converts the Forth
programs ( normally loaded on the fly like BASIC programs )
into a DOS *.COM format files. The *.SEQ stands for sequential
files rather than block ( *.BLK ) files, more traditionally
used with Forth's. I'm sorry for the lack of comments in the
code. Forth's RPN nature makes it hard to read the code for
one that is not familiar with it. I do try to indent and
make lines that are like complete thoughts ( sentences? ).
It is best to try to follow things by starting at the last
word defined and work forward from there ( words defined
by  : WordName  ...BodyOfWord... ;   )
 There are places that FPC and TCOM differ. I use inline directive
words \fpc and \tcom to selectively compile code.
 It would be great to get a Linux version of this up and running
as well. I'm willing to help as much as I can. Although, not
a C programmer, I can often read and understand C code well
enough to determine what is going on. I can walk you through
my code and answer specific questions. There are a few public
domain Forths for Linux available but I'm not all that
familiar with them. Things like file I/O are bound to be different
so it would be best if you used a language that you were
familiar with. Also, I'm not sure what things like TCOM that
they may have available.

>From: "Mark Garlanger" <garlangr at verizon.net>
>Hi Dwight,
>   Have you documented the protocol that you use between the PC and H89? 
>What kind of language is .SEQ? I googled it, and found "Sequential 
>Instruction File ", but couldn't find any information on that.
>I would like to write something for Linux that would handle this. I could 
>reboot into DOS, but what is the fun in that ;-)
>            Thanks,
>              Mark
>----- Original Message ----- 
>From: "Dwight K. Elvey" <dwight.elvey at amd.com>
>To: <sebhc at sebhc.org>
>Sent: Tuesday, July 27, 2004 12:27 PM
>Subject: Re: [sebhc] Improvements to the image transfer program
>> Hi All
>> I've sent in the latest image transfer code.
>> It is now H89LDR9.ZIP. The bootstrap code has
>> changed so that if you are using an older version,
>> you'll need to reenter the bootstrap code
>> from the monitor and after loading the main loader,
>> save it to your standalone floppy. The older
>> version will not work with the new one because
>> of an added command.
>> I've also include a command at the PC to change
>> the baud rate for those that only have the
>> H8-5 to communicate through. The baud rate on the
>> H8's H8-5 is jumper selected so you'll need to
>> change the jumper to match the rate selected
>> on the PC side. This is to account for the fact
>> that may H8-5's do not work reliably at 9600
>> baud. The PC side can be set to 9600, 4800, 2400
>> or 1200. One of these will surely work.
>> This command should not be used with the H89 or
>> H8 with H8-4. There is no easy way for both sides
>> to know what the baud rate is. The baud rate on
>> the H89 and H8-4 is set by software instead of
>> hardware. Both of these setups use rs232 level
>> drivers that should have no issues at 9600 Baud,
>> anyway.
>> This code does have the added feature that it can
>> determine the volume number that is actually in
>> the sector headers of the disk. This is useful for
>> non-HDOS disk. Some require one to set the override
>> to match. For these disk, it is always a good idea
>> to save information as to what the volume number
>> of the disk is, if it is a non-HDOS. There are
>> 256 possible volume numbers. It would be a pain
>> to have to try them all when restoring the image
>> to a disk.
>> Dwight
>> --
>> Delivered by the SEBHC Mailing List
>Delivered by the SEBHC Mailing List

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list