Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу 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
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.Относительная дешевизна всего конструктива ( мало ИС ).
<<Назад  Вперед>> Страницы: 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