Faultless
#01
11 февраля 1996 |
|
Сделай сам - контроллер принтера на ZX Spectrum. Доработка контроллера дисковода ФАПЧ.
КОРРЕКТНО ПОДКЛЮЧИТЬ К speccy КОНТРОЛЛЕР ПРИНТЕРА МОЖНО C ИС- ПОЛЬЗОВАНИЕМ К589АП16,К555АПб.ЭТО ИСКЛЮЧАЕТ ЗАВИСАНИЕ КОМПЬЮТЕ- РА ПРИ ВКЛЮЧЕНИИ ИЗ-ЗА НАЛИЧИЯ НА ШИНЕ ДАННЫХ СИГНАЛА КОНТРОЛЛЕ- РА 'ПРИТЕР ОТСУТСТВУЕТ' ИЛИ 'ПРИНТЕР ЗАНЯТ'.ПРИМЕНЯЕТСЯ MUKPOC- ХЕМА KPS8ОВА86 (РИСУНОК 1).ВМЕСТО К5SSЛА9 МОЖНО ИСПОЛЬЗОВАТЬ БО- ЛЕЕ РАСПРОСТРАНЕННУЮ-KSS5ЛАЗ.В ТЕКСТЕ ПЕРЕМЕЩЕНИЯ ДРАЙВЕРА ДЛЯ ЭТОГО КОНТРОЛЛЕРА ЕСТЬ CУЩЕCТВЕННЯ НЕТОЧНОСТЬ,КОТОРАЯ ПРОЯВЛЯЕТ- СЯ,ЕСЛИ ПЕЧАТАЕМАЯ СТРОКА СОДЕРЖИТ БОЛЕЕ 65-ТИ СИМВОЛОВ (ТЕРЯ- ЕТСЯ 1 СИМВОЛ И ПЕЧАТАЕТСЯ ЛИШНЯЯ 'ПУСТАЯ СТРОКА').ДЛЯ ЕЕ YCTPA- НЕНИЯ ДОСТАТОЧНО ПЕРЕСТАВИТЬ МЕСТАМИ ОПЕРАНДЫ newline И conto В СЛЕДУЮЩЕМ ФРАГМЕНТЕ ПРОГРАММЫ: ld bc,conto-base add hl,bc ex (sp),hl jr newline ДЛЯ ИСПОЛЬЗОВАНИЯ ОПИСЫВАЕМОГО ДРАЙВЕРА ПРИ РАБОТЕ C tlw2 ПОД- ПРОГРАММУ ОБСЛУЖИВАНИЯ ПРИНТЕРА МОЖНО ЗНАЧИТЕЛЬНО УПРОСТИТЬ: prn ld hl,base cp {7f +5В $$$$$$$$$$$$$$$$$ jr nz,sym ddS ld a,{23 KPS8ОВА86 & & & & & & r19-r14 jr print К& &%%%%%%& & & & & & & (1К) sym jr c,print &$$$1& ` & &19$$$&$&$&$&$&$$$$&К sub 165 z&$$$2&%%%%%%&18$$$$$&$&$&$&$$$$& jp nc,{0c10 x&$$$3& ` & &17$$$$$$$&$&$&$$$$&d print ld d,a &$$$4& ` & &16$$$$$$$$$&$&$$$$&d wait call {1f54 d&$$$5& `ЕП& &15$$$$$$$$$$$&$$$$&1 jr c,cont1 a&$$$6& ` & &14$$$$$$$$$$$$$$$$& rst 8 t&$$$7& ` & &13$$$$$$$$$$$$$$$$& defb {14 a&$$$8& ` & &12$$$$$$$$$$$$$$$$& cont1 in a,({fb) &$`$$&$& add a,a $$$$$$$9&-` & & ret m & $$11&+` & & РИСУНОК 1 jr nc,wait & & %%%%%%%% ld a,d & & out ({fb),А & &$$$ К ВЫВОДУ 8 dd2 ret & &$$$$$$$ К ВЫВОДЫ 3 dd2 ---------------------------------------------------------------- ДОРАБОТКА КОНТРОЛЛЕРА Д-А РАЗРАБОТКА ФИРМЫ western digital-СХЕМА ПОМЕХОЗАЩИЩЕННОЙ ЦИФРОВОЙ ФАПЧ-СТАЛА ШИРОКО ИЗВЕСТНОЙ В Г.ХАРЬКОВЕ РАНЬШЕ,ЧЕМ В ДРУГИХ ГО- РОДАХ СНГ БЛАГОДАРЯ ОПЕРАТИВНОМУ РЕАГИРОВАНИЮ В.М.Г. И Б.А.Е. НА ПОТРЕБНОСТИ РЫНКА.В 1992 ГОДУ СХЕМА ЗАНЯЛА ПЕРВОЕ МЕСТО ПО РАCКУПАЕМОCТИ,ОНА ВКЛЮЧАНА ПРАКТИЧЕСКИ ВО ВСЕ НОВЫЕ РАЗРАБОТКИ ХАРЬКОВСКИХ РАИОЛЮБИТЕЛЕЙ.РЕКЛАМНЫЙ ПРОСПЕКТ ФИРМЫ УТВЕРЖДАЕТ, ЧТО ДАННАЯ СХЕМА ПОВЫШАЕТ ДОСТОВЕРНОСТЬ ЧТЕНИЯ ИНФОРМАЦИИ ДИСКА НЕ МЕНЕЕ,ЧЕМ В 10 РАЗ.ОПЫТ ИСПОЛЬЗОВАНИЯ СХЕМЫ C КОНТРОЛЛЕРАМИ 'ЭХО','betadisk','pentagon' И ДРУГИМИ ПОДТВЕРЖДАЕТ ЭТУ ИНФОРМА- ЦИЮ В 90 ПРОЦЕНТОВ СЛУЧАЕВ.ОСОБЕННО ЗАМЕТНА РАЗНИЦА ПРИ РАБОТЕ C НИЗКОКАЧЕCТВЕННЫМИ ДИСКОВОДАМИ И ДИСКЕТАМИ. $$$$$$$$$ $$$$$$ r1 10k ПРОШИВКА МИК- & `. & ` &. & РОСХЕМЫ 556 РТЧ & ` & ` & & $$$$$ $$$$$ C . +5v ОПУБЛИКОВАНА В & ` & ` C & & &. & &. & & . wf/de ЖУРНАЛЕ 'РАДИО- & `556& ` О &555 & &555& &555& . rclk ЛЮБИТЕЛЬ' В НО- & ` & ` П & ТМ9& &ТМ2& &ЛАЗ& & . -rawr МЕРЕ 3 ЗА 1993 & `ПТЧ& ` Р & & & & & & r . -rdata ГОД (СТР.6) & ` & ` О & & & & & & 2 . 8 mhz & ` & ` & & & & & & & . gnd %%%%%%%%% %%%%%% %%%%% %%%%% r3...r6 1k 4 x 1К! ЕСЛИ ВАМ ТРЕБУЕТСЯ СХЕМА ЭТОЙ ДОРОБОТКИ ТО ПИШИТЕ И Я ВАМ ЕЕ ВЫШЛЮ (БЕСПЛАТНО!),А ТАКЖЕ ИМЕЕТСЯ CХЕМЯ sound drive by flash! ---------------------------------------------------------------- А ТЕПЕРЬ ХОТЕЛОСЬ БЫ ВАМ РАССКАЗАТЬ О ТЕНЕВОМ ПЗУ tr-dos! ТЕНЕВОЕ ПЗУ tr-dos ПОДКЛЮЧАЕТСЯ К ОСНОВНОМУ ПЗУ КОМПЬЮТЕРА ПРИ ОБРАЩЕНИИ z-80 К ОПРЕДЕЛЕННЫМ АДРЕСАМ ПАМЯТИ.ОДНИМ ИЗ ТАКИХ АД- PECOB-АДРЕСС {3d13.ЕСЛИ ЖЕ tr-dos'У НУЖНО ОБРАТИТЬСЯ К ОСНОВНО- МУ ПЗУ,ТО ОН ДЕЛАЕТ СЛЕДУЮЩЕЕ: -В СТЕК КЛАДЕТСЯ АДРЕС ВОЗВРАТА К ТЕМ ЧАСТЯМ ИЛИ МОДУЛЯМ tr-dos. -В СТЕК КЛАДЕТСЯ АДРЕС ТРЕБУЕМОЙ ПОДПРОГРАММЫ ИЗ ОСНОВНОГО ПЗУ -ТЕНЕВОЕ ПЗУ ОТКЛЮЧАЕТСЯ. -ВЫПОЛНЯЕТСЯ ПЕРЕХОД ПО АДРЕСУ 23746. -ПО ЭТОМУ АДРЕСУ РАСПОЛОЖЕНА ИНСТРУКЦИЯ ret,ПОЭТОМУ СО СТЕКА БЕРЕТСЯ АДРЕС ПОДПРОГРАММЫ В ОСНОВНОМ ПЗУ И ОНА ЗАПУСКАЕТСЯ. -ИНСТРУКЦИЯ ret В КОНЦЕ ПРОГРАММЫ ВЫЗОВЕТ ПЕРЕХОД НАЗАД-В ТЕНЕ- ВОЕ ПЗУ tr-dos'А. ПЕАДЛАГАЕМЫЙ ПРИМЕР ПОКАЗЫВАЕТ,КАК МОЖНО ОБРАТИТЬСЯ К tr-dos'У ТАК,ЧТОБЫ ПОЗВОЛИТЬ ЕЙ ОЧИСТИТЬ ЭКРАН И ВЫДАТЬ СВОЕ СООБЩЕНИЕ В НИЖНЕЙ ЧАСТИ ЭКРАНА.ВМЕСТО ЭТОГО tr-dos ВЫДАЕТ В ОКНЕ 'СООБ- ЩЕНИЕ СИСТЕМЫ',ПРИМЕНЯЕМОГО ОКОННОГО ИНТЕРФЕЙСА.В ПРИМЕРЕ ЕСТЬ ОБРАЩЕНИЕ К НЕОПРЕДЕЛЕННОМУ ЗДЕСЬ ОКОННОМУ ИНТЕРФЕЙСУ. ПРОСТО СВОЮ ПРОГРАММУ C АНАЛОГИЧНЫМ ЗНАЧЕНИЕМ ВЫ МОЖЕТЕ ВСТА- ВИТЬ НА МЕСТА ВЫЗОВОВ ЭТИХ ПРОЦЕДУР СВОИ СПЕЦИАЛЬНЫЕ ВЫЗОВЫ C АНАЛОГИЧНЫМИ ФУНКЦИЯМИ.В ДАННОМ СЛУЧАЕ ВЫЗОВ tr-dos РАЗДЕЛЕН НА 3 ЭТАПА: 1.ПООДГОТОВКА ОПЕРАЦИИ:УСТАНОВКИ ПЕРЕХВАТЧИКОВ. 2.НЕПОСРЕДСТВЕННЫЙ ВЫЗОВ tr-dos ПО {3Д13 (C ВОЗВРАТОМ ПЕРЕХ.) 3.ЗАВЕРШЕНИЕ ОПЕРАЦИИ:СНЯТИЕ ПЕРЕХВАТЧИКА. ИТАК,1-Й ЭТАП-УСТАНОВКА ПЕРЕХВАТЧИКА: pospre sub a ld (rstflg),a ld hl,posw ld (rstptr),hl call im1 posswp ld hl,dos st ld de,23746 ld bc,3 swap2 ld a,(de) ldi dec hl ld (hl),a inc hl jp pe,swap2 ld hl,(23633) ld c,(hl) inc hl ld b,(hl) ld de,(dos oh) ld (dos oh),bc ld (hl),d dec hl ld (hl),e ret ВТОРОЙ ЭТАП: dos push af ld (iy),-1 sub a ld (23823),a ld (23824),a pop af call {3Д13 ld a,(23823) and a ret z scf ret dos st jp dosend dos hl defw 0 dos bc defw 0 dos oh defw dos rst dosend ld (dos hl),hl ld (dos bc),bc pop bc push af and a ld hl,{Odбb sbc hl,bc jr z,dos cls ld hl,{1601 sbc hl,bc jr z,dosing pop af push bc ld hl,(dos hl) ld bc,(dos bc) ret posign pop af ret rstflg defb 0 rstptr defw dosw doscls pop af ld hl,dosw ld de,dosw+1 ld bc,5*21-1 ld (hl),{ff ldir ld hl,dosw ld (rstptr),hl ld a,(rstflg) and a ld a,28 call z,open ld a,-1 ld (rstflg),А jp reddraw dosrst push bc push de push hl ld hl,(rstptr) ld (hl),a inc hl ld (rstptr),hl call text-n ;ОБНОВИТЬ ТЕКСТ В ОКНЕ pop hl pop de pop bc ret dosend ld (iy),-1 caЛЛ dosswp ld a,(rstflg) and a ;ЕСЛИ ОКНО СООБЩАЕТ tr-dos ОТКРЫВАЕТ call nz,close ;ТО ЗАКРЫТЬ ЕГО ret ТАКИМ ОБРАЗОМ,ЕСЛИ tr-dos ЗАХОЧЕТ В ПРОЦЕССЕ РАБОТЫ ВЫДАТЬ СООБЩЕНИЕ disk error ИЛИ read only,ПРОГРАММА ПЕРВЫМ ДЕЛОМ ПО- ПЫТАЕТСЯ ОЧИСТИТЬ ЭКРАН.ЭТА ПОПЫТКА БУДЕТ ОБНАРУЖЕНА dosend И ВМЕСТО ОТЧИCТКИ ЭКРАНА БУДЕТ ВЫПОЛНЕН ВЫВОД ОКНА СООБЩЕНИЯ tr-dos И ЕГО ОТЧИСТКА.ЗАТЕМ tr-dos ПОПЫТАЕТСЯ ОТКРЫТЬ ПОТОК 'k',НО ЭТА ПОПЫТКА БУДЕТ ПЕРЕХВАЧЕНА И ПРОИГНОРИРОВАНА.В РЕ- ЗУЛЬТАТЕ СООБЩЕНИЕ tr-dos ПОЯВЛЯЕТСЯ В КРАСИВОМ МНОГОЦВЕТНОМ ОКНЕ ПОСЕРЕДИНЕ ЭКРАНА,А НЕ ВНИЗУ.ПО ЗАВЕРШЕНИЕ ПОСЛЕДНИХ ВЫ- ЗОВОВ В tr-dos ОКНО ЗАКРОЕТСЯ (В ПРОЦЕССЕ dosend). $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ p.p.s ВОРОЖКИН АЛЕКСАНДР,БАЖЕНОВ СТАС
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября