PC-card - DMA/SBHE

g.baltissen_at_hccnet.nl
Date: 2001-04-16 12:36:06

Hallo,

I fear I maybe bumped into something that could cause a problem: the SBHE 
line. This line in combination with A0 tells what kind of data transfer 
takes place with a 16-bit card:

SHBE  A0     Transfer
  0    0       word
  0    1       byte on D8..15
  1    0       byte on D0..7
  1    1       will never occur says the doc ***

*** and what about older I/O cards???
  
The documents I have say it is an in- OR outputline. I verified this by 
studying the schematics of the IBM-AT motherboard. This means that a card 
can steer this line as well. My problem is: I haven't found out when. 

The only occasion I can think of is during a DMA. So I wanted to have a 
look at how the DMA is done inside a AT. I know since 1989 that I miss page 
14 of the schematic and you may guess what's on that page: yes, you guessed 
right, the DMA :( Further study lead to the conclusion that it must be 
during DMA:
The SBHE is derived from the CPU's BHE-output through a 573. This 573 can 
be tristated by the HOLDA-signal. This is the same signal that tells the 
8237 it can take control of the busses. So from that moment on nothing is 
driving SBHE except an pull-up resistor. There are two conclusions:
1) SBHE is driven by the card.
2) DMA is done byte by byte.

Regarding 1) the next question occured: a 16-bit card expects a 16-bit 
system to transfer data and will drive SBHE according this expectation. But 
in our case the C64 isn't 16 bit. And as it seems we cannot control the 
width of the transfer, I forsee problems :(

Regarding 2) IMHO if it is a 16-bit transfer then the 8237 either does not 
use A0 or must increment with 2. AFAIK it can't increment with 2. And it 
has to use A0 as well as it is needed with 8-bit cards. 

I found a 1984 16-bit 4 MB memory card and looked for pins connected to 
this line using a beeper. I only found inputs. 
Tried to do the same with some networkcards and an old MFM-controller but 
ended up in big custom-IC's.

At this moment I don't know what to make of it. What could help is the 
missing page 14 of IBM's original schematic of the AT. Can anybody help me 
in this? 

Any comment is welcome.

Groetjes, Ruud

http://Ruud.C64.org/



-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tml.hut.fi.

Archive generated by hypermail 2.1.1.