Вход

Просмотр полной версии : Игровая консоль на микроконтроллере



SoftCat
02.12.2024, 18:09
Я хочу сделать игровую консоль на микроконтроллере. Очень желательно без применения ПЛИС и без программирования на ассемблере. Вывод изображения будет на VGA в режиме 800x600, пиксельная частота 40 МГц. Короче вот этот режим:
http://www.tinyvga.com/vga-timing/800x600@60Hz
Большой объём видеопамяти не требуется, планирую организовать видеобуфер примерно как у Спектрума. То есть понадобятся 2 страницы по 64 Кб. Подходит ли мне Raspberry Pi Pico? Какой микроконтроллер мне подходит лучше?

jerri
03.12.2024, 08:57
Цель создания какова? Чего запускать то?

SoftCat
03.12.2024, 10:36
Цель создания какова? Чего запускать то?
Запускать простые игры. Примерно такие, какие были на 8-битных компах.

jerri
03.12.2024, 11:08
Запускать простые игры. Примерно такие, какие были на 8-битных компах.

Компов/конфигураций много разных.
Аппаратный эмулятор? Или чтото своё?

gen1971
03.12.2024, 12:33
SoftCat, соберите Мурмулятор (https://murmulator.ru/)

SoftCat
03.12.2024, 13:37
Компов/конфигураций много разных.
Аппаратный эмулятор? Или чтото своё?

Конфигурация примерно как у Вектора, только разрешение 800x600 16 цветов. Никакой эмуляции не планирую, это своё.

- - - Добавлено - - -


SoftCat, соберите Мурмулятор (https://murmulator.ru/)


gen1971, спасибо! Только я в этом не разбираюсь. Мне нужны только выходы на VGA и звук и входы от кнопок и джойстика. Эмуляция не нужна.

gen1971
03.12.2024, 13:48
...Raspberry Pi Pico...
...Мне нужны только выходы на VGA и звук и входы от кнопок и джойстика...
Все под Ваши хотелки. А прошивку можете составить свою.

https://pic.maxiol.com/thumbs2/1733222446.3258059892.murmulator.jpg (https://pic.maxiol.com/?v=1733222446.3258059892.murmulator.jpg&dp=2)

У меня сейчас загружена прошивка ХТ.

jerri
03.12.2024, 16:05
Конфигурация примерно как у Вектора, только разрешение 800x600 16 цветов. Никакой эмуляции не планирую, это своё.

Добавь аппаратных спрайтов и тайлов. Иначе фигня получится.

SoftCat
03.12.2024, 17:09
Все под Ваши хотелки. А прошивку можете составить свою.

https://pic.maxiol.com/thumbs2/1733222446.3258059892.murmulator.jpg (https://pic.maxiol.com/?v=1733222446.3258059892.murmulator.jpg&dp=2)

У меня сейчас загружена прошивка ХТ.

Судя по фото тут знакоместо 8x16, то есть текстовый режим VGA 640x480. У настоящего VGA в текстовом режиме должно быть (по умолчанию) 720x400 и знакоместо 9x16. Видимо эмуляция VGA тут сильно неточная.

Lethargeek
03.12.2024, 17:30
Большой объём видеопамяти не требуется, планирую организовать видеобуфер примерно как у Спектрума. То есть понадобятся 2 страницы по 64 Кб.

Конфигурация примерно как у Вектора, только разрешение 800x600 16 цветов.
алё, 800x600x4bpp = 240 000 байт на один экран

- - - Добавлено - - -


Запускать простые игры. Примерно такие, какие были на 8-битных компах.
типа-восьмибитным играм столько пикселей избыточно и ненужно


Никакой эмуляции не планирую, это своё.
а кто на это "своё" кодить (а также рисовать и сюжеты сочинять) будет?

SoftCat
03.12.2024, 17:46
алё, 800x600x4bpp = 240 000 байт на один экран

Я умею считать. Выше я написал, что видеобуфер будет организован примерно как у Спектрума. Например можно вот так.
В первых 64-х Кб будет картинка 1 бит на пиксель, а во вторых 64-х Кб будут атрибуты для каждых 8-ми пикселей: 4 бита цвет "чернил" (если бит равен 1) и 4 бита цвет "бумаги" (если бит равен 0).
Можно, конечно, сделать как у Вектора 4 битовые плоскости по 60000 байт каждая.

- - - Добавлено - - -


типа-восьмибитным играм столько пикселей избыточно и ненужно
Это ваше субъективное мнение.


а кто на это "своё" кодить (а также рисовать и сюжеты сочинять) будет?
Я буду.

ZXMAK
03.12.2024, 20:12
Подходит ли мне Raspberry Pi Pico?

лучше взять Raspberry Pi Zero 2W - на 10 баксов дороже, но зато сразу с HDMI и TV выходами, WiFi на борту, готовый Linux, OpenGL ES. По размерам практически как Pi Pico.
512 МБ памяти хоть для полноценной системы и маловато, но для простых игр вполне хватит. Я даже игровой сервер на ней пробовал запускать - на удивление работает и не тормозит :)

Lethargeek
03.12.2024, 22:36
Я умею считать. Выше я написал, что видеобуфер будет организован примерно как у Спектрума.
а немного ниже - что как у вектора


В первых 64-х Кб будет картинка 1 бит на пиксель, а во вторых 64-х Кб будут атрибуты для каждых 8-ми пикселей
а это как у цветного специалиста)


Это ваше субъективное мнение.
это объективная практика, даже у 16/32-битных консолек столько не было


Я буду.
доживём не все :(