
Science of Cambridge MK14
Moderator: Shaos
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Science of Cambridge MK14
Ой... настальгийяяя... АЛС-318... хотя, наверноe, здесь это не совсем он... или совсем не он... и по ссылке - не совсем ЮТ-88.


iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Оооопаньки!!! А процессор-то у него - 8-bit National Semiconductor SC/MP!
http://www.robsons.org.uk/archive/members.aol.com/mk14emu/scmp.htm
Я такой вообще впервые вижу!
http://www.datasheetarchive.com/ISP-8A%2F600-datasheet.html
http://www.robsons.org.uk/archive/members.aol.com/mk14emu/scmp.htm
Я такой вообще впервые вижу!
http://www.datasheetarchive.com/ISP-8A%2F600-datasheet.html
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
National Semiconductor SC/MP
Вчера вновь пришлось столкнуться в сети с этим микропроцессором, и решил я уделить ему поболее внимания. Микропроцессор интересен тем, что с его помощью National Semiconductor пыталась занять на рынкеLavr wrote:А процессор-то у него - 8-bit National Semiconductor SC/MP!
Я такой вообще впервые вижу!
нишу медленных, но дешевых микроконтроллеров.
Действительно, построить микроконтроллер, управляющий небыстрым процессом на его основе требовало
всего лишь двух внешних БИС.
А дешевизна (~$25 на 1976 год) объяснялась его конструктивными особенностями: АЛУ у него было последовательным, что объясняет его невысокое быстродействие.
(Тут мне стало приятно в душЕ - не столь уж непопулярным оказалось у меня последовательное АЛУ в моём самодельном 4-битном процессоре! )
Благодаря дешевизне, National Semiconductor SC/MP оказался соблазнительным для любительских конструкций: https://www.elektormagazine.com/magazine/elektor-261/60700
https://www.elektormagazine.com/magazine/elektor-200504/17946
Все, кто в юности начинали свой путь в микропроцессорную технику с этого микропроцессора, потому что
родителям было не по средствам купить Altair 8080, свой SC/MP хвалят и пишут эмуляторы для потомства.
http://xgistor-echo.scorchingbay.nz/scmp.htm
https://www.heinpragt.com/english/software_development/ins8060_or_scmp_processor.html
https://www.retrothing.com/2010/06/rebirth-of-the-first-sinclair-computer.html
Впрочем... мне ещё пока не встречалось, чтобы кто-то свой первый микропроцессор/компьютер ругал...
Всяк кулик... (далее по тексту).
You do not have the required permissions to view the files attached to this post.
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Science of Cambridge MK14
Хорошая статья про первый компьютер от компании Клайва Синклера - Science of Cambridge - MK14
в музее старых компьютеров: https://www.old-computers.com/museum/computer.asp?c=961 У кого траблы с английским, русская Википедия добросовестно пересказывает эту статью,
и местами дополняет отсебятинкой!
https://ru.wikipedia.org/wiki/MK_14
в музее старых компьютеров: https://www.old-computers.com/museum/computer.asp?c=961 У кого траблы с английским, русская Википедия добросовестно пересказывает эту статью,
и местами дополняет отсебятинкой!
You do not have the required permissions to view the files attached to this post.
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: National Semiconductor SC/MP
Интересно... находятся любители и одноплатные компьютеры делают на ЦПУ этого семейства!Lavr wrote: 10 Jan 2023 12:47Lavr wrote:А процессор-то у него - 8-bit National Semiconductor SC/MP!
INS8073 Single Board Computer
Собственно... меня заинтересовал Tiny BASIC этого весьма несуразного CPU...
You do not have the required permissions to view the files attached to this post.
iLavr
-
b2m
- Devil
- Posts: 927
- Joined: 26 May 2003 06:57
Re: Science of Cambridge MK14
На всякий случай, оставлю ссылку: https://norbert.old.no/extra/extra3.html
Last edited by b2m on 25 Feb 2025 01:26, edited 1 time in total.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Science of Cambridge MK14
А некий англичанин Jim состряпал эмулятор этого самого "Science of Cambridge MK14" в Excel VBA!
Jim’s MK14 emulator
Видимо, графика индикатора - таблицей...
Но у меня под Office 2007 это всё не взлетело... ошибка какой-то функции...
Jim’s MK14 emulator
Видимо, графика индикатора - таблицей...
Но у меня под Office 2007 это всё не взлетело... ошибка какой-то функции...
You do not have the required permissions to view the files attached to this post.
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Science of Cambridge MK14
Это называется:"На тебе, Боже, нечто негоже..."b2m wrote: 24 Feb 2025 05:30 На всякий случай, оставлю ссылку: https://norbert.old.no/extra/extra3.html
С 1976 года есть ведь и более культурные версии:
You do not have the required permissions to view the files attached to this post.
iLavr
-
b2m
- Devil
- Posts: 927
- Joined: 26 May 2003 06:57
Re: National Semiconductor SC/MP
Мне показалось, ты про INS8073. То, что ты приаттачил, похоже для другого процессора. Ну нет, так нет, убрал ненужное.Lavr wrote: 24 Feb 2025 02:15INS8073 Single Board Computer
Собственно... меня заинтересовал Tiny BASIC этого весьма несуразного CPU...
spoiler не работает?
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
b2m
- Devil
- Posts: 927
- Joined: 26 May 2003 06:57
Re: Science of Cambridge MK14
Микропроцессор INS807х часто называют SC/MP III. Однако его не следует путать с процессором SC/MP с P-канальной технологией или с его прямым преемником INS8060 (SC/MP II) с N-канальной технологией. Основные различия между этими процессорами:
SC/MP и INS8060 (SC/MP II)
Не имеет Т-регистра.
Шина данных также используется для вывода 4 старших бит адреса и 4 дополнительных флагов.
Нет стека .
Команды для прямой установки или сброса флагов IE и CY/L доступны в регистре S.
Команды SIO и DLY для реализации простого последовательного ввода/вывода на контактах SIN и SOUT с использованием регистра E.
Подпрограммы сложно реализовать из-за отсутствия команд CALL, JSR и RET.
Только 8-битное сложение и вычитание.
INS8070 (SC/MP III)
Доступен дополнительный T-регистр.
Чистый 16-битный адрес и 8-битная шина данных. Четыре дополнительных флага в шине данных отсутствуют.
16-битный указатель стека .
Регистр S можно обрабатывать только через аккумулятор или с помощью инструкций И или ИЛИ.
Регистр E может использоваться вместе с аккумулятором как 16-битный регистр EA. Контакты SIN и SOUT отсутствуют.
Доступны 16 коротких команд CALL (1 байт), одна команда JSR (3 байта) и RET.
Также 16-битные вычисления, включая умножение и деление.
SC/MP и INS8060 (SC/MP II)
Не имеет Т-регистра.
Шина данных также используется для вывода 4 старших бит адреса и 4 дополнительных флагов.
Нет стека .
Команды для прямой установки или сброса флагов IE и CY/L доступны в регистре S.
Команды SIO и DLY для реализации простого последовательного ввода/вывода на контактах SIN и SOUT с использованием регистра E.
Подпрограммы сложно реализовать из-за отсутствия команд CALL, JSR и RET.
Только 8-битное сложение и вычитание.
INS8070 (SC/MP III)
Доступен дополнительный T-регистр.
Чистый 16-битный адрес и 8-битная шина данных. Четыре дополнительных флага в шине данных отсутствуют.
16-битный указатель стека .
Регистр S можно обрабатывать только через аккумулятор или с помощью инструкций И или ИЛИ.
Регистр E может использоваться вместе с аккумулятором как 16-битный регистр EA. Контакты SIN и SOUT отсутствуют.
Доступны 16 коротких команд CALL (1 байт), одна команда JSR (3 байта) и RET.
Также 16-битные вычисления, включая умножение и деление.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
Shaos
- Admin
- Posts: 24377
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: National Semiconductor SC/MP
Работает, если имя указать (если по русски, то в кавычках)
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: National Semiconductor SC/MP
Хотелось посмотреть в большой программе, как они обходят несуразности процессора SC/MP при пересечении границ сегмента.Lavr wrote: 10 Jan 2023 12:47Собственно... меня заинтересовал Tiny BASIC этого весьма несуразного CPU...Lavr wrote:А процессор-то у него - 8-bit National Semiconductor SC/MP!
Ибо кроме этого несуразностей у процессора SC/MP ой как много!
Но интересно, что если хоть раз конструировал собственный процессор, становится понятно, какие проблемы решали разработчики на пути упрощения конструкции, и каким образом это на странностях процессора отразилось…
Может быть, я бы ещё долго не собрался разобраться с этим древним процессором подробнее, но попался мне на глаза весьма интересный проект эмуляции этого раритетного МК-14 на платформе микроконтроллеров PIC16 от некоей широко известной в определённых кругах Karen Orton.
https://techlib.com/area_50/Readers/Karen/micro.htm#PIC14
И я решил, почему бы не совместить полезное с приятным: разобраться подробно с устройством весьма несуразного процессора SC/MP и попрограммировать на его довольно нетривиальном языке ассемблера с помощью модели МК-14?
В итоге у меня получилось вот что: После запуска проект ждёт ввода программы по последовательному интерфейсу в формате IntelHEX (это, собственно, текстовый файл, открываемый любым текстовым редактором).
В эмулятор терминала программа переносится через copy-paste.
Если загрузка закончилась успешно, выводится 0000__00 на индикатор.
Следует ввести с клавиатуры адрес запуска: обычно [0][F][2][0] и [-GO-].
Если загрузка не нужна, нажимаем [RESET], также выводится 0000__00 на индикатор.
Для работы с моделью МК-14 неплохо бы скачать MK14 Manual (later version).pdf – много где находится поисковиками.
Самое нужное я перевёл в файле: PIC14 keyboard.doc
В двух словах: ОЗУ начинается с адреса 0F00H, его немного, около 256 Байт.
Программы обычно начинают с адреса 0F20H. Нажимаем [0][F][2][0]. Видим содержимое ячейки памяти.
Нажатие [TERM] позволяет редактировать байт по этому адресу.
Нажатие [MEM] – сдвигает к следующему адресу.
Нажатие [ABORT] – позволяет выйти из редакции и ввести новый адрес.
[RESET] прерывает программу, выводит 0000__00 на индикатор, содержимое ОЗУ не портит.
RES_PIC вызывает начальную загрузку с терминала.
В общем, в архиве ниже – играть подано!
P.S. Когда я уже почти всё закончил, попалась интересная ссылка:
Science of Cambridge MK14 simulator
Кто не уважает Proteus, по ссылке – онлайн simulator!
Ресурс добротный, интересного много там!
You do not have the required permissions to view the files attached to this post.
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: National Semiconductor SC/MP
С клавиатуры я осилил лишь одну программу:
Code: Select all
[0][F][2][0] [TERM]
90[MEM]00[MEM]C4[MEM]00[MEM]31[MEM]C4[MEM]0D[MEM]
35[MEM]C4[MEM]AA[MEM]CD[MEM]00[MEM]90[MEM]F4[MEM]
[RESET]
[0][F][2][0] [-GO-]The Intel 8080 Assembler by Jay Cotton and Claude Sylvai
https://sourceforge.net/projects/asm8080/
https://github.com/begoon/asm8080
Поскольку сохранение на терминал в модели PIC14 не реализовано.
Code: Select all
ORG 0F20H
DB 90H
DB 00H
DB 0C4H,00H
DB 31H
DB 0C4H,0DH
DB 35H
DB 0C4H,0AAH ; 10101010
DB 0CDH ; 11001101 ST 1 01
DB 00H
DB 90H ; JMP
DB 0F4H
ENDоцифровав его через FineReader.
Но если ошибёшься, трудно найти ошибку… и отладчика-то нет!
Поэтому с ассемблером хотя бы несколько веселее!
Я вспомнил про этого вот неленивого мужичка: https://www.sbprojects.net/sbasm/scmp.php
Я его ассемблером 'SB-Assembler version 2' пользуюсь при работе с кодом MOS 6502,
Особенно если несколько специфичные операторы имеются в коде, типа:
Code: Select all
.=0F1F
Speed: .=.+1
Disp = 0D00
.BYTE 077,039
Text =. ; start of messageНо в моём архиве ещё не было SC/MP cross overlay.
Мужичок пишет, что перепахал 'SB-Assembler version 3' и сделал новую версию кроссплатформенной,
Но я почему-то не люблю кроссплатформенный софт, и не стал обновлять свой 'SB-Assembler version 3'.
В итоге с подачи этой самой Karen Orton скачал я 'AS' assembler by Alfred Arnold,
http://john.ccac.rwth-aachen.de:8000/ftp/as/precompiled/i286-unknown-dpmi/asxcurr.zip
Его многие хвалят, а я так вижу в первый раз…
Хотя Дёмин пишет, что это лучший макроассемблер для i8080, который он когда-либо встречал.
Но с кодом для SC/MP этот ассемблер справился без проблем!
И синтаксис у него мне более привычен. Так что – рекомендую!
Автор Science of Cambridge MK14 simulator пишет, что можно использовать NASM.
У меня NASM есть, но поддержки SC/MP в моей версии также не имеется…
Жаль я поздно встретил этот ресурс! Автор там весь MK14 Manual (later version).pdf оцифровал!
Что касается игрушек, то на 7-сегментном индикаторе я знаю лишь одну динамичную игру:Lavr wrote: 10 Jan 2023 12:47Игрушка, правда, там одна: Duck Shoot, но как в неё играть, я не понял…![]()
Digital Invaders
Ещё когда тестировал проекты PIC14 под Proteus, подумал, что если всё заработает, надо будет попробовать перенести эту игру под SC/MP платформу…
Жаль только памяти у PIC14 мало. Но есть ведь и другой вариант!
PICL - A PIC Emulation of a SC/MP NIBL Tiny Basic Computer
Я для этого и протестировал один вариант проекта PIC14 под PIC16F877!
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: National Semiconductor SC/MP
А никак не обходят! Вот это меня феноменально удивило в приложении к языкам типа BASIC !Lavr wrote: 02 Mar 2025 02:05Хотелось посмотреть в большой программе, как они обходят несуразности процессора SC/MP при пересечении границ сегмента.Lavr wrote: 10 Jan 2023 12:47Собственно... меня заинтересовал Tiny BASIC этого весьма несуразного CPU...Lavr wrote:А процессор-то у него - 8-bit National Semiconductor SC/MP!
Всё-таки, как я всегда думал, задача языка BASIC на ранних компьютерах - скрыть аппаратные особенности,
и привести всё некоей однородности хотя бы в рамках этого языка.
Но в National Semiconductor решили иначе: если не можешь что-то преодолеть, надо это возглавить!
NIBL wrote:The PAGE pseudo variable recognizes the SC/MP 4kbyte paging. The program code in each page is treated like a separate program (i.e. line numbers may begin from 1 in each). Moving between these separate program segments is achieved by assigning the PAGE pseudo variable, on which control will be transferred to the first statement on the identified page.
Ну что тут скажешь ещё? Сурово и неординарно!Перевод wrote:Псевдопеременная PAGE распознает страничную организацию SC/MP размером 4 Кбайт. Программный код на каждой странице рассматривается как отдельная программа (т.е. номера строк могут начинаться с 1 в каждой). Перемещение между этими отдельными сегментами программы достигается назначением псевдопеременной PAGE, при котором управление будет передано первому оператору на идентифицированной странице.
iLavr

