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 вирусов. |
Похожие статьи:
В этот день... 21 ноября