ZX Element
#02
06 июня 1998 |
|
Чугуний - Байт-01.
БАЙТ-01! ═══════════════════════════════ (С) TORNADO (W) S.STURM ------------ ZX-LEGION Сейчас я расскажу о еще одном детище, якобы следующее поколение Байта - это "Ба- йт-01". Байт-01 отличается от стандартного Байта: - дисковый контроллер TR-DOS 5.01 (с дис- ка)! - операционная система СР/M (с диска)! - оперативная память 128 кб - режим двойного разрешения (512*192) - интерфейсы: Centronic, ИРПР-М, ИРПР, RS2 32 - подключение в локальную сеть (до 16 ма- шин) Такое изобилие примочек уничтожает одно: апаратное несовместимость, т.е. если программа захочет обратиться к портам (ко- торых нет в стандартном Байте, скажем: по- рты TR-DOS'а, Centronic), то она их не по- лучит, и отсюда вытекает: не работает ADS, FUT и т.д. Пока я затрону только дисковый конт- роллер. Как и все он основан на ..ВГ93, который находится в КВУ (контроллер внеш- них устройств). В КВУ заложена идея присо- единения дополнительных 3-х плат внешних устройств. На плате контроллера дисковода находится дешифратор внутренних адресов КВУ (ИД7) и дешифратор (ИДЧ) портов конт- роллера дисковода. К большому сожалению эти порты не совпадают по адресам со стан- дартом TR-DOS 5.03 и т.д. и они находятся по другим адресам: порт Байт-01 #08 #28 #48 #68 #09' порт TR-DOS 5.03 #1F #3F #5F #7F #FF Порт Байт-01-09 по битам не такой как порт TR-DOS 5.03 #FF: биты не на своем месте. Все порты контроллера: #08, #28, #48 #68 - также по значение как и TR-DOS 5.03 (это порты ВГ93), но чтение из порта #09 не представляется возможным, да это и не нуж- но, нужную информацию можно сосчитать из #08 (#1F). Порт #09 на запись: D0 - FM/MFM D1 - MOTOR D2 - SIDE D3 - DISK АВ Сама TR-DOS 5.01 перепахана на эти порты. Замена на TR-DOS 5.03 не представляется возможным, из-за других портов, да и пере- битие все равно не даст полной совместимо- стим. Байтовская TR-DOS сама отлавливает нажатие клавиш 1 или 2 и кнопку "ПРЕР" (типа "MA- GIC") СР/M'овские диски можно считать через #3D13, но нужно считать только по одному сектору, т.к. сектор килобайтный. На доро- жке пять секторов: 0,3,1,4,2 (точнее 1,4, 2,5,3). Привожу программу для чтения: LOADSEC PUSH HL ;HL - адрес памяти PUSH DE ;DE - трек/сектор PUSH ВС ;В - кол. секторов LD ВС,#0105 ; CALL #3D13 ; 0<=трек<=159 POP ВС ; 0<=сектор<=4 POP DE ;если сектор больше 4 POP HL ;скажем 5 5, TR-DOS LD A,Н ;выдаст об ошибке ADD A,4 ;6-го (!) сектора LD Н,A INC E LD A,E СР 5 JR С,$+5 INC D LD E,0 DJNZ LOADSEC RET После некоторого капания СР/M диска я воз- можно нашел порт дополнительной памати: по моему это порт #F0, но я в этом не сов- сем уверен. А сейчас я привожу порты CENTRONIC: #10: А0 - А3 адрес абонемента в локальной сети А4 - А6 0...2-й на поле таймера А7 - сигнал занято от принтера #30 В0 - В7 данные на принтер #50 С1 - сигнал строб на принтер С3 - выдача данных на принтер в пря- мом или инверсном виде С4 - размещение работы 2-го канала таймера С5 - размещение работы 1-го канала #70 находится число #90 Пока на этом придется закончить. ------------------------------------------
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября