Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Самодельный калькулятор в корпусе Б3-23
RSS

Самодельный калькулятор в корпусе Б3-23

На Н1806ВМ2

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9 10
Печать
 
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Предлагаю обсудить концепт самодельного калькулятора на Н1806ВМ2 в корпусе от советского Б3-23

Примерный состав Э3 :
Н1806ВМ2
ЭКФ1834ВВ55А ( импортный аналог )
М1801РР1 ( 000000 адрес )
КР537РУ11 ( или нечто похожее )
ЭКФ1533ИД10 - для управления катодами АЛС318
Несколько мелких ИС серии ЭКФ1564.

Питание - 3 батарейки АА, 4...5.5 вольт. Тактовая частота ВМ2 ~1 мгц, что бы не висел при разряде батареек.
Guest
Гость

Ссылка

А может стоит использовать более дешевый и доступный процессорный комплект, чем злато-серебро. Или планируется игрушка из разряда "для себя" ?
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
meot написал:
[q]
А может стоит использовать более дешевый и доступный процессорный комплект, чем злато-серебро. Или планируется игрушка из разряда "для себя" ?
[/q]
Куда уж дешевле - 2 т.р. без учета 6СПП ?
И это при условии работы с питанием от батарей, как в МК Э-85.

Считаем :
Н1806ВМ2ОС - 400 руб
"М1801РР1" - 700 руб :cool:
ЭКФ1834ВВ55А - ~300 руб с Али
Мелкота китайская ~ 800 руб
Индикаторы пока есть в продаже дешево.

Корпус выносим за скобки.
SL project
Advanced Member


Откуда: Великий Новгород
Всего сообщений: 3706
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 янв. 2007
Я был бы только за.

Идея отличная. Хочется чтоб обязательно была КР537РУ11, ну или 1809РУ1.

Вообще в идеале нужны два варианта, для тех кто любит золото, и кому нужен пластик.

Какой калькуляторный функционал предполагается?
xoiss
Гость

Ссылка

SL project написал:
[q]
Какой калькуляторный функционал предполагается?
[/q]
... он ведь будет ограничен гравировкой, что на клавишах штатной клавиатуры Б3-23
то есть — плюс-минус-умножить-разделить

может, предусмотреть расширение какое-нибудь по функциональности?
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
SL project написал:
[q]
Какой калькуляторный функционал предполагается?
[/q]
Возможно, Вы посчитаете, что я троллю, но моих познаний в софте хватит только на функционал Б3-23 , и то в восьмеричном исчислении ( как в фильмах ужасов ).
Конечно, для экономии ж., предполагается использовать модуль ЭСППЗУ. По крайней мере, к-во рециклов обещано более 1000 ( 8 ). ;)
Вся обвязка ВМ2 - китайская СМД 74HCхххD, ну или Интеграловская.
Насчет КР537РУ11 - да, она самая, по крайней мере в релизном изделии, на колодке ( Жестяной китайской ).
Можно и 62256 СМД приделать, но тогда всё может просто не влезть на 6СПП.
Если найдется Гуру топологии, может и на 4СПП влезет.

Точно ж. будет только камень. А для противников Зла, у Свинки были никелевые квадратики, Не дешево.
*
Расписание портов ВВ55 :
А.Вывод сегментов на индикатор АЛС318, через небольшие СМД резисторики ~100 ом ( до 30 ма динамически ).
Б.Ввод сканов клавиатуры, несколько бит. Остальные - биты пользователя.
Ц0.Вывод сканов катодов АЛС318 в бинарном виде, для подачи на ЭКФ1533ИД10 . Выходы ИД10 - так же и сканы клавиатуры.
Ц1.Порт пользователя, 4 бита.

Быстродействия ВМ2 хватит на программный телеграфный канал порядка 4800 бод.
*
Обращаю внимание, что будет только Э3, максимум - макет на МГТФ, в течении года.
Если кому интересна печатная плата - пожалуйста, изыщите возможность проектирования топологии самостоятельно.


xoiss написал:
[q]
расширение какое-нибудь по функциональности?
[/q]
Ну максимум - программируемость, в машкоТах.
rw6hrm
Advanced Member
Почётный тоховод Генсокё

Откуда: Ставрополь
Всего сообщений: 937
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2008
>offtop>
Поделитесь потом алгоритмом вычислений. Есть аналогичное желание, но использовать К155ИП3 (и возможно Nibbler в качестве схемной базы).
>/offtop>
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013

РНП=000000
Регистр адреса КР537РУ11 - 177760
Адрес ПЗУ = 000000
Размер СОЗУ = 001000
Быстродействие 1 мгц ~200 т. рег-рег ( у БК0010-3 мгц ~220 т. рег-рег ).
Адрес порта ВВ55А - 177600-177606, младший байт
Все мелкие ИС - 74HCхххD.

В такой конфе стандартные средства RT-11 неработают.
Для нормальной работы некотрого софта под RT-11 необходимо ОЗУ в адресах 000000...137776, и РНП с содержанием 140000.
Как вариант, приделать еще и порт терминала на 177560 ( не на 1801ВП1 ) - тогда получится более-менее стандартная М-ЭВМ.
( 1002ХЛ1 , но тогда придется и 62256х2 шт. приделывать - в общем, монтаж ИС с 2-х сторон МПП. Но можно будет запустить RT-11 через эмулятор ДВК господина Патрона ).
*
Э3 Б3-23 :

*
Э3 Б3-24Г :


Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Извиняюсь за оффтоп, но когда смотрю такого рода схемы, лишний раз убеждаюсь, что хорошо, что у человечества есть всякие контроллеры на вроде PIC10 sot23:



На котором данный калькулятор реализуется полностью.
SL project
Advanced Member


Откуда: Великий Новгород
Всего сообщений: 3706
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 янв. 2007
Пусть будет просто калькулятор. Зато на ВМ2. В этом вся его прелесть.

а что то более продвинутое можно пытаться уместить в настольных кальках по типу МК-41 и подобных.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
SL project написал:
[q]
а что то более продвинутое можно пытаться уместить в настольных кальках по типу МК-41 и подобных.
[/q]
Есть рецепт чуть проще, но менее помпезный - мелкоту и "неконцептуальные" 62256 разместить снизу МПП - тогда всё влезет, даже с портом RS-232.
А 1002ХЛ1 с 588ВН1 доступны не особо дорого. Но нужна будет именно 6СПП.
*
Насчет ОЭВМ на DEC-архитектуре - вопрос обсуждается уже более 10 лет.
Первыми начали вояки, в начале 21-го века, паралельно с обсуждением чисто русского 1836ВМ3, как выриант - ОЭВМ на его основе, с масочным ПЗУ.
Дальше обсуждения состава кристалла дело не продвинулось. Было 2 варианта :
1. Оставить ядро проца как есть, и приделать внутреннюю переферию - как таймер в 1801ВМ1
2. Принципиально ориентироваться на специфическое применение, как в 1013ВМ1
xoiss
Гость

Ссылка

Tronix написал:
[q]
контроллеры на вроде PIC10 sot23 >...> На котором данный калькулятор реализуется полностью.
[/q]
Доказательство в студию, пожалуйста.
Сейчас на форуме
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
xoiss написал:
[q]
Доказательство в студию, пожалуйста.
[/q]
В смысле? Калькулятор на нем сделать плюс минус умножить делить? Ну это просто. Ног мало? Ну две идут на сдвиговый регистр(ы) для индикатора, две на клавиатуру, через опять же сдвиговые регистры. Или в чем сомнения?
xoiss
Гость

Ссылка

Tronix написал:
[q]
В смысле? Калькулятор на нем сделать плюс минус умножить делить? Ну это просто. Ног мало? Ну две идут на сдвиговый регистр(ы) для индикатора, две на клавиатуру, через опять же сдвиговые регистры. Или в чем сомнения?
[/q]
Я имел в виду:
- выбрать конкретную модель контроллера PIC10xxx в корпусе SOT23
- написать для него программу, которая в него поместится, и которая будет эквивалентна Б3-23 (ну или какой-нибудь другой похожий аппарат)
- в программе также должны быть функции для работы с "обвесом", который будет опрашивать клавиатуру и зажигать сегменты на дисплее

Если готовы, то можно открыть отдельную тему — это было бы интересным проектом.
Сейчас на форуме
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
xoiss написал:
[q]
Если готовы, то можно открыть отдельную тему — это было бы интересным проектом.
[/q]
Не готов, потому что калькуляторы в принципе мне не интересны. Ну, разве только что программируемые, правда не сталкивался, но чуть-чуть сама тема интересна. А обычные - не интересны, ну совсем никак. Разве что можно 1111 умножить на 1111 и получить кавайн. Это все, что я знаю о калькуляторах -)

PIC контроллер этот я показал в абстрактном понимании - показать разницу между сложностью решения задачи "тогда" и простотой "сейчас". И конечно, если бы я все-таки зачем-то делал калькулятор, то взял бы микроконтроллер с дофигища ногами, что бы не парится с "обвесом". Этот же микроконтроллер SOT23 полезен немного в другой области применения, хотя я не отрицаю что и на нем можно сделать калькулятор. Ровно как можно сделать калькулятор и на Н1806ВМ2 или на FPGA Spartan 6. Вопрос - зачем? - остается риторическим.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Tronix написал:
[q]
Вопрос - зачем?
[/q]
Да для фана, не более.

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

А что делать интеллигенту, для которого абсолютно неприемлемо бухание и прочие популярные пороки общества ?!
Вот и получаются всякие куркуляторы на ВМ2...

Почему на DEC - так это самый шик, понты...
А если для коммерции - вероятно, как раз и стоило применить китайскую ОЭВМ, да накатать софт на каком-нибуть Бейсике и не парится.

Ну можно еще раскритиковать бегуна - марафонца - коль автотранспорт не подходит, может велосипед подойдет ? :mad:
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
MM написал:
[q]
Почему на DEC - так это самый шик, понты...
[/q]
MM - прекрасно Вас понимаю. Может быть даже больше, чем другие. Мы одно время на работе хотели сделать испытательный стенд для приборов на таком контроллере:



Не потому, что мы старперы, и кроме 51 ядра в жизни больше ничего не видели, а наоборот, потому что все устали от, уже, попсовых NXP с STM32. Потому что можем! И понятное дело, что на том же STM32 сделать подобный стенд было бы в разы быстрее, проще, дешевле, компактней. Но душа требует странного. Требует ромбиков, никеля/ж, МЛТ, КМ. И получается, что как бы just for fun, но в то же время как бы для дела. Даже стало быть начали разводить огроменную плату для нашего стенда под ATX формат, опять же, потому что можем. Потерялись у меня все 3d модельки дома, но примерно так:



Но, конечно, все поглотила в итоге рутина. Стенд сделали из компа и STM32 на скорую руку, потому что нужно быстрей, а еще лучше позавчера, АААА!!! Но мы не сдались! Скоро очень скоро будет убер плата (уже в производстве), такого даже вообще еще никто не видел, как мы могем :)

Так что мне Ваши, так сказать, порывы понятны и ясны :)
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
*мимопроходил*
Программную часть тогда тоже делать с какой-нибудь изюминкой! Например, сделать вычисления рациональных чисел без потери точности.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
KALDYH написал:
[q]
*мимопроходил*
Программную часть тогда тоже делать с какой-нибудь изюминкой! Например, сделать вычисления рациональных чисел без потери точности.
[/q]
Ну из программной части будет :
1.Открытие адреса
2.Просмотр /и запись ячейки
3.Запуск с адреса
4.Индикация адреса останова
5.Опция. Загрузка с линии в адрес
6.Опция. Вывод массива с адреса в линию
xoiss
Гость

Ссылка

MM написал:
[q]
из программной части будет : >...>
[/q]
так это в итоге калькулятор будет (который + - * / % = ) или это будет компьютер-но-в-калькуляторном-корпусе?

по описанию ЮТ-88 напомнило — вот это фото: http://zxbyte.ru/ut88.htm
Сейчас на форуме
SL project
Advanced Member


Откуда: Великий Новгород
Всего сообщений: 3706
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 янв. 2007
2 xoiss

я так понял что это будет самый обычный калькулятор который умеет + - * / % =. Только на процессоре 1806ВМ2


2 ММ

Вопрос по софтовой части.
Возможно ли реализовать что при включении калькулятора загорается не сразу 0, а бегущая строка что то по типу PDP-11 CALC или CPU H1806 CALC а только потом загорается 0 и калькулятор переходит в режим вычиcлений.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
SL project написал:
[q]
Возможно ли реализовать
[/q]
Всё возможно, но в рамках емкости КР537РУ11 и 8 Кбайт М1801РР1.
Устанавливать 1809РУ1 нет смысла, т.к. она Очень много потребляет ( примерно как всё остальное ), и может не потерпеть +4 вольт питания.
Есть, конечно, вариант и совместимого с RT-11 калька, но стоимость проектирования его 6СПП мне не потянуть.
SL project
Advanced Member


Откуда: Великий Новгород
Всего сообщений: 3706
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 янв. 2007
Лучше тогда реализовать полностью Обычный кальк на 1806ВМ2. а дальше уже будет видно.
Пусть пока будет без излишних наворотов, а просто калькулятором на ВМ2
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Уважаемый SL project, не будет ли у вас возможности сделать топологию ДПП, до Герберов ?
( вариант на КР537РУ11, М1801РР1, КР1834ВВ55А, ЭКФ1564ХХуу ).
Могу детально измерить геометрию калька, если, конечно, удасться его отыскать ( смайл ).

Насчет моих познаний в софте - как-то в 1991 г. делал софт кассового аппарата, и на приемке изделия комиссия была крайне удивлена тому, что бабки считаются в восьмеричной сисьтеме...
xoiss
Гость

Ссылка

MM написал:
[q]
Насчет моих познаний в софте - как-то в 1991 г. делал софт кассового аппарата, и на приемке изделия комиссия была крайне удивлена тому, что бабки считаются в восьмеричной сисьтеме...
[/q]
Вы не будете против, если я Вам помогу с этим?

Вот, например: https://github.com/xoiss/b3-23
[upd] перекинул на github

// я это вчера начал писать — ну, думаю, до понедельника закончу
Сейчас на форуме
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
1801РР1 для батарейного питания не пойдет. Сосет от 40 до 85ма с источника

http://ic-info.ru/upload/iblock/28e/1801%D0%A0%D0%A01.pdf
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
svinka написал:
[q]
1801РР1 для батарейного питания не пойдет. Сосет от 40 до 85ма с источника

http://ic-info.ru/upload/iblock/28e/1801%D0%A0%D0%A01.pdf
[/q]
Тсс !
Это мой хитрый маркетинговых ход проталкивания модуля ЭСППЗУ.

Ну а для фото - может даже и удасться отыскать живую РР1...
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Мои поиски показали что ППЗУ КМОП пригодные для батарейного питания в СССР не выпускались :(
В 1990г имелись сведения об серии 1626 (аналог 27С... с окошком). Но ни фото ни иных следов этих микросхем не сохранилось...

Масочные были.

Или кмоп ОЗУ с батарейкой на несколько лет :tongue:
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
svinka написал:
[q]
...поиски показали что ППЗУ КМОП пригодные для батарейного питания в СССР не выпускались...
[/q]
Есть решение такой проблемы - отключаемое ПЗУ.
Но это заведомо добавление 2 х 62256 СОИк и хитреж с коммутацией шины к ПЗУ.

Кстати, фактическое ( общее ) потребление 1801РР1 при 0.3 млн выборок в сек - в районе 30 ма, с иглами ~50 нс 100 ма.
Потреление модуля ЭСППЗУ при аналогичных условиях - сопоставимо, с иглами ~20 нс ~150 ма.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
MM написал:
[q]
добавление 2 х 62256 СОИк
[/q]
Это уже антисоветская микросхема
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
svinka написал:
[q]
антисоветская микросхема
[/q]
Как вариант "только на совке" - 2 х 537РУ8 - им как раз и фиксация адреса не нужна, и цена довольно гуманная, особенно на Н537РУ8.
Но жрут при обращении 1 мгц - порядка 20 ма на корпус.
https://eandc.ru/pdf/mikroskhema/k537ru8.pdf
Однако, терпимы к батарейному хранению, ток в районе 10 микроампер 3 вольт.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Однократные КМОП ПЗУ 8-битные нашлись в серии 1623. Но стоят нецензурных денег


А решение с отключаемым ПЗУ может правда имеет право на жизнь???
Какие там варианты по шине чтобы не погорело? 559 серию не предлагать :tongue:
1561ПУ4 по входу можно попробовать. А на выход?

Интересуют решения на советских детальках 1985-1991 года а не на современных буржуйский сборках полевиков специально для этого сделанных

И хотелось бы программно управлять частотой процессора. Например переключаться на 32кгц в режиме ожидания нажатия на кнопку
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
svinka написал:
[q]
И хотелось бы программно управлять частотой процессора. Например переключаться на 32кгц в режиме ожидания нажатия на кнопку
[/q]
К сожалению, ввиду Дефицита места на плате, могу предложить регулировать тактовую паяльником, посредством замены кварца.
*
К сожалению, опять таки ввиду Дефецита места на ДПП, придется применять серию ЭКФ1564 неизвестного производства.
*
Пока кто-нибуть не возьмется рисовать Герберы, тема будет чисто теоретической.
Топнормы :
FR-4 1.5 mm, 0.2/0.2 трек/зазор, отверстие 0.3, ободок отверстия - 0.2, медь 18 мкм.
Разумеется, делаться будет у Китайцев.
Если потерпит цена 500 руб за 4СПП, то можно и такую, с 2-сторонним расположением ИС.
Можно будет и 62256 приделать, и телеграф.
Ориентировочная цена ДПП при заказе 10 шт. ~300 руб, из них 200 руб - одноразовый шаблон.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
непродуктивно отвлекает от написания кода, который я для ММ делаю
[/q]
Там никто категорически нехочет делать топологию платы.
Может даже и под RT-11 с 62256 зверь выйдет, на 4СПП.
Конфа :
000000-077777 - СОЗУ батарейное
100000-177000 - сектора ППЗУ/1801РР1
177560-177576 - регистры, в т.ч. 1002ХЛ1 и 588ВН1.
РНП=100000

Но походу это всё теоретизирование.
xoiss
Гость

Ссылка

а мы всё-таки попробуем!
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Даташит на некотрый аналог 1002ХЛ1 :
http://radio-hobby.org/uploads/datasheet/47/cdp6/cdp6402.pdf

Есть ли где пример сопряжения ХЛ1 с 588ВН1 на стандартных адресах 177560 ?
*
Может, это оформить не в корпусе МК Б3-хх, а в прозрачном акриловом, да с матричными индикаторами 5х7 точек АЛС340ху
( доступны по ~40 руб ) ?
xoiss
Гость

Ссылка

MM написал:
[q]
[/q]
В общем, к понедельнику успел сделать не всё, но бОльшую часть.

Исходные коды проекта — здесь: https://github.com/xoiss/b3-23

"Проект" — это в данный момент чисто код на Си, реализующий что-то вроде симулятора Б3-23 в виде консольного приложения.

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

Компонента "симулятор" — вот конкретно её код: https://github.com/xoiss/b3-23/blob/master/simulator-b3-23.c
Эта компонента написана на ANSI C, и не использует никакие системные библиотеки.
Таким образом, она должна без проблем восприниматься большинством компиляторов Си — ну, во всяком случае, теми, что вышли после 1989 года.
// конечно, в особо изысканных случаях проблемы могут быть, но это надо предметно смотреть

Для того, чтобы на основании этого барахла сделать собсна калькулятор — будь то н1806вм2 или какой другой — необходимо следующее:
1. Железка с процессором, памятью, кнопками и индикатором. Минимальные требования я бы оценил так: примерно 2 кБ ПЗУ и около 64 байт ОЗУ. Клавиатура и индикатор - такие же, как у Б3-23
2. Какая-то минимальная "операционная система" на железке. В принципе, таковая как класс не обязательна, если все порты ввода-вывода будут напрямую доступны приложению (см. п.3 далее)
3. Переделать компоненту "миниатюрное консольное приложение" — т.е. нужно сделать специальное приложение, которое будет теперь уже не в консольном окошке на персоналке работать, а на вот этой железке. Эта компонента должна: (1) сканировать клавиатуру, фильтровать дребезг контактов, формировать код нажатой клавиши, (2) сканировать разряды индикатора, перекодировать коды цифр в 7-сегментные коды, зажигать сегменты индикатора. Часть этого функционала может быть выделена в некое подобие BIOS или OS (см. п.2), хотя это может быть и монолитное приложение
4. Незначительно переделать компоненту "адаптер" — ну, здесь скорее косметические изменения потребуются
Вот. И главное — компоненту "симулятор" переделывать НЕ требуется, т.к. она вообще никак не зависит от того, на какой платформе ей предстоит работать.

Если речь идёт вот именно о н1806вм2, то в принципе у меня лично есть:
1) компилятор языка Си для ДВК / УК-НЦ — наверное, им можно воспользоваться с целью, как минимум, перевести код компоненты "симулятор" на ассемблер с системой команд DEC PDP-11
2) некоторые остаточные знания системы команд (машинных инструкций) DEC PDP-11
3) опыт работы с периферией на УК-НЦ... правда, было это в 90-х

Что дальше?
1. Мне нужно ещё немного доделать сам симулятор. Сейчас он полностью реализует такие "фишки" Б3-23 как цепочки вычислений, вычисления с константой, сброс, ошибка переполнения, плавающая запятая, отрицательные числа. Из функций сделаны и отлажены сложение и вычитание. Не сделаны умножение, деление и вычисление процентов.
2. Нужно конкретное понимание, что из себя будет представлять "железка". Если это вот чисто калькулятор - ок. Но если это нечто большее, с дополнительными "некалькуляторными" функциями, то... надо обсуждать. В принципе, если на железке будет а-ля RT-11, а приложение калькулятора будет запускаться просто как SAV-файл, то тогда можно будет весь проект целиком попытаться Си-шным компилятором собрать
3. Как промежуточный вариант, можно попробовать вот всё это приложение допилить под ДВК в текстовом (консольном) режиме — и попробовать его на ДВК / УК-НЦ запустить с дискетки.


Пример диалога, как это сейчас выглядит:

// желающим воспроизвести потребуется Linux, ну или Windows + MinGW + MSys
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Уважаемый xoiss, спасибо за поддержку проекта.
Софт по любому следует делать для размещения в ПЗУ с 000000 адреса, ориентироваться на 8 кбайт ППЗУ ( 1801РР1 ).
Если сложно с 8 кбайтами, можно раздуть и до 56 кбайт, так же с 000000 адреса по 157776 ( модуль ЭСППЗУ ).
Если именно на КР537РУ11, возможно стоит разместить её массив СОЗУ с 170000 адреса длиной 001000.

Пока дело исключительно в отсуствии желающих сделать топологию ДПП.
*
Какой софт может быть, для варианта "программируемый 8-ричный контроллер" :
1. Подпрограмма вывода на индикатор АЛС318 строчки кодов символов из СОЗУ , 9 кодов и положение точки ( точек ).
Она же и сканирует клавиатуру на предмет нажатия кнопки.
2. Простенький интерпретатор действий пользователя - полистать СОЗУ/ПЗУ/Регистры, заменить значения слов/байтов, в т.ч. регистров ЦП, запусить с адреса.
3. Подпрограмма индикации слова/байта и его адреса - 3 символа - адрес, и 6 символов - данные.
4. Возможно, как-то применить озвучивание действий пользователя, особенно для варианта с 56 кбайт текста, на 4-битый ЦАП.
Ну может даже какой-нибуть ЭМИ разработать, можно и на полном ходу 5 мгц Н1806ВМ2 ( 1 млн рег-рег )- он весьма скромный по аппетиту, даже холодный.
xoiss
Гость

Ссылка

MM написал:
[q]
Софт по любому следует делать для размещения в ПЗУ с 000000 адреса, ориентироваться на 8 кбайт ППЗУ ( 1801РР1 ).
[/q]
MM написал:
[q]
Если именно на КР537РУ11, возможно стоит разместить её массив СОЗУ с 170000 адреса длиной 001000.
[/q]
ну, скажем так, я знаю, как это (описание страниц доступной памяти) сделать в линковщике gcc (формат линкерного файла SVR4 "System V R4")
но я пока не знаю, как это сделать в компиляторе Си для ДВК / УК-НЦ... и вообще можно ли там такое сделать
надо читать прилагаемую мануалку, либо кто-нибудь пусть подскажет, как это сделать

код (адреса перехода и пр.), насколько мне известно, ДВКшный компилятор Си (равно как и компилятор Паскаль) делает полностью перемещаемым
поэтому не принципиально, с какого адреса он в итоге будет размещаться в памяти (если с 000000 - ну, значит так)

8 кбайт ПЗУ — если не использовать printf/scanf и пр. ненужности, то, думаю, должно хватить


MM написал:
[q]
Какой софт может быть, для варианта "программируемый 8-ричный контроллер" >...>
[/q]
... ну, эммм, давайте пока пойдём по минимальному варианту — хотя бы его осилить бы
максимум если только с добавлением вот этого:

SL project написал:
[q]
Возможно ли реализовать что при включении калькулятора загорается не сразу 0, а бегущая строка что то по типу PDP-11 CALC или CPU H1806 CALC а только потом загорается 0 и калькулятор переходит в режим вычиcлений.
[/q]
// да, такое возможно реализовать... в т.ч. и с эффектом "бегущей строки"


MM написал:
[q]
Пока дело исключительно в отсуствии желающих сделать топологию ДПП
[/q]
сами разведите! :)
оставьте самый минимальный набор компонентов — только то, что действительно необходимо
Сейчас на форуме
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Вообще-то тема не про калькуляторsы а про PDP-11
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
код (адреса перехода и пр.), насколько мне известно, ДВКшный компилятор Си (равно как и компилятор Паскаль) делает полностью перемещаемым
поэтому не принципиально, с какого адреса он в итоге будет размещаться в памяти (если с 000000 - ну, значит так)
[/q]
Разрешите напомнить, уважаемый господин xoiss, что стандартный MACRO.SAV не может предоставлять такие роскошные фичи без известного усердия кодера, насчет Паскаля ---> 99.9% что это так.

Вообще, пока не будет топологии ПП, физически привязывать софт к железу рановато, т.к. есть небольшая вероятность, что будет RT-11 совместимый кальк с не менее 32 кбайт СОЗУ и 24 кбайт ПЗУ ( а возможно и поболее ПЗУ ).

Для написания софта посоветую эмулятор ДВК господина Патрона и стандарные средства RT-11 V5.00 - EDIK.SAV, MACRO.SAV, LINK.SAV, DESS.SAV. Насчет Паскаля - нет уверенности, что его "резиновые" билиотеки смогут работать в ПЗУ.
Отмечу, что стандартный файл типа .SAV создается как раз для загрузки с 000000 адреса, с рабочим телом кода с 001000 адреса.
Стек и переменные следует размещать в массиве адресов КР537РУ11.
xoiss
Гость

Ссылка

svinka написал:
[q]
Вообще-то тема не про калькуляторsы а про PDP-11
[/q]
... ну, вообще-то как раз про калькуляторы :)


MM написал:
[q]
физически привязывать софт к железу рановато
[/q]
да, я в общем как раз и не тороплюсь
допишу - протестирую на персоналке - потом попробую на ДВК перетащить (да, вот как раз эмулятором воспользуюсь) - заодно посмотрю имеющийся у меня Си-шный компилятор для ДВК
если в таком варианте взлетит, то ... ну, как минимум положу в архив до тех пор, пока будет определённость с железкой

вот

что касается железки — то я всё-таки ещё раз предлагаю взвесить все моменты

ключевое, как я понял, сейчас - это даже не плату развести, а таки выбрать, что в ней будет, а чего не будет
если перечитать тему от начала и до крайнего сообщения, то я вижу довольно много неопределённостей...
... из которых, пожалуй, главная — это будет ли там RT-11 или нет (а ведь от ответа на этот вопрос схема и плата железки зависят радикально)
... и вторая по величине неопределённость — какое будет ПЗУ: ЭСППЗУ или просто ПЗУ (УФПЗУ)

у меня есть сильное опасение, что: Если не определиться с этими вопросами, То проект останется на стадии "написания технических требований/характеристик"

и второе моё опасение: Если, даже определившись, включить таки в проект слишком много всего, То либо (а) будут "железячные" баги, и плату придётся 2-3 раза доводить/переделывать, либо (б) это останется "платой с микросхемами" без операционной системы, т.к. некому будет её адаптировать/портировать, либо в лучшем случае (в) какие-то базовые функции этого устройства удастся поднять, но остальные так и останутся недотянутыми

моё предложение — сделать *минимальную* аппаратную конфигурацию:
- ПЗУ использовать "обычное" — программатор и импортные РФки сейчас несложно найти (а можно и флеш поставить)
- RT-11 туда не тащить, т.к. это за собой потянет массу проблем
- поставить минимальное (по современным меркам, конечно :) ) статическое ОЗУ — я бы сказал, пропорция 16/48, как у Спектрума, вполне себе норм. (ну, можно джамперами объём ПЗУ выставлять 4-8-16 — а остальное, чтоб ОЗУ было видно)
- периферия — только клавиатура и 7-сегментный индикатор — отобразить их на несколько регистров — и сделать это *без* системы прерываний (всё равно там нечего прерывать)
- всё! больше ничего не делать. даже шину на краевой разъём не стоит вытаскивать — лишнее это!

в моём понимании - это ещё ну хоть как-то в обозримом будущем можно осуществить, с учётом общей занятости всех потенциальных участников
если это взлетит, если будет рабочий образец в чистеньком корпусе от Б3-23 — уверен, степень заинтересованности широкой аудитории резко вырастет — возможно, подтянутся ещё энтузиасты, что немаловажно
и если так, то тогда уже можно будет подумать о чём-то более продвинутом — например, в корпусе от МК-52... ... ... с доп. функциями, с интерфейсами и пр.
// ну, я так думаю
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
выбрать, что в ней будет, а чего не будет
[/q]
Минимальная схема электрическая принципиалная - несколькими постами выше.
Состав :
М1801РР1 , адреса 000000 - 017777, или модуль ЭСППЗУ с адресами 000000-157777 ( 56 кбайт )
КР537РУ11, адреса ( вероятные ) - 170000-170777
В чем польза минимальной конфы :
1.Работоспособность.
2.Возможность разместить на ДПП
3.Дешевизна китайских ДПП
4.Относительная дешевизна всего конструктива ( мало ИС ).
xoiss
Гость

Ссылка

MM написал:
[q]
Состав
[/q]
Хорошо. База понятна.


MM написал:
[q]
Минимальная схема электрическая принципиалная - несколькими постами выше.
[/q]
Да, посмотрел.

Есть несколько вопросов/предложений (я нисколько не настаиваю на них, но у меня есть основания, чтобы это обсудить):
1. В схеме часть микросхем показаны как серия 133. Это действительно должна быть именно 133-я? или обязательно именно ТТЛ? или там может быть КМОП?
2. Если в общем замена на КМОП допустима, то допустима ли замена на КМОП цепочки элементов DD6:B, DD6:C?
3. Обязательно ли делать монтажное ИЛИ на элементах DD4:A..DD5:F и резисторе R3? Можно ли это заменить обычным элементом ИЛИ?
4. Предлагаю отказаться от цепочки R14, D8 и R16, Q1. Использовать готовый "супервайзер". На нём же можно и генератор X1 реализовать.
5. Предлагаю узел Q2, ZP1 (я так понял, что это "крякалка", чирикающая при нажатии клавиши) сделать управляемым от процессора.
6. Предлагаю узел сканирования клавиатуры и динамической индикации сделать автономным. Да, для этого потребуется сколько-то дополнительных микросхем, но в этом есть смысл — зачем, см. далее.
7. ... пока, вроде, всё, но, может быть, что-нибудь ещё на ум придёт

В чём собственно суть вышеперечисленных пунктов?
Причина - одна: снизить потребляемый ток. Это напрямую влечёт п.п. 1, 3, 4 и отчасти 5.

По пункту 6:
Если сделать аппаратный узел, который сам будет осуществлять динамическую индикацию, то тогда не придётся гонять ЦПУ, делать выборку из памяти и пр. просто, чтобы вновь и вновь отобразить на экране "нолик" или продолжительно-неизменный результат вычислений. Если к тому же сделать и аппаратный узел сканирования клавиатуры, то вкупе это позволит преобладающее время держать процессор остановленным.

Подскажите, пожалуйста, для процессора 1806ВМ2:
1) есть ли у него какой-нибудь режим, когда он действительно ничего не делает (остановлен)? Если есть, то какой командой (инструкцией) он в него входит? Может ли он выходить из него по запросу прерывания от внешнего источника?
2) ... в продолжение п.1 — если такой вот прям инструкции нет, то можно ли ЦПУ ввести в такой режим манипуляциями с линиями DCLO, ACLO? Но так, чтоб потом вывести ЦПУ из этого режима без потери состояния. Я что-то помню, что эти сигналы, вроде, прерывания какие-то формируют... Но что они делают на самом деле, я не в курсе.
3) можно ли в процессе работы (а) снижать тактовую частоту процессора (если да, то до какого предела?), или (б) можно ли останавливать внешнее тактирование на произвольное продолжительное время и потом возобновлять тактирование? Ну, чтобы таким образом искусственно переводить процессор в режим сна. // внешнее ОЗУ - статическое
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
показаны как серия 133
[/q]
Приношу извинения, следует использовать серию ЭКФ1564, кроме разве что 1533ИД10 - простой замены в Москве найти не удалось, всё под заказ по конским ценам. Если ~10 ма критичны - то следует поискать и ЭКФ1564ИД10 ( у китайцев ).
*

xoiss написал:
[q]
допустима ли замена на КМОП цепочки элементов DD6:B, DD6:C?
[/q]
Да, можно вообще на RC цепочку, с временем задержки порядка 50 нс.
*

xoiss написал:
[q]
Предлагаю отказаться от цепочки R14, D8 и R16, Q1.
[/q]
Я использую только проверенные решения с Определенными параметрами. Времени заниматься посторонними НИИР у меня не особо.
*

xoiss написал:
[q]
Предлагаю узел Q2, ZP1 (я так понял, что это "крякалка", чирикающая при нажатии клавиши) сделать управляемым от процессора.
[/q]
Куда уж более - сидит на порте ВВ55А, проц как раз и управляет ей.Если насчет питания - надо приделывать доп. элементы. На фоне потребления индикатора - порядка 50 ма, дополнительные ~3 ма малозаметны. Особенно, если добавить общее потребление вычислителя - еще не менее 50 ма. ( 1 мгц тактовой ). Можно, конечно, сделать усилок на 1 элементе ЛН1 и 2 резисторах и 2 конденсаторах. Но свои ~3 ма он, боюсь, отожрет...
*

xoiss написал:
[q]
Предлагаю узел сканирования клавиатуры и динамической индикации сделать автономным. Да, для этого потребуется сколько-то дополнительных микросхем, но в этом есть смысл — зачем, см. далее.
[/q]
Для ДПП это малореально, ввиду чрезмерного ограничения места ( к-ва компонентов ). А для 4СПП и 2-стороннего размещения ИС
- можно что-то приделать.
*

xoiss написал:
[q]
какой-нибудь режим, когда он действительно ничего не делает (остановлен)?
[/q]
После команды WAIT , код - 000001, при 000000 приоритете процессора, до поступления прерывания от таймера ( 100 вектор ) или многопроцессорного механизма ( 250-й вектор ). Именно 1806ВМ2 полностью статичен и допускает еще и снижение тактовой часты до 0 гц ( но это лучше не делать, можно снизить частоту хотя бы до 1 кгц , что бы не допустить зависания М-ЭВМ ).
*
Вообще, именно Н1806ВМ2 Чрезвычайно холодный процессор, речь идет примерно о 1.5 порядках снижения потребления при одинаковом с 1801ВМ2 быстродействии, например 0.5 млн ( 2.5 мгц 1806ВМ2 ) ~30 ма для 1806ВМ2. При останове тактовой в 1806ВМ2 потребление определяется течкой, и может составить порядка 1 ма.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
MM написал:
[q]
в 1806ВМ2 потребление определяется течкой, и может составить порядка 1 ма.
[/q]
по паспорту до 5ма при комнатной температуре

Динамическое потребление +80ма при тактовой 5мгц
xoiss
Гость

Ссылка

MM, добрый день!

1. Можно ли Вас попросить опубликовать ту часть схемы, где показаны соединения ЦПУ, ОЗУ и ПЗУ?

2. Сколько потребляет (М)1801РР1 в дежурном режиме? (т.е. когда к ней нет запросов). Ток потребления в режиме чтения — упомянут в предыдущих сообщениях выше.

3. Сколько потребляет КР537РУ11 в дежурном режиме и в каком-нибудь режиме чтения/записи?

В интернетах кое-что нашёл на эту тему, но сомневаюсь в надёжности источников.

Спасибо!
Сейчас на форуме
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
xoiss написал:
[q]
3. Сколько потребляет КР537РУ11 в дежурном режиме и в каком-нибудь режиме чтения/записи?
[/q]
Есть заводская этикетка! Выложить???
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
опубликовать ту часть схемы, где показаны соединения ЦПУ, ОЗУ и ПЗУ?
[/q]
1.ОЗУ и ППЗУ устанавливаются на одноименные линии МПИ, согласно расписанию их выводов.
ЦП со временем опубликую ( на него нет библиотеки ), из особенностей - сигнал AR ( адрес принят ) соединен напрямую с SYNC, что повлечет потерю быстродействия ~5% ( см. его ТО на сайте А. или Физики ). Почему потерю - в отличии от 1801ВМ2 сигнал AR следует снимать до снятия сигнала SYNC не менее, чем за 1 такт - это фича 1806ВМ2 ( по типу как сигнал SSYNC в 1801ВМ3, общая длина следующего цикла МПИ определяется по переходу сигнала SYNC с 0в. к +5в. ( для сигнала SSYNC )).

xoiss написал:
[q]
Сколько потребляет (М)1801РР1 в дежурном режиме?
[/q]
2.Измерю на днях, при сигнале SYNC = +5в. Модуль ЭСППЗУ - совсем немного, определяется ЭКФ1533ЛП17 и подтяжками 10 ком - порядка 10 ма, при выборке - порядка ~50 ма.

xoiss написал:
[q]
Сколько потребляет КР537РУ11 в дежурном режиме и в каком-нибудь режиме чтения/записи?
[/q]
Это вопрос к обладателю этих ИС. Пока у меня их нет. Но для КМОП ток хранения - совсем небольшой, даже при +5в.
xoiss
Гость

Ссылка

svinka написал:
[q]
Есть заводская этикетка! Выложить???
[/q]
Да, было бы здорово.
И на остальные чипы, что здесь упоминались, — если у Вас что-нибудь есть, то тоже поделитесь, пожалуйста.

// на сайте 155la3.ru на эти микросхемы ничего нет

Спасибо!
Сейчас на форуме
xoiss
Гость

Ссылка

MM написал:
[q]
ЦП со временем опубликую ( на него нет библиотеки ), из особенностей >...>
[/q]
вот-вот, как раз про "особенности" я и говорю! :)

соединить линии адреса-данных — это в общем, очевидно
но совсем не очевидно, что с остальными линиями делать
может, где-то времена отклика как-то надо согласовывать, или ещё что-нибудь

на импортные то микросхемы всегда очень детальная информация идёт в даташитах, а то и appnotes опубликуют с готовой схемой-примером
а наши этим почему-то не шибко озадачивались
вот. поэтому практический опыт/знания (Ваши, в частности) здесь имеют ключевую роль

спасибо!
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Очень краткое ТО 1806ВМ2, распознано с бумаги, содержит множество "опечаток", но самая позорная в заглавии - устранена.
http://npofizika.ru/pdf/1806vm2.pdf
Детальное ТО привести нет возможности, т.к. камень находится на "спецприменении", и выпускается в данный момент.
Отмечу, что по этикетке напряжение питания - 4.5 .... 5.5 вольт, в отличии от "распознанного с бумаги ".

Для тактовых чатот менее ~3 мгц и платы менее 10 х 10 см. согласовывать что-либо нет необходимости.
На частотах свыше ~4 мгц и плате более ~12 х 12 см. ( разводка МПИ от процессора ) коррекция таймингов и антизвонные мероприятия необходимы,
из расчета эффективных частот МПИ более 10 мгц ( не путать с к-вом транзакций МПИ ).

Что делать с ост. линиями проца - я на Э3 привел резисторные сборки с указанием выводов 1806ВМ2 - к их выводам и присоединить.
*
Насчет детального описания импортных БИС, особенно контроллеров - к сожалению, это не всегда так.
Пример - USB1.1 контроллер SL811 - на него есть описание применения , но только совместно с ОЭВМ этой же фирмы - т.е. намекается - покупайте только у нас, причем всё сразу !
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
MM написал:
[q]
Измерю на днях, при сигнале SYNC = +5в.
[/q]
Измерил, сопротивление - 10 ом, входящее напряжение стенда - 5.3 вольт :

Ток потребления М1801РР1 - 22 ма.
*

Ток потребления КР1801РЕ2-253 - колебался в границах 8 ма...16 ма, видимо зависит от 23 вывода ( CS ).
*

Ток потребления модуля ЭСППЗУ - стабильно 16 ма.

Если сменить подтяжки с 10 ком на 100 ком, и ЭКФ1533ЛП17 на 74HC07D, то вполне можно добиться тока хранения порядка 5 ма.
*
Патченная Э3 :

Изменения :
1.Вместо 1564ТМ2 применена 1564ИЕ19 - можно выбрать тактовую из ряда 1.0, 0.5, 0.25, 0.125, 0.0625, 0.03125, 0.015625, 0.0078125 мгц.
2.Добавлен полноценный ковокс 8 бит
3.Более предметно обозначены входы клавиатуры 4 шт. от 145ИП11 ( выходы клавы - выходы ИД10 )
4.Добавлен РНП на адреса 020000 ... 160000 - для дальнейшего апгрейда без смены платы ( можно СОЗУ нарастить до 32 кбайт ).
5.Усилитель звука ковокса сделан на 1564ЛН1
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
xoiss
Гость

Ссылка

спасибо за справочные данные!

между делом запилил операции умножения и деления
осталось сделать взятие процентов
https://github.com/xoiss/b3-23/blob/master/simulator-b3-23.c




Коллеги, есть ли у кого нибудь живая машинка — одна из таких?:
Б3-23, Б3-24, Б3-26, МК-23, МК-26, МК-57
(они все были выполнены на одном и том же процессоре к145ип11)

хотелось бы прогнать на ней несколько последовательностей и посмотреть, какой будет отклик на экране

кто может помочь?
спасибо!
Сейчас на форуме
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
Есть живой Б3-23 и МК-57. Что требуется выполнить?
xoiss
Гость

Ссылка

Ну, собсна, всё — софт в "консольном" варианте готов!

Желающих протестировать, приглашаю сюда:
https://onlinegdb.com/rkoD9v2sm — версия с логикой вычисления процентов, как у Б3-23
https://onlinegdb.com/ry3kCP2sQ — версия с улучшенной логикой вычисления процентов (сам придумал :) )
[upd 22.10.18 16:05] сделал фикс в вычислениях процентов
[upd 23.10.18 00:35] переделал обработку = в вычислениях процентов
[upd 23.10.18 12:46] переделал логику вычисления процентов в режимах * и /

Инструкция:
- открываете ссылку (см. выше)
- увидите страничку с моим проектом — Вы не сможете его редактировать, но сможете его запустить на исполнение
- нажимаете кнопку Run — нужно подождать 5-10 сек., пока проект скомпилируется
- далее в нижней половине экрана откроется текстовая консоль (белые буквы на чёрном фоне) — в неё моя программа напечает приветствие и приглашение к диалогу
- если нижняя часть слишком узкая по высоте, то наведите мышкой на границу-разделитель и потяните её вверх, чтобы увеличить высоту окна консоли, уменьшая высоту окна с кодом
- переведите курсор (мышкой) в консоль и попробуйте ввести какие-нибудь примеры для расчёта
- ... например, введите 1+2=
- каждый раз в конце нажимайте ENTER, чтобы завершить ввод строки — ну, дальше, думаю, сами разберётесь
- программа обрабатывает клавишу-за-клавишей и после каждой "клавиши" печатает состояние дисплея калькулятора и внутреннее состояние аппарата
- когда Вам надоест, в пустой строке нажмите Ctrl+D (эта комбинация в POSIX операционных системах при дефолтных настройках вводит с консоли символ "конец файла")
- программа подосвиданькается с Вами и завершит работу
- ... далее нажмите ENTER (ну или просто закройте окно браузера)

Пример, как это выглядит в окне браузера:


Теперь о безопасности Вашего компьютера (если Вы вдруг боитесь, что я хочу Вам вирус подпустить):
- как Вы могли догадаться, моя программа компилируется и запускается не у Вас на компьютере, а где-то далеко за-морями-за-лесами на каком-то буржуйском сервере (как сейчас модно говорить, "в облаке")
- браузер, запущенный на Вашем компьютере, просто передаёт тому серверу, какие кнопульки Вы нажимаете у себя на клавиатуре, и получает от сервера картиночку, которую надо отрисовать в окне — для Вас же это в совокупности выглядит как работа с консольным приложением
- короче, на Вашем компьютере ничего по сути не запускается, и никакое экзешники-с-вирусами на него не приползают

Для тех же, кто хочет скомпилировать прямо у себя в бинарь и сей бинарь запустить, можете скачать проект отсюда:
https://github.com/xoiss/b3-23.git

Проект написан под Linux. Проверял на Ubuntu 14 (Trusty):


Если у Вас Windows, то Вам потребуется установить наборы MinGW + MSys. Я проверил - собирается, взлетает, летает, садится.
Если у Вас macOS, BSD, Solaris, то... думаю, тоже заведётся, но Вам наверняка потребуется допилить Makefile (если у Вас на машине нет gcc, то это точно придётся сделать).

Вот. Как-то так.

Немного передохну и попробую перекинуть на ДВК под RT-11, для начала.
Может, ещё доделаю остальные функции процессора к145ип11 — которые в Б3-23 были спрятаны "под капотом", но зато видны в клавиатуре Б3-26 и МК-57

Всем привет!
Сейчас на форуме
xoiss
Гость

Ссылка

1Ж24Б написал:
[q]
Есть живой Б3-23 и МК-57. Что требуется выполнить?
[/q]
Ну, вообще я хотел поспрашивать в отношении операции взятия процентов... но я её так или иначе уже успел реализовать, что называется "по своему разумению".

Тем не менее, интересно было бы проверить несколько примеров. Если можете помочь — было бы здорово.

1. Введите C C 10000 - 0.1234 =
- мой симулятор даёт ответ: 9999.8766
- интересно, даст ли настоящий аппарат такой же ответ, или выдаст 9999.876 или 9999.877, потеряв четвёртый знак после запятой

2. Введите C C 10 / 6 =
- мой симулятор даёт ответ: 1.6666667
- интересно, какой будет крайний справа знак на настоящем аппарате — 6 или 7
[upd] похоже, Б3-23 всё-таки округляет "отсечением", например на нём получается 11111111 * 55555555 = 6172839.3, а должно быть 6172839.4

3. Введите C C / 2 =
- некоторые калькуляторы в таком случае выполняют вычисление выражения 1 / 2 = 0.5 — т.е. суть, если делимое не было задано, то принимают его равным 1, но не 0
- мой симулятор это не делает (мне было лень, честно), поэтому он выдаст ответ 0. — так, как если бы было введено 0 / 2
- интересно, как это воспринимает настоящий аппарат — что он выдаст, 0 или 0.5

4. Введите C C 1 - 2 =
- где будет знак "минус" ?
- на МК-57 знак "минус" отображается на экране, вроде бы, справа от числа — видел картинку в интернете
- на экране Б3-23 (и, вроде бы Б3-26) знак "минус" отображается слева от числа...
- ... однако, в случае если число имеет менее восьми знаков, то я не нашёл свидетельств, на каком знакоместе отображается знак "минус" — (а) всегда в крайнем левом разряде или же (б) он как бы мигрирует в пределах индикатора так, чтобы быть прилепленным вплотную к числу слева от старшей цифры
- мой симулятор отображает знак минус всегда в крайнем левом разряде (впрочем, этот аспект запрограммирован не в самом "симуляторе", а уже в "адаптере")

Спасибо!
Сейчас на форуме
xoiss
Гость

Ссылка

1Ж24Б написал:
[q]
Есть живой Б3-23 и МК-57. Что требуется выполнить?
[/q]
... если можно, то вот ещё несколько примеров на проценты — я здесь привожу так, как у меня в симуляторе реализовано

5. Введите C C 200 + 5 % =
- после нажатия клавиши % на экране должно быть 10.
- а после нажатия клавиши = на экране должно быть 210. — что и есть результат вычисления (200+5%)

6. ... продолжая пункт 5, сразу введите 6 % =
- после нажатия клавиши % симулятор выдаёт 12.
- после нажатия клавиши = симулятор выдаёт 212. — что есть результат вычисления (200+6%)
- другими словами, при повторных вычислениях с процентами симулятор в качестве константы использует "базу исчисления процентов" — в данном случае это число 200
- интересно, что на пункт 6 скажет настоящий Б3-23

7. Введите C C 10 / 3 %
- после нажатия клавиши % на экране должно быть 333.33333 — т.е. 10 составляет 3% от 333,33333

8. ... продолжая пункт 7, сразу нажмите клавишу =
- после нажатия = симулятор выдаёт 0,03 — т.е. он как бы делает обратную операцию — возвращает, сколько процентов (в долях единицы, в данном случае) составляет 10 от 333,33333
- опять таки в качестве константы здесь было использовано первый введённый аргумент — число 10
- интересно, что на пункт 8 скажет настоящий Б3-23

Спасибо!
Сейчас на форуме
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
Б3-23:

1. 9999,877

2. 1,6666666

3. 0

4. -_______1

5. 10 и 210

6. 12 и 212

7. 333,33333

8. 111,11111 :(

До МК57 не добрался сегодня.
xoiss
Гость

Ссылка

о, спасибо!!!

так, я понял — посмотрю внимательно п. 8
похоже, для этой части надо логику поменять
Сейчас на форуме
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
Второй калькулятор МК-57А, и он даёт такие же результаты.
xoiss
Гость

Ссылка

В общем, пока ехал домой, разобрался, что к чему.
Симулятор я переделал... но не в сторону к Б3-23, а, наоборот :)

Получается, что в к145ип11 всего четыре регистра (в общем то, я так и думал изначально):
1. Регистр первого операнда, он же - регистр клавиатуры/индикатора
2. Регистр второго операнда, он же - регистр константы (в операциях с константой)
3. Вспомогательный регистр для операций умножения и деления. Точно не могу знать, но он либо формирует (накапливает) в себе произведение/частное, либо удерживает множимое/делимое
4. Регистр памяти (доступен только в Б3-26, МК-57)

В процессе выполнения операции деления, например 200 / 40 =, делимое (200) уничтожается, т.к. из него в цикле вычитается делитель (40), пока в регистре делимого в остатке не окажется 0 (ну или пока счётчик сформированных разрядов частного не досчитает до 8). Делитель же (40) в процессе деления сохраняется, и далее служит константой.

Когда мы вычисляем обратный процент, например 10 / 5 %, в сущности необходимо выполнить деление 10 / 5 (в ответе 2) и потом подвинуть запятую на два разряда вправо (чтобы получить искомое 200). Сотвесна, делимое (10 - база) уничтожается, а делитель (5 - ставка процента) становится константой... Нажимать после этого клавишу = лишено всякого смысла, конечно же.

Сейчас у меня реализована другая логика. Константой становится не ставка процента, а база для вычисления процентов. Это необходимо в операциях вычисления наценки/скидки (например, 200 + 5 % =). Но правильно ли делать константой базу при вычислениях процентов (но не наценки) — это вопрос.

Хммм... наверное, всё-таки логика, реализованная в Б3-23, более правильная, т.е. при вычислении просто процентов (но не скидок) константой должна становиться именно ставка процента. Если в калькуляторе при этом есть M-регистр, то это позволяет вести расчёт суммы налога по ведомости. То есть типа такого: 200 * 13 % M+ 207 % M+ 204 % M+ ... — в итоге даст 200 * 13/100 + 207 * 13/100 + 204 * 13/100 ... Хотя, не понятно, какой смысл вести расчёт именно так, если можно так: (200+207+204) * 13/100 :)

Логика, реализованная у меня, позволяет, наоборот, вычислять разные проценты от одной и той же базы. Например, 200 * 5 % (даёт 10), далее 6 % (даёт 12) и т.д.

Логика, которую я реализовал в симуляторе, в к145ип11 в любом случае не влезла бы, т.к. для её реализации требуется пятый регистр — в нём необходимо запомнить базу (10) на время выполнения операции деления, чтобы потом восстановить это значение как константу (делимое в процессе деления разрушается). Так что, в случае с настоящими калькуляторами ответ на вопрос, какую логику выбрать, был предопределён чисто соображениями минимализма "железа".

В общем, надо ещё поразмышлять, какой вариант лучше/правильнее.




... в общем, подумал, и сделал два варианта:
1. в точности, как у Б3-23
2. как у Б3-23, но улучшенный

да, пожалуй, при вычислении процентов и обратных процентов константой должна быть ставка процента — это всё-таки имеет какой-то практическо-бухгалтерский смысл
// хотя при вычислении наценки/скидки константой будет база процентов, но не ставка

итак, первый вариант в "примере 8", как и положено, возвращает 111.11111 — хотя это и совершенно бессмысленная операция, но пусть будет "в точности как Б3-23" — просто в дань уважения

во втором варианте я попытался наделить "нажатие клавиши =" в операциях вычисления прямых и обратных процентов каким-то вразумительным смыслом, а именно:
- если ввести 200 * 5 %, то, как и положено, получаем 10 — но далее, если нажать =, то теперь получаем обратно 200
- по аналогии, если ввести 10 / 5 %, получаем, как и положено, 200 — и далее, если нажать =, то теперь получаем обратно 10
- в общем, в обоих случаях клавиша = выполняет действие обратное клавише %
- действия можно чередовать % = % = и т.д.
- в остальном логика не изменилась
- в операциях вычисления наценки/скидки функция клавиши = не менялась, но осталась как у Б3-23

Ну, вроде, на этом всё.
Сейчас на форуме
xoiss
Гость

Ссылка

1Ж24Б написал:
[q]
Второй калькулятор МК-57А, и он даёт такие же результаты.
[/q]
Спасибо!

Могу ли я попросить Вас сделать ещё несколько примеров?

9. Набрать: С С СП далее 200 * 13 % П+ 207 % П+ 204 % П+ и в конце ИП
- здесь "П+" — это клавиша суммирования в память
- что будет выдано в результате?
- я предполагаю, что 79.43

10. Набрать: C C 5 * 4 C - 2 =
- т.е. после набора "4" вот именно один раз нажать клавишу сброса "С"
- симулятор выдаёт результат как для 5 - 2 = 3
- но я предполагаю, что калькулятор выдаст -2 (минус два) как результат для 5 * 0 - 2 = -2

11. Набрать: C C 5 / 4 C - 2 =
- что выдаст калькулятор? те же -2 (минус два)
- ... или выдаст ошибку деления на ноль?

Спасибо!
Сейчас на форуме
xoiss
Гость

Ссылка

Поправил логику процентов — updated-комментарий выше. Код перезалил, ссылки на проект обновил.

Статистика:
1. Код симулятора занимает 560 строк
... если убрать декларации, пустые строки, и строки-со-скобочками, то чистого кода будет где-то около 300 строк
2. На написание и отладку собсна симулятора я потратил период времени с 09 октября по 23 октября — это ровно 2 недели
... чистого времени - где-то в среднем по 3-4 часа в день, в расчёте 2 дня из трёх — т.е. итого около 30-40 человеко-часов

Даже если положить, ну, пусть хотя бы по 3 байта машинных команд в среднем на одну строку Си-шного кода (а это очень скромная норма), то выйдет, оценочно, около килобайта кода!
... и это ещё при том, что я НЕ реализовывал извлечение квадратного корня, работу с регистром памяти, ну и пр. мелочёвку, которые есть в к145ип11.

Ума не приложу, КАК это было впихнуто в к145ип11...

Но что для меня непонятно, каким образом инженеры это всё сделали в 70-х годах прошлого века.
У меня для этой работы был современный компутер, на котором работать - удовольствие.
И это я сделал ещё всего лишь симулятор, т.е. я не запихивал этот код в мягко-говоря-своеобразную архитектуру микро-ЭВМ 145ип11.
Либо у них тогда на это ушло реально на пару порядков больше сил и времени, либо у них был какой-то технологический секрет (суперкомпутер??), либо... эти люди были на самом деле оооочень талантливыми.
// я не знаю, кто разработал прошивку для конкретно 145ип11, — может наши сделали это сами, а может скопировали у американцев (вроде был такой чип Rockwell A5901 — http://www.arithmomuseum.com/a...ang=en)... но ведь кто-то же это изначально сделал




MM, надо делать железку!
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
3 байта машинных команд в среднем на одну строку Си-шного кода
[/q]
ИМХО, по аналогии с Паскалем, порядка 20 байт ( 10-14 ( 8 ) слов ) на 1 оператор Паскаля, с точностью переменных 2 байта.
Надо проверить, может ли исполняемый коТ работать в ПЗУ, или придется переписать на "натуральный ассемблер" - там не будет проблем с ПЗУ . При написани такого текста следует сделать базовую переменную - адрес начала таблиц переменных в ОЗУ и фиксировать указатель стека в начале программы, т.к. он будет в районе адресов 170400 ( 8 ).
Текст на ассемблере следует заранее писать в перемещаемом по адресам варианте.

Сделал 2-ю редакцию Э3 - чуть малость по-универсальней, с 8-битным Ковоксом, см. пост выше.
Этот вариант заточен именно под замену 145ИП11 - клава до 9 х 4 сканов, и возможное расширение под RT-11.

Нужен опытный тополог ДПП.
Господин Пантера г. Москва не нашел возможности заняться проектом.
xoiss
Гость

Ссылка

MM написал:
[q]
ИМХО, по аналогии с Паскалем, порядка 20 байт ( 10-14 ( 8 ) слов ) на 1 оператор Паскаля, с точностью переменных 2 байта.
[/q]
... я брал оценку "3 байта на строку" — это не для системы команд PDP-11, а так, чисто абстрактно — в плане "как это вообще могло вместиться изначально в 145ип11"
для PDP-11, боюсь, имеющийся у меня Си компилятор даст ооочень много байт на строку :) — вряд ли он умеет хорошо оптимизировать выхлоп — много будет "накладных расходов" на прологи/эпилоги функций


MM написал:
[q]
Текст на ассемблере следует заранее писать в перемещаемом по адресам варианте.
[/q]
да, я понимаю — это типа когда для работы с переменными (не со страницей В/В) используются инструкции с режимом адресации 6 и 7 — например, 010067 XXXXXX, где XXXXXX - смещение — вместо того, чтобы использовать 010037 AAAAAA, где AAAAAA - адрес... и когда всякие вызовы подпрограмм и дальние переходы тоже идут с режимом адресации 6 и 7

уверен на 99.999%, что Си компилятор делает именно перемещаемый код
но на самом деле если он вдруг будет и не перемещаемым, то попробуем его переместить в нужное место (т.е. с захардкоженными адресами) в процессе линковки
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
уверен на 99.999%, что Си компилятор делает именно перемещаемый код
[/q]
Сделайте программу .SAV на "С" в эмуле ДВК господина Патрона типа "Хелло ворд !" и пришлите мне - я посмотрю насчет перемещаемости.
xoiss
Гость

Ссылка

хммм....

какой из двух взять?:
- http://zx-pk.ru/threads/18351-emulyator-dvk.html
- http://zx-pk.ru/threads/24755-emulyator-rt-11.html
// вторая ссылка, вроде, более свежая (по дате) — начну с неё
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
какой из двух взять?:
[/q]
В ДВК как раз наоборот - лучше вообще на софт после 1991 г. не обращать особого внимания - т.к. самопал и хрен с чем по факту совместим, разве что на словах авторов...

Лучше вообще придерживаться именно настоящей среды ДВК - тогда будут работать все доки и фичи из родных руководств от DEC.

Кратко книги по ДВК выложена тут :
http://emuverse.ru/wiki/%D0%94%D0%92%D0%9A

А более подробно ( довольно точные переводы мануалов от DEC ) - есть где-то 1 шт. Полный комплект для RT-11 SJ V5.00 в русской редакции, мне бы его хотелось в тираж пустить, пусть и на оберточной бумаге.
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
xoiss написал:
[q]
Спасибо!
Могу ли я попросить Вас сделать ещё несколько примеров?
[/q]
9. 79,43
10. -2
11. 0.0.0.0.0.0.0.0.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Пожалуйста, у кого есть натуральный калькулятор Б3-23 или Б3-24, сфоткайте плату на фоне миллиметровой линейки - какая максималная может быть длина/ширина, включая DC-DC конвертер для 145 серии.
xoiss
Гость

Ссылка

1Ж24Б написал:
[q]
[/q]
Спасибо за помощь!
Ну, похоже, вычисление процентов и работу с константой я сделал верно.

В примерах 10 и 11 пока оставлю "своё" поведение.
Но посмотрю, насколько сложно будет сделать поведение, как у оригинала.


MM написал:
[q]
[/q]
Спасибо!
С компилятором Си на RT-11 в общем разобрался.
Он оказался с диалектом K&R с небольшими дополнениями (тип enum) и ограничениями, специфичными для линковщика RT-11 (соглашение на глобальные символы).
Пытаюсь перевести на него проект симулятора.
Сейчас на форуме
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
MM написал:
[q]
сфоткайте плату на фоне миллиметровой линейки - какая максимальная может быть длина/ширина, включая DC-DC конвертер для 145 серии.
[/q]
Плата вместе с преобразователем за её пределами - 70*98 мм.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
1Ж24Б написал:
[q]
Плата вместе с преобразователем за её пределами - 70*98 мм.
[/q]
Фотка очень необходима, с линейкой измерительной, или скан, тоже с линейкой.

Без этого нет возможности приступить к проектированию ПП.

Как вариант, могу взять на прокат Б3-23 или лучше Б3-24Г, как вариант - Б3-37
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Вопрос про КР537РУ11 - сразу после включения питания у неё какой адрес в селекторае адресов регистре 177760 ?

Или это как свистопляска с 1809РУ1 = неопределено, из-за чего проводился их отбор для надлежащей работе в КМД ДВК, т.к. иногда попадались экз. с 000000 в регистре адресов, из-за чго КМД не стартовал или крайне криво ( и не всега ) мог запускаться , т.к. ПЗУ РЕ2 тоже расположено с 000000 адреса.
xoiss
Гость

Ссылка

// просто добавлю ссылку — информация по кр537ру11б к1801ре1 (не рр1) и др. ОЗУ/ПЗУ — есть в выпуске МРБ 1199
Сейчас на форуме
xoiss
Гость

Ссылка

Портировал симулятор на RT-11.

Исходники (нужен бранч rt-11-port):
https://github.com/xoiss/b3-23/tree/tag-rt-11-port-as-is

Архив с исходниками и скомпилированным SAV-файлом:
https://yadi.sk/d/3C8hZkXq0QWPPg
https://yadi.sk/d/LnHnokaIzkOhTg

Чуть больше деталей:
http://www.phantom.sannata.ru/...2#pp475542

Никакими оптимизациями пока не заморачивался.
Просто портировал с минимальными изменениями, чтоб собирался и запускался.

На днях попробую запустить на ДВК и/или УК-НЦ.



[upd] запустили на Квант-4 — взлетело! :)
http://www.phantom.sannata.ru/...7#pp475787

[upd] перезалил архив с исходниками и скомпилированным b323.sav
- поправил символ конца строки LF на CR LF (сорри, у меня Линукс - вот и забываю иногда такую замену делать)
- выставил всем файлам дату 1998 год, чтоб всамделишная RT-11 не ругалась, что там BAD-блок
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Э3 для RT-11 :

Адреса регистров по записи :
177570 - мл. байт - сегменты светодиодов, 000377 - все сегменты потушены.
177574 - мл. байт - звук выход, 000200 - уровень тишины, 000000 (плюс) и 000377 (минус) - максимальные уровни.
177576 - мл. байт - биты 0...3 - катоды знакомест и сканы клавиатуры, 000377 - самый правый знак индикатора
по чтению :
177576 - мл. байт - входы сканов клавиатуры, список возможных данных чтения:
000000 - ничего не нажато,
000001 - 1-я линия нажатие
000002 - 2-я линия нажатие
000004 - 3-я линия нажатие
000010 - 4-я линия нажатие
000017 - нажаты все 4 линии одновременно.
Адреса 177560...177566 - в резерве для 1002ХЛ1.
Резисторами настраивается :
1. Частота процессора
2. Частота прерываний по 100 вектору
3. Адрес начального пуска
*

*
Есть предложение задействовать 100-й вектор для отображения данных индикатора и сканирования клавиатуры, с частотой порядка 1 кгц. Это даст пользователю почти прозрачный режим работы его программы - т.е., например, пока считается хитрая математика, индикатор не гаснет. С учетом софта подавления дребезга кнопок каждый такт прерывания потребует порядка ~100 машинных команд.
*
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Очень предварительное расположение компонентов на 4СПП :

Где модули - СОЗУ ( пока КР537РУ11 ) и ЭСППЗУ.
Прямоугольник - АЛС318А.
Разъем - 24-пин клавиатура и др.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Более натуральные измерения :

3 батареи АА идут лесом, т.к. модули ЭСППЗУ и СОЗУ не помещаются по высоте между материнской платой и платой клавиатуры, если только не реальные М1801РР1 приделывать, что нерентабельно :frown:
Зато, предположительно, поместится плоский аккум от сотового, поверх модулей памяти на месте батарейного отсека.
Соответственно, понадобится DC-DC конвертер 3.7 в. ----> 5 в. на MC34063, и резисторик с диодиком, что бы заряжать аккумурлятор от внешних +5в.
Общая длина платы - 143 миллиметра, ширина - 70 миллиметров, упоры - см. фото ( 16 и 18 (51 и 53) миллиметров от нижнего края платы )
Индикатор имеет КП с координатами 85 миллиметров от левого края платы, снизу - 15 миллиметров, и крайнюю верхнюю КП с координатой 55 миллиметров, запрещенная зона монтажа сверху - 8 миллиметров ( до отметки 93 миллиметра при отсчете слева платы ).
*
Устройство питания с аккумом от сотового :

*
Устройство минимального тайминга цикла SYNC

*
Э3 телеграфа :
xoiss
Гость

Ссылка

MM написал:
[q]
3 батареи АА идут лесом, т.к. модули ЭСППЗУ и СОЗУ не помещаются по высоте между материнской платой и платой клавиатуры
[/q]
хе-хе! :)

Когда я учился в старших классах школы, я таскал свой МК-61 с проводками, которые шли к 6 вольтовой аккумуляторной сборке (к какой именно, рассказывать не стану, но это был не мотоциклетный :) )
// секретность сохранялась при помощи маскировочной изоленты
А мой друг, у которого был МК-52, таскал свой с батарейной кассетой, позаимствованной от магнитофона Электроника 302.

Розеток на партах у нас, разумеется, не было, поэтому от сети запитаться было никак невозможно.
Штатный комплект батареек стоил запредельно нереально дорого, и хватало его на несколько уроков, даже если калькулятор всё время выключать (про работу по программе и речи не шло).
Аккумуляторов АА нормальных в продаже тогда тоже не было.

Вот. Предлагаю рассмотреть а-ля такой же вариант.
Вполне себе в духе Эпохи.
// я нисколько не шучу, и совершенно не стебаюсь — я абсолютно серьёзно
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013




Э3 выше обновлены.
ВМ2 находися в ДМА режиме, управляет внешняя БК11М с микроскопической программой.
ALS
Member


Откуда: Севастополь
Всего сообщений: 236
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 сен. 2016
А я бы так и оставил. Только вместо МГТФ-а использовал ПЭВТЛК.
И надобность в многослойной плате отпадет, и сразу видно будет, что не штамповка :)
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Сделал тестовый софт для ППЗУ с 100000 адреса :

Результат измерения быстродействия - 43 сек общего цикла, т.е. не менее 900 т. рег-рег в наличии.

Фото общего плана :


Потребление при сканировании индикатора +4.95 в. - 136 ма, при подсчете быстродействия - 115 ма.
xoiss
Гость

Ссылка

Добрый день!

Так в итоге решение будет с RT-11 или без?

// в описании выше, вроде, оба варианта упоминались
// в частности, здесь - "Э3 для RT-11" - http://www.phantom.sannata.ru/...2#pp476822
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
xoiss написал:
[q]
с RT-11
[/q]
Расчитываю с ней.

Насчет СОЗУ - вероятно, будет модуль с 62256 .
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Телеграфная микросхема по КМОП-технологии называется КР588ВА4 и еще находится (поиском) на складах
xoiss
Гость

Ссылка

... тем временем, делаю юнит-тесты к проекту https://github.com/xoiss/b3-23/tree/unittests/unittests

сегодня таки нашёл багу в коде — неправильно реализовано округление в функциях trim() и align()
например, по правилам Математики, число 0.4445, если его округлять до целого, должно стать 0, т.к. первый отбрасываемый знак "4" меньше 5
но сейчас программа выдаст 1 вместо 0, т.к. округление идёт пошагово разряд-за-разрядом, т.е. получается так: 0.4445 -> 0.445 -> 0.45 - > 0.5 -> 1 (разумеется, это неправильно)

вывод: не стоит пренебрегать тестами, даже если на 100% уверен в правильности написанного кода
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Контроль аккумулятора

Применять ЭКФ1564ЛА4
Адрес регистра 177574 чтение ( значение напряжения на акк., при питании М-ЭВМ +4.82 в. ) :
000017 - макс. заряд ..............более 4.48
000007 - меньше заряд............до 3.98
000003 - совсем малый заряд...до 3.10
000001 - полный разряд...........до 2.49
000000 - переразряд ...............менее 2.49
*
Принимаю предварительные заявки на МПП калькулятора, сроки поставки - весна - лето 2019 г, без предоплаты.
*
Насчет 588ВА4 надо было пораньше намекнуть.
*
Измерял ток потребления +5.20 в. под RT-11 SJ V5.04 ( с высоковольтным RS-232 )- 100 ма без индикации АЛС-318, 190 ма - с ней.
*
Сменил подтяжки МПИ с 10 ком на 4.7 ком - глюки исчезли, стало устойчиво работать на 7.00 мгц

*
По 1002ХЛ1.
Она категорически отказывается работать в классическом режиме ( вх. Интегрирование +0в. ) - примерно так на ~100 входной посылке внутренний триггер приемника Старт-Стоп заклинивает на +5в. и она продолжает вечный прием... На всех частотах ВМ2 и ХЛ1- без разницы.
Пришлось подать на 1002ХЛ1 614.4 кгц и на выв. 01 Инегрирование +5в. - заработала хорошо ( 9600 Бод ). Но 1228.8 кгц - молчок...

*
Тест быстродействия 5.5 мгц :
012700 000100 005001 010203 010203 010203 010203 010203
010203 010203 010203 077111 077013 000000
43 сек - полный цикл
16 сек - холостой ход ( 4.19 млн SOB, ~262 т. SOB в 1 сек )
19 сек - ( 3 сек. чистыми ) 1 команда 010203 65536х64=4.19 млн.
43-16=27 сек, итого быстродействие ~1.24 млн рег-рег

У БК11М-4 мгц ХХ теста - 22.5 с., что соответсвует 186 . SOB в 1 сек,
М1801ВМ3А-6 мгц ХХ - 13 с., ~323 т. SOB в 1 сек.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013



Собственно, теперь вопрос в софте - присылайте для RT-11 МС1201.02 с ОЗУ 48 кбайт, файлы типа .SAV ( буду пробовать через эмулятор ДВК господина Патрона ).
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9 10
Печать
Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Самодельный калькулятор в корпусе Б3-23
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS