Агат/Техническая информация

Материал из Emuverse
Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0.

Контроллер и дисковод 140к

  • Физические параметры: сторон: 1 (0), дорожек: 35 (0-34), секторов: 16 (0-15). Нумерация секторов от 0!
  • Используется свой алгоритм кодирования GCR 6.2, отличающийся от Apple Disk ][?
  • Порядок секторов 0x0,0xD,0xB,0x9,0x7,0x5,0x3,0x1,0xE,0xC,0xA,0x8,0x6,0x4,0x2,0xF — при этом в файле DSK они находятся именно в таком порядке, и при генерации NIB-трека их переставлять не нужно.
  • Как и в Apple Disk ][, число физических дорожек равно 70, но стандартно используется только каждая вторая, следовательно, номер дорожки в образе равен половине номера физической дорожки.

Документация по nib-формату:

Агат-9

Распределение портов

  • C050-C05F ― чт/зп ― видеорежим Apple, переключение ДК в режим Apple (ПМ <= 0).
  • C080-C08F ― режим пзу, псевдо-пзу, сегмента D000-DFFF.
  • C0F0-C0FF ― запись ― переключение ПА <= 1, чтение ― ?.
  • C100-C1FF ― запись ― переключение страниц памяти, чтение ― возврат номера подключенного банка.
  • C200-C2FF ― разъём 2.
  • C300-C3FF ― разъём 3.
  • C400-C4FF ― разъём 4.
  • C500-C5FF ― разъём 5.
  • C700-C7FF ― Видеорежим Агат, переключение ДК а режим Агат/Apple (ПМ)

ПА и ПМ

  • ПА ― «Признак Apple»
    • 0 ― ОЗУ в режиме Агат, только сброс.
    • 1 ― ОЗУ в режиме Apple, запись по адресу C0F0-C0FF
  • ПМ ― «Признак Машины»
    • 0 ― ДК в режиме Apple, обращение (ч/з) по адресам C050-C05F
      или C700-C7FF (при ПА==1)
    • 1 ― ДК в режиме Агат, обращение по адресам C700-C7FF при ПА==0

Порт клавиатуры

Для работы с клавиатурой используются следующие порты ввода-вывода:

  • C000—C00F – код нажатой клавиши (младшие 7 битов). Старший бит, равный 1, означает, что код готов к чтению.
  • C063 – линия Р/Л, старший бит кода нажатой клавиши (бит 7).
  • C010—C01F – обращение по этим адресам сбрасывает буфер для приема следующей клавиши.