Набор символов шрифта:
на экране LCD-телевизора:

на экране ЭЛТ-телевизора:
  • avatar FoxyLab
  • 0
Актуальное видео работы «нанокомпьютера»:
YouTube
  • avatar FoxyLab
  • 0
Некоторые тесты быстродействия (в FAST-режиме):

Длительность прогона 32768 команд:
(при выборке из памяти было включено кэширование)

NOP
без выборки из памяти — 0,6 сек
с выборкой из памяти — 2,1 сек

MOV A,A
без выборки из памяти — 0,7 сек
с выборкой из памяти — 2,2 сек

DAA
без выборки из памяти — 0,8 сек
с выборкой из памяти — 2,3 сек

Без кэша заметно медленнее — например, прогон NOP требует больше 6 секунд.
  • avatar Anadara
  • 0
Это опечатка. Поправил. Спасибо.
  • avatar Shiru
  • 3
byuu конечно расстроится, узнав, что он так и не смог понять SA-1.

Вообще забавно заявление, что исправлена игра, хотя она просто запущена на более быстром процессоре, да и весь разговор по сути про SA-1. А ведь можно было бы заморочиться и реально оптимизировать код, чтобы игра перестала тормозить без привлечения дополнительного процессора. Во множестве игр на SNES основные тормоза из-за очень своеобразной организации списка спрайтов (биты координат разбросаны). Если писать в лоб, получается множество сдвигов и битовых операций. Помогает держать в памяти список спрайтов в более удобном формате, а блок для OAM формировать один раз в конце кадра развёрнутым циклом. В Gradius не смотрел, но скорее всего эта проблема присутствует и там.
  • avatar aa-dav
  • 0
RISK может в бразилии и так пишется, но у нас — RISC
  • avatar Anadara
  • 4
Я не хардкорный технарь, но старался перевести правильно. Если допущены ошибки, не стесняйтесь указать — я исправлю.
  • avatar FoxyLab
  • 1
Добавление read-ahead/write-through кэша инструкций (однолинейный, 16 байт) между ядром эмуляции и I2C-памятью ускорило работу CP/M, например, время полной отработки DIR на дискете с системными файлами и тестами уменьшилось в полтора раза.
  • avatar FoxyLab
  • 2
Мой «нанокомпьютер» успешно запустил FORTH-83:

«Привет, мир!»;
  • avatar FoxyLab
  • 2
Добавил возможность включения «турбо»-режима «на лету» с помощью перемычки — отключается прорисовка пикселей в ТВ-кадре, аналог FAST MODE в ZX81. Время выполнения бейсик-теста уменьшается в этом режиме со 120 до 70 секунд.
  • avatar FoxyLab
  • 1
«Хэндмэйд»-домик для «нанокомпьютера»:
  • avatar FoxyLab
  • 2
Как дополнение:
Автокод, простой язык программирования; система команд некоторой условной машины, способной в качестве элементарных выполнять значительно более сложные операции, чем данная конкретная ЭВМ. Наиболее распространены А. типа 1:1, в которых основной элемент языка (оператор, строка) при переводе на языке цифровой вычислительной машины (ЦВМ) преобразуется в одну команду. С помощью А. типа 1:1 можно составить любую программу, которая возможна в системе команд вычислительной машины. Программирование на А. типа 1:1 эквивалентно программированию на языке ЦВМ, однако более удобно для человека и ускоряет работу примерно в 3 раза. А., отличные от А. типа 1:1, ориентируются не на систему команд ЦВМ, а на класс решаемых задач, значительно ускоряют работу по программированию, но не дают возможности получить программу такого же высокого качества, какое в принципе достижимо при программировании на языке ЦВМ или на А. типа 1:1. В А. (не типа 1:1) основной элемент языка (оператор) при переводе в код ЦВМ преобразуется, как правило, в совокупность нескольких команд. Указать резкую границу между А. и другими (более сложными) языками программирования невозможно. Примерами А. типа 1:1 могут служить А., разработанные в СССР для ЦВМ БЭСМ-6 и «Урал». Пример более сложного А. — А. типа «Инженер» для ЦВМ «Минск».

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

Во многих системах автоматического программирования А. служит промежуточным языком при переводе с другого языка программирования в код ЦВМ.

В. И. Собельман.

(Your text to link...)
  • avatar aa-dav
  • 2
Кстати, если вспоминать о бейсике в частности и ЯВУ в целом, то для Manchester Mark I/II было разработано несколько ЯВУ с общим названием Autocode: en.wikipedia.org/wiki/Autocode
Но забавным мне показался второй — Mark 1 Autocode, причём он довольно широко использовался, судя по википедии.
Пример программы:

  n1  =  201
  n2  =  301
  v99  =  0
7 v98  =  vn1 x vn2
  v99  =  v99+v98
  n1  =  n1+1
  n2  =  n2+1
  j7  ,  280 >= n1 

Что можно интересного сказать:
— одна операция — одна строка
— 18 целочисленных переменных с именами от n1 до n18
— столько вещественных переменных сколько было доступно прочей памяти с именами вида v1..v999
— оператор j7 переходит на строку пронумерованную как 7, после запятой пишется условие
— если нужно обращаться с ячейками памяти как с массивом, то используется конструкция vnx, например vn10 которая означает переменную v… с номером который хранится в переменной n10
Конечно это было прямо несколько шагов вперёд по сравнению с программирование в символах телетайпа.
  • avatar FoxyLab
  • 2
Замечание об оставлении пустого места между строками много лет спустя повторилось в рекомендации нумеровать строки бейсик-программ числами, кратными 10 — при необходимости можно будет вставить новые строчки. :-)
  • avatar FoxyLab
  • 0
  • avatar FoxyLab
  • 1
Проект разморожен :-)

Успешные испытания подключения PS/2-клавиатуры через STM8-переходник сделали мой «нанокомпьютер» автономным.

Итак, cpm4nano Mk V:
Arduino Nano 3.0 — эмулирует систему команд i8080, обеспечивает работу с памятью и дисками, выполняет вывод видеоизображения и обмен по последовательному каналу
ОЗУ — 2 x 32 Кбайтных I2C-чипа FM24C256-G
FDD — SD-карточка
ввод — PS/2-клавиатура через STM8S103F3P6-переходник
вывод — параллельно на видеовыход (20 строк x 45 колонок, шрифт 4 x 8) и последовательный порт (USB-UART преобразователь)

P.S. Испытал подключение к кинескопному ТВ (четкость изображения хуже, чем на LCD, но синхронизация не нарушается и шрифт читаем).
  • avatar Anadara
  • 1
Статья опубликована: shmupradio.com/ru/r-story
Спасибо за предоставленный материал.
  • avatar aa-dav
  • 0
P.S.
Но если прям интересно, то тут (документация по UNIVAC I от 59 года): www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Programming_1959.pdf
Это страница 16 со слов: «The arithmetic registers are identical to memory cells except...»
  • avatar aa-dav
  • 0
Ну про инженеров — это я вообще ко всему коллективу работавшему над машиной обращался, там всё-таки согласно википедии 300000 человеко-часов было затрачено даже на предыдущую итерацию Mark I (Manchester Baby) у которого было всего 7 машинных команд (практически эзотерическая машина!) из которых арифметико-логические только вычитание и смена знака числа. Но вообще да, мозговой центр там был сплошь из профессоров и кандидатов наук.
  • avatar aa-dav
  • 0
я уже не понимаю зачем там вам нужно что-то перечитывать. что вы собираетесь найти? всё просто так как я констатировал и всё. двойных смыслов в тех фразах нет, это не афоризмы.