не знаю - на тебе ссылко, читай интересное https://en.wikipedia.org/wiki/Robinson_R66IgorR76 wrote:Совершенный offtop:
Что интересного в вертолете R66 со сквоком 7000? Обычный гражданский.
Arduino Nano - эмулятор компьютера под управлением ОС CP/M
Moderator: Shaos
-
- Banned
- Posts: 412
- Joined: 29 Jun 2018 08:48
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Наверно то, что это единственный Робинсон, посетивший эти места за много лет )))IgorR76 wrote:Совершенный offtop:
Что интересного в вертолете R66 со сквоком 7000? Обычный гражданский.
Last edited by FoxyLab on 02 Jan 2020 12:31, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Естественно, работаютКлапауций wrote:"отвязал" - это значит "I2C и UART теперь не работает"?FoxyLab wrote: - отвязал при этом аппаратный I2C от прерываний (отказавшись заодно от использования Wire.h)
- отвязал работу с UART от прерываний
т.е. теперь доступа к балалайке по интерфейсу UART и I2C - нет?
или "есть, но как-то альтернативно"?

Дело не в номере таймера, а в том, что теперь ничто не прервет генерацию пикселей ТВ-строки.Клапауций wrote:таймер 2 для этой цели не подходит?FoxyLab wrote: - от прерываний я отвязался не зря - таймер 1 после этих ухищрений позволил генерировать...
P.S. Добавил поддержку протокола XMODEM, так что теперь можно загружать файлы и диски в эмулятор из терминальной программы (например, Tera Term).
P.P.S. Причешу код и обновлю на гитхабе.
Last edited by FoxyLab on 02 Jan 2020 12:31, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Ардуино запускает загруженный через XMODEM монитор (turnmon) от "Альтаир 8800" (я сделал эмулятор совместимым по портам с ним) - выполнена команда дампа памяти:
Восьмеричная система... компьютер на год старше меня
Восьмеричная система... компьютер на год старше меня

You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:31, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Нахально похвастаюсь
Я научил свой «нанокомпьютер» выводить на экран ТВ без джиттера (!) 20 строк текста по 40 колонок в каждой.
На "скриншоте" экрана ТВ показаны результаты выполнения команды DIR и тестов процессора:
На текущий момент в проекте cpm4nano одна (!) Arduino Nano (!):
— эмулирует процессор i8080;
— загружает ОС CP/M и выполняет ее программы;
— обменивается информацией по последовательному порту;
— выводит изображение на экран ТВ.
P.S. Шрифт, конечно, подправлю, на мониторе "Байта" спектрумовский сжатый шрифт смотрелся получше.

На "скриншоте" экрана ТВ показаны результаты выполнения команды DIR и тестов процессора:
На текущий момент в проекте cpm4nano одна (!) Arduino Nano (!):
— эмулирует процессор i8080;
— загружает ОС CP/M и выполняет ее программы;
— обменивается информацией по последовательному порту;
— выводит изображение на экран ТВ.
P.S. Шрифт, конечно, подправлю, на мониторе "Байта" спектрумовский сжатый шрифт смотрелся получше.
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:30, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Она натурально греетсяrw6hrm wrote:Бедняжко, да как же она трудится, маленькая...
Ссылку на тестовую прогу можно? Попробую на своём реальчике (Z80 правда, но мож что скажет, а то всё тестирую через DDT).


Last edited by FoxyLab on 02 Jan 2020 12:30, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Текущая схема проекта:
В минимальной конфигурации требуется:
Arduino Nano 3.0;
SD-карточка с адаптером;
преобразователь USB-UART.
В минимальной конфигурации требуется:
Arduino Nano 3.0;
SD-карточка с адаптером;
преобразователь USB-UART.
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:30, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
С добавление интерфейса PS/2 для подключения клавиатуры мой "нанокомпьютер" стал самодостаточным:
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:30, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Верно! Но у STM-ки есть два выхода с открытым коллектором (стоком) для I2C, вот их я и использую в дальнейшем для этого.rw6hrm wrote:Судя по схеме, интерфейс работает только в одну сторону и светодиодиками на клаве не помигать...
P.S. Мигать STM-ка будет сама, без участия Arduino, так же как она сама режим строчные/заглавные переключает.
Last edited by FoxyLab on 02 Jan 2020 12:31, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Просекаем make-код SCROLL (0x7E), переключаем флаг языка, и в большом switch вместо Q для скан-кода клавиши Q (0x15) посылаем Й. Такие делаrw6hrm wrote:Если появится режим рус/лат, хотя бы через нажатие ScrollLock - хотелось бы алгоритм посмотреть. Именно алгоритм, программно не нужно.FoxyLab wrote:так же как она сама режим строчные/заглавные переключает.

Last edited by FoxyLab on 02 Jan 2020 12:32, edited 1 time in total.
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Интересный проект
А почему бы не навесить ps2 на nano? Вроде ножки свободные есть. Или у nano уже ресурсов не осталось?
Светодиоды не как не связаны с получаемым кодом. Зажигать их можно просто отправляя команду ps2. Ну и конечно если нажали модификатор рус/лат (Alt), подменяем массив и получаем коды от туда. И по модификатору светодиод зажигаем.
Как то так общение с ps2 происходит.

А почему бы не навесить ps2 на nano? Вроде ножки свободные есть. Или у nano уже ресурсов не осталось?
Алгоритм там не сложный. Опрашиваем в цикле ps2. По нажатию/отпусканию физ кнопки (индекс масива) получаем какой угодно из массива код. И делаем с ним, что нам захочется. Ну, там типо кому то отправляем. Я для этих целей прикупил микруху MT8816 – матрица ключей 8х16.rw6hrm wrote:Если появится режим рус/лат, хотя бы через нажатие ScrollLock - хотелось бы алгоритм посмотреть. Именно алгоритм, программно не нужно.
Светодиоды не как не связаны с получаемым кодом. Зажигать их можно просто отправляя команду ps2. Ну и конечно если нажали модификатор рус/лат (Alt), подменяем массив и получаем коды от туда. И по модификатору светодиод зажигаем.
Как то так общение с ps2 происходит.
Last edited by Alekcandr on 30 Aug 2018 03:11, edited 1 time in total.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Спасибо!Alekcandr wrote:Интересный проект![]()
В PS/2 клок генерит клавиатура, а прерывания нельзя использовать - нарушится генерация ТВ-сигнала. Можно замутить на регистрах сдвига etc, но "что-то лень". А 8-я слабее 328-й, поэтому в логику проекта укладывается.Alekcandr wrote: А почему бы не навесить ps2 на nano? Вроде ножки свободные есть. Или у nano уже ресурсов не осталось?
Это, все конечно, так, но вопрос был связан с тем, что те две ноги работают на вход, а пуш-пул выход низзя, клавиатура может раньше успеть клок к земле прижать.Alekcandr wrote: Светодиоды не как не связаны с получаемым кодом. Зажигать их можно просто отправляя команду ps2.
Last edited by FoxyLab on 02 Jan 2020 12:34, edited 1 time in total.
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Да, тут надо реал тайм для видео, хотя 2 int вроде свободен (занят на выход vsync). Я конечно не специалист, но может его использовать для синхронизации с ps2 (clock). В той библиотеке которую использую не используется прерывание.FoxyLab wrote:В PS/2 клок генерит клавиатура, а прерывания нельзя использовать - нарушится генерация ТВ-сигнала. Можно замутить на регистрах сдвига etc, но "что-то лень". А 8-я слабее 328-й, поэтому в логику проекта укладывается.
Вот тут вообще ни в зуб ногой. Не знаком с STM.FoxyLab wrote:Это, все конечно, так, но вопрос был связан с тем, что те две ноги работают на вход, а пуш-пул выход низзя, клавиатура может раньше успеть клок к земле прижать.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
На активных участках кадра счет идет на машинные циклы, там ни зря две ноги объединены у ардуинки, приходится учитывать даже то, что прерывание может произойти в середине команды, и команда будет довыполняться, поэтому и используется вход захвата первого таймера, чтобы скорректировать различие между началом генерации синхроимпульса от таймера и входом в прерывание. При этом на обработку прерывания может уйти до 50 мкс, за это время клавиатура может что-нибудь замутить.Alekcandr wrote:Да, тут надо реал тайм для видео, хотя 2 int вроде свободен (занят на выход vsync). Я конечно не специалист, но может его использовать для синхронизации с ps2 (clock). В той библиотеке которую использую не используется прерывания.FoxyLab wrote:В PS/2 клок генерит клавиатура, а прерывания нельзя использовать - нарушится генерация ТВ-сигнала. Можно замутить на регистрах сдвига etc, но "что-то лень". А 8-я слабее 328-й, поэтому в логику проекта укладывается.
Last edited by FoxyLab on 02 Jan 2020 12:34, edited 1 time in total.
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Жуть. Надо очень быстро и четко. Как предложение может вынести «модуль» видео за скобки. А на nano допиливать не быстрые плюшки (периферию)? Просто мыслиFoxyLab wrote:На активных участках кадра счет идет на машинные циклы, там ни зря две ноги объединены у ардуинки, приходится учитывать даже то, что прерывание может произойти в середине команды, и команда будет довыполняться, поэтому и используется вход захвата первого таймера, чтобы скорректировать различие между началом генерации синхроимпульса от таймера и входом в прерывание. При этом на обработку прерывания может уйти до 50 мкс, за это время клавиатура может что-нибудь замутить.

Сдвиговый регистр, решит проблему отчасти быстрой подачи данных. Но им тоже надо четко рулить во времени. Я о видео. И самое интересное буфера то нет. Закончились данные? Будь добр выставь новые строго по таймингу.
Отличная штука бы вышла, скармливай внешнему модулю видео по последовательной шине данные, а там он пускай сам шустрит для формирования сигнала видео, четко по таймингам.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru