Микро-ЭВМ на КМ1801ВМ2

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Ну и чтобы разобраться, как была задумана работа этой микро-ЭВМ УМПК-1801, пришлось прочитать,
как работают эти самые безликие К1801ВП1-0хх :
К1801ВП1-033.pdf
К1801ВП1-034.pdf
К1801ВП1-035.pdf
Тем не менее, разобраться с программно-аппаратным пошаговым режимом это как-то не помогло. :-?
В тексте какая-то явная несостыковка:
УМПК-1801 wrote:Режим шага цикла обращения к ОЗУ, внешним устройствам, СПЗУ в УМПК-1801 организован аппаратно–программно. После нажатия клавиши ШЦ монитор помещает в счетчик команд команду пользователя и выставляет на РСИ1 признак пошагового режима (разряд 15 РСИ1). Далее после появления одного из сигналов DIN, DOUT происходит останов процессора (снимается тактовая частота CLCI) и на магистрали A/D устанавливается выходная информация.
Знать бы ещё, что такое РСИ1... 8)
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Оцифровал листинг Монитора для Микро-ЭВМ УМПК-1801 из Приложения 4
книги 7 Преснухина микро ЭВМ Учебные стенды...
УМПК-1801-MON.zip
Компилировать не пробовал еще (нет компилятора под рукой, сейчас скачаю)... :wink:

Смущают некоторые строки типа:

Code: Select all

MOV	<TABJMP-20-.>(R0),R0
не встречались мне ранее такие "угловые скобки"... :-?

Вполне возможно, что не все опечатки вычищены - надо проверить компиляцией.

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

Тем не менее, текст, похоже, связный, и как пример программирования для 1801ВМ2
вполне пригоден.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Lavr wrote:Смущают некоторые строки типа:

Code: Select all

MOV	<TABJMP-20-.>(R0),R0
не встречались мне ранее такие "угловые скобки"... :-?
Это оказалось не самое неприятное... :wink:
Этот код кроссассемблер для БК-0010/11М v1.00 как раз спокойно одолел... 8)

В тексте оказалось прилично как опечаток авторских, так и ошибок программы OCR.
Неприятным оказалось, что в ряде случаев программа OCR распознала запятые, как слэш нижним индексом. :lol:
На взгляд и не отличишь... :ewink:

Далее начались авторские косяки. Кроссассемблер категорически не понял меток с точкой, типа:
К.1: - пришлось их всех заменить по типу К_1: .
Ну и я никогда не подозревал, что в выражении типа KEY = 256 имеет значение число пробелов. :o
Кроссассемблер желает KEY=256 и никак иначе.

В общем-то это как бы не противоречит правилам ассемблера PDP-11, но я не думал, что так строго...

Выкладываю исправленный вариант Монитора 1986, который написал некий VOVA. :wink:
Mon_1986.zip
Собирается он с единственной ошибкой, и я не понял, что VOVA имел в виду:

Code: Select all

        .GLOBL DOP_F 
Возможно, это опечатка, и нужен .GLOBАL, но, тем не менее, DOP_F не находится,
что, впрочем, при необходимости легко исправить.

Также неясен смысл строки:

Code: Select all

        .ENABLE LC 
Но кроссассемблеру она не помешала...


P.S. Вобще .GLOBАL встречается в ассембленых программах PDP-11,
но не в таком контексте, как здесь.
You do not have the required permissions to view the files attached to this post.
iLavr
Bill
Fanat
Posts: 92
Joined: 25 Jan 2014 21:54
Location: 37.113.169.14

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Bill »

В Macro-11 и директивы и мнемоника и глобальные символы не должны быть больше 6 символов. Это связано с тем, что в таблицах для символов отводится 2 слова. При этом все символы кодируются в формате RADIX-50, по 3 символа в слове. Поэтому правильно будет именно .GLOBL. Что касается директивы .ENABL LC, то данная директива разрешает преобразование исходных символов в верхний регистр перед их обработкой. Угловые скобки используются в выражениях вместо круглых, поскольку последние используются для кодирования методов адресации.
Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Спасибо большое, прояснили ситуацию, я честно этого не знал... :osad:
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Shaos wrote:Новый исходник:

Code: Select all

decimalnumbers
    org 0
    .word 0100H,0E0H ; reset vector

    org 0100H
start:
    mov #12500,r0 ; delay 15 ms for 20 MHz
...
Вот тут я немного не понял у тебя: .word 0100H,0E0H ; reset vector
0100H - это 16-битный адрес начала программы, грузится в РС, а
0E0H - это 16-битное PSW?

1801ВМ1 - сам себе при старте выставляет PSW = 340о = 0E0H и ты просто сделал также для 1801ВМ2 ?
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Shaos »

Да - PSW
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Shaos »

А между тем люди городят своё по мотивам - вот например с ардуиной вместо памяти и др.периферии:
KR1801VM2_prototype.jpg
https://github.com/jaquinn/RetroShield-KR1801VM2
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Bill wrote:В Macro-11 и директивы и мнемоника ...
Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf
В общем, почитал я и руководство по языку и Гугл помучал, но нигде не найду, что значат в Ассемблере
БК-0010 и др. следующие псевдооператоры:
SYS
GLOB
EQU
LOC
N/A
ABS
REL
BR
Ну, скажем, EQU я и сам знаю, но в этом ассемблере вроде как положено делать иначе:
RING = 17777 - как-то так, вместо EQU.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Shaos wrote:1806ВМ2, который является CMOS-аналогом КМ1801ВМ2
Шарил я тут по сайту Ангстрем, так 1806ВМ2, судя по всему, они до сих пор предлагают:
Ang.gif
http://old.angstrem.ru/products/micro/LSI2/

Если они до сих пор продают их только юридическим лицам, то не пинайте меня... :wink:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

bk-m wrote:Мне схема понравилась - кроме явного косяка с кварцем на 1кГц в генераторе (такой кварц даже не у всех крутых коллекционеров есть) - эта критика конструктивная?
Я смотрю, не у меня одного есть кварц на 1кГц для генератора... :D
1_кГц.png
Так что косяком это считать не будем, и критику отнесем к неконструктивной... :wink:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Lavr »

Lavr wrote:
Bill wrote:В Macro-11 и директивы и мнемоника ...
Более подробно можно почитать в руководстве по языку: https://www.dmv.net/dec/pdf/macro.pdf
В общем, почитал я и руководство по языку и Гугл помучал, но нигде не найду, что значат в Ассемблере
БК-0010 и др. следующие псевдооператоры:
SYS
GLOB
EQU
LOC
N/A
ABS
REL
BR
Сегодня полчаса опять искал, что означает .ENABL LC ... :-?
В итоге нашел описание MACRO-11 на русском языке для ДВК.
В текстовом фактически файле искать все эти служебные слова легче, нежели в macro.pdf .
MACRO-11RU.zip
You do not have the required permissions to view the files attached to this post.
iLavr
kuber
Fanat
Posts: 85
Joined: 20 Sep 2015 02:50

Re: Микро-ЭВМ на КМ1801ВМ2

Post by kuber »

Приветствую всех.
Давно хотел начать освоение архитектуры 1801.
Пока не попалась в руки печатная машинка "ромашка", сложновато для начала.
Решил с повторения схемы из середины поста.

Есть ли прошивка 556РТ4 ?
Хочу заменить D9 - 556РТ4 на логику и убрать D14 - 1801ВП1 065,
для простоты.
You do not have the required permissions to view the files attached to this post.
Mixa64
Doomed
Posts: 478
Joined: 25 Aug 2009 07:02
Location: Москва

Re: Микро-ЭВМ на КМ1801ВМ2

Post by Mixa64 »

Прошивку придумать не составляет труда. РТ-шка здесь формирователь RPLY и всяческих стробов для ПЗУ и регистров параллельного ввода-вывода.
CS1 и CS2 управляются совместно SYNC и стробами DIN DOUT (ИЛИ между ними и И результата с SYNC)
A7 принимает уровень WTBT , для различения чтения или записи
A6-A0 старшие разряды адреса, позволяют разместить ПЗУ и порты ввода и вывода где угодно с точностью до 512 байт, точнее - 256 слов, порты и ПЗУ 16-разрядные. Порт будет отзываться на любое обращение в этом диапазоне. Порт для чтения с портом записи могут быть разнесены по разным адресам.
D0 это RPLY как ПЗУ, так и портов.
D1 открывает буфер ПЗУ на шину AD
D2 открывает на эту шину порт ввода
D3 строб записи в порт вывода
То есть, главное условие появления чего-то на выходе РТ-шки это наличие DIN или DOUT вместе с SYNC, а конкретизирующие условия это цикл записи или цикл чтения, и по адресу какого 256-словного окна. RPLY выставляется при любом обращении к ПЗУ или портам, остальное по обстоятельствам.
Активный уровень всех сигналов - низкий.
Выходы порта вывода для чего-то держатся в Z-состоянии после сброса и до первой записи. Это тоже можно убрать, если такое не требуется.
D15 выкиньте для начала. Там, как я понял, какие-то импульсы генерятся для вектора по ACLO, от ВП1-065 50 Гц EVNT приходит. Для ACLO DCLO сделайте формирователь нормальный, как для них задумано.