Размер в 32кБ оперативы в МикроМашине - это следствие недоступности в то время СРАМов бОльшего объёма - т.е. собирал из того, что МОГ достать (и то с трудом)jdigreze wrote:А если дополнительно к 32K SRAM добавлять картридж 32K EEPROM для программ? Можно и для байт-кода...
МикроМашина на AVR
Moderator: Shaos
-
- Banned
- Posts: 608
- Joined: 12 Oct 2006 16:44
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Круто. Romanich прёт мои идеи:)
Я тоже довольно давно и долго подумывал о подобном девайсе, правда концепция постоянно мутировала от девайса с LCD до подключения к ТВ; от одного до трёх AVR'ов (формирование растра/логика/звук).. Но всё осталось только в виде задумок, т.к. знаний у меня всё-таки для такого проекта маловато.
Аналогично предложенному Shaos'ом, я предполагал использовать именно байт-код (что-то типа Chip-8), т.е. вывод изображений и подобные вещи - захардкодены, выполняются быстро, а байт-код содержит игровую логику и указания что-куда выводить. Кстати, он даёт и такое преимущество, как возможность изменить аппаратуру без изменения конечного софта, т.е. меняется только прошивка, занимающаяся работой с железом.
Я тоже довольно давно и долго подумывал о подобном девайсе, правда концепция постоянно мутировала от девайса с LCD до подключения к ТВ; от одного до трёх AVR'ов (формирование растра/логика/звук).. Но всё осталось только в виде задумок, т.к. знаний у меня всё-таки для такого проекта маловато.
Аналогично предложенному Shaos'ом, я предполагал использовать именно байт-код (что-то типа Chip-8), т.е. вывод изображений и подобные вещи - захардкодены, выполняются быстро, а байт-код содержит игровую логику и указания что-куда выводить. Кстати, он даёт и такое преимущество, как возможность изменить аппаратуру без изменения конечного софта, т.е. меняется только прошивка, занимающаяся работой с железом.
-
- Banned
- Posts: 608
- Joined: 12 Oct 2006 16:44
Shiru Otaku wrote: Круто. Romanich прёт мои идеи:)

Вот я раньше тоже долго думал - TV или LCD? Но VDP мне ранше был недоступен, но во Владе в продаже есть очень много LCD-шек. Я очень долго выбирал ту, которая:Shiru Otaku wrote: Я тоже довольно давно и долго подумывал о подобном девайсе, правда концепция постоянно мутировала от девайса с LCD до подключения к ТВ
1) Цветная - не менее 64цветов
2) Разрешение не менее 64x64
3) ЕСТЬ ДОКУМЕНТАЦИЯ НА КОНТРОЛЛЕР
4) ЕСТЬ РАСПИНОВКА
5) Умеренная цена (1536руб)
То что выделено - самое важное! Кстати у меня в LCD контроллер от Epson, но бывает ещё от Philips. ИМХО Epson круче, так как у него предельная частота 20МГц, у филипса всего 8МГц. Максимальный ФПС легко узнать, зная разрешение и глубину цвета. Вопреки всем форумам(буржуйским), которые хвалят Philips(из-за лёгкости паяния LCD и якобы хорошую контрастность), я взял Epson

Весьма красиво конечно, но... уже поздно! Если б эти мысли эдак так на год назад... тогда можно было так и сделать!Shiru Otaku wrote: Аналогично предложенному Shaos'ом, я предполагал использовать именно байт-код (что-то типа Chip-8), т.е. вывод изображений и подобные вещи - захардкодены, выполняются быстро, а байт-код содержит игровую логику и указания что-куда выводить.
А сейчас надо двигаться дальше! Благодаря хорошему человеку - CHRV, я стал обладателем VDP

У ЛСД есть один недостаток - инертность матрицы. Спрайты при движении на +1 пиксель тянут за собой световой шлейф. У TV такого недостатка нет. Это ещё один плюс в пользу VDP
-
- Admin
- Posts: 24128
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
А я свой байткодовый подход хотел обкатать на своих прототипах - это типа игровых девайсов для программистовShiru Otaku wrote:Круто. Romanich прёт мои идеи:)
Я тоже довольно давно и долго подумывал о подобном девайсе, правда концепция постоянно мутировала от девайса с LCD до подключения к ТВ; от одного до трёх AVR'ов (формирование растра/логика/звук).. Но всё осталось только в виде задумок, т.к. знаний у меня всё-таки для такого проекта маловато.
Аналогично предложенному Shaos'ом, я предполагал использовать именно байт-код (что-то типа Chip-8), т.е. вывод изображений и подобные вещи - захардкодены, выполняются быстро, а байт-код содержит игровую логику и указания что-куда выводить. Кстати, он даёт и такое преимущество, как возможность изменить аппаратуру без изменения конечного софта, т.е. меняется только прошивка, занимающаяся работой с железом.

В живую пока пользуюсь наработками SfS (надо уже найти время и запустить таки там виртуальную машину RW0)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Я изначально думал о девайсе на AVR + LCD-матрица типа 128x64 (одноцветная). Но это не очень интересно, хотя и гораздо более подъёмно с моими знаниями. Поэтому я перешёл к обдумыванию концепций ТВ-приставки, но без использования готовых VDP.
Были примерно такие идеи: два контроллера, два растровых буфера (отдельная SRAM у каждого; в ней-же хранится графика, которую выводим - две копии). В пределах кадра один из них перебирает адреса (формирует растр), пока другой заполняет буфер; на следующем кадре они меняются местами. Третий - заполняет память этих контроллеров при инициализации, и далее передаёт им данные, куда-чего рисовать; крутит байт-код игровой программы; генерирует звук (если звук сложный, на уровне эмуляции AY-подобного чипа - то ещё один контроллер;).
Ещё была идея раздельных слоёв для вывода фона и подвижных объектов - выходы складываются по 'прозрачному цвету', т.е. если в растре подвижных объектов точка имеет прозрачный цвет, то на выход попадает точка из растра фона. Это придумывалось в связи с тем, что для реализации быстрой графики (а хотелось 50fps, все дела) мощности AVR'ов по прикидкам мне не хватило-бы (на заполнение растра с фоновым изображением уже еле хватает).
Были примерно такие идеи: два контроллера, два растровых буфера (отдельная SRAM у каждого; в ней-же хранится графика, которую выводим - две копии). В пределах кадра один из них перебирает адреса (формирует растр), пока другой заполняет буфер; на следующем кадре они меняются местами. Третий - заполняет память этих контроллеров при инициализации, и далее передаёт им данные, куда-чего рисовать; крутит байт-код игровой программы; генерирует звук (если звук сложный, на уровне эмуляции AY-подобного чипа - то ещё один контроллер;).
Ещё была идея раздельных слоёв для вывода фона и подвижных объектов - выходы складываются по 'прозрачному цвету', т.е. если в растре подвижных объектов точка имеет прозрачный цвет, то на выход попадает точка из растра фона. Это придумывалось в связи с тем, что для реализации быстрой графики (а хотелось 50fps, все дела) мощности AVR'ов по прикидкам мне не хватило-бы (на заполнение растра с фоновым изображением уже еле хватает).
-
- Banned
- Posts: 608
- Joined: 12 Oct 2006 16:44
Здесь рассматривается вывод изображений на CRT Монитор с помощью PIC-контроллера: http://webpages.charter.net/greener/electronics/Shiru Otaku wrote: Я изначально думал о девайсе на AVR + LCD-матрица типа 128x64 (одноцветная). Но это не очень интересно, хотя и гораздо более подъёмно с моими знаниями. Поэтому я перешёл к обдумыванию концепций ТВ-приставки, но без использования готовых VDP.
Автор действительно добился много чего(буферизованый вывод, подходящая глубина цвета для игр и.т.п.)
Грезит перспективами, но вероятно очень занят

А тут ссылка на множество простых TV-приставок (на базе PIC, SX, ...):
http://www.rickard.gunee.com/projects/video/
Игры: Tetris,Pong,... Тоже интересно!
До того как заимел VDP, собирал на ATmega8515 "VGA-контроллер" c 8-битным резистивным DAC'ом (R:G:B=3:3:2)Shiru Otaku wrote: Были примерно такие идеи: два контроллера, два растровых буфера (отдельная SRAM у каждого; в ней-же хранится графика, которую выводим - две копии). В пределах кадра один из них перебирает адреса (формирует растр), пока другой заполняет буфер; на следующем кадре они меняются местами. Третий - заполняет память этих контроллеров при инициализации, и далее передаёт им данные, куда-чего рисовать; крутит байт-код игровой программы; генерирует звук (если звук сложный, на уровне эмуляции AY-подобного чипа - то ещё один контроллер;)
На асме писал вывод цветных вертикальных полос на CRT-Мониторе. Короче говоря, разрешение получилось очень маленьким
- в длину 64 пикселя, кривые полосы. Кроме того, можно сжечь монитор, потому что есть очень большая вероятность НЕВЕРНО
расчитать программно все тайминги VGA-сигнала(реле в мониторе тарахтело!). Программа всегда будет нелинейной, содержать
непредвиденные переходы, жрущие такты, что выльется в исковерканный VGA-сигнал!
Понял что это всё - софтварная резиновость, забил на это и заказал VDP

-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Да я этих проектов, наверное, около сотни пересмотрел (хотя по первой ссылке вроде не попадался).Romanich wrote:Здесь рассматривается вывод изображений на CRT Монитор с помощью PIC-контроллера: http://webpages.charter.net/greener/electronics/
Автор действительно добился много чего(буферизованый вывод, подходящая глубина цвета для игр и.т.п.)
Грезит перспективами, но вероятно очень занят :)
А тут ссылка на множество простых TV-приставок (на базе PIC, SX, ...):
http://www.rickard.gunee.com/projects/video/
Игры: Tetris,Pong,... Тоже интересно!
Ну, ты без внешней памяти, надо полагать, возился (низкое разрешение)? Т.к. народ делает побольше. А VGA меня как раз ни разу не интересует, чисто ТВ.Romanich wrote:До того как заимел VDP, собирал на ATmega8515 "VGA-контроллер" c 8-битным резистивным DAC'ом (R:G:B=3:3:2)
На асме писал вывод цветных вертикальных полос на CRT-Мониторе. Короче говоря, разрешение получилось очень маленьким
- в длину 64 пикселя, кривые полосы. Кроме того, можно сжечь монитор, потому что есть очень большая вероятность НЕВЕРНО
расчитать программно все тайминги VGA-сигнала(реле в мониторе тарахтело!). Программа всегда будет нелинейной, содержать
непредвиденные переходы, жрущие такты, что выльется в исковерканный VGA-сигнал!
Понял что это всё - софтварная резиновость, забил на это и заказал VDP :)
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Кстати, о наработках. Не хочу ничего обещать, но сейчас делаю плату на 128й меге. Не для nedopc, но я думаю игловские схемы можно будет и сюда выложить.Shaos wrote:В живую пока пользуюсь наработками SfS (надо уже найти время и запустить таки там виртуальную машину RW0)
там будет следующее:
- ATMega128
- 32К ОЗУ (внешнего)
- FLASH (внешняя)
- ЧАсы-календарь с 4К EEPROM (по I2C, питание от батарейки)
- 2 или 4 слота NI-15 (мне этот стандарт подходит и остальным приятно)
- 6 перемычек-кнопок
- 4 выхода
- 4 входа АЦП
Вот примерно что я сейчас развожу в Eagle. Конечно конфигурация могет еще и поменяться, но незначительно.
Вот ЭТО я считаю очень прикольной конфигурацией для RW. Главное чтобы проект не свернули.
-
- Admin
- Posts: 24128
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Лучше указывать более высокоуровневый линк:Romanich wrote:А тут ссылка на множество простых TV-приставок (на базе PIC, SX, ...):
http://www.rickard.gunee.com/projects/video/
Игры: Tetris,Pong,... Тоже интересно!
http://www.rickard.gunee.com/projects/
И кстати он уже пролетал летом 2004 года в одном из наших топиков

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- God
- Posts: 1101
- Joined: 29 Dec 2003 01:00
- Location: Москва
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Ага, а ты чо, вернулся с югов (или где ты там был)? =))CHRV wrote:Кстати никому не приходило в голову делать мини-машину таким образом:
1) Система вывода и звука и управления собственно в машине;
2) Картридж - собственно микроконтроллер (при современных ценах - это копейки в оптовом эквиваленте)
Нужно токо стандартизировать недо-bus и все...
-
- Banned
- Posts: 608
- Joined: 12 Oct 2006 16:44
-
- Banned
- Posts: 608
- Joined: 12 Oct 2006 16:44
Вначале стал эксперементировать без внешней памяти. Потом когда оно надежд не оправдало - забил foreverShiru Otaku wrote: Ну, ты без внешней памяти, надо полагать,
возился (низкое разрешение)?
ВГА тоже не люблю, так как это попахивает IBM PC, а части от Писюка мне бы не хотелось юзать!Shiru Otaku wrote: А VGA меня как раз ни разу не интересует, чисто ТВ.
-
- Senior
- Posts: 159
- Joined: 28 Feb 2005 02:31
- Location: Krasnodar, Russia
Re: МикроМашина на AVR
Согласен, посему решение предложеное Шаосом - самое то (виртуальная машина).lvd wrote:Вообще не стоит выбирать флеш-онли МК для компьютероподобных применений (частая смена программы). 51ый с внешней рамой программы и то лучше =))Shaos wrote: У меня предложение такое - чтобы не перезаписывать микроконтроллер для каждой игры, надо бы держать там только основные подпрограммы и виртуальную машину, которая будет выполнять внешний байт-код, который может тянуться из внешней памяти (например ПЗУ-картриджа). В таком случае получится более гибкий девайс.
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда