nedoPC.org

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



Reply to topic  [ 121 posts ]  Go to page Previous  1 ... 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
rw6hrm wrote:
уже сейчас на своей машинке выполняю практически всю работу, что делал ранее на писюке, в т.ч. набор текстов (использую SED)

Excellent


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



06 Sep 2018 10:25
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Добавил подстрочный "аппаратный" курсор:


Attachments:
cpm4nano_cursor.png
cpm4nano_cursor.png [ 13.85 KiB | Viewed 8232 times ]


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

09 Sep 2018 07:52
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Испытал на "нанокомпьютере" компилятор Бейсика:
компиляция

Attachment:
cpm4nano_cb80.png
cpm4nano_cb80.png [ 6.53 KiB | Viewed 8232 times ]

линковка

Attachment:
cpm4nano_lk80.png
cpm4nano_lk80.png [ 5.16 KiB | Viewed 8232 times ]

запуск программы :ewink:

Attachment:
cpm4nano_cbasic_hello.png
cpm4nano_cbasic_hello.png [ 1.4 KiB | Viewed 8232 times ]

Работает компилятор весьма неспешно, особенно линкер - около 20 :rotate: минут, причем критична именнo скорость доступа к памяти, так что время работы линкера использую как тестовый показатель - поэкспериментирую с кэшированием и типами памяти.


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



13 Sep 2018 14:05
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
45 символов в строке (2 машинных цикла на пиксель):

Attachment:
cpm4nano_font_45.png
cpm4nano_font_45.png [ 34.21 KiB | Viewed 8232 times ]

При попытке вывести около 60 символов столкнулся со странным эффектом - пиксели соседних строк оказались смещены примерно на пол-пикселя, при этом на вывод одного пикселя тратился всего один машинный цикл - вывод в порт из регистров. Мне на ум пришла странная гипотеза - задержка в выводе в порт ATmega из разных регистров разная (в пределах одного машинного цикла) :question:


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



18 Sep 2018 06:37
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Huzza
Мой симулятор успешно прошел не поддававшийся до сих пор тест:


Attachments:
cpm4nano_ssdiagcpu_2.png
cpm4nano_ssdiagcpu_2.png [ 4.76 KiB | Viewed 8232 times ]


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

20 Sep 2018 13:01
Profile
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Запуск в эмуляторе эпической игры (написанной в этом случае на Аде):


Attachments:
cpm4nano_startrek_00.png
cpm4nano_startrek_00.png [ 8.1 KiB | Viewed 8232 times ]


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

24 Sep 2018 10:52
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
FoxyLab wrote:
Запуск в эмуляторе эпической игры (написанной в этом случае на Аде)
Любая пошаговая игра в текстовом режиме эпична :)

Других и не было в моей (нашей) юности у нас. Бо нашей заточенной промышленности на военку и нафиг был не нужен графический контроллер.

Помню перенесли мне родители распечатку на кальке (не совсем калька, вроде пергаментом звался). То была игра на бейсике. Надо было развивать королевство. Выращивать пшеницу, защищать границу от набегов, устраивать праздники, торговать и исчо чего-то. Все это проделывалось за счет валюты в игре и населения.

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

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


27 Sep 2018 05:38
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post 
FoxyLab wrote:
Мой симулятор успешно прошёл не поддававшийся до сих пор тест
С помощью CP/M программы CPUTEST.COM можно оценить скорость CP/M-компьютера.

На базовом РК86 этот тест прогоняется за 182 секунды, а на базовом ОРИОНЕ с процессором Z80 - за 96 секунд. Для того, чтобы исключить время загрузки с дискеты, я запускал этот тест из под отладчика командой G100 (иначе оценка скорости CPU неверная, т.к программный контроллер дисковода РК86 примерно в три раза более медленный, чем аппаратный контроллер на ВГ93 в DD-формате).

А за сколько секунд прогоняется этот тест у Вас?


Last edited by barsik on 27 Sep 2018 10:12, edited 3 times in total.



27 Sep 2018 09:30
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
FoxyLab wrote:
... а здесь - приходится решать много интересных проблем.
С Днём Рождения Вас, коллега :exclaim:
Attachment:
FoxyLab42.gif
FoxyLab42.gif [ 4.59 KiB | Viewed 10176 times ]

Надеюсь, своими оригинальными решениями интересных проблем Вы нас еще не раз порадуете!
Удачи, и творческих упехов Вам! :kruto:

_________________
iLavr


16 Oct 2018 08:16
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
Классная штука. Запускал. Медленно немного. На esp8266 шустрее CP/M работает и даже умеет в интернет сеть смотреть.

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


10 Oct 2019 06:44
Profile WWW
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
askfind wrote:
Классная штука.

Спасибо!
askfind wrote:
Запускал. Медленно немного.

Версия с SDRAM, которую Вы запускали, все-таки медленнее, чем текущий вариант с FRAM (кэширование помогает при последовательном доступе, но при произвольном практически бессильно). Но скорость I2C-шины, конечно, является тормозящим фактором. Можно попробовать SPI RAM (у меня даже есть один чип, на половину памяти :ebiggrin: ), но там есть свои заморочки.
P.S. В "старом" коде осталась ошибка в эмуляции, из-за которой он не проходил некоторые тесты. Я ее исправил, но из-за изменения структуры кода я не могу сопоставить две версии напрямую, а что я исправил конкретно, я банально забыл :esurprised: Поэтому она так и останется скорее всего там навечно, такие дела :ewink:
askfind wrote:
На esp8266 шустрее CP/M работает и даже умеет в интернет сеть смотреть.

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


10 Oct 2019 11:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
A вы не могли бы в ваших предыдущих постах на этой странице загрузить картинки сюда на форум?
А то мне их никак не видно с вашего хостинга.. :osad:
Attachment:
FoxPic.gif
FoxPic.gif [ 5.78 KiB | Viewed 9450 times ]

Первый раз подумал - непонятный сбой какой-то, но сейчас вижу, что тенденция... :-?

_________________
iLavr


10 Oct 2019 14:52
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
FoxyLab wrote:
"Привет, мир!" на FORTH-83

Отличный результат!

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


14 Oct 2019 05:23
Profile WWW
Retired

Joined: 21 Mar 2017 06:37
Posts: 73
Reply with quote
Некоторые тесты быстродействия (в FAST-режиме):

Длительность прогона 32768 команд:
(при выборке из памяти было включено кэширование)

NOP
без выборки из памяти - 0,6 сек
с выборкой из памяти - 2,1 сек

MOV A,A
без выборки из памяти - 0,7 сек
с выборкой из памяти - 2,2 сек

DAA
без выборки из памяти - 0,8 сек
с выборкой из памяти - 2,3 сек

Без кэша заметно медленнее - например, прогон NOP требует больше 6 секунд.


17 Oct 2019 08:45
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 649
Location: Russia, S.- Peterburg
Reply with quote
FoxyLab wrote:
Выложил на YouTube видео работы моего проекта в реальном времени:
https://youtu.be/LHFmt3qWAuY


Это полный тормоз!

На собранном руками машине CP/M-82 в отделе института 8080A (F=2MGz) всё было шустро.

Реализация на AVR именно по этой причине и не понравилась.

Очень медленно.

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


18 Oct 2019 05:18
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 121 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 32 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.