Excellentrw6hrm wrote:уже сейчас на своей машинке выполняю практически всю работу, что делал ранее на писюке, в т.ч. набор текстов (использую SED)
Arduino Nano - эмулятор компьютера под управлением ОС CP/M
Moderator: Shaos
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Last edited by FoxyLab on 02 Jan 2020 12:38, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Добавил подстрочный "аппаратный" курсор:
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:39, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Испытал на "нанокомпьютере" компилятор Бейсика:
компиляция
линковка
запуск программы
Работает компилятор весьма неспешно, особенно линкер - около 20
минут, причем критична именнo скорость доступа к памяти, так что время работы линкера использую как тестовый показатель - поэкспериментирую с кэшированием и типами памяти.
компиляция
линковка
запуск программы

Работает компилятор весьма неспешно, особенно линкер - около 20

You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:38, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
45 символов в строке (2 машинных цикла на пиксель):
При попытке вывести около 60 символов столкнулся со странным эффектом - пиксели соседних строк оказались смещены примерно на пол-пикселя, при этом на вывод одного пикселя тратился всего один машинный цикл - вывод в порт из регистров. Мне на ум пришла странная гипотеза - задержка в выводе в порт ATmega из разных регистров разная (в пределах одного машинного цикла)
При попытке вывести около 60 символов столкнулся со странным эффектом - пиксели соседних строк оказались смещены примерно на пол-пикселя, при этом на вывод одного пикселя тратился всего один машинный цикл - вывод в порт из регистров. Мне на ум пришла странная гипотеза - задержка в выводе в порт ATmega из разных регистров разная (в пределах одного машинного цикла)

You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:39, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Huzza
Мой симулятор успешно прошел не поддававшийся до сих пор тест:
Мой симулятор успешно прошел не поддававшийся до сих пор тест:
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:38, edited 1 time in total.
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Запуск в эмуляторе эпической игры (написанной в этом случае на Аде):
You do not have the required permissions to view the files attached to this post.
Last edited by FoxyLab on 02 Jan 2020 12:39, edited 1 time in total.
-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Любая пошаговая игра в текстовом режиме эпичнаFoxyLab wrote:Запуск в эмуляторе эпической игры (написанной в этом случае на Аде)

Других и не было в моей (нашей) юности у нас. Бо нашей заточенной промышленности на военку и нафиг был не нужен графический контроллер.
Помню перенесли мне родители распечатку на кальке (не совсем калька, вроде пергаментом звался). То была игра на бейсике. Надо было развивать королевство. Выращивать пшеницу, защищать границу от набегов, устраивать праздники, торговать и исчо чего-то. Все это проделывалось за счет валюты в игре и населения.
Удивительно что вся эта игра влезла в комп РАДИО-86РК (КР-02) с 16 кБ на борту. Ну и естественно пришлось ее слегка подрихтовать, бо исходный диалект бейсика не совсем заходил в интерпретатор МИКРОН

Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
С помощью CP/M программы CPUTEST.COM можно оценить скорость CP/M-компьютера.FoxyLab wrote:Мой симулятор успешно прошёл не поддававшийся до сих пор тест
На базовом РК86 этот тест прогоняется за 182 секунды, а на базовом ОРИОНЕ с процессором Z80 - за 96 секунд. Для того, чтобы исключить время загрузки с дискеты, я запускал этот тест из под отладчика командой G100 (иначе оценка скорости CPU неверная, т.к программный контроллер дисковода РК86 примерно в три раза более медленный, чем аппаратный контроллер на ВГ93 в DD-формате).
А за сколько секунд прогоняется этот тест у Вас?
Last edited by barsik on 27 Sep 2018 10:12, edited 3 times in total.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
С Днём Рождения Вас, коллегаFoxyLab wrote:... а здесь - приходится решать много интересных проблем.

Удачи, и творческих упехов Вам!

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Классная штука. Запускал. Медленно немного. На esp8266 шустрее CP/M работает и даже умеет в интернет сеть смотреть.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Спасибо!askfind wrote:Классная штука.
Версия с SDRAM, которую Вы запускали, все-таки медленнее, чем текущий вариант с FRAM (кэширование помогает при последовательном доступе, но при произвольном практически бессильно). Но скорость I2C-шины, конечно, является тормозящим фактором. Можно попробовать SPI RAM (у меня даже есть один чип, на половину памятиaskfind wrote:Запускал. Медленно немного.

P.S. В "старом" коде осталась ошибка в эмуляции, из-за которой он не проходил некоторые тесты. Я ее исправил, но из-за изменения структуры кода я не могу сопоставить две версии напрямую, а что я исправил конкретно, я банально забыл


Это, естественно, так. Вариантов "железных" эмуляторов много, FPGA бы вообще всех уделал, но челлендж был в том, чтобы 328-я атмега (в формате Arduino Nano) одна эмулировала 8080, работала с памятью, карточкой, принимала входной поток (от компьютера или клавиатуры через STM-преобразователь) и выводила видеосигнал (с дублированием в последовательный канал). Такое поделие, как мне кажется, только одно - cpm4nanoaskfind wrote:На esp8266 шустрее CP/M работает и даже умеет в интернет сеть смотреть.

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
A вы не могли бы в ваших предыдущих постах на этой странице загрузить картинки сюда на форум?
А то мне их никак не видно с вашего хостинга..
Первый раз подумал - непонятный сбой какой-то, но сейчас вижу, что тенденция... 
А то мне их никак не видно с вашего хостинга..


You do not have the required permissions to view the files attached to this post.
iLavr
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Отличный результат!FoxyLab wrote:"Привет, мир!" на FORTH-83
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Retired
- Posts: 73
- Joined: 21 Mar 2017 06:37
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Некоторые тесты быстродействия (в FAST-режиме):
Длительность прогона 32768 команд:
(при выборке из памяти было включено кэширование)
NOP
без выборки из памяти - 0,6 сек
с выборкой из памяти - 2,1 сек
MOV A,A
без выборки из памяти - 0,7 сек
с выборкой из памяти - 2,2 сек
DAA
без выборки из памяти - 0,8 сек
с выборкой из памяти - 2,3 сек
Без кэша заметно медленнее - например, прогон NOP требует больше 6 секунд.
Длительность прогона 32768 команд:
(при выборке из памяти было включено кэширование)
NOP
без выборки из памяти - 0,6 сек
с выборкой из памяти - 2,1 сек
MOV A,A
без выборки из памяти - 0,7 сек
с выборкой из памяти - 2,2 сек
DAA
без выборки из памяти - 0,8 сек
с выборкой из памяти - 2,3 сек
Без кэша заметно медленнее - например, прогон NOP требует больше 6 секунд.
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Arduino Nano - эмулятор компьютера под управлением ОС CP
Это полный тормоз!FoxyLab wrote:Выложил на YouTube видео работы моего проекта в реальном времени:
https://youtu.be/LHFmt3qWAuY
На собранном руками машине CP/M-82 в отделе института 8080A (F=2MGz) всё было шустро.
Реализация на AVR именно по этой причине и не понравилась.
Очень медленно.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)