Добавлена поддержка
ЭЧ/Ech (ex-Escapechan). Набегаем, тестируем архивацию,
сообщаем о замеченных проблемах.
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (
подробности случившегося). Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
EJ-МИС-128 - это наш самодельный ретрофутуристический высер, который внезапно хоть кого-то заинтересовал и было даже написано чуть больше чем 2 игры.
Спеки:
- Разрешение экрана 128х96
- 8-битный "проц" (конечно никакого проца нет, но мы делаем вид)
- 128 KB адресного пространства, но как оно делится - это уже тема про память, пока нормально не реализовано, писать нечего
- 64 аппаратных спрайта по 8×8, классика
- Палитра фиксированная, 16 цветов
- Звук — псевдо-чиптюн
Под капотом:
- VM машина (грузит картридж), выдает ему API, тащит на себе цикл update/draw
- Графический чип (Буфер кадра 128х96)
- Аудио ('sine','square','triangle','sawtooth'), пищит как в старые добрые
- Картридж, в котором определены init(), update(dt), draw(), ну и само собой ассеты (тайлы, спрайты, массивы)
И все это на JS, лол.
Силами разных людей запилены разные "морды" для МИС-128:
https://ejmis128.gamer.gd/ и https://mis128.gamer.gd/
В прошлом треде был сделан бинарник, чтобы приблизиться к реальному железу:
Нативный рантайм на C, что реально исполняется на железе (Pi Zero 2W и не только), а не просто веб-страничка с канвасом.
Внутри:
- SDL2 - тащит окно, звук и геймпады. Framebuffer 128×96 апскейлится ×4
- QuickJS, зашитый прямо в бинарник. У нас внутри 8-битной псевдоконсоли живёт целый JS-движок. Апофеоз инженерной мысли: написать эмулятор несуществующего процессора на C, чтобы гонять на нём JS. Картридж (.ffc) грузится и дёргается через init()/update(dt)/draw()
Искать в ежнетах:
https://ejchan.net/b/res/321008.html
Полезные ссылки:
https://mis128.gamer.gd/doc.html - Документация
https://mis128.gamer.gd/converter.html - Сборщик картриджа