meyer@s.cs.uiuc.edu (02/12/89)
I recently was placed in a similar situation, having to use the PGA. I don't believe your approach will work, especially if you are trying to move more than one byte at a time. The buffer you are writing to is constantly stripping bytes as you write to it, so they must be written one at a time, and the related pointer must be incremented after each byte write. My suggestion is to dig up a copy of PC-Tech journal (July '85) for an article covering the PGA, and an overview of its operation. There is an assembly listing for a device driver for the PGC, as well. (albeit only for writes, no read-from-card code was implemented.) It should give you an idea of how to set up your write routines. If you like, I've already copied it to PC, and can mail it to you. Don Meyer meyer@s.cs.uiuc.edu