[sebhc] 64K memory

Carroll Waddell CarrollWaddell at sc.rr.com
Sun May 16 23:39:09 CDT 2004


That would be interesting to try. Meanwhile, my H8 is just taking baby 
steps. I hope it will learn to run in time.
CW

Lee Hart wrote:

>Carroll Waddell wrote:
>  
>
>>I hadn't thought about that. If we could find out the commands for the
>>H47, might be able to swing it. I've heard that the 47 interface was
>>serial with all the smarts in the 47 drive.
>>    
>>
>
>No; it is an 8-bit parallel interface with handshaking -- much like
>SCSI. In fact, I think the two are (nearly) interchangeable.
>
>I have the Heath H47 documentation. I can copy it if anyone needs it.
>Briefly, the States are:
>
>- Master Reset mode
>	computer sets /MRST line low
>	H47 unconditionally ends all operations and enters Ready state
>- Ready mode
>	/BUSY line high, /DTR line low, /DDOUT line high, and the
>	/ERROR line indicates H47's status. When the computer sets
>	the /DTAK line, the H47 will read the data bus, clear the
>	/DTR line, exit the Ready mode and attempt to execute the
>	given command.
>- Bootstrap command
>	computer sends command word 0000h
>	H47 sends 2 sectors of data bytes (one byte at a time)
>	from unit 0, track 0, side 0, sectors 0 and 1
>- Read Main Status command
>	computer sends command word 0001h
>	H47 sends its ERROR status byte
>- Read Auxilary Status command
>	computer sends command word 0002h, and side/unit/sector
>	number on the bus.
>	H47 sends its Auxiliary status byte, and sets the next
>	side/unit/sector number to be read/written.
>- Load Sector Count command
>	computer sends command word 0003h, and number of sectors
>	to be transferred
>- Read Last Track/Side/Unit/Sector command
>	computer sends command word 0004h
>	H47 sends the last accessed track/side/unit/sector number
>- Read Unbuffered Data command
>	computer sends 0005h, track# byte, and side/unit/sector byte.
>	H47 finds the requested data and transfers it to the computer,
>	without buffering it (i.e. each byte is sent as it is found,
>	about 1 every 16usec for a double-density disk).
>- Read Buffered Data command
>	computer sends 0007h, track# byte, and side/unit/sector byte.
>	H47 finds the requested data and transfers it to the computer,
>	buffering it in the H47's RAM (i.e. bytes can be received at
>	any speed the computer can handle).
>- Write Unbuffered Data command
>	computer sends 0006h, track# byte, and side/unit/sector byte.
>	H47 finds the requested sector, and writes the data to it,
>	using a sector data mark of FBh. Data is transferred without
>	buffering; the computer must be able to transfer a data byte
>	every 16usec for a double-density disk.
>    or	computer sends 0009h, track# byte, and side/unit/sector byte.
>	H47 writes as for 0006h, but using sector data mark of F8h.
>- Write Buffered Data command
>	computer sends 0008h, track# byte, and side/unit/sector byte.
>	H47 finds the requested sector, and writes the data to it,
>	using a sector data mark of FBh. Data is transferred via the
>	H47's RAM buffer, so the computer can transfer at any speed.
>    or	computer sends 000Ah, track# byte, and side/unit/sector byte.
>	H47 writes as for 0006h, but using sector data mark of F8h.
>- Copy command
>	computer sends 000Bh, track# byte and side/unit/sector byte
>	for the start of the source data, and the track# and
>	side/unit/sector byte for the destination.
>	H47 copies sectors from source to destination until the
>	number of sectors specified in the last Load Sector Count
>	command is reached.
>- Format command
>	computer sends 000Ch, 000Dh, 000Eh, or 000Fh (selects density
>	and sector size), then a byte defining the number of sectors
>	per track, unit#, and side#.
>	H47 formats the specified side/unit with the specified format.
>
>There's lots more about the individual bit assignments etc. but this
>should give you the general idea. This is a pretty high-level format,
>with very little that needs to be done by the H8/H89 itself.
>  
>


More information about the Sebhc mailing list