Персональный компьютер ATM-TURBO 1
Платы версии 4.10-4.50
Техническое описание
и
руководство программиста.
(C) MicroArt
(C) 1995 MaxSoft (?)
Структура памяти и портов ввода вывода.
1. Системный порт
Адрес доступа: #FDFD
Выборка: A1=0, A9=0, A15=1, WR=0
D0 - EA16 \используется для переключения
D1 - EA17 /4-х банков озу (512к)
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"-
разомкнута)
2. Порт 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 (это зависит от состояния
порта #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 подключается пзу с CP/M-BIOS)
3. Чтение телефонной линии
Адрес доступа: #7FFD
Выборка: A15=0, A9=1, A1=0, RD=0
Так-же порт #7FFD доступен по чтению.
D0 - 1-указывает, что в телефонной линии
есть сигнал вызова (звонка) остальные
биты порта не задействованы.
4. Чтение АЦП.
Адрес доступа:#7DFD
Выборка:A15=0, A9=0, A1=0,RD=0
Используется для чтения состояния АЦП.
Если АЦП не закончило цикл преобразова-
ния данных, процессор притормажимается
сигналом WAIT.
5. Порты музыкального сопроцессора.
Адрес доступа:#BFFD, #FFFD
Выборка: A15=1, A9=1, A1=0
Используются для программирования музы-
кального синтезатора AY-8910(12). (см.
описание "SPECTRUM-128 для пользователей
и программистов")
6. Порт принтера и порт ЦАП.
Адрес доступа:#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
;байт послан
Необходимо помнить что к этому-же порту
подключен цифро-аналоговый преобразова-
тель.
7. Интерфейсный порт ввода/вывода
Адрес доступа:#FA
Выборка: A0=0, A1=1, A2=0
Стробы IOWR, IORD этого порта выведены
на системный разъем компьютера, с по-
мощью этого порта, и порта CENTRONIX к
компьютеру можно подключить 256
устройств ввода и 256 устройств вывода,
при сохранении полной совместимости с
оригиналом. При этом, адрес порта запи-
сывается в CENTRONIX по команде OUT
(#FB),A а данные считываются по команде
IN A,(#FA), или записываются по команде
OUT (#FA),A. Шина данных на разъеме
буферизированна. Для сохранения совмес-
тимости все новые разработки рекомен-
дуется подключать используя исключитель-
но этот порт.
8. Запись палитры
Адрес доступа:#7DFD
Выборка: A15=0, A9=0, A1=0
Код цвета, палитру которого вы хотите
установить должен быть выставлен на пор-
те BORDER (не забудьте о 3-м (инверсном)
бите цвета, который должен передаваться
через шину A3). Для того чтобы бордюр не
мигал, запись необходимо синхронизиро-
вать с прерываниями. Число записываемое
в порт #7DFD должно нести в битах 0-5
информацию об интенсивности bgrBGR сос-
тавляющей для данного цвета. Для каждого
луча R, G, B можно задать 4 интенсивнос-
ти.
9. Порт клавиатуры
Адрес доступа:#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/
10. Порт бордюра
Адрес доступа:#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.
Режимы экрана:
RG0=1 '& RG1=0 - запрещенное состояние
RG0=0 '& RG1=0 - 320x200 точек
RG0=0 '& RG1=1 - 640x200 точек
RG0=1 '& RG1=1 - экран Sinclair
Программистам необходимо помнить, что
при переключении из режима Sinclair эк-
рана и экранов высокого разрешения, пе-
репутывается адресное пространство озу а
именно A5, A6, A7 и A8, A9, A10 соответ-
ственно, т.е. если вы хотите переключить
режим экрана - программа переключения
должна занимать не более 32 байт и
располагаться по адресу с одинаковыми
A5, A6, A7 и A8, A9, A10 соответственно,
иначе ваша программа зависнет!