Дим, а на Pentagon 1024SL v2.2?!!
Вид для печати
Версия прошивки 0.6 для встроенного в KAY1024
контроллера клавиатуры.
Работа IBM-клавиатуры в режиме Scan Code 2.
Реализована работа с EEPROM, по алгоритму, описанному в форуме.
Требует проверки функционирования.
Клавиша PAUSE останавливает работу Z80.
KBD6_M48.HEX - для ATMega48
KBD6_M8.HEX - для ATMega8
пардон, я тут конечно стормозил, A16’ это конечно D3 7FFD, при том без вариантов. Вышеприведённая фраза должна быть: «считать для KAY&Scorpion A17'=D7 7FFD, а A18'=D4 1FFD», но эти разряды к обсуждаемому вопросу не относятся.
Теперь более подробно по сути вопроса, т.е. про рамдиск. Чтоб не засорять эту тему, читать здесь.
Я извиняюсь, но что делает эта конструкция:
Наверное, опрашивается кемпстон-мышь?Код:LOOP call xxxx
ld a,#fa
in a,(#df)
cpl
and #07
jr nz,LOOP
ret
Прекрасно. Попробуйте запустить прошивку с отключенным контроллером мыши, но с подключенным интерфейсом кемпстон-джойстика, и нажмите какую нибудь клавишу (например, клавиши выбора диска)". Будет грустно.
Может быть, примерно так сделать?
Код:ld b,#00
LOOP push bc
call xxxx
pop bc
ld a,#fa
in a,(#df)
cpl
and #07
ret z
djnz LOOP
ret
Лас, я конечно извиняюсь, но автор сией писанины не я, а Mr.Gluk+AloneCoder+Savelij, я только дорабатываю под Кай.
По какому адресу сия конструкция найдена? Попробую привинтить вашу.
---------- Post added at 12:22 ---------- Previous post was at 12:19 ----------
Лас, нашел где это:
У меня никогда не было контроллера мышатины, поэтому программить его я не умею, предлагайте что более правильное - с удовольствием вставлю.Код:TIMELP CALL PRINTTIME
LD A,0XFA
IN A,(0XDF) ;КНОПКИ МЫШИ
CPL
AND 7
JR NZ,TIMELP ;ПОКА НЕ ОТПУСТЯТ
RET
Проверил в эмуле работу без мыши, действительно при нажатии на цифры получаем висяк с постоянным опросом джойстика... исправил, спасибо Лас.
Сейчас исправлю еще один глючок и выложу новую версию.
Предлагаю такой вариант, с более длительным ожиданием отпускания клавиши (2-3 сек, точно не подсчитывал):
Там ожидание кнопки мыши однократное, после каждого нажатия гор.клавиши в меню. Так что постоянно тормозить не должно ничего в меню.Код:ld bс,#0000
LOOP push bc
call xxxx
pop bc
ld a,#fa
in a,(#df)
cpl
and #07
ret z
dec bc
ld a,b
or c
jr nz,LOOP
ret
В общем добавил в DETECTMOUSE Лас-овскую процедурину, а так же поправил процедуру TIMELP, т.к. в коде она частенько выполняется, даже если мыши нет. Проверил на US в разных вариациях и с мышью и с отключением оной - висяки пропали.
В посте: http://www.zx.pk.ru/showpost.php?p=353924&postcount=403 поправил прошивку контроллера клавиатуры.
Кто-нибудь опробовал версию, работающую в режиме Scan Code 2?
Итак, предлагаю вашему вниманию новую версию сервисной прошивки для KAY-совместимых машин.
Изменения:
Опять же - проверял на эмулях, в купе с образами SD-карты, желательно протестировать на реальном железе.Код:services_kay v.0.2a
15:48 29.01.2011 Hard/WCG
* обнаружил глюк - неглюк не хочет отображать каталог виртуального
диска Kay, выдает ошибку "Stupid user". Исправил - перед обращением
к диску даем команду инициализации.
+ Теперь KAY Service Rom умеет грузить в рам-диск файлы trd.
Прикрутил новый fat_boot от ЭвоСервис-рома, но вырезал из него
загрузку fdi-образов. Правда пришлось передвинуть буфер каталога из
страничной области, с адреса #c000 на адрес #A500, ну не умеет
Кай, как Эво щелкать страницами в окнах CPU1-CPU2. А это по идее при
большом количестве файлов в каталоге может привести к краху.
* Переделал процедуру загрузки scl-файлов. Однако стоит учитывать, что
при превышении scl-а 640 кб, часть файла обрежется, т.к. память-то
не резиновая, это вам не ПентЭво :) Это же касается и trd нестандартной
длины.
* Исправил глюк с опросом мыши, приводящий к зависаниям, при
отсутствии контроллера мыши. Tnx 2 Лас.
Alex_NEMO, а сервис попробовал-то?
---------- Post added at 20:26 ---------- Previous post was at 20:24 ----------
Кстати... думаю может стоит разделить ветку, а то тут уже и про firmware разговор пошел :v2_dizzy_step:
Дим, извини, сегодня уже не успеваю... Завтра - точно попробую. Профка не завелась... С мафона то же нет загрузки...
---------- Post added at 21:54 ---------- Previous post was at 21:47 ----------
Слушай, СМУК же можно без профки как простой "Немо ИДЕ" пользовать? Как винт/компакт-флэху побыстрому приготовить для работы на Спеке?
SoftFelix, у тебя порт мафона робит "на чтение"?
---------- Post added at 22:01 ---------- Previous post was at 22:00 ----------
Хотя бы бордюр перемаргивает после LOAD""?
Не-а. И не будет. Надо убрать нафик "доработку до фирменности" VD28-R79, ибо это зло. Как оно будет работать, если на AUDIO' лог.1 и она намертво душит выход компаратора. VD28 выпаиваем, а R79 заменяем перемычкой. При обсуждении этой доработки, я высказал некоторое сомнение, но, видимо, не столь настойчиво. Про работу читалки на NE555 ничего сказать не могу.
Я видимо очень много пропустил, а зачем вообще делали эту доработку?Цитата:
Надо убрать нафик "доработку до фирменности" VD28-R79
SoftFelix, не напрягайся, компов с такой схемотехникой выпущено более миллиона :) , так что всё проверено - мин нет! :)
Дима, успел-таки проверить сегодня - прошил "сборку" для ROM-Switcher'а. Первая страница - "перевернутая" прошивка ЛАСа, но вместо КРАМИСа - неГЛЮК. 2-я страница - "перевернутая" прошивка ЛАСа. Две оставшиеся - фениксовские с Фаталом и ВДЦ. По сбросу, с удержанием Ctrl в сервис НЕ вошел, пришлось переставлять J5 на 11-12. Но и тут неудача! В сервис вошел, но на клаву он НЕ реагировал! Ни на PS/2, на на механику. Только "звездочка" на анимашке периодически мерцала...
---------- Post added at 23:27 ---------- Previous post was at 23:26 ----------
Спасибо, завтра попробую...
Я только последнюю и попробовал: 0.2a из 417 поста.
Alex_NEMO, сдается мне, что как-раз из-за перемычки и глюки с клавой... а крамис работает нормально?
По перемычке. Это не рекомендация, это правило!!!
Перемычка разворота страничек ПЗУ всегда должна быть в состоянии 10-11.
Страницы должны распологаться
0: SERVICE
1: TRDOS
2: BASIC 128
3: BASIC 48
Запишите это в первом посту.
Когда перемычка стоит 11-12 и поменяны половины ПЗУ местами это не правильно!!!
Перемычка носит технологический характер. Необходима для запуска сервис ROM без возможности корректно из него куда то выйти!!!
Допустим у Alex_NEMO не работает глюк потому что вместо ожидаемой им после махинаций с 7FFD и 1FFD вместо 48басик получается TRDOS. По этой же причине и крамис стартанутый таким образом никуда не может выйти.
В сервисную страницу корректно можно попасть только двумя способами
1. Программно
2. После фикса NEMO FDC что бы после сброса DOS был включен
Когда глюк и крамис стартуют с переставленной перемычкой, он стартует не из сервисной страницы а из страницы 128 бейсика!!!
Надеюсь вопрос с перемычкой закроется раз и навсегда