Go для Dreamcast

Я только на прошлой неделе публиковал пост, в котором искал инструмент для программирования под Sega Dreamcast. И оказывается, такой инструмент уже давно есть! И даже на Go.

libgodc - это минималистичная реализация рантайма Go для игровой консоли Sega Dreamcast 1998 года, у которой всего 16 МБ памяти, одноядерный процессор SH4 на 200 МГц и отсутствует операционная система. Проект заменяет стандартный рантайм Go собственным, адаптированным под жесткие ограничения консоли. В этом сега-рантайме - кооперативный планировщик вместо вытесняющего, более простой сборщик мусора вместо конкурентного трёхцветного и фиксированные стеки по 64 КБ вместо растущих. При этом обычный код на Go продолжает работать как обычно.

Прикольно, что разобраться в инструменте будет интересно не только для программирования игр, но и для понимания того, как устроены рантаймы

Мне теперь очень-очень нужна дримка

Новости

Post Thumbnail

Интернет на калькуляторе

Радиолюбитель EI3LH, увлекся карманными компьютерами Casio и сумел запустить настоящий телнет BBS на калькуляторе Casio VX-4 с всего 8 КБ оперативной памяти. Программа написана на BASIC и работает через RS232-порт. Связь с интернетом обеспечивает Raspberry...

Post Thumbnail

На Rust после Go

Автор, пять лет писавший на Go, сначала скептически отнесся к появлению Rust в его команде. Но появился проект, в котором нужны были низкое потребление памяти и mpmc-обмен сообщениями. Пожтому несколько CLI и сервисов решили переписать на Rust и это застав...

Post Thumbnail

День недели

Статья посвящена вычислению дня недели из счетчика дней и показывает, что эта, казалось бы, тривиальная операция при взгляде под капот оказывается удивительно сложной. А вы думали Автор разбирает существующие решения - наивное двойное деление по модулю, алг...

Post Thumbnail

Пробы в k8s

Помните про Kubernetes на TypeScript с прекрасным названием webernetes? Автор с его помощью наглядно объясняет, как работают startup, readiness и liveness пробs в Kubernetes и как правильно их настраивать. Если вы забыли, то startup-проба определяет, запус...

Post Thumbnail

Git в больших масштабах

Автор затрагивает интересную тему - сложно хостить большие Git-репозитории в больших масштабах. Он разбирает эволюцию подходов к решению этой проблемы. От неудачных попыток распределить файловую систему и хранить объекты Git в распределенных key-value хра...

Post Thumbnail

Вкуc zig после Rust

Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и делится впечатлениями от перехода. Больше всего его удивило почти полное отсутствие IDE-поддержки в Zig, что заставило вернуться к CLI и build.zig и даже подтолкнуло к переходу ...

Статьи

Post Thumbnail

DNS на Zig

Это должен был быть перевод статьи "From Log Reader to Packet Crafter — Building DNS from Scratch in C". Но автор довольно фигово написал исходную статью и не удосужился показать весь написанный код, Поэтому я решил пойти дальше, реализовать очень маленький ин...

Post Thumbnail

Playdate

Наше поколение выросло вместе с первыми консолями. Мы все с теплотой вспоминаем время, когда у нас появилась первая денди. Теперь у нас есть самые разные движки и большие мощности для игр. Но чем больше возможностей, тем сложнее начать что-то делать, сложне...

Post Thumbnail

Привет Ethernet

Если вы читаете эту статью, то есть очень большая вероятность, что прямо сейчас вы пользуетесь Ethernet соединением где-то между вашими устройствами и хостингом, на котором размещён этот блог. Семейство технологий Ethernet - это строительные блоки для современ...

Post Thumbnail

RAG в Go проекте

Одна из ключевых задач для компаний, работающих с искусственным интеллектом, - обеспечить эффективный доступ к внутренним знаниям. На первый взгляд всё просто: загрузи корпоративные документы в большую языковую модель (LLM) и дай ей генерировать ответы. Но на ...

Инструменты

Post Thumbnail

gittype

CLI-игра на Rust, превращающая ваш собственный исходный код в упражнения по слепой печати. Она поддерживает более 20 языков (Rust, TypeScript, Python, Go, C/C++ и т.д.), показывает в реальном времени WPM, точность и стабильность, а также систему рангов с A...

Post Thumbnail

peektea

Минималистичный TUI-файловый браузер на Go, построенный на фреймворке Bubble Tea, с философией "сначала загляни, потом открывай". По файлам можно перемещаться стрелками или vim-клавишами, а затем открывать их в заранее настроенном приложении. Утилита подде...

Post Thumbnail

Duckle

ETL-платформа от SlothFlowLabs, построенная на движке DuckDB и предназначенная для команд, которым нужны пайплайны на собственной инфраструктуре. Пайплайны можно создавать на визуальном канвасе, на Python или на SQL, при этом каждый узел компилируется в чи...

Post Thumbnail

tnk9x

Современный ремейк классической аркадной игры Battle City, написанный на Go с использованием движка Ebiten и запускаемый как нативно, так и в браузере через WebAssembly. Проект сочетает любовь к оригиналу с изучением Go и разработки игр. Реализованы полный...