Image Map Image Map
Results 1 to 4 of 4

Thread: PC I/O woes.....

  1. #1
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    139

    Default PC I/O woes.....

    Hi all,

    I finally think I've got to the bottom of the problems I was having with interfacing a DS12887 with the PC-RETRO board.
    The PC-RETRO is a chip for chip copy of the 64K-256K 5150 board and so therefore has all it's problems / limitations, namely incomplete address decoding of the I/O space.

    I intially tried the interface at I/O 0x140, 0x141, that initially seemed to work then the next day just returned gibberish.
    So next I tried the "standard" AT compatible location of 0x70,0x71, and to my surpprise writing to it beeped the speaker and killed the keyboard.

    So I went off and studied the IBM tech ref manual, seems that in the second instance the PPI at 0x60, is allocated a block of 32 bytes, so I was hitting a mirror of that at 0x70.
    But an interesting thing was that in the tech ref for the 5150 (section 1-10 system unit), it lists 0x100-0x1FF as "Not usable", looking at the schematic I'm not sure why, but that did seem to be the case which is why 0x140 didn't work.
    Interestingly the 5160 tech manual doesn't list anything for this range, but seems to have the same decoder circuit so I assume would have the same problem.

    Anyway adjusted the hardware (and software) to address it at 0x240, 0x241 and it appears to be working absolutely without problems.

    Oh and curses to IBM not deocding A10-A15 of the I/O space meaning that everything above 0x400, is just mirrors of 0x000-0x3FF

    Cheers.

    Phill.

  2. #2
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    35,356
    Blog Entries
    18

    Default

    That's not exactly true--there are some IBM cards (I think that the cluster adapter was one, but I'd have to check O&A to make sure) where the upper bits of the 16 bit I/O address are used as a card instance qualifier. It's mostly that the cards that don't decode the upper 6 bits.

  3. #3
    Join Date
    May 2006
    Location
    Melbourne, Australia
    Posts
    6,909

    Default

    Quote Originally Posted by prime View Post
    But an interesting thing was that in the tech ref for the 5150 (section 1-10 system unit), it lists 0x100-0x1FF as "Not usable", looking at the schematic I'm not sure why, but that did seem to be the case which is why 0x140 didn't work.
    Interestingly the 5160 tech manual doesn't list anything for this range, but seems to have the same decoder circuit so I assume would have the same problem.
    The 5150 and 5160 motherboards decode different I/O address ranges.
    See the 'Increased I/O port range for expansion cards to use' section at [here].

  4. #4
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    139

    Default

    Quote Originally Posted by modem7 View Post
    The 5150 and 5160 motherboards decode different I/O address ranges.
    See the 'Increased I/O port range for expansion cards to use' section at [here].
    Ahh well that does explain the flakeyness when operatin at 0x140 then, sometimes the RTC was able to 'win' the bus contention, and it looked like things where working. Other time the buffer 'won' and things got corrupted.

    Cheers.

    Phill.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •