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 »

Сделал эмуляцию устройства управления памятью (MMU) с переключением банков, что позволило иметь доступ к 512 КБайтам памяти.
Я разделил адресное пространство 0x0000...0xFFFF на 16 блоков (с номерами от 0x0 до 0xF) размером по 4 КБайта. Каждый блок может быть отображен в один из 8 банков (размер банка - 64 КБайта). Соответствие банков блокам определяется значениями (номерами банков от 0 до 7) в наборе из 16 регистров (при запуске эмулятора активен только банк 0).
Для задания номера банка для определенного блока используются две команды вывода в порт:
OUT D0, номер_блока
OUT D1, номер_банка
Также для переключения блока памяти X на банк памяти Y можно использовать команду монитора YXY.
Last edited by FoxyLab on 02 Jan 2020 12:32, edited 2 times in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Тестирование 8 банков (512 килобайт) памяти:
cpm_start_banks.png
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:33, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

cpm4nano Mk II
(использовал адаптер для подключения microSD-карточки)
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:32, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Новый рекорд - я прогнал без сбоев 7400 проходов теста памяти (ардуинка непрерывно молотила больше двух суток):
memtest_7400.png
Так что опасения в быстром выходе из строя карточки немного преувеличены.
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:33, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Новости проекта:
- подключил два чипа FRAM (32 КБайта каждый), причем сделал автоконфигурацию чипов (их может быть до 8 ) по банкам, так что эти два чипа закрыли нулевой банк ОЗУ
- отвязал при этом аппаратный I2C от прерываний (отказавшись заодно от использования Wire.h)
- отвязал работу с UART от прерываний
- от прерываний я отвязался не зря - таймер 1 после этих ухищрений позволил генерировать частоту строчной развертки для вывода на ТВ; я смог подобрать набор ассемблерных команд, которые позволят выводить пиксел за 7 тактов процессора (причем знаки берутся из знакогенератора - массива во флэш-памяти, а не экранного буфера в ОЗУ), а это при 56 мкс активной части строки даст 128 пикселей, т.е. Arduino Nano (одна!!!) сможет и эмулировать, и выводить на экран через композитный вход ТВ 24 символа в строке (при шрифте 5 x 8 ), хотя и утратив несколько в производительности (но все же не до такой степени, как ZX80 сэра Клайва :-) )
- переписал код эмуляции, сэкономив несколько килобайт флэша
Продолжение (и новая версия кода на гитхабе, а также дополненное описание на https://acdc.foxylab.com/node/76) следует
Last edited by FoxyLab on 02 Jan 2020 12:32, edited 1 time in total.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

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

Post by Клапауций »

FoxyLab wrote:Arduino Nano (одна!!!) сможет и эмулировать, и выводить на экран через композитный вход ТВ 24 символа в строке (при шрифте 5 x 8 )
смочь то сможет, но что это даёт практически на фоне смешных цен на графические индикаторы любого типоразмера?
ты сможешь носить в кармане устройство, а телевизор будет стоять дома?
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

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

Post by Клапауций »

https://www.acdc.foxylab.com походу, враги зобанили - перетащи всё бобро на https://pages.github.com или исправь файл реадми https://acdc.foxylab.com/
спасибо.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Клапауций wrote:www.acdc.foxylab.com походу, враги зобанили - перетащи всё бобро на https://pages.github.com или исправь файл реадми https://acdc.foxylab.com/
спасибо.
без www ! https://acdc.foxylab.com (где я упоминал www acdc foxylab com?)
Это же моя VPS-ка, перетаскивать с VPS на банальный файловый хостинг, извольте :-)
Last edited by FoxyLab on 02 Jan 2020 12:32, edited 1 time in total.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

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

Post by Клапауций »

FoxyLab wrote: (где я упоминал www acdc foxylab com?)
https://github.com/Dreamy16101976/cpm4nano файл README.md
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

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

Post by Клапауций »

FoxyLab wrote:Это же моя VPS-ка, перетаскивать с VPS на банальный файловый хостинг, извольте :-)
я подумал, что на помойке и лежит, а ты не проплатил и всё похерилось медной п...
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Клапауций wrote:
FoxyLab wrote:Arduino Nano (одна!!!) сможет и эмулировать, и выводить на экран через композитный вход ТВ 24 символа в строке (при шрифте 5 x 8 )
смочь то сможет, но что это даёт практически на фоне смешных цен на графические индикаторы любого типоразмера?
ты сможешь носить в кармане устройство, а телевизор будет стоять дома?
old school :) Кстати, как оказалось, я не одинок в идее эмулирования ОЗУ посредством SD-карточки - англоязычный товарищ похожим образом PDP эмулирует :wink:
Last edited by FoxyLab on 02 Jan 2020 12:33, edited 1 time in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Клапауций wrote:
FoxyLab wrote: (где я упоминал www acdc foxylab com?)
https://github.com/Dreamy16101976/cpm4nano файл README.md
Спасибо, исправил
Last edited by FoxyLab on 02 Jan 2020 12:33, edited 2 times in total.
FoxyLab
Retired
Posts: 73
Joined: 21 Mar 2017 06:37

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

Post by FoxyLab »

Клапауций wrote:
FoxyLab wrote:Это же моя VPS-ка, перетаскивать с VPS на банальный файловый хостинг, извольте :-)
я подумал, что на помойке и лежит, а ты не проплатил и всё похерилось медной п...
:)
Last edited by FoxyLab on 02 Jan 2020 12:33, edited 1 time in total.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

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

Post by Клапауций »

FoxyLab wrote: - отвязал при этом аппаратный I2C от прерываний (отказавшись заодно от использования Wire.h)
- отвязал работу с UART от прерываний
"отвязал" - это значит "I2C и UART теперь не работает"?
т.е. теперь доступа к балалайке по интерфейсу UART и I2C - нет?
или "есть, но как-то альтернативно"?
FoxyLab wrote: - от прерываний я отвязался не зря - таймер 1 после этих ухищрений позволил генерировать...
таймер 2 для этой цели не подходит?
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

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

Post by IgorR76 »

Совершенный offtop:
Что интересного в вертолете R66 со сквоком 7000? Обычный гражданский.