Электроника МК-85

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

Moderator: Shaos

User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Случайность wrote:Ведь явно эти калькуляторы у всех коллекционеров есть.
Они вроде очень редкие. Кроме вашего, мне известны лишь 2 штуки:
  1. у одного из разработчиков МК-85, Бориса Кроткова
    http://forum.ixbt.com/topic.cgi?id=64:3394:3058#3058
  2. у пользователя solder на Форуме Любителей Калькуляторов
    http://www.leningrad.su/calc/cforum.php?topicid=1215
User avatar
Случайность
Doomed
Posts: 491
Joined: 05 Apr 2011 12:45
Location: Великий Новгород

Re: Электроника МК-85

Post by Случайность »

спасибо за ссылки,
вот что нашел у себя, корпус в сборе, как раз с надписью персональный компьютер. и заднюю крышку на 86 год,
на обоих крышках есть зам номера, 520 и 600. Значит их было выпущено не мало.
Надо будет тогда собрать целый МК-85 из всего набора запчастей.

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

Тогда на всех выходит, два рабочих, и два нерабочих, и 1,25 корпуса на них
танцуй пока живешь под каплями огненного дождя...
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Случайность wrote:на обоих крышках есть зам номера, 520 и 600. Значит их было выпущено не мало.
Мне казалось что их было намного меньше. На Форум Любителей Калькуляторов упоминается МК-85 с серийным номером 000069, который уже во второй версии. Может сбросили счётчик?
http://www.leningrad.su/calc/cforum.php ... picid=1522
По словам Юрия Отрохова (один из разработчиков МК-85), первый вариант был выпущен "в небольшом количестве".
https://forum.ixbt.com/topic.cgi?id=64:3394:230#230
User avatar
Случайность
Doomed
Posts: 491
Joined: 05 Apr 2011 12:45
Location: Великий Новгород

Re: Электроника МК-85

Post by Случайность »

на моих крышках стоит дата выпуска XII 1986
зав № 00520
цена 150руб
в сети пишется что продавались по цене 145 руб

а так надо разбираться набирать статистику по этим ранним, чтоб понять что там не так,

проверю плату на рабочесть, вторую тогда можно распаять будет
танцуй пока живешь под каплями огненного дождя...
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Попался мне калькулятор МК-85 с неисправным процессором. Вдохновлен работой товарища Rusic я решил заменить его процессором STM32F103C8T6. Пришлось портировать родной Бейсик (написанный на ассемблере PDP-11) как можно более точно на язык Си. При этом были устранены некоторые известные баги, но наверно добавлены новые.

Файлы проекта:
http://www.pisi.com.pl/piotr433/stmk85.zip

Для компиляции требуются программы STM32CubeMX и STM32CubeIDE (64-бит).
Печатная плата разведена в KiCad.

Из калькулятора надо выпаять, кроме микросхем, резистор R10=2МОм и конденсатор C17=0.15мкФ. Диод в цепи питания VD1=КД521А надо заменить перемычкой. Сигнал ON_SW идёт к точке соединения резистора R10 с конденсатором C17.

Упрощенный прототип на отладочной плате Blue Pill:
IMG_1299.JPG
IMG_1326.JPG
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 23991
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Электроника МК-85

Post by Shaos »

piotr433 wrote:Пришлось портировать родной Бейсик (написанный на ассемблере PDP-11) как можно более точно на язык Си. При этом были устранены некоторые известные баги, но наверно добавлены новые.

Файлы проекта:
http://www.pisi.com.pl/piotr433/stmk85.zip

Для компиляции требуются программы STM32CubeMX и STM32CubeIDE (64-бит).
Интересно :)
А как сложно выкинуть привязку к STM и заполучить просто абстрактный порт?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Электроника МК-85

Post by askfind »

piotr433 wrote: Файлы проекта:
http://www.pisi.com.pl/piotr433/stmk85.zip
Для компиляции требуются программы STM32CubeMX и STM32CubeIDE (64-бит).

Code: Select all

 >$ tree -L 2
.
├── Inc
│   ├── arithm.h
│   ├── basic.h
│   ├── calc.h
│   ├── common.h
│   ├── editor.h
│   ├── func.h
│   ├── io.h
│   ├── main.h
│   ├── stm32f1xx_hal_conf.h
│   └── stm32f1xx_it.h
├── Src
│   ├── arithm.c
│   ├── basic.c
│   ├── calc.c
│   ├── common.c
│   ├── editor.c
│   ├── func.c
│   ├── io.c
│   ├── main.c
│   ├── stm32f1xx_hal_msp.c
│   ├── stm32f1xx_it.c
│   ├── syscalls.c
│   ├── sysmem.c
│   └── system_stm32f1xx.c
└── stmk85.ioc
За проделанную работу по портированию Basic - респект!

Опять квест, уважаемый автор! Пытаюсь собрать проект...

На основании файла описания проекта stmk85.ioc с помощью STM32CubeMX выполнил генерацию проекта с HAL. ( В своих проектах стараюсь использовать библиотеку LL_API. Получается компактнее и код быстрее выполняется. В закладке 'Project Manager/AdvancedSettings' выбрать вместо HAL использование LL для SPI, GPIO. RCC).

STM32CubeIDE 1.1.0 аварийно рухнул. Качаю версию STM32CubeIDE 1.3.0.
В Ubuntu 18.04.4 LTS аварийно закрывается и 1.3.0. Похоже, что последние обновления java повлияли на приложение Cube.

Попытка создать проект для Makefile. Генерирую из STM32CubeMX для GCC и Makefile.

Code: Select all

build/main.o: In function `HAL_GPIO_EXTI_Callback':
/home/vladmir/MY/MK65_Project/software/Src/main.c:103: undefined reference to `ram'
build/main.o: In function `main':
/home/vladmir/MY/MK65_Project/software/Src/main.c:289: undefined reference to `reset'
/home/vladmir/MY/MK65_Project/software/Src/main.c:304: undefined reference to `do_direct'
/home/vladmir/MY/MK65_Project/software/Src/main.c:306: undefined reference to `error_handler'
/home/vladmir/MY/MK65_Project/software/Src/main.c:299: undefined reference to `ram'
collect2: error: ld returned 1 exit status
Makefile:167: recipe for target 'build/stmk85.elf' failed
make: *** [build/stmk85.elf] Error 
Хм! Очередной хаос. :)

Готов помочь привести в порядок исходный проект, чтобы люди могли повторить твой программный подвиг.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Shaos wrote:А как сложно выкинуть привязку к STM и заполучить просто абстрактный порт?
К железу привязанный лишь модуль "main.c". Вот та же программа в версии для компьютера PC/Linux 64-бит (работает в текстовом режиме):
http://www.pisi.com.pl/piotr433/misc/mk85_in_c.zip
Zrzut ekranu z 2020-06-26 10-14-31.png
Специальные клавиши:
STOP - Esc
MODE - ~
S - !
F - @
AC - #
DEL - $
ANS - ^
EE - &
стрелки - < и >
начальная установка - {
EXE - Enter или |

Данная программа неудобна и не очень удачна из-за проблем с опросом клавиатуры и выводом на экран:
- кнопка STOP должна работать на прерываниях, но не знаю как это сделать правильно, пока добавил в нужных местах вызов макра read_stop_key
- реализация функции getch и kbhit требует каких то извращений (фаил "conio.c")
- видны не все результаты функции printf (какие-то проблемы с обновлением отображаемой информации)
You do not have the required permissions to view the files attached to this post.
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Я использовал STM32CubeMX в версии 5.5.0 и STM32CubeIDE в версии 1.1.0 под Linux Mint и Windows 10 (64-бит). Перед загрузкой нового проекта в STM32CubeIDE я удаляю весь каталог "Workspace".
Не знаю как решить проблему со сборкой :(
У меня нет большого опыта с STM32. Я лишь любитель программирования и тяжело разбираюсь во всех этих IDE и java, но думаю что даже мусор не должен вызывать зависания компилятора.
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Электроника МК-85

Post by askfind »

Перенёс исходные файлы в проект для отладочной платы STM32-H103.
Закомментировал вызовы функций stm32 управления LCD, опрос KEY.

Сборка:

Code: Select all

>$ make -f Makefile
...
....
arm-none-eabi-objcopy -O binary main.elf main.bin

>$ ls -al
-rwxr-xr-x  1 vladmir vladmir  26728 июн 26 13:34 main.bin

Code: Select all

 
$ tree -L 1
.
├── arithm.c
├── arithm.h
├── basic.c
├── basic.h
├── calc.c
├── calc.h
├── common.c
├── common.h
├── editor.c
├── editor.h
├── func.c
├── func.h
├── io.c
├── io.h
├── mk65_app.c
└── mk65_app.h
0 directories, 16 files
P.S. Если нужно, то можно упростить проект и выложить репозиторий для простоты пересборки и прошивки проекта в STM32.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Электроника МК-85

Post by piotr433 »

Продолжаю тему доработки МК-85.

Пришли печатные платы из Китая. На картинке видны следы щупов которыми проводился электрический тест.
IMG_1359.JPG
Собранная плата. К контактным площадкам оставшимся после ПЗУ временно запаян разъём для программатора ST-LINK.
IMG_1348.JPG
Программа обновилась - было устранено несколько ошибок и были приняты меры для понижения потребляемой мощности.

Результаты измерений

Потребляемый ток:
при выключенном калькуляторе 7мкА (у оригинала <1мкА)
ожидание нажатия клавиши 0.15мА (у оригинала 0.35мА)
при выполнении программы 1.25-1.60мА в зависимости от интенсивности вывода на экран (у оригинала 1.45мА в нормальном режиме и 5.15мА в ускоренном)

Время выполнения следующей программы 1.7 секунды (у оригинала 194 или 34 секунды):

Code: Select all

10 FOR X=0 TO 59
20 DRAW X, 3.5+3.5*SIN(20*X)
30 NEXT X
Тест восьми ферзей проходит за 28 секунд.
You do not have the required permissions to view the files attached to this post.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Электроника МК-85

Post by newold86 »

Аж мне такое захотелось...
Rusic
Writer
Posts: 13
Joined: 16 Jan 2020 18:58

Re: Электроника МК-85

Post by Rusic »

О, красота.
А я пишу на Си заново Бейсик. Большую половину команд повторил. В режиме калькулятора уже полнофункционален.
IMG_20201219_152831~2.jpg
Понимает ввод двоичного (#1101) и шестнадцатеричного ($АС) кода. Показывает количество символов, оставшихся до конца строки.
IMG_20201219_153309~2.jpg
IMG_20201219_230219~2.jpg
Потом выложу проект, как доделаю.
You do not have the required permissions to view the files attached to this post.
zuyev
Junior
Posts: 1
Joined: 30 Sep 2021 11:54

Re: Электроника МК-85

Post by zuyev »

Rusic wrote:О, красота.
Потом выложу проект, как доделаю.
Как продвигается проект?
Rusic
Writer
Posts: 13
Joined: 16 Jan 2020 18:58

Re: Электроника МК-85

Post by Rusic »

IMG_20220417_192204.jpg
IMG_20220417_192511_cr.jpg
IMG_20220417_192222_cr.jpg
Разводка изменилась. Платку надо заказать новую. Программное на стадии тестирования.
You do not have the required permissions to view the files attached to this post.