|
On-Line
#78
15 апреля 1997 |
|
Система - Персональный компьютер АТМ-ТURBO 1 (платы версии 4.50): Структура памяти и портов ввода-вывода, аппаратные ошибки платы.

╔══════════════════════════════════════════════════════════════╗
│ СИСТЕМА │
╚══════════════════════════════════════════════════════════════╝
(C) OLDMAN
Волею судеб, Fido и Максима Полянского (2:5020/689.12) попа-
ла в мои руки полная документация компьютеров семейства АТМ,
дополненная и приведенная в читабельный вид последним. Отдавая
себе отчет в том, что данная модель компьютера практически мер-
тва, так как фирма-разработчик прекратила свое существование, я,
все же понимаю и то, что пользователи у нее есть и их немало. А
документация у них если и имеется, то разобраться с ней пол-
ностью может, наверное, только тот, кто ее и писал.
Следует отметить, что, поскольку в фидошной эхе ZX.SPECTRUM
прошло довольно оживленное обсуждение многочисленных наворотов
этой модели, в нижеприведенный текст, возможно, включены и неко-
торые мысли участников конференции - такой вот mix получается...
Я это к тому, что, если вы найдете какие-то ошибки, то просьба -
не пинайте автора (а тем более, меня - я в этом вопросе вообще
ничего не понимаю ;)
────────────────────────────────
(C) MicroArt
(C) 1995 MaxSoft
Персональный компьютер ATM-TURBO 1
Платы версии 4.10-4.50
Техническое описание и руководство программиста.
Структура памяти и портов ввода вывода.
1. Системный порт
Адрес доступа: #FDFD
Выборка: A1=0,A9=0,A15=1,WR=0
D0 - EA16 \используется для переключения 4-х банков озу (512к)
D1 - EA17 /
D2 - RA16 выбирает какой банк пзу 27010 подключен
"0"-BIOS+SP128+TR-DOS+SP48
"1"- ROM DISK
D3 - CPNET "1"-в этом разряде информирует, что компьютер являет-
ся сетевым при этом в режиме SPECTRUM, при попытке вы-
хода в TR-DOS мы попадаем по тому-же адресу, но в пзу
с BIOS (в программу связи по сети, которую M-ART так и
не написал ;-)). Необходимо устанавливать в "0".
D4 - TON "1"-в этом разряде подключает эквивалент нагрузки к те-
лефонной линии (снимает трубку). Необходимо устанавли-
вать в "0"
D5 - TNAB используется для набора номера телефона ("1"-линия
замкнута "0"-разомкнута)
3. Порт SPECTRUM-128
Адрес доступа: #7FFD
Выборка:A15=0,_A9=1_,A1=0,WR=0
D0-PAGE0 \
D1-PAGE1 Определяют какая страница впечатана с адреса #C000
D2-PAGE2 / (выбор банка - см. порт #FDFD)
D3-SCREEN Этот разряд определяет в какой странице будет находит-
ся экранное озу.
В режиме "SPECTRUM": 0- 5-я страница (с адреса #4000).
1- 7-я страница.
в режиме CP/M: 0- 5-я страница точки, 1-я атрибуты.
1- 7-я страница точки, 3-я атрибуты.
D4-ROM2 Этот сигнал выбирает какая пзу подключена BASIC-128 (1)
или BASIC-48 (0).
D5-LOCK записав в этот разряд "1" мы запрещаем дальнейшую рабо-
ту с портом #7FFD (это сделано для полной совместимости
с SPECTRUM-48).
Карта памяти для различных режимов работы компьютера.
┌─────┬────────────┬───────────┬────────┬──────────┬─────────┐
│mode │Spectrum-128│Spectrum-48│ TR-DOS │CPM-system│CPM-users│
│roms │ ROM2=1 │ ROM2=0 │ ROM2- значения не имеет │
├─────┼────────────┼───────────┼────────┼──────────┼─────────┤
│#0000│ ROM-2 │ ROM-3 │ ROM-1 │ ROM-0 │ RAM-0 │
│#4000│ RAM-5 │ RAM-5 │ RAM-5 │ RAM-5 │ RAM-4 │
│#8000│ RAM-2 │ RAM-2 │ RAM-2 │ RAM-2 │ RAM-2 │
│#C000│ см. состояние портов #7FFD #FDFD│RAM-1или 3│ RAM-3 │
└─────┴────────────┴───────────┴────────┴──────────┴─────────┘
В режиме ZX-SPECTRUM в окне с адреса #C000 может быть влючена
любая страница с 0 по #1F (это зависит от cостояния порта #7FFD
и 2-х младших бит #FDFD)
CPM-system - режим когда активно пзу с монитором (работа с экра-
ном стандартные процедуры ввода/вывода с дисков,оп-
рос клавиатуры, прерывания)
CPM-users - режим когда активна программа пользователя
(в окне 0 - страница 0 озу,в окне 1-страница 4)
При чтении из порта принтера шина A7 устанавливает состояние
сигнала CPSYS этот сигнал служит для принудительного отключения
всех возможных пзу SPECTRUM и подключения с адреса #0000 пзу с
BIOS CP/M. (0-я часть 27512) IN A,(#7B) выключает CPSYS (с адре-
са 0 подключается одно из пзу SPECTRUM) IN A,(#FB) включает
CPSYS (с адреса 0 подключается пзу c CP/M-BIOS)
4. Чтение телефонной линии
Адрес доступа: #7FFD
Выборка:A15=0,A9=1,A1=0,RD=0
Так-же порт #7FFD доступен по чтению.
D7- 1-указывает, что в телефонной линии есть сигнал вызова
(звонка) остальные биты порта не задействованы.
5. Чтение АЦП.
Адрес доступа:#7DFD
Выборка:A15=0,A9=0,A1=0,RD=0
Используется для чтения состояния АЦП. Если АЦП не закончило
цикл преобразования данных, процессор притормажимается сигналом
WAIT.
6. Порты музыкального сопроцессора.
Адрес доступа:#BFFD,#FFFD
Выборка:A15=1,A9=1,A1=0
Используются для программирования музыкального синтезатора
AY-8910(12). (см. описание "SPECTRUM-128 для пользователей и
программистов")
7. Порт принтера и порт ЦАП.
Адрес доступа:#FB
Выборка:A0=1,A1=1,A2=0
На плате реализован стандартный интерфейс CENTRONIX. Он не тре-
бует ни какой предварительной инициализации.
Состояние сигналов при чтении:
D7- состояние сигнала BUSY принтера.
D6- Напряжение в телефонной линии 1- 60 вольт 0- > 15 вольт (ли-
ния занята)
A7- сигнал CPSYS (cм. выше)
Стандартный драйвер вывода на принтер символа из регистра C:
OUT_PRN:IN A,(#7B) ;(для СPM - #FB, иначе переключится пзу)
RLCA
RET C ;C FLAG =1 возврат (принтер не готов)
LD A,C
OUT (#FB),A ;выводим данные
OUT (#7B),A ;импульс строб
OUT (#FB),A ;сброс строба
RET ;C FLAG =0 байт послан
Необходимо помнить что к этому-же порту подключен цифро-аналого-
вый преобразователь.
8. Интерфейсный порт ввода/вывода
Адрес доступа:#FA
Выборка:A0=0,A1=1,A2=0
Стробы IOWR, IORD этого порта выведены на системный разъем ком-
пьютера, с помощью этого порта, и порта CENTRONIX к компьютеру
можно подключить 256 устройств ввода и 256 устройств вывода, при
сохранении полной совместимости с оригиналом. При этом, адрес
порта записывается в CENTRONIX по команде OUT (#FB),A а данные
считываются по команде IN A,(#FA), или записываются по команде
OUT (#FA),A. Шина данных на разъеме буферизированна. Для сохра-
нения совместимости все новые разработки рекомендуется подклю-
чать используя исключительно этот порт.
9. Запись палитры
Адрес доступа:#7DFD
Выборка: A15=0,A9=0,A1=0
Код цвета, палитру которого вы хотите установить должен быть
выставлен на порте BORDER (не забудьте о 3-м (инверсном) бите
цвета, который должен передаваться через шину A3). Для того что-
бы бордюр не мигал, запись необходимо синхронизировать с преры-
ваниями. Число записываемое в порт #7DFD должно нести в битах
0-5 информацию об интенсивности bgrBGR составляющей для данного
цвета. Для каждого луча R,G,B можно задать 4 интенсивности.
10. Порт клавиатуры
Адрес доступа:#FE
Выборка:A0=0,A1=1,A2=1,RD=0
D0 -KD1\
D1 -KD2 \
D2 -KD3 клавиатурные входы данных
D3 -KD4 /
D4 -KD5/
D5 -ADD чтение 1-битного сигнала из телефонной линии.
D6 -TIN Сигнал чтения с магнитофона.
D7 -Z Системный сигнал от ПЛМ, На этом сигнале построена защи-
та от копирования плат. Сигнал активизируется через оп-
ределенное количество тактов после прихода прерывания
(точно не помню какое). Программа, подсчитывая это коли-
чество, получает байт, который является ключем распаков-
ки из пзу BIOSа и BDOSа.
A8 -KA0\
A9 -KA1 \
A10-KA2 \
A11-KA3 \ адресные линии клавиатуры
A12-KA4 /
A13-KA5 /
A14-KA6 /
A15-KA7/
11. Порт бордюра
Адрес доступа:#FE
Выборка:A0=0,A1=1,A2=1,WR=0
Этот порт несколько отличается от стандартного SPECTRUM. Дело в
том что в CP/M бордюр (как и экран) может иметь любой из шес-
тнадцати цветов (из палитры 64) поэтому потребовался дополни-
тельный бит цвета, который был заведен на инверсный A3. Так-же
на этот порт заведено несколько новых сигналов расширения, что
очень мешает совместимости компьютера c фирменным.
D0-BRD0\
D1-BRD1 цвет бордюра
D2-BRD2/
D3-TAPEOUT Выход на магнитофон
D4-SOUND Выход на динамик
D5-не используется
D6-не используется
D7-не используется
A3-BRD3 - 3-й бит цвета (инверсный)
A5-RG1 \
A6-RG0 /определяет видеорежим экрана (см. ниже)
A7-CPUS 0- в этом разряде отключает пзу и вместо него подклю-
чает 0-ю страницу озу, при этом с адреса #4000 под-
ключается 4-я страница озу (вместо стандартно вклю-
ченной 5-й). Это необходимо для нормального функцио-
нирования CP/M.
Режимы экpана:
RG0=1 & RG1=0 - запpещенное состояние
RG0=0 & RG1=0 - 320x200 точек
RG0=0 & RG1=1 - 640x200 точек
RG0=1 & RG1=1 - экpан Sinclair
Программистам необходимо помнить, что при переключении из режи-
ма Sinclair экрана и экранов высокого разрешения, перепутывает-
ся адресное пространство озу а именно A5,A6,A7 и A8,A9,A10 соот-
ветственно т.е. если вы хотите переключить режим экрана - прог-
рамма переключения должна занимать не более 32 байт и распола-
гаться по адресу с одинаковыми A5,A6,A7 и A8,A9,A10 соответ-
ственно, иначе ваша программа зависнет!
Аппаратные ошибки платы.
На плате АТМ-TURBO 1 используется очень неудобная адресация
дополнительных портов конфигурации.
Ошибка 1 - Переключение режимов экрана совмещено с портом
#FE. Что приводит к неработоспособности программ защищенных
ANTON PROTECTION SYSTEM,DIMAN PROTECTION SYSTEM! а так-же дру-
гих где команда OUT (#FE),A дублируется командой OUT (#3E),A Это
приводит к смене видеорежима и адресации памяти (признаком яв-
ляется беспорядочная цветная картинка в режиме высокого разреше-
ния).
Например не работают:
LYRA-2/9 (disk version by Vasilyev Anton)
SONG'LN5 (disk version by Softstar)
......
Ошибка 2 - использование при дешифрации порта #7FFD и портов
муз-процессора адреса A9. В последнее время для адресации порта
#7FFD программисты используют команду OUT (#FD),A с сброшенным 7
битом аккумулятора! Но для ATM-TURBO 1 необходимо наличие "1" на
A9.
Из за этого не идут следующие программы:
STS debuger-monitor,
SHOCK MEGADEMO,
INSULT MEGADEMO,
игрушка RONDLAND,
ASM v1.03 и выше,
FARLIGHT-2
и многие другие игрушки и программы, содержащие дисковые загруз-
чики, написанные в СНГ.
Ошибка 3 - микросхема ВГ93 не работает в режиме турбо!
Способ доработки описанный в документации M-ART (на 1мс.
555кп12) помогает в лечении 1-й проблемы, но не решает 2-ю (тем
более 3-ю), так-же перестает работать такая прекрасная програм-
ма как Honey Comander (теряются функции RESIDENT,RAM-DISK 512k),
кнопка Турбо работает только в CP/M. Ниже предлагается мой соб-
ственный способ решения всех 3 проблем, при котором в HC рабо-
тают все функции + получаем почти 100% Пентагон-совместимую ма-
шину (кроме прерываний и мультиколора).
Для этого необходимо:
1) аккуратно отпаять и отогнуть следующие выводы мс: 1.D17,3.D69
2) откусить от микросхемы D50 выводы 2,3,4,5,6,7 (по самый кор-
пус).
3) взять новую мс. 555тм9 откусить выводы 10,11,12,13,14,15 и
напаять на D50 так, что-бы выводы 2,3,4,5,6,7 попадали в соот-
ветствующие отверстия от D50, выводы 1,8,16 были замкнуты с
соответствующими выводами D50 (а вывод 9 пока отогните).
4) соберите схему
555тм2
+5v 1┌──┬────┐5 LOCKP
│ RES ───x R│tt Q├─────────────
┌┴┐ 2├──┤ │
│ │ RG0 ───┤ D│ │
└┬┘2ком 3│ │ │
├───────────┤ C│ │
│ 4├──┤ │6
│ +5v─x S│ Qx──
│ └──┴────┘
│ ─┴─ кнопка LOCK
├─── ─┬──────── gnd
└┤├───┘
68нф
┌──────X─────────┐
│ 1┌───┐ │
A9 ─────┴─────┤1 │3 │
2│ ├──────┴─ к 1 выв. D17
LOCKP──┤ │
└───┘
разрезать
┌──────X─────────┐
│ 4┌───┐ │
/PRRD───┴─────┤1 │6 │
5│ ├──────┴─ к 3 выв. D69
LOCKP──┤ │
└───┘
9┌───┐
/BRDWR────────┤1 │8
10│ ├──────── к 9 выв. напаянной сверху
LOCKP──┤ │ D50 тм9
└───┘
А теперь вкратце о том как это работает. При включении ком-
пьютера триггер сбрасывается сигналом RESET, сигнал LOCKP=0 и
доступ во все порты разрешен. Если мы работаем в CP/M - нажатие
кнопки ни к чему не приводит т.к. RG0=0. В SPECTRUM ситуация
иная RG0=1 и нажатие кнопки приводит к защелкиванию RG0 в триг-
гер и теперь LOCKP=1, доступ к всем портам CP/M запрещен.
И так вы запускаете программу (например из HC) и программа
зависает! Нажмите Reset (чтобы вернутся в Honey Comander) и за-
пустите программу снова. Но теперь, как только программа начнет
загружаться (это нужно то-бы HC успел установить свою резиден-
тную часть), нажмите на кнопку LOCK. Программа заработает. (ес-
ли вы не используете HC, после выхода в SPECTRUM просто нажмите
кнопку LOCK).
Кнопка LOCK не фиксируемая - достаточно 1 раз нажать ее в ре-
жиме Spectrum и до следующего RESET любая программа будет опре-
делять его как PENTAGON 128.
А теперь о доработке для работы ВГ93 в турбо режиме.
Здесь ничего нового не изобретено (схема просто взята с
TURBO2+), используется 1мс. (555ла3) и оставшийся от предыдущей
доработки элемент лл1.
Необходимо перерезать дорожку идущую от 3 вывода D75.
разрезать
┌─────────────X────────────┐
│ 13┌───┐ 10┌───┐ │
D75.3──┴─────┤& │11 ┌─┤& │8 │
12│ o──────┤9│ o───┴── к 24 выв. D1
┌──┤ │ └─┤ │
│ └───┘ └───┘
└───────────────────────────────────────┐
1┌───┐ 4┌───┐ 12 ┌───┐ │
D89.3 ┌─┤& │3 ┌─┤& │6 ┌───────┤1 │11│
VGCS ──┤2│ o──┤├────┬──┤5│ o───┘ 13│ ├──┘
└─┤ │ 220пф┌┴┐ └─┤ │ TRB───┤лл1│
└───┘ │ │ └───┘ D61.4 └───┘
└┬┘ 3ком
─┴─
Продолжение последует... (с) 1995 MaxSoft
Другие статьи номера:
B.B.S. Новости - О работе B.B.S.'ок. |
Железо - Описание доработки,которая позволит подключить к вашему компьютеру любое внешнее устройство,расчитанное на последовательный порт (мышь, модем, принтер). |
Непроверенные сведенья - Газета от FX-Illusion. Almaz group готовит новый ассемблер. |
Реклама - Реклама и объявления ... |
Система - Персональный компьютер АТМ-ТURBO 1 (платы версии 4.50): Структура памяти и портов ввода-вывода, аппаратные ошибки платы. |
Чемпионат VIRUS-2 - Создание и редактирование вирусов - с чего начинать ?.. Чемпионат недели с участием 32 вирусов. |
Похожие статьи:
В этот день... 15 ноября