Arduino Nano - эмулятор компьютера под управлением ОС CP/M

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Alekcandr wrote:
FoxyLab wrote:На активных участках кадра счет идет на машинные циклы, там ни зря две ноги объединены у ардуинки, приходится учитывать даже то, что прерывание может произойти в середине команды, и команда будет довыполняться, поэтому и используется вход захвата первого таймера, чтобы скорректировать различие между началом генерации синхроимпульса от таймера и входом в прерывание. При этом на обработку прерывания может уйти до 50 мкс, за это время клавиатура может что-нибудь замутить.
Жуть. Надо очень быстро и четко. Как предложение может вынести «модуль» видео за скобки. А на nano допиливать не быстрые плюшки (периферию)? Просто мысли :)

Сдвиговый регистр, решит проблему отчасти быстрой подачи данных. Но им тоже надо четко рулить во времени. Я о видео. И самое интересное буфера то нет. Закончились данные? Будь добр выставь новые строго по таймингу.

Отличная штука бы вышла, скармливай внешнему модулю видео по последовательной шине данные, а там он пускай сам шустрит для формирования сигнала видео, четко по таймингам.
Так с внешним видеомодулем - тема известная, вот пример - девушка (!) - блондинка (!), правда англоязычная, собрала на макетке (!) компьютер на 6502-м, и у нее как раз ATmega для видеовывода используется - http://quinndunki.com/blondihacks/?p=955

Я тут может вот что сотворю (близкое к предложенному Вами регистру сдвига) - у чипов SPI RAM (например, 23K256) есть burst-режим, в котором они гонят на выход бит за битом просто по клоку, без дополнительных установок адреса. Тогда мы получаем полноценный большой битовый видеобуфер. Тут только записывать в него придется на неактивных участках кадра, но, полагаю, 50 символов в секунду будет приемлемая скорость изменения информации на экране.
Last edited by FoxyLab on 02 Jan 2020 12:34, edited 1 time in total.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Alekcandr »

FoxyLab wrote: Тут только записывать в него придется на неактивных участках кадра, но, полагаю, 50 символов в секунду будет приемлемая скорость изменения информации на экране.
Жуть. На бланке кадра писать. Как в прошлое вернулся.

Почесал бороду :)
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Alekcandr wrote:
FoxyLab wrote: Тут только записывать в него придется на неактивных участках кадра, но, полагаю, 50 символов в секунду будет приемлемая скорость изменения информации на экране.
Жуть. На бланке кадра писать. Как в прошлое вернулся.

Почесал бороду :)
fox_ok.png
Как пишут (я правда, этим изделием не владел, от МК-52 перепрыгнул сразу к Спектруму), поделие сэра Клайва под названием ZX-80 вообще забивало на вывод на экран во время исполнения программ на Бейсике.
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Alekcandr »

До исторические времена ZX, блин.

А копнем глубже. TMS9918 писал спрайты по бланку кадра свои 32 спрайта.

:rotate:

Сегодня отлично доставаемый в версии NTSC и с безумным интерфейсом DRAM. Также есть версия 9928, с вменяемом выхлопом видео. Но я пока не юзал. Только композит, или яркостной сигнал от хх28.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Alekcandr »

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

Есть nano. Попробую собрать.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Alekcandr wrote:До исторические времена ZX, блин.

А копнем глубже. TMS9918 писал спрайты по бланку кадра свои 32 спрайта.

:rotate:

Сегодня отлично доставаемый в версии NTSC и с безумным интерфейсом DRAM. Также есть версия 9928, с вменяемом выхлопом видео. Но я пока не юзал. Только композит, или яркостной сигнал от хх28.
Интересно!
Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Alekcandr wrote:Наберусь наглости. Можно схему в стиле Э3. Бо эти тылки-монтажные схеме меня крепко путают.
Просто для меня такая схема не пришей к пуговице чего-то.
Для этого мне придется нарисовать символы для Nano и USB-UART преобразователя в sPlan. Но сначала я допишу обработку скан-кодов, а также обновлю основной код на Github.
Есть nano. Попробую собрать.
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Alekcandr »

Нафиг. С-план(траву курить). Делай в Eagle Cad. И твой труд смогут прочитать миллионы (80х100 бесплатно).
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Alekcandr wrote:Нафиг. С-план(траву курить). Делай в Eagle Cad. И твой труд смогут прочитать миллионы (80х100 бесплатно).
А что, можно попробовать :idea:
Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Добавлю "Турбо"-кнопку (по мотивам ZX81-го и его FAST/SLOW режимов) - если она нажата, то при исполнении машинных команд (в том числе и команд ОС и программ), если в течение, например, 1000 команд не было запроса статуса консоли, то гасим экран (генерим только синхроимпульсы и не тратим процессорное время на генерацию пикселей). Запрос к консоли сбрасывает счетчик и выключает турбо-режим.
Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Lavr »

Alexey, а вы не делали какую-либо оценку процессор с какой реальной частотой у вас эмулируется?

Я тут просто на эту тему просматривал ряд западных сайтов, правда, на повод процесора 6502,
так они делают для проверки пустой цикл на Васике от 0 до 1000 (если не ошибаюсь) и по времени
цикла довольно точно оценивают реальное быстродействие эмулируемого процессора.

Вы не делали каких-либо подобных оценок?
iLavr
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Lavr wrote:Alexey, а вы не делали какую-либо оценку процессор с какой реальной частотой у вас эмулируется?

Я тут просто на эту тему просматривал ряд западных сайтов, правда, на повод процесора 6502,
так они делают для проверки пустой цикл на Васике от 0 до 1000 (если не ошибаюсь) и по времени
цикла довольно точно оценивают реальное быстродействие эмулируемого процессора.

Вы не делали каких-либо подобных оценок?
Вот так я делал:
cpm_basic_test.png
(еще без FRAM, используя SD RAM). Там быстродействие очень зависело от количества линий кэша, табличка есть здесь - https://acdc.foxylab.com/node/76.
У меня нет доступа к реальному 8080, поэтому сравнить не с чем. Но килогерц 100 - это оптимистичная оценка :wink:
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:36, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Lavr »

И у меня еще один вопрос к вам накопился... слежу за вашим творчеством... :wink:

Вы сделали выход в виде ТВ-сигнала, а сейчас и все фанаты реальных Спектрумов и других
древних популярных 8-биток мучаются, что их фактически некуда подключать.
Дисплеи типа мультисинк дороги, к VGA прицепиться сложно, и современный телевизор не очень
удобен для таких целей.

Я просматривал интернет по своим целям и нашел проект довольно интересный с этой точки
зрения: UART TTL терминал на базе Arduino
terminan.jpg
И потом я нашел еще 2 похожих проекта.

Вам не кажется, что если это реализовать в Вашем проекте, и процессор был бы быстрее, и вся
"игрушка" была бы привлекательней: на батарейках... со своим дисплеем?
You do not have the required permissions to view the files attached to this post.
iLavr
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by Alekcandr »

FoxyLab wrote:А что, можно попробовать :idea:
Слегка не по теме. Eagle CAD относительно недавно прикупила "конторка" autodesk. Как ожидалось это не пошло на пользу простой среде проектирования плат. Сижу на версии Eagle 8.2. Дальше по мне начинается "мрак".

Понятно, что не все вечно. Тем не менее с таким низким порогом вхождения аналогов не существует. А так видимо надо смотреть в сторону KiCad, но потребуется больше времени потратить на вхождение в тему.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

Re: Arduino Nano - эмулятор компьютера под управлением ОС CP

Post by FoxyLab »

Lavr wrote:И у меня еще один вопрос к вам накопился... слежу за вашим творчеством... :wink:

Вы сделали выход в виде ТВ-сигнала, а сейчас и все фанаты реальных Спектрумов и других
древних популярных 8-биток мучаются, что их фактически некуда подключать.
Дисплеи типа мультисинк дороги, к VGA прицепиться сложно, и современный телевизор не очень
удобен для таких целей.

Я просматривал интернет по своим целям и нашел проект довольно интересный с этой точки
зрения: UART TTL терминал на базе Arduino

И потом я нашел еще 2 похожих проекта.

Вам не кажется, что если это реализовать в Вашем проекте, и процессор был бы быстрее, и вся
"игрушка" была бы привлекательней: на батарейках... со своим дисплеем?
Это, конечно, проще, но совсем не так интересно :no: , а здесь - приходится решать много интересных проблем. И сейчас зарубежные любители "homebrew computers" мастерят для своих поделий VGA или TV (PAL или NTSC) выходы (монохромный VGA-сигнал ничуть не сложнее, чем монохромный PAL). Я ставил ЖК-экраны в свой проект и металлодетектора, и велокомпьютера, но в этом проекте - если разве для отладки дву- или однострочный.
По информативности приведенный Вами проект даже уступает моему - я вывожу на телевизор 20 строк по 40 символов, хотя, конечно, есть экраны и побольше. Но всё-таки это не то :ewink:
Last edited by FoxyLab on 02 Jan 2020 12:36, edited 1 time in total.