Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор УКНЦ (http://zx-pk.ru/showthread.php?t=6257)

Vamos 17th October 2011 00:31

Quote:

Originally Posted by Arseny (Post 425334)
Ты просто предложил вариант предложеный мной, вот я и спросил - в чем разница? Может я что-то упустил...

Извини если я нарушил твои авторские права. А разница хоть и не большая но есть.
Вопрос в другом, будет ли это реализовано в эмуляторе.

Alex_K 17th October 2011 01:32

Изумительно прям таки!!! Сейчас опробовал в пультовом отладчике на реальной УКНЦ тест проверки ловушки адреса. И оказалось, что при работе в режиме сопровождения по линии ПОРТ (бит8=1, бит0=0 в регистре 176644), кроме сигнала ПОРТ выдается сигнал RPLY. Т.е. занесли в 176646 значение 177514, и после этого регистр 177514 появляется в адресном пространстве. Хотя не факт, может это в адаптере локальной сети ПОРТ замыкается на RPLY, надо схему смотреть, а адаптер снимать неохота.
Так что в тесте ничего не трапается по 4-му вектору. Однако.
hobot, еще раз ОГРОМНОЕ СПАСИБО за этот тест. Оказывается не всё в документации описывают.

hobot 17th October 2011 01:43

Quote:

Originally Posted by Alex_K (Post 425366)
Оказывается не всё в документации описывают.

form, в целом об отечественных доках не самого высокого мнения (например).
Тест взял с дискеты системной из стандартного ПО которое прилагалось к компьютеру, возможно там ещё что-нибудь в этом роде есть, я их ещё внимательно не смотрел, вчера только удалось считать в образы. Данный тест помню ещё со школы, он то же был на дисках и его гоняли наши люди-паяльники, поскольку школьные машинки подвергались лютым экспериментам :redface:

Quote:

Originally Posted by Alex_K (Post 425366)
Т.е. занесли в 176646 значение 177514, и после этого регистр 177514 появляется в адресном пространстве.

Разблокирование?:confused_std:(не совсем грамотный термин - суть описанного процесса похожа) А зачем разработчикам железа и вообще кому бы то ни было такие усложнения, фича, наворот?
Я не программист и не системщик, но страдаю от всего этого не меньше, как пользователь:confused_std:

Alex_K 17th October 2011 01:59

Quote:

Originally Posted by hobot (Post 425368)
form, в целом об отечественных доках не самого высокого мнения (например).

По данному вопросу я с form-ом согласен на 1000%. Сам всегда читал документацию и перепроверял на практике. Стандартное техническое описание к УКНЦ тоже страдает этой болезнью. Веселее, когда в одной главе описывают, что должно быть так, а в следующей про это уже по другому. А уж недосказанность во многих вопросах - это стандарт, прочтешь, а потом ещё и додумывать придется.
Quote:

Originally Posted by hobot (Post 425368)
Разблокирование?:confused_std:(не совсем грамотный термин - суть описанного процесса похожа) А зачем разработчикам железа и вообще кому бы то ни было такие усложнения, фича, наворот?
Я не программист и не системщик, но страдаю от всего этого не меньше, как пользователь:confused_std:

Усложнения тут никакого нет. Сформировали сигнал ПОРТ, а заодно подали и на RPLY.

hobot 17th October 2011 02:15

4 Attachment(s)
Quote:

Originally Posted by Alex_K (Post 425373)
Сформировали сигнал ПОРТ, а заодно подали и на RPLY.

Установка\ задействование нужного(дополнительного) порта в процессе работы - гениально !!!
На системной дискете ещё вот такую мощную вещь обнаружил - редактирование
и установка палитры (cols.sav).

В прилагаемом мануале буду уточнять, есть ли вообще информация про утилиты в комплекте(???),
там ещё какая-то программа от МИЭТовских разраб, но что она делает, с ходу не понятно.

Arseny 17th October 2011 23:39

Quote:

Originally Posted by Vamos (Post 425344)
Извини если я нарушил твои авторские права. А разница хоть и не большая но есть.

Да не в авторских правах проблема, а в разнице вариантов. Даже так скажу - разница в лучшую сторону нужна. Я не считаю свой вариант идеальным, но он аккуратно сведен по раскладке УКНЦ и РС (извел кучу бумаги на распечатки и маркеров на отметки что куда переносится).
Quote:

Originally Posted by Vamos (Post 425344)
Вопрос в другом, будет ли это реализовано в эмуляторе.

Это частично и от нас зависит - если будет найден приемлемый, удобный и не слишком заморочный вариант, за который будут голосовать почти все пользователи эмулятора, то разработчики примут его к сведению и реализуют его в одной из будущих версий. Может быть ... :biggrin:
Зато если будет 10 вариантов, отличающихся на 1-2 буквы, которые каждый придумавший будет отстаивать с пеной у рта - разработчики просто оставят все как есть, т.к. им есть чем еще заняться.

Vamos 18th October 2011 01:37

Quote:

Originally Posted by Arseny (Post 425652)
Зато если будет 10 вариантов, отличающихся на 1-2 буквы, которые каждый придумавший будет отстаивать с пеной у рта - разработчики просто оставят все как есть

Может подсонательно после фотки твоей клавы, может нет, Alex_K показал в чем сложность и после этого возникла эта комбинация. Я не собираюсь биться из-за каждой клавиши, мне не удобно на РС пользоваться текущим расположением * и : Если со * все просто то с : чуть хуже. Изменения твоего варианта раскладки в нескольких клавишах сделаны с учетом замечаний Alex_K.
И твоя клавиатура все таки для УКНЦ.

---------- Post added at 00:37 ---------- Previous post was at 00:13 ----------

Alex_K, вопрос, а сложно сделать вариант некоего терминального режима для клавиатуры. Сейчас, как я понимаю, эмулятор перехватывает и обрабатывает скэн коды, сделать так чтобы эмулятор получал уже код символа. Тогда и копья ломать не будем по поводу раскладки.

Alex_K 18th October 2011 10:35

Quote:

Originally Posted by Vamos (Post 425709)
Alex_K, вопрос, а сложно сделать вариант некоего терминального режима для клавиатуры. Сейчас, как я понимаю, эмулятор перехватывает и обрабатывает скэн коды, сделать так чтобы эмулятор получал уже код символа. Тогда и копья ломать не будем по поводу раскладки.

Эмулятор эмулирует аппаратуру, а уже скэн-коды обрабатывает программа с ПЗУ. Эта программа обработки и формирует коды КОИ-8 для терминального режима. Так что вряд ли это возможно, всё-таки эмулятор это эмулятор, а не симулятор. Тут придется воткнуть в эмулятор всю логику драйвера клавиатуры. А если какой-то резидент перехватывает адреса подпрограмм обработки клавиатуры и канала 0, адрес точки входа в драйвер в диспетчере процессов?
Так что лучше иметь раскладку для передачи скэн-кодов. Таблиц надо всего семь (не десять, как я писал когда-то): основной регистр ЛАТ, основной регистр РУС, нижний регистр ЛАТ, нижний регистр РУС, ГРАФ-регистр (по раскладке лучше как РУС), УПР-регистр и ФИКС-регистр.
Можно сделать диалог настройки, тогда каждый будет настраивать по своему усмотрению, но в интерфейсе я не силен, тут надо просить Никиту. В этом случае можно будет отключать таблицы перекодировки, включать автоопределение по значениям в ячейках ОЗУ или на время ставить свою принудительно.

P.S. Есть еще проблема с клавишей Numpad Enter. Клавиатура опрашивается с помощью функции GetKeyboardState, там можно отличить левые и правые Shift-ы, Ctrl-и, Alt-ы, а вот отличить главный Enter от Numpad Enter нельзя. Придется наверное ставить хук, чтобы асинхронно перехватывать события по нажатиям и формировать отдельно флаги для Enter-ов.

Shadow Maker 18th October 2011 10:35

Quote:

Originally Posted by Alex_K (Post 425325)
Пока да, эмулятор еще не дошел до такой стадии, когда можно сохранять состояние, еще очень много чего не учтено.

А встречный вопрос - для чего сохранять состояние? Как я наверное догадываюсь - это какая-то игра?

Ну вообще потому что в любой длинной игре реально надоедает играть (ну там сидеть надо часа 4, куда столько), а концовку посмотреть хочется. И скажем в любом эмуляторе сохранения состояния всегда есть, даже если много чего не учтено.

Titus 18th October 2011 13:45

Quote:

Originally Posted by Alex_K (Post 425749)
P.S. Есть еще проблема с клавишей Numpad Enter. Клавиатура опрашивается с помощью функции GetKeyboardState, там можно отличить левые и правые Shift-ы, Ctrl-и, Alt-ы, а вот отличить главный Enter от Numpad Enter нельзя. Придется наверное ставить хук, чтобы асинхронно перехватывать события по нажатиям и формировать отдельно флаги для Enter-ов.

Я опрашиваю в своих эмуляторах клавиатуру через DirectInput, функция GetDeviceState(), и там прекрасно различаются оба Enter-а. Главный имеет код DIK_RETURN, а который на дополнительном нумпаде - DIK_NUMPADENTER.


All times are GMT +4. The time now is 02:54.

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