On 29 Dec 2002, Frank McConnell wrote:
Except that, if you want to read binary cards (trust
me, you will --
those binary cards are contain boot and other code for these
machines), you need to do all 12 rows. 80 columns x 12 rows = 960
bits / 8 bits per byte = 120 bytes per record.
One step at a time. Right now I'm focused on getting the character data
off the cards I have (mostly FORTRAN programs and numerical data).
You've got RAM in the Apple, use it as a buffer
between the card
reader and the serial port. 16KB would hold 136 full card images,
which you might think would be more than enough time to tell the
reader to stop picking cards and actually have it stop. So, when the
buffer's fullness gets above some threshold, stop picking cards until
it gets below some lower threshold.
If the data can't be transmitted between card picks then it can be
buffered and, when it reaches a certain threshold, the pick signal can be
de-asserted until the buffer clears the threshold, then picking can
resume.
You may be able to do some cheap buffer- and
serial-time savings by
either run-length encoding or just keeping a record length and not
storing or sending trailing blank (unpunched) columns. Depends on
your data. I think I would go for this last.
Hmm, good idea. I hadn't considered that. It would certainly make no
sense to buffer or transmit trailing blanks.
Sellam Ismail Vintage Computer Festival
------------------------------------------------------------------------------
International Man of Intrigue and Danger
http://www.vintage.org
* Old computing resources for business and academia at
www.VintageTech.com *