Привет Dima!
Ответ на письмо Dima Bystrov от Aleksey Tarasow:
Это чудо есть у меня, и на любом профи 5.х Кроме того, если верить людям (я сам не железняк) его очень легко повторить.AT>>>> Было бы замечательно, если бы на умела работать с контролером
AT>>>> Профи.
DB>>> а что это за контроллер?
AT>> :) Это контролер IDE устройств созднаные в фирме Кондор, для
AT>> компьютера Профи+. В версии 5.0 контролер уже был интегрирован на
AT>> мать. Hо можно подключить к любому спекки как отдельную плату. Если
AT>> не ошибаюсь - это самый первый контроллер IDE для спекки, и один из
AT>> самых удачных.
DB> полагаю, сейчас это чудо уже не найдёшь...
DB> отлаживать проблематично
Вот описание портов, может поможет.DB> там нельзя адреса перебросить, чтобы было похоже на SMUC или Nemo?
ОПИСАHИЕ ПОРТОВ КОМПЬЮТЕРА PROFI,PROFI+,PROFI 2+
Основная периферия в длинной адресации для PROFI,PROFI+,PROFI 2+
ююююююююююююююююююююююююю ююююююююююююююююююююююююю юююююююююююююю
Длинная адресация действительна во всех режимах работы PROFI,PROFI 2+
/w - означает,что порт доступен по записи
/r - означает,что порт доступен по чтению
тээээээээээээээээээээЯ
Е CPM=0/1 & ROM14=0/1Е
Йэээээээээээяээээээээээээ ээээээээяэээээээээєээээээ В
ї часы "AS" ( номер регистра ) /wї FFFF ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї порт CMR1 ( D0-D7 смотри ниже ) /wї DFFD ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї музукальный сопроцессор ( даные ) ї BFFD ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї музыкальный сопроцессор (номер регистра) ї FFFD ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї часы "DS" ( данные ) ї FFEF ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї свободные адреса A8-A12 ї **** ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї порт CMR0 ( D0-D5 смотри ниже ) /wї 7FFD ї
фюююююююююююююююююююююююю юююююююююююююююююющюююююю А
ї по остальным адресам обращение запрещено ї .... ї
ї ї ї
°юююююююююююююююююююююююю юююююююююююююююююю±юююююю Ф
Примечание: назначение портов CMR0,CMR1 будут описаны ниже
Основная периферия в короткой адресации для PROFI,PROFI+,PROFI 2+
ююююююююююююююююююююююююю ююююююююююююююююююююююююю ююююююююююююююю
( основная адресация для режима SINCLAIR )
тээээээээээээээээээээЯ
Е CPM=0 & ROM14=0 Е
Йэээээээээээяээээээээээээ ээээээээяэээээээээєээээВ
ї порт "FF"/r часы "AS" /wї FF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї клавиатура D0-D4(D5)/r;бордюр D0-D2 /wї ї
ї чтение МГ D6/w; запись МГ D3 /wї FE ї
ї BEEPер D4 /wї ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї смотри "регистры муз.сопр." ї*FD ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї FB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї F7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї часы "DS" ї DF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї ВГ93 (trdos=1) ; ВВ55 (trdos=0) - рус ї 7F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї ВГ93 (trdos=1) ; ВВ55 (trdos=0) - порт C ї 5F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї ВГ93 (trdos=1) ; ВВ55 (trdos=0) - порт B ї 3F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї ВГ93 (trdos=1) ; ВВ55 (trdos=0) - порт A ї 1F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї**RQ ВГ93(trdos=1);см.порт "FF"(trdos=0)/wї FF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї по остальным адресам обращение запрещено ї .. ї
°юююююююююююююююююююююююю юююююююююююююююююю±ююююФ
Примечание:
1) назначение регистров ВГ93 совпадает с написанными ниже в таблице;
2) назначение портов FE, FF ( системный регистр RQ ВГ93 ) будет опи-
сано ниже.
Основная периферия в короткой адресации
ююююююююююююююююююююююююю юююююююююююююююю
для компьютеров PROFI,PROFI+,PROFI 2+
ююююююююююююююююююююююююю юююююююююююю
тээээээээээээээээээээЯ
Е CPM=1 & ROM14=0 Е
Йэээээээээээяээээээээээээ ээээээээяэээээээээєээээВ
ї порт "FF"/r; часы "AS" /wї FF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї клавиатура D0-D4(D5)/r;бордюр D0-D2 /wї ї
ї чтение МГ D6/r; запись МГ D3 /wї FE ї
ї BEEPер D4 /wї ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї смотри "регистры муз.сопр." ї*FD ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї FB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї F7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї часы "DS" ї DF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистры ВГ93 - регистр данных ї 7F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистры ВГ93 - регистр сектора ї 5F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистры ВГ93 - регистр дорожки ї 3F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр команд /w ,состояния /r ВГ93 ї 1F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї **RQ ВГ93 - системный регистр ї BF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї по остальным адресам обращение запрещено ї .. ї
ї ї ї
°юююююююююююююююююююююююю юююююююююююююююююю±ююююФ
Примечание: назначение портов FE,системного регистра см.ниже
Расширенная периферия в короткой адресации
ююююююююююююююююююююююююю юююююююююююююююююю
только для компьютера PROFI 2+
эээээээээээээээээээээээээ эээээ
Все порты, выбирающиеся по длинным адресам работают и при
включенной короткой адресации(напр. порты CMR0,CMR1 могут в этом
режиме выбираться и по коротким и по длинным адресам ).
тээээээээээээээээээээЯ
Е CPM=1 & ROM14=1 Е
Йэээээээээээяээээээээээээ ээээээээяэээээээээєээээВ
ї часы "AS" - номер регистра /wї FF ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї клавиатура D0-D4(D5)/r;бордюр D0-D2 /wї ї
ї чтение МГ D6 /r;запись МГ D3 /wї FE ї
ї BEEPир D4 /wї ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї смотри "регистры муз.сопр." ї*FD ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї модем "condor" (внеш.адр) ї FB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї таймер ВИ53/2 (внеш.адр) ї F7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт рус ВВ51 (COM1) ї F3 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт рус ВИ53/1 (COM1) ї EF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт винчестера IDE ї EB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт рус ВВ55 ї E7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр данных ВГ93 ї E3 ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї часы "AS" (неосновной адрес) /wї DF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї модем "condor" (внеш.адр) ї DB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї таймер ВИ53/2 (внеш.адр) ї D7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр данных ВВ51 (COM1) ї D3 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр канала 2 ВИ53/1 (COM1) ї CF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт винчестера IDE ї CB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт ВВ55 ( порт C ) ї C7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр сектора ВГ93 ї C3 ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї часы "DS" ї BF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї модем "condor" (внеш.адр) ї BB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї таймер ВИ53/2 (внеш.адр) ї B7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр управления контроллером ї B3 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр канала 1 ВИ53/1 (COM1) ї AF ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт винчестера IDE ї AB ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт ВВ55 ( порт B ) ї A7 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр дорожки ВГ93 ї A3 ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї часы "DS" (неосновной адрес) ї 9F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї модем "condor" (внеш.адр) ї 9B ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї таймер ВИ53/2 (внеш.адр) ї 97 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї аналогично B3 (COM1) ї 93 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр канала 0 ВИ53/1 (COM1) ї 8F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт винчестера IDE ї 8B ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї порт ВВ55 ( порт A ) ї 87 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї регистр команд ВГ93 ї 83 ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї свободно ї 7F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї 7B ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї 77 ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї 6F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї свободно ї 5F ї
фюююююююююююююююююююююююю юююююююююююююююююющююююА
ї системный регистр **RQ93 ї 3F ї
ыээээээээээээээээээээээээ ээээээээээээээээээ»ээээЩ
ї по остальным адресам обращение запрещено ї .. ї
°юююююююююююююююююююююююю юююююююююююююююююю±ююююФ
ПРИМЕЧАHИЕ: (COM1) означает,что данный адрес относится к COM- порту.
ээ Control Memory Registers ээ
ююююююююююююююююююююююююю ююююю
CMR0 EQU 07FFDH - Sinclair 128 register
CMR1 EQU 0DFFDH - CP/M register
Значение разрядов порта CMR1.
УююююІюююююююІююююююююююю ююююююююююююююююююююююююю ююююююююююююююЮ
ї D0 ї SEGA3 ї ї
ї D1 ї SEGA4 ї Hомер проецируемой страницы памяти ( строка ) ї
ї D2 ї SEGA5 ї ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююююююююююА
ї ї ї Выбор положения окна проецирования сегментов CPU:ї
ї D3 ї SCO ї 0 - окно номер 1 (C000-FFFF) ї
ї ї ї 1 - окно номер 2 (4000-7FFF) ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююююююююююА
ї ї ї 1 - отключает блокировку порта CMR0 и выключает ї
ї D4 ї NOROM ї ПЗУ, помещая на его место ОЗУ из seg 00 ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююююююююююА
ї ї ї 1 - блокирует работу контроллера из ПЗУ TR-DOS ї
ї ї ї и включает порты контроллера на доступ из ОЗУ ї
ї D5 ї CP/M ї (при ROM14=0).При ROM14=1 - модифицирует доступ ї
ї ї ї к расширенной периферии ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююююююююююА
ї ї ї Проецирует дополнительный экран seg 06 в карту ї
ї D6 ї SCR ї памяти процесора на место seg02 при этом бит D3 ї
ї ї ї CMR0 должен быть в "1" (8000-BFFF) ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююююююююююА
ї ї ї 0 - "SPECTRUM" растр (видео контроллер ї
ї D7 ї 80DS ї разворачивает seg05) ї
ї ї ї 1 - Расширенный растр (seg06 & seg3A) ї
°юююю±ююююююю±ююююююююююю ююююююююююююююююююююююююю ююююююююююююююФ
Значение разрядов порта CMR0.
УююююІюююююююІююююююююююю ююююююююююююююююююююююююю ююююююЮ
ї D0 ї SEGA0 ї Hомер проецируемого сегмента памяти ї
ї D1 ї SEGA1 ї ( столбец ) ї
ї D2 ї SEGA2 ї ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї ї ї Выбор положения растра экрана "SPECTRUM"ї
ї ї ї 0 - seg05, 1 - seg07 ( при 80DS = 0 ) ї
ї D3 ї POLEK ї --------------------------------------- ї
ї ї ї Выбор положения экрана CP/M (80DS = 1): ї
ї ї ї 0 - экран точек seg04, атрибуты seg38 ї
ї ї ї 1 - экран точек seg06, атрибуты seg3A ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї ї ї Переключает страницы ПЗУ "SPECTRUM" ї
ї D4 ї ROM14 ї 0 - Spectrum128, 1 - Spectrum48 (CP/M=0)ї
ї ї ї --------------------------------------- ї
ї ї ї Модификатор внешних устройств (CP/M=1)ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D5 ї BLOCK ї Блокирует работу порта CMR0 (NOROM=0) ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D6 ї --- ї Hе используется ї
ї D7 ї ї ї
°юююю±ююююююю±ююююююююююю ююююююююююююююююююююююююю ююююююФ
Получение значений портов CMR0,CMR1
ююююююююююююююююююююююююю юююююююююю
средствами ассемблера m80.com
ююююююююююююююююююююююююю юююю
mem01 EQU 1 - сегмент 1
mem03 EQU 3 - сегмрнт 3
mem04 EQU 4 - сегмент 4
mem05 EQU 5 - сегмент 5
win4000 EQU 00000000B - окно проецирования 2
winC000 EQU 00001000B - окно проецирования 1
scrseg4 EQU 00000000B - за экран отвечает сегмент 04
scrseg6 EQU 00001000B - за экран отвечает сегмент 06
mem10 EQU 0
offROM EQU 00010000B - ПЗУ выключено
onROM EQU 00000000B - ПЗУ включено
onWG93 EQU 00100000B - порты ВГ93 включить на доступ
onIK55 EQU 00000000B - порты ВВ55 включить на доступ
on64 EQU 01000000B - сегмент 06 включить с 8000h
off64 EQU 00000000B - сегмент 02 включить с 8000h
set64 EQU 10000000B - включить расширенный растр
set32 EQU 00000000B - выключить расширенный растр
эээээээээээээээээээээээээ эээээ
CMRS стандартных драйверов
dos0 EQU mem01 or scrC000
dos1 EQU set64 or off64 or onWG93 or offROM or win4000 or mem10
con0 EQU mem05 or scrC000
con1 EQU set64 or on64 or onWG93 or offROM or win4000 or mem10
lst0 EQU mem05 or scrC000
lst1 EQU set64 or off64 or onIK55 or offROM or win4000 or mem10
dsk0 EQU mem05 or scrC000
dsk1 EQU set64 or off64 or onWG93 or offROM or win4000 or mem10
botT EQU mem05 or scrC000
bot0 EQU mem01 or scrC000
bot1 EQU mem10 or win4000 or offROM or onWG93 or off64 or set64
CMRS драйверов:
CMRS80 EQU CONCMRS-100H DSPE80x
другие драйвера ( напр.KBDK) в качестве CMRS берут CMRS вышеуказанных
драйверов
ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ ЖЖЖЖЖ
эээээ Border Register ээээээ
ѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕѕ ѕѕѕѕѕ
PORT EQU 0FEH - порт ZX-SPECTRUM
Значение разрядов порта:
Hа запись:
PORT.2-0 цвет бордюра
PORT.3 выход магнитофона
PORT.4 выход ZX-Sound
Hа чтение:
PORT.5-0 клавиатура ( старший байт
адреса идет на вход клавиатуры )
PORT.6 вход магнитофона
PORT.7
Concurrent BIOS PROFI PLUS
эээээээээээээээээээээээээ эээээээээээээээээээээээээ эээээээээээээ
Системный регистр контроллера дисководов:
эээээээээээээээээээээээээ эээээээээээээээээээээээээ эээээээээээээ
УююююІюююююююІююююююююююю ююююююююююююююююююююююююю ююююююЮ
ї D0 ї ї Выбор дисковода /wї
ї D1 ї ї /wї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D2 ї ї 0 - сброс ВГ93 /wї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D3 ї ї 1 - HRDY, 0 - эмуляция сигнала IP /wї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D4 ї SIDE ї выбор стороны not(0/1) /wї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D5 ї ї 0 - двойная плотность записи ( MFM ) /wї
ї ї ї 1 - одинарная плотность записи ( FM ) ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D6 ї DRQ ї чтение сигнала DRQ /rї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D7 ї INTRQ ї чтение сигнала INTRQ /rї
°юююю±ююююююю±ююююююююююю ююююююююююююююююююююююююю ююююююФ
/r - доступен только по чтению
/w - доступен только по записи
эээээээээээээээээээээээээ эээээээээээээээээээээээээ ээээээээээээ
Регистр управления контроллера служит для
управления контроллером прерываний от компорта и
512ВИ1,а также для проверки нек. сигналов.:
эээээээээээээээээээээээээ эээээээээээээээээээээээээ ээээээээээээ
УююююІюююююююІююююююююююю ююююююююююююююююююююююююю ююююююЮ
ї ї INT ї Hа запись: 1-разрешить прерыванияти ї
ї D0 ї / ї 0-запретить прерывания ї
ї ї RI ї Hа чтение: чтение линии RING компорта ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D1 ї ї ї
ї D2 ї ї ї
ї D3 ї ----- ї не используются ї
ї D4 ї ї ї
ї D5 ї ї ї
ї D6 ї ї ї
фюююющююююююющююююююююююю ююююююююююююююююююююююююю ююююююА
ї D7 ї DCD ї Hа чтение: чтение сигнала DCD компорта ї
°юююю±ююююююю±ююююююююююю ююююююююююююююююююююююююю ююююююФ
С уважением, Aleksey!
---




Ответить с цитированием