Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   KAY-1024/SL-4/TURBO v2010 + NemoFDC + NemoIDE (http://zx-pk.ru/showthread.php?t=13770)

Alex_NEMO 27th January 2011 13:50

Обновил 1 и 2-й посты. Добавил последнюю(пока) версию "KAY Service ROM" от Дмитрия. Указал ссылки на правленные: прошивку ЛАСа 2002 года и актуальные прошивки для контроллера PS/2 клавы caro.

Лас 27th January 2011 14:43

Quote:

Originally Posted by Alex_NEMO (Post 353567)
Обновил 1 и 2-й посты. Добавил последнюю(пока) версию "KAY Service ROM" от Дмитрия. Указал ссылки на правленные: прошивку ЛАСа 2002 года и актуальные прошивки для контроллера PS/2 клавы caro.

По поводу "KAY Service ROM" от Дмитрия.
Несколько замечаний и предложений.

Дмитрий наверное в курсе, что сервис-ром можно включать программно (бит D3 порта #1ffd).
Но вот эта конструкция в прошивке Дмитрия:
Код с адреса 0bh:
Code:

xor a
out (#fe),a
ld bc,#1ffd
out (c),a

убивает всякую надежду вызвать сервис-ром программно.

1. Зачем обнулять 1ffd? По ресету он уже обнулен, если не ошибаюсь.
Из за этого обнуления невозможен программный запуск прошивки сервис-рома с помощью
Code:

ld bc,#7ffd
xor a
out (c),a
ld b,#1f
ld a,8
out (c),a
jp 0

так как там вы обнуляете #1ffd и мы в процессе выполнения программы в СЕРВИС-ПЗУ вместо сервис-рома вылетаем в 128 sos.

2. Если необходимо при входе в сервис-ром жестко задать состояние порта #1ffd, то сделать это можно вот так:
Code:

ld bc,#1ffd
ld a,#fe
in a,(#fe)
bit 0,a ;проверяем нажатие Caps Shift
ld a,8
jr z,$+3 ;если C.S нажат - то оставляем включенной пзу Сервис-ром
xor a    ;если не нажат - то обнуляем #1ffd
out (c),a

Таким образом будет возможен переход в сервис ром при СБРОСЕ с нажатым Caps Shift, например, из моей прошивки 2002.

P.S. может быть я что-то напутал с назначением битов порта 1ffd, за давностию лет многое забылось, но общая претензия именно такая.

ZEK 27th January 2011 14:44

Quote:

Originally Posted by caro (Post 353306)
Так может быть организован доступ к EEPROM:

Прочитать 0xAA при подтверждении не сможет, бит D5 всегда 0, D6 от состояния магнитофона зависит, D7 от состояния BUSY LPT порта мож проще xxx01010 или даже xxx00000, 5 одновременно нажатых кнопок редкая комбинация

Дмитрий 27th January 2011 15:14

Лас, пожалуй вместо 0 лучше будет просто заслать туда 8 и все?

Лас 27th January 2011 15:20

Три варианта:
1. Не трогать при инициализации порт #1ffd (нужно уточнить состояние порта по ресету, я не помню)
2. Заслать туда 8
3. Заслать 8, если нажат капс шифт.

Black_Cat 27th January 2011 15:25

Quote:

Originally Posted by Лас (Post 353580)
уточнить состояние порта по ресету, я не помню)

ноль

Лас 27th January 2011 15:28

Тогда просто не трогать порт:
Берем и патчим прошивку Дмитрия:
Обнуляем байт со смещением 12h.

caro 27th January 2011 15:29

Quote:

Originally Posted by ZEK
Прочитать 0xAA при подтверждении не сможет, бит D5 всегда 0, D6 от состояния магнитофона зависит, D7 от состояния BUSY LPT порта мож проще xxx01010 или даже xxx00000, 5 одновременно нажатых кнопок редкая комбинация

Да, конечно, проверять надо будет только 5 младших бит, тоесть 0Ah, после маски 1Fh.
Поправил в исходнике.

Лас 27th January 2011 16:15

Я тут поковырял более пристально прошивку Дмитрия и пришел к выводу, что, действительно, при инициализации сервис-рома оптимальным вариантом будет вариант, когда состояние порта 1ffd не меняется вообще (только при инициализации!). Без всяких проверок на нажатие капс шифт.
После инициализации прошивка переносится в ОЗУ и состояние 1ffd там далее устанавливается в необходимое. Поэтому - да, просто пропатчить прошивку, как указано тут или ждать авторской редакции. :)

Дмитрий 27th January 2011 16:48

Лас, сейчас поправлю, хотя думаю уж лучше бы ld a,8: out (c),a... Кроме того... в глюке есть хоткеи по сбросу CS - выход в SOS128 .... :) На что менять будем или уберем нафиг??? А то получим вечный цикл, пока на угад куда-нить вывалимся при отпускании CS.


All times are GMT +4. The time now is 16:41.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.