nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 01:54



Reply to topic  [ 121 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Arduino Nano - эмулятор компьютера под управлением ОС CP/M 
Author Message
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
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.



30 Aug 2018 04:44
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
FoxyLab wrote:
Тут только записывать в него придется на неактивных участках кадра, но, полагаю, 50 символов в секунду будет приемлемая скорость изменения информации на экране.

Жуть. На бланке кадра писать. Как в прошлое вернулся.

Почесал бороду :)

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


30 Aug 2018 04:50
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Alekcandr wrote:
FoxyLab wrote:
Тут только записывать в него придется на неактивных участках кадра, но, полагаю, 50 символов в секунду будет приемлемая скорость изменения информации на экране.

Жуть. На бланке кадра писать. Как в прошлое вернулся.

Почесал бороду :)

Attachment:
fox_ok.png
fox_ok.png [ 6.89 KiB | Viewed 5003 times ]
Как пишут (я правда, этим изделием не владел, от МК-52 перепрыгнул сразу к Спектруму), поделие сэра Клайва под названием ZX-80 вообще забивало на вывод на экран во время исполнения программ на Бейсике.


Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.



30 Aug 2018 04:56
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
До исторические времена ZX, блин.

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

:rotate:

Сегодня отлично доставаемый в версии NTSC и с безумным интерфейсом DRAM. Также есть версия 9928, с вменяемом выхлопом видео. Но я пока не юзал. Только композит, или яркостной сигнал от хх28.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


30 Aug 2018 05:24
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Наберусь наглости. Можно схему в стиле Э3. Бо эти тылки-монтажные схеме меня крепко путают.
Просто для меня такая схема не пришей к пуговице чего-то.

Есть nano. Попробую собрать.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


30 Aug 2018 05:47
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
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.



30 Aug 2018 06:30
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Alekcandr wrote:
Наберусь наглости. Можно схему в стиле Э3. Бо эти тылки-монтажные схеме меня крепко путают.
Просто для меня такая схема не пришей к пуговице чего-то.

Для этого мне придется нарисовать символы для Nano и USB-UART преобразователя в sPlan. Но сначала я допишу обработку скан-кодов, а также обновлю основной код на Github.
Quote:
Есть nano. Попробую собрать.


Attachments:
fox_ok.png
fox_ok.png [ 6.89 KiB | Viewed 5003 times ]


Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.

30 Aug 2018 06:35
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Нафиг. С-план(траву курить). Делай в Eagle Cad. И твой труд смогут прочитать миллионы (80х100 бесплатно).

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


30 Aug 2018 06:39
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Alekcandr wrote:
Нафиг. С-план(траву курить). Делай в Eagle Cad. И твой труд смогут прочитать миллионы (80х100 бесплатно).

А что, можно попробовать :idea:


Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.



30 Aug 2018 09:38
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Добавлю "Турбо"-кнопку (по мотивам ZX81-го и его FAST/SLOW режимов) - если она нажата, то при исполнении машинных команд (в том числе и команд ОС и программ), если в течение, например, 1000 команд не было запроса статуса консоли, то гасим экран (генерим только синхроимпульсы и не тратим процессорное время на генерацию пикселей). Запрос к консоли сбрасывает счетчик и выключает турбо-режим.


Last edited by FoxyLab on 02 Jan 2020 12:35, edited 1 time in total.



03 Sep 2018 04:06
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Alexey, а вы не делали какую-либо оценку процессор с какой реальной частотой у вас эмулируется?

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

Вы не делали каких-либо подобных оценок?

_________________
iLavr


03 Sep 2018 06:53
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Lavr wrote:
Alexey, а вы не делали какую-либо оценку процессор с какой реальной частотой у вас эмулируется?

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

Вы не делали каких-либо подобных оценок?

Вот так я делал:

Attachment:
cpm_basic_test.png
cpm_basic_test.png [ 1.8 KiB | Viewed 5110 times ]

(еще без FRAM, используя SD RAM). Там быстродействие очень зависело от количества линий кэша, табличка есть здесь - https://acdc.foxylab.com/node/76.
У меня нет доступа к реальному 8080, поэтому сравнить не с чем. Но килогерц 100 - это оптимистичная оценка :wink:


Last edited by FoxyLab on 02 Jan 2020 12:36, edited 1 time in total.



03 Sep 2018 07:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
И у меня еще один вопрос к вам накопился... слежу за вашим творчеством... :wink:

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

Я просматривал интернет по своим целям и нашел проект довольно интересный с этой точки
зрения: UART TTL терминал на базе Arduino
Attachment:
terminan.jpg
terminan.jpg [ 155.48 KiB | Viewed 8385 times ]

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

Вам не кажется, что если это реализовать в Вашем проекте, и процессор был бы быстрее, и вся
"игрушка" была бы привлекательней: на батарейках... со своим дисплеем?

_________________
iLavr


03 Sep 2018 07:49
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
FoxyLab wrote:
А что, можно попробовать :idea:
Слегка не по теме. Eagle CAD относительно недавно прикупила "конторка" autodesk. Как ожидалось это не пошло на пользу простой среде проектирования плат. Сижу на версии Eagle 8.2. Дальше по мне начинается "мрак".

Понятно, что не все вечно. Тем не менее с таким низким порогом вхождения аналогов не существует. А так видимо надо смотреть в сторону KiCad, но потребуется больше времени потратить на вхождение в тему.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


03 Sep 2018 08:48
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
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.



03 Sep 2018 09:10
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 121 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.