Pull to refresh

Comments 12

Спасибо за отличную работу и статью. Очень круто.

Хочу предложить в качестве варианта запуска ОС Embox.

Мы уже проделали большую работу в плане запуска графического стека на легких платформах (Разбираемся в особенностях графической подсистемы микроконтроллеров, Запуск Qt на STM32. Часть 2. Теперь с псевдо 3d и тачскрином) И конечно уже есть поддержка RISC-V RV32I (Добавляем в Embox новую платформу с архитектурой RISC-V , Embox дает (RISC)-пять на платформе VOSTOK)

Мне кажется лучше брать стабильные ядра, у вас уже есть SCR1. Можно в железе запустить, если вы этого еще не сделали. А если нужно ядро на чистом verilog, то лучше PicoRV32, там и коммунити побольше и он de facto стандарт в "e-fabless".

YRV это всетаки учебное ядро, и со слабым коммунити (((.

Понял, спасибо!

Запустить Ваш пример на на MIK32 (без SDL) не представляет труда, вопрос скорее был в экранчике. То есть, предлагается взять SPI экранчик с приемлемым разрешением, и добавить его поддержку в SDL и уже на него вывести?

Без проблем, там SDL не нужен, если можете поставить точку на экране, то все будет работать.

raycasting- есть уже довольно устоявшаяся терминология - трассировка луча называется

Мне тоже разанул ухо термин "отсечение лучей", просто не хотелось обижать автора, он добивается хороших результатов.

В 1994 году этот алгоритм был опубликован в книге Андре Ламота именно под таким названием.(вот на хабре еще есть про эту книжку https://habr.com/ru/articles/693660/) Других рускоязычных названий я не знаю. Можно использовать англицизм Raycasting, но мне почему-то сразу представляется супермен с лучами из глаз.

Raycasting (https://en.wikipedia.org/wiki/Ray_casting) это же сильно-сильно упрощенный алгоритм трассировки лучей ( raytracing - https://ru.wikipedia.org/wiki/Трассировка_лучей) (или один из множества алгоритмов трассировки лучей). А так как в данном случае речь идет о 2D алгоритме рускоязычное название на мой взгляд очень удачно(да и просто, спустя столько лет, мне книжка нравится).

А как различать между собой разные алгоритмы трассировки лучей?

Андре Ламота американец, термин в 1994 году придумал переводчик этой книги. А трассировка лучей действительно понятие рястяжимое, различия скорее в пространственной группировке (классическая растеризация полигонов - тоже в каком то смысле трассировка лучей, с особым упорядочиванием). Давайте замнём тему, пусть будет как есть.

В 2023 году, аккурат на тридцатилетие Doom, запускал его на Марсоход3. Из готового/чужого только сам Doom и riscv ядро picorv32. Весь дизайн, ядро + самописная периферия (контроллер клавиатуры, spi-flash, SD card, frame buffer, dma, sdram, cache) заняли меньше 5000 ячеек (10% от max10). В OMDAZZ тоже влезть должно, но там нет hdmi а VGA однобитный.

В 320х200 выдавало чуть больше 10фпс. Причем добрую треть времени тратит на софтовое преобразование из палитры в 16 бит.

Больше всего времени убил на подобие libc. Но все равно закостылить десяток функций которые использует Doom, оказалось проще чем собрать newlib под самодельный soc…

HDMI на OMDAZZ у меня есть. Если ссылка на репу есть, то запущу, )) и инструкцию напишу, тем более что всеравно хотел picoRV32 на OMDAZZ сделать

Видимо у меня старая ревизия, без hdmi. Поэтому под него и не собирал проект. Ну и без переделки софтовой части нужна будет отдельная spi флешка под зачатки bios. И разьем для sd карты для данных. В публичных репах нет, код для себя писал, показывать стыдно, но в личку могу скинуть :)

Sign up to leave a comment.

Information

Company name
Общество с ограниченной ответственностью "КНС Групп"
Tax ID
7701411241
Website
yadro.com
On Habr since
Registered
Employees
5,001–10,000 employees
Location
Россия
Representative
Николай