Отладочный модуль на К1801ВМ1
Moderator: Shaos
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Отладочный модуль на К1801ВМ1
просто архитектура PDP-11 позволяет писать половинки слова (байты) независимо друг от друга - тогда учитывается нулевой сигнал адреса A0 (запись байта сигнализируется через WTBT)
причём вот тут люди пишут, что байт на самом деле выдаётся на обе половинки шины данных, просто по A0 надо выбирать какую собственно писать:
http://zx-pk.ru/printthread.php?t=18184&pp=40&page=49
а читается всегда словами (т.е. A0 игнорируется)
причём вот тут люди пишут, что байт на самом деле выдаётся на обе половинки шины данных, просто по A0 надо выбирать какую собственно писать:
http://zx-pk.ru/printthread.php?t=18184&pp=40&page=49
а читается всегда словами (т.е. A0 игнорируется)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Да это и без людей нам было известно, как действует процессор в случае работы с отдельными байтами.Shaos wrote:причём вот тут люди пишут,...
Мог бы сослаться на наш форум, на эту ветку PDP - в двух местах здесь это обсуждали,
просто лень и некогда ссылки сейчас искать.
P.S. Хотя даже если очень лениться, находится с пол-пинка.

Shaos wrote:...в документации на PDP-11 вычитал, что чтение всегда целым словом, а вот запись может быть как целым словом, так и отдельным байтом - в зависимости от состояния A0 пишется либо старший байт слова (при A0=0) либо младший (при A0=1), причём сразу в свою половинку.
iLavr
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Отладочный модуль на К1801ВМ1
но я не знал (и это нигде небыло описано), что один и тот же байт подается на обе половинки ОДНОВРЕМЕННО 
а люди экспериментально поглядели и описали

а люди экспериментально поглядели и описали

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Вот именно у 1801ВМх ? Или у ретроспективно-мифической PDP-11?Shaos wrote:один и тот же байт подается на обе половинки ОДНОВРЕМЕННО
iLavr
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Отладочный модуль на К1801ВМ1
Да чото почитал внимательно тот топик - люди путаются в показаниях 
На каких-то процах у них нолики идут на неправильный байт (на шине единички)

На каких-то процах у них нолики идут на неправильный байт (на шине единички)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Надо будет самим попробовать. 1801ВМ2 - он же статический, надо будет его пощупатьShaos wrote:Да чото почитал внимательно тот топик - люди путаются в показаниях
на макетке в пошаговом режиме.
Что я и хочу попробовать, а то - стыдоба! - не знаю ни один кондово-русский процессор...

iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Ну вот и всё! Самый "грязный хак" во всей этой затее выполнен очень чисто!Lavr wrote:Хотя в общем-то шибко радоваться еще рано, просто DLL корректно вошла в адресное
пространство ЕХЕ-файла, и он импортировал её функцию.
Посмотрим, как это всё дальше взаимодействовать будет, не упало бы в процессе...

Связка ЕХЕ-файла с внедренной в код DLL-библиотекой заработала чётко!

правилам вызвает эту DLL-библиотеку, посмотрел, как это выглядит в ассемблере,
а потом вписал это в код BK.EXE.
Но места мне там никто не готовил, поэтому 3 строчки исходного кода
Code: Select all
.00405D99: 668B542440 mov dx,[esp][00040] //--- src Word
.00405D9E: 66895658 mov [esi][00058],dx //--- в COVOX
.00405DA2: E936FFFFFF jmp .000405CDD //--- выход switch
на параграфы...
Code: Select all
.00405D99: 668B542440 mov dx,[esp][00040] //--- src Word
.00405D9E: 52 push edx //--- передаем функции DLL
.00405D9F: 90 nop
.00405DA0: 90 nop
.00405DA1: 90 nop
.00405DA2: E9FE000000 jmp .000405EA5 //--- на свободное место
...
.00405EA5: E81B000000 call .000405EC8 //--- вызов ф-ции DLL
.00405EAA: 5A pop edx //--- чистим стек
.00405EAB: E92DFEFFFF jmp .000405CDD //--- выход switch
...
.00405EC5: 90 nop
.00405EC6: 90 nop
.00405EC7: 90 nop
.00405EC8: FF2578E94100 jmp disp;//--- injected.dll
.00405ECE: 90 nop
.00405ECF: C3 retn //--- чисто подстраховка ;-)
нажать меню "Test".
Я напрочь забыл, что надо написать между этими двумя строчками,
Code: Select all
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
// ... ?
EndPaint(hwnd, &ps);
break;
т.к. не стал я делать окно "всегда верхнего уровня".
Ну и скажу честно, г-н Мыщъх Касперски был не до конца искренен в своем
опусе "как склеить два файла"...
Пришлось самому покурить докуменацию:
https://kaimi.io/2011/09/pe-format-import/ - из кеша Google.
https://habrahabr.ru/post/266831/
иначе вызов ф-ции инжектированной DLL-ки всё ронял напрочь.
Кто б помог графику 7-сегментного индикатора написать?

А то мне "инжекция в код" все мозги выела!

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Что-то интересная идея пришла мне в голову - не рисовать всё это, а просто печатать на формеLavr wrote:Кто б помог графику 7-сегментного индикатора написать?![]()
А то мне "инжекция в код" все мозги выела!
7-сегментным шрифтом, а то очень лениво грузить картинки в ресурсы, затевать все эти графические
контексты... битблиты и т.п.

А 7-сегментные шрифты для Венды, оказывается, реально существуют!

https://ru.fonts2u.com/led.шрифт
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Отладочный модуль на К1801ВМ1
и как же они отображают W или M? 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
А что, по ссылке совсем было лень посмотреть?Shaos wrote:и как же они отображают W или M?
Вот так:
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Вот я посмеялся, дженльмены!
Начал я обдумывать, как обрабатывать коды клавиш этого отладочного модуля,
читаю, в тексте написано:
Гуглю... и вдруг нахожу великолепнейший экземпляр этой статьи:
В. В. Куклин, Н. М. Калинин, Ю. А. Бобров Отладочный модуль на базе
однокристального микропроцессора к1801ВМ1
Я прямо даже расстроился... думаю - зря старался, оцифровывал... набивал коды...
у них, наверно и прошивка точная есть... а я тут мучаюсь с её отладкой...
Пошарил там... прошивки у них нет... пригляделся внимательно...
А это они мной оцифрованный вариант статьи
выложили и в HTML и в DOC !

Начал я обдумывать, как обрабатывать коды клавиш этого отладочного модуля,
читаю, в тексте написано:
Ну, думаю, надо загуглить, что это такое, чтобы увидеть хотя бы......индикационно–клавишное устройство «Электроника С5-2107»
Гуглю... и вдруг нахожу великолепнейший экземпляр этой статьи:

В. В. Куклин, Н. М. Калинин, Ю. А. Бобров Отладочный модуль на базе
однокристального микропроцессора к1801ВМ1
Я прямо даже расстроился... думаю - зря старался, оцифровывал... набивал коды...
у них, наверно и прошивка точная есть... а я тут мучаюсь с её отладкой...

Пошарил там... прошивки у них нет... пригляделся внимательно...
А это они мной оцифрованный вариант статьи
выложили и в HTML и в DOC !

iLavr
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Отладочный модуль на К1801ВМ1
фейковый шрифт - нифига не 7-сегментный 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Да какая разница? На дисплее будет как 7-сегментный выглядеть...Shaos wrote:фейковый шрифт - нифига не 7-сегментный
Это ж эмуляция, а шрифт её здорово упростит и сделает быстрой.
Я уже в Ворде попробовал - мне очень понравилось!

Скачал еще парочку похожих шрифтов.
iLavr
-
- Writer
- Posts: 19
- Joined: 03 Jun 2013 11:22
- Location: Минск
Re: Отладочный модуль на К1801ВМ1
(на сайте шрифт с названием "бледная поганка"" - сделайте стандарт-яркий ...
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Отладочный модуль на К1801ВМ1
Не нравится - не ешь...bk-m wrote:(на сайте шрифт с названием "бледная поганка"" - сделайте стандарт-яркий ...

А это, оказывается, вот что такое: любопытный девайс С5-2107 - пульт отладочный. (с) Sergei Frolov Знакомест на индикаторе акурат 13 - как и в обсуждаемой статье.Lavr wrote:читаю, в тексте написано:Ну, думаю, надо загуглить, что это такое, чтобы увидеть хотя бы.....индикационно–клавишное устройство «Электроника С5-2107»
То есть, авторы статьи пульта не делали, а заюзали уже готовый...
Хотя в статье они изобразили пульт вот так:
You do not have the required permissions to view the files attached to this post.
iLavr