nedoPC.org

Community for electronics hobbyists, established in 2002
Last visit was: 06 Oct 2024 02:39
It is currently 06 Oct 2024 02:39



 [ 270 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18
Отладочный модуль на К1801ВМ1 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
Ну и планирую я его ассемблерный текст привести к виду, который бы компилировался в побитную копию.
А это не так просто, Монитор перемещаемый - почти всё на относительных смещениях...

Получился первый удобоваримый ассемблерный вариант, который собирается в точную побитную
копию оригинала Монитора.
Attachment:
MON1986.ASM

При сборке со смещением о1000 все относительные смещения вычисляются правильно,
и далее полученный бинарный код перемещаем.
Собирал код вот этим КроссАссемблером, он добавляет в начале 4 байта для эмулятора БК-0010.
Сверял сборку побитно програмой fc (file compare) с опцией /b - бинарное сравнение.
Сравнивал с оригинальным кодом Монитора, который тоже на всякий случай прилагаю:
Attachment:
MONITOR_LH.zip


На всякий случай - пометки в исходнике: '%%%' - посмотреть, что за число; '???' - это не совсем понятно.
Нашел все таблицы переходов (вычисляются сейчас при сборке правильно), нашел таблицы и значения
в тексте для 7-сегментных кодов.
Не нашел 7-сегментных кодов для комбинации 'HA':
Attachment:
dispHA.gif

Возможно, их делают не так прямолинейно, как остальные... :wink:

В общем с этой версией исходного кода Монитора уже удобно работать с компилятором Ассемблера,
хотя следует быть внимательным - кое где относительные смещения к таблицам вычисляются неявно,
без указания метки, поэтому вставлять что-то своё в код следует осторожно.
Везде, где я это нашел - прокомментировал, но доводить до вычислений Ассемблером - не стал.


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


10 Feb 2018 05:00
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
А у нас на форуме или еще где-либо есть удобочитаемая схема БК-шки?
Хотел глянуть кое-что, но везде только скан из её мануала на двух листах.

Погуглил сам, коли у нас на форуме, похоже, что нет их...
Но, видимо, их в более хорошем качестве и в принципе нет.

Скачал вот здесь, но опять то же самое - "скан из мануала на двух листах":
http://r-games.net/31517-shemy-bk-0010-01.html
http://r-games.net/31518-shemy-bk-0011m.html

В данный момент меня, собственно, интересует, как в схемах на микропроцессорах 1801ВМ1,2
был организован арбитраж обращения к Видео-ОЗУ.
Как это делается в схемах на К580ВМ80А я знаю, а вот со схемами на 1801ВМ1,2 надо разобраться.

И очень приятным бонусом вдруг обнаружилась схема "Электроники МС 0511 УКНЦ" на 1801ВМ2 ! :kruto:
http://forum.tslabs.info/viewtopic.php?f=34&t=778
Схема и сопутствующая документация очень хорошего качества, жаль только в "шинном" варианте...

И если кому интересно - фотографии "МС 0511 УКНЦ" с её описанием:
https://is000.livejournal.com/25799.html

_________________
iLavr


10 Feb 2018 07:33
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23357
Location: Silicon Valley
А чо там 2 проца ВМ2 чтоли? :o

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


10 Feb 2018 13:07 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Да, процев КМ1801ВМ2 - там два:
Quote:
Центральный процессор выполняет задачи, определённые программами пользователя, а периферийный процессор выполняет логические функции контроллеров устройств ввода-вывода (клавиатуры, дисплея и др.), но его можно использовать и для запуска пользовательских задач.

Прямо как в твоей "Электронике-85"...

_________________
iLavr


10 Feb 2018 14:01
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23357
Location: Silicon Valley
Lavr wrote:
Да, процев КМ1801ВМ2 - там два:
Quote:
Центральный процессор выполняет задачи, определённые программами пользователя, а периферийный процессор выполняет логические функции контроллеров устройств ввода-вывода (клавиатуры, дисплея и др.), но его можно использовать и для запуска пользовательских задач.

Прямо как в твоей "Электронике-85"...

Круто :mrgreen:

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


10 Feb 2018 15:26 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
Lavr wrote:
А у нас на форуме или еще где-либо есть удобочитаемая схема БК-шки?
Но, видимо, их в более хорошем качестве и в принципе нет.

Нашел-таки хорошо отрисованную с оригинала схему БК-шки здесь:
Ремонт БК-0010 БК 0011 БК 0011М. [перерисовка СD-INC] :kruto:

Или прямая ссылка: Схема принципиальная "Электроника БК 0010 - 01"

_________________
iLavr


13 Feb 2018 09:56
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23357
Location: Silicon Valley
Вот тут по-моему более читабельные схемы:

http://bk-files.perestoroniny.ru/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0%20%D0%91%D0%9A-0010%5B.01%5D,%20%D0%91%D0%9A-0011%5B%D0%9C%5D/%5B%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%81%D1%85%D0%B5%D0%BC%D1%8B.%20%D0%9C%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%BD%D1%8B%D0%B5%20%D1%81%D1%85%D0%B5%D0%BC%D1%8B%5D/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%81%D1%85%D0%B5%D0%BC%D1%8B%20%D0%91%D0%9A-0010/

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


13 Feb 2018 23:03 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Возможно, более крупные картинки, а так - те же самые:
Lavr wrote:
везде только скан из её мануала на двух листах.

А по этой ссылке: "Схема принципиальная "Электроника БК 0010 - 01"
схема отрисована заново, что я, собственно, и искал...

_________________
iLavr


18 Feb 2018 10:43
Doomed
User avatar

Joined: 05 Apr 2011 12:45
Posts: 491
Location: Великий Новгород
Насчет устройства клавишного,

Кнопка П, не замыкает линию К4 на землю, Это отдельная кнопка в этом устройстве, у нее свой контакт и эту отдельную линию она замыкает на землю, Собственно это и есть сброс.
Вот в плохом качестве оригинал. Эти файлы у меня были с самого начала, просто никто не спрашивал, И не думал что кому то надо.
Image

Image

Все же надо добить эту схему в железе,
я так понял что монитор полностью рабочим оказался? и его можно заливать в РФ-ки?

_________________
танцуй пока живешь под каплями огненного дождя...


05 Dec 2019 14:18 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Случайность wrote:
я так понял что монитор полностью рабочим оказался? и его можно заливать в РФ-ки?
Я думаю, что Монитор полностью соответствует своей прошивке и он - рабочий.
Хотя нюансы неожиданные всегда могут быть, всё ж артефакт из 1986 года! :wink:

Я давно уже собирался выложить здесь этот пропатченный вариант эмулятора БК-0010
с .dll-эмуляцией индикатора с клавиатурой, которые обслуживают этот самый Монитор.
Attachment:
MonitorBK.gif

Но вся загвоздка была в том, что писал и тестировал я всё это под Windows 98
через функции Win-API, а это не всегда работает в Windows старших версий...

Сегодня решил проверить работу этой связки под Windows 7 и был просто очень озадачен! :roll:
Дело в том, что для отрисовки 7-сегментного индикатора я использовал специальный шрифт
LED.TTF, и попытка установить его в Windows 7 вызвала сообщение:
что этот файл «Не является правильным шрифтом Windows 7» :o
(возможно, не дословно, но как-то так...)
Attachment:
LED.zip

Я погуглил и наткнулся в разных местах на странный совет:
Quote:
...у вас отключён брандмауэр Windows или служба безопасности системы. До сих пор неизвестно, каким образом две этих службы связаны с установкой шрифтов, но факт остаётся фактом: если они отключены, установка шрифтов может перестать работать.

Ну я попробовал, включил их (хотя, может, они и были включены), но положительного
результата это не принесло... :osad:
В общем, в полном недоумении я по поводу случившегося. :-?


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


13 Jan 2020 16:37
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
для отрисовки 7-сегментного индикатора я использовал специальный шрифт
LED.TTF, и попытка установить его в Windows 7 вызвала сообщение:
что этот файл «Не является правильным шрифтом Windows 7» :o

Обидно, что именно этот самый LED.TTF, как у меня, раздают в Интернете просто-таки
на всех углах... к примеру, вот:
https://www.fontup.ru/fonts/9125/led.html
и никто не жалуется... :-?

Я его и сразу-то выбрал за бесплатность и широкую распространенность - есть откуда
скачать в случае чего.

_________________
iLavr


13 Jan 2020 19:01
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
для отрисовки 7-сегментного индикатора я использовал специальный шрифт
LED.TTF, и попытка установить его в Windows 7 вызвала сообщение:
что этот файл «Не является правильным шрифтом Windows 7» :o
Прочитал я килотонны "этих наших Интернетов", как пишут люди - "коллективного разума" и ничего полезного не нашел...
Особенно задолбал на всех углах совет "включить брендмауэр Windows", который относят аж к самой M$ ! :o
Забавно, что и вправду непонятно в Windows 7 когда включен брендмауэр Windows, а когда выключен. :-?
Когда его начинаешь "включать/выключать" (а у меня это одна опция), он пишет про какие-то настройки
и сети... :osad: Ну какие нафиг сети, когда ноутбук с Windows 7 у меня ни в какие сети не включен! :evil:

Решение оказалось простым, хоть я пол-дня и угробил... :-?
Если Windows 98 шрифт этот понимает и на него не жалуется:
Attachment:
LED98.gif

Значит Windows 7 просто не нравится что-то в его оформлении, поэтому я решил прогнать
его через какой-либо конвертор. Их полно в онлайн варианте сейчас, но у меня успешно сработал
вот этот: https://www.font-converter.net/en

Честно говоря, первоначально я хотел конвертнуть .ttf в .otf, поскольку обратил внимание, что в Windows 7
большинство шрифтов именно такие. Но потом по предложению конвертора решил конвертнуть в несколько форматов,
в том числе и в сам .ttf. :wink:

Результат превзошел все ожидания! :kruto:
Attachment:
Led_7.gif

Кстати, Windows 7 безобразно тупа... :osad: Ну какие нафиг "французские булки", если в шрифте
нет кириллицы! :-?

Шрифт во всех современных форматах выкладываю:
Attachment:
LEDc.zip

Он хороший, и он - БЕСПЛАТНЫЙ! А сейчас, как я начитался, и с авторскими правами на шрифты бывают проблемы! :mrgreen:


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


14 Jan 2020 03:00
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Ну а дальше, собственно, случилось то, чего я и боялся, почему и не выкладывал код сразу,
как закончил этот проект... :osad:
Attachment:
error0xc0000005.gif

Очень мне не хотелось, чтобы кто-то нарвался на это раньше меня... :-?

Ошибка 0xc0000005 - это "код выполняется в области данных", что, честно говоря, так и есть.
ЕХЕ-файл эмулятора был пропатчен кодом для взаимодействия с DLL.
И хотя я знал про это и старался не влезть в область данных, где-то всё же влез.

Windows 98 ещё прощает такие трюки, но старшие Винды к этому относятся строго.
Там этот механизм задействован на уровне ядра системы и самого процессора.

Пробовал под Windows 7 отключить предотвращение выполнение данных (DEP) для
этой программы - не спасло. :osad:
Это не единственный механизм в Windows 7, который отслеживает такую ситуацию.

Что ж... осталось попробовать под Windows ХР и Windows 10 - помотрю, как они
среагируют на некорректный хак. :-?


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


14 Jan 2020 17:50
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
В общем, я подумал и решил поступить следующим образом: выложить всё "как есть",
потому как удивить всех панелью Монитора не было моей самоцелью, а хотел я
пригласить всех заинтересованных лиц на форуме попрактиковаться в программировании
на ассемблере микропроцессоров семейства 1801.
Attachment:
BK Emulator.rar

На основе большого числа различных эмуляторов, которые я насобирал, я пришел
к выводу, что этот - наиболее подходящий.

Ну и мне хотелось, чтобы процесс был привычен и удобен всем, кто начинал с
этих наших "Специалистов" и "Микрош", с их директивми D, L, T и т.п.
К сожалению, встроенный монитор БК - упрощенный и не так удобен.
А вот Монитор с панелью управления по идеологии к этому очень близок.

Ну и сама по себе панель управления - наглядное устройство ввода-вывода,
а я очень люблю на ассемблере зажигать светодиоды и читать кнопки. :wink:

Ситуация усложняется тем, что на компьютерах с Windows XP, 7, 10 у меня нет
никаких средств разработки и отладки, и я не уверен, что изменю что-то в
ближайшее время, так что:
BK_M.EXE - эмулятор с панелью под Монитор, а если не заработает, то
BK.EXE - эмулятор оригинальный, он точно под Windows 7 работает! :kruto:

Также в архиве:
Injected.dll - эмулятор панели Монитора;
InjDLL.cpp - его исходный код;
InjHOW.cpp - как делается инжекция в чужой файл .ЕХЕ;
LED.ttf - 7-сегментный шрифт;

MON1986.ASM - исходный код Монитора с панелью управления;
MON1986.BIN - оригинал Монитора, который мы тут набирали;
MPSS_86_2.doc - статья из "МПСС", с которой всё и началось.

ASM.COM - простой ассемблер для микропроцессоров 1801;
ASM... - всё что нужно для него.

Писать программы лучше в привычной среде под Windows, компилировать этим ассемблером,
переносить в папку Bin и запускать в среде эмулятора БК.
Как это сделать по-быстрому: "Руководство по запуску.txt"
Отладчик в эмуляторе БК - свой собственный, хороший, "с блэкджэком и прочими ништяками". :lol:
Эмулятор БК 0010 new.rtf - справочный материал, по эмулятору БК.

В папке Bin - Mirage66000.bin - один из лучших отладчиков для БК, для тех,
кто любит эти наши директивы D, L, T... и хелп к нему - там же. :ewink:

В папке Docs - полезные материалы по БК, процессору 1801ВМ1 и программированию на его
ассемблере и Васике (иногда из-под него удобно что-либо проверить).

Отдельное спасибо автору этого замечательного эмулятора, за то, что он корректно работает
в Windows 98 (и не только), четко слушается моей виртуальной клавиатуры, и оказался весьма
удобным для сторонней инжекции в собственный код! :kruto:
Attachment:
DispBK.gif


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


14 Jan 2020 22:31
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
.. а хотел я пригласить всех заинтересованных лиц на форуме попрактиковаться в программировании на ассемблере микропроцессоров семейства 1801.

В общем, есть некоторая прелесть в ассемблере этих процессоров! :kruto:

Вот, к примеру, заполнение области экрана словом:
Code:
    .=1000
;----------------------
    MOV #177777,R0       ;слово заполнения 0FFFFH
    MOV #40000,R1        ;начало экрана
    MOV #20000,R2        ;длина блока 37777 байт или 17777 слов
CYC:
    MOV R0,(R1)+       ; по адресу экрана сохраняем слово заполнения
                       ; сдвигаем указатель в экране на 2:  (R1)+
    SOB R2,CYC         ; уменьшаем счетчик слов, цикл пока не = 0
;----------------------

Я еще и задуматься толком не успел... а оно уже в две строчки получилось! :kruto:

_________________
iLavr


29 Jan 2020 03:33
 [ 270 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18

Who is online

Users browsing this forum: Claude AI [Bot] and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.