Взято из INFO_012.TXTShaos wrote: Вот немного по ISA из официального документа sp2000.pdf:
Ещё помню был какой-то текстовый файл с более детальным описанием работы с ISA (я в 2003 было брался ISA-плату COM-порта делать для Спринтера и собирал у всех любую инфу по работе с ISA), но я его с ходу не нашёл - буду смотреть дальше...
Code: Select all
Работа с ISA.
┌────┬──────────┬────┬───────────┐
│конт│ Сигнал │конт│ Сигнал │ ┌───────────────┬────────────────┐
├────┼──────────┼────┼───────────┤ │ A16 BA15 │ B16 DRQ2 │
│ A1 │IOCHK │ B1 │GND │ │ A17 BA14 │ B17 DACK2 │
│ A2 │BD7 │ B2 │ISA_RES │ │ A18 BA13 │ B18 DRQ2 │
│ A3 │BD6 │ B3 │VCC │ │ A19 BA12 │ B19 ISARF │
│ A4 │BD5 │ B4 │IRQ2 │ │ A20 BA11 │ B20 CLKZ1 │
│ A5 │BD4 │ B5 │-5V │ │ A21 BA10 │ B21 IRQ2 │
│ A6 │BD3 │ B6 │DRQ2 │ │ A22 BA9 │ B22 IRQ2 │
│ A7 │BD2 │ B7 │VCC-12 │ │ A23 BA8 │ B23 IRQ2 │
│ A8 │BD1 │ B8 │/0WS │ │ A24 BA7 │ B24 IRQ2 │
│ A9 │BD0 │ B9 │VCC12 │ │ A25 BA6 │ B25 IRQ2 │
│ A10│IOCHRDY │ B10│GND │ │ A26 BA5 │ B26 DACK2 │
│ A11│AEN │ B11│/MEMW2 │ │ A27 BA4 │ B27 TC │
│ A12│BA19 │ B12│/MEMR2 │ │ A28 BA3 │ B28 BALE │
│ A13│BA18 │ B13│/IOWR2 │ │ A29 BA2 │ B29 VCC │
│ A14│BA17 │ B14│/IORD2 │ │ A30 BA1 │ B30 CLK14 │
│ A15│BA16 │ B15│DACK2 │ │ A31 BA0 │ B31 GND │
└────┴──────────┴────┴───────────┘ └───────────────┴────────────────┘
Сигналы BDx, BAx подаются с процессора через буферы.
IOCHRDY через диод подается на /WAIT процессора
IRQi соединены вместе, подаются на порт 1Ch (параллельный порт Z84C15)
DRQi соединены вместе, подаются на порт 1Ch (параллельный порт Z84C15)
DACKi соединены вместе, подаются на порт 1Ch (параллельный порт Z84C15)
Для каждого слота ISA свои биты для IRQ,DRQ,DACK
ISARF подается с RFSH через буфер
BALE подается с MERQ через буфер
CLK14 - отсутствует
CLKZ1 - частота с процессора
TC - отсутствует
/0WS - отсутствует
/MEMW - Подаются с дешифратора ИД7.
/MEMR - Для каждого слота свои.
/IOWR - Обращение, как к памяти, так и к портам ISA происходит через
/IORD - специальные страницы ОЗУ.
Что бы получить доступ к ISA надо установить скорпионовскую страницу 8..15 в
C000h..FFFFh, после этого в порт E2h заслать номер страницы, соответствующий
портам/памяти ISA
┌────────┬──────────────┬─────────┬───────────────┐
│ D0h │ порты ISA1 │ D4h │ память ISA1 │
│ D2h │ порты ISA2 │ D6h │ память ISA2 │
└────────┴──────────────┴─────────┴───────────────┘
P.S. Судя по всему табличка неправильная - должно быть так (выяснили ниже 27 декабря 2020):
Code: Select all
┌────────┬──────────────┬─────────┬───────────────┐
│ D0h │ память ISA1 │ D4h │ порты ISA1 │
│ D2h │ память ISA2 │ D6h │ порты ISA2 │
└────────┴──────────────┴─────────┴───────────────┘
D2 -> 1101 0010 => 0-RAM 1-ISA#2
D4 -> 1101 0100 => 1-IO 0-ISA#1
D6 -> 1101 0110 => 1-IO 1-ISA#2
значит описание должно быть таким:
;D7...should be 1
;D6...should be 1
;D5...should be 0
;D4...should be 1
;D3...should be 0
;D2...specify access mode (0 - ISA memory, 1 - ISA ports)
;D1...specify index of ISA slot (0 - ISA#1, 1 - ISA#2)
;D0...should be 0
P.P.S. Для информации картинка ISA-слота:
Источник: https://linuxgazette.net/124/dutta.html
и https://www.robots.ox.ac.uk/~adutta/blog/interfacing-with-the-isa-bus.html
P.P.P.S. Максимальные возможные размеры ISA-платы:
Источник: http://www.interfacebus.com/Design_Connector_PCAT.html
[/b]