Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Оказалось, что никакие они не честные, и не олдскульные... И это может очень здорово ввести в заблуждение, если точно не знаешь, как работают тут PEEK и POKE! Но я, как русский человек, сначала наступил на грабли, а уж потом посмотрел в инструкцию по программированию БК-0010! Анекдот не только в том, что целое, но целое со знаком! То есть, чтобы загнать в два байта памяти 0FFH, 0FFH нельзя написать: РОКЕ ADDR,65535 - тут вылетит "Ошибка 6" (не знаю, наверно переполнение) а надо написать: РОКЕ ADDR,-1И нарвался я на эти фокусы, начав делать привязку BK.EXE к клавиатуре пульта. BK.EXE проецирует клавиши дополнительной клавиатуры на слово порта 177714о вот по такому принципу: //-------------------------------------------------------------------- //--- клавиши джойстика --- //--- //--- <Home> <UP_ARR> <PG_UP> //--- <L_ARR> <R_ARR> //--- <END> <PG_DN> Драйвер джойстика BK.EXE Собственно довольно простая затея, и места много, чтобы вмешаться с клавиатурой Монитора. Я написал небольшую тестовую программу типа: И ожидал я увидеть: Hh.Lh;А когда начал нажимать кнопки <Home> <END> <L_ARR> <UP_ARR> <R_ARR> <PG_UP> <PG_DN>, то увидел, что до точки и после точки выводится одно и то же число! Так что PEEK и POKE в БК-0010 работают с целым двухбайтовым числом со знаком, а вот со значением адреса несколько мухлюют...
_________________ iLavr
|
21 Jan 2018 11:21 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В самом черновом предварительном варианте выглядит это вот так: Я дешифровал 7-сегментный код в символы, и сейчас оно выводит позицию и символ в позиции. Бегущую строку я пока не сформировал. Надо пристреляться к размеру шрифта. На рисунке выводится шрифтом с размером (кеглем?) 48. Следующий размер будет 60. Наверное - слишком крупный... Соотношение размеров примерно вот такое: P.S. Вот так размер шрифта 60 выглядит...С трудом представляю, как Венда вычисляет свои метрики...
_________________ iLavr
|
22 Jan 2018 09:49 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Сделал прикидку, как будет выглядеть дисплей протяженностью в 13 знакомест в случае размеров символов в 48 и 60: 48:60:На мой взгляд, 60 вроде более симпатичный... Оба они уже изначального размера окна в 400 точек по горизонтали.
_________________ iLavr
|
22 Jan 2018 12:23 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Сделал развертку по позициям индикатора, и оно заработало! Причем вроде как правильно и весьма осмысленно! Стартует всегда, как и написано в статье, с " 0" в крайнем разряде. Дальше, как я понимаю, Монитор читает порт 177714о, в который сам же и записал только что код и знакоместо индикатора, и воспринимает это как нажатие кнопок клавиатуры. Поскольку там не 0, Монитор начинает эти команды выполнять. Выполняет всё время одну и ту же последовательность действий и возвращается к исходному состоянию - " 0" в крайнем разряде. Ну по крайней мере, теперь есть уверенность в некоторой работоспособности программы Монитор. Всё же мы с Виталием вычитали дамп весьма тщательно! Подумаю, что можно сделать с имитацией клавиатуры для Монитора...
_________________ iLavr
|
22 Jan 2018 22:11 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22802 Location: Silicon Valley
|
а чего полумрачная восьмёрка стирается, когда что-то таки в знакоместо пишется? надо бы и восьмёрку оставить, и яркое число поверх отсветить, а то как-то нелогично
|
22 Jan 2018 22:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так не получится - это шрифт, а не графика. Мог бы и сам догадаться.
_________________ iLavr
|
22 Jan 2018 22:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22802 Location: Silicon Valley
|
А кто мешает одним и тем же шрифтом писать дважды в одно и тоже место разными цветами (и буквами)?
|
22 Jan 2018 22:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Почитай WinAPI и узнаешь, кто мешает...
_________________ iLavr
|
22 Jan 2018 22:30 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22802 Location: Silicon Valley
|
Да вроде писал - тени всяки делал и т.д. Хотя может это было в DirectDraw...
|
22 Jan 2018 23:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну а это чистое WinAPI, функция: BOOL TextOut( HDC hdc, // дескриптор DC int nXStart, // x-координата начальной позиции int nYStart, // y-координата начальной позиции LPCTSTR lpString, // строка символов int cbString // число символов ); Я не вижу у нее ни прозрачности, ни альфа-канала. Строка выводится с RGB цветом фона и символа. Ну и был такой старец - Уильям Оккам - он советовал не умножать сущностей без нужды. Нам что надо - шашечки или ехать? Мне лично - ехать... а кому нужны шашечки - я потом исходники выложу - пусть дорисует...
_________________ iLavr
|
23 Jan 2018 00:40 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22802 Location: Silicon Valley
|
Ну можно в фоновый битмап напечатать текст, а потом уже этот битмап как картинку с прозрачностью копировать в окно поверх ранее напечатанного...
|
23 Jan 2018 22:50 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вот спасибо-то! Очень... очень хорошая идея... разве что неновая... Не буду я себе жизнь усложнять... щаз доделаю клавиатуру и пора с этим инструментом заняться изучением 1801ВМ1,2. В этом была цель, но отвлекло меня создание инструмента.
_________________ iLavr
|
23 Jan 2018 23:37 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Джентльмены, кому хорошо видно что это за микросхема? А то я с 561 серией практически не работал, не узнаЮ её. И перебор в Гугле серии 561 не помогает... Судя по всему, у нее 16-выводный корпус, 6 каналов и 2 входа разрешения. Может кто-либо чисто навскидку её узнаёт?
_________________ iLavr
|
24 Jan 2018 00:42 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22802 Location: Silicon Valley
|
561ЛН1 вестимо
|
24 Jan 2018 00:59 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Спасибо! А я её как-то мимо ушей пропустил... гуглю "К561 6-входовый буферный элемент"...
_________________ iLavr
Last edited by Lavr on 24 Jan 2018 01:13, edited 2 times in total.
|
24 Jan 2018 01:05 |
|
|