Hacker News Digest

Тег: #low-level-programming

Постов: 4

Learn Multiplatform Z80 Assembly Programming with Vampires (chibiakumas.com)

Представлен уникальный курс обучения программированию на ассемблере Z80 с тематикой вампиров. Сайт предлагает четыре серии уроков: для абсолютных новичков, основы Z80, примеры "Hello World" и практические примеры. Каждому уроку соответствует видео на YouTube с комментариями и практическими демонстрациями.

Курс охватывает множество ретро-платформ: от Amstrad CPC и ZX Spectrum до Game Boy и Sega Master System. Уроки включают работу с CPU, представление данных, графику, звук, операции с битами и прерывания. Автор предоставляет обновленную серию уроков 2021 года и подчеркивает мультиплатформенный подход, позволяя изучать один и тот же код на разных системах.

by surprisetalk • 26 октября 2025 г. в 00:15 • 79 points

ОригиналHN

#z80#assembly-language#amstrad-cpc#zx-spectrum#game-boy#sega-master-system#retro-programming#low-level-programming

Комментарии (7)

  • Сайт и туториалы по ассемблеру для множества платформ, включая FM-7, SAM Coupé и PDP-11, выросли из скриптов для сборки ChibiAkumas V1.666.
  • Сообщество отмечает, что ресурс остаётся актуальным и полезным, несмотря на его «древность», и что он всё ещё служит цели «сделать низкоуровневое программирование доступным».
  • Обсуждение подчеркнуло, что хотя архитектура RISC-V может быть ещё более дружелюбна к новичкам, чем Z80 или 6502, сама идея изучать ассемблер остаётся такой же пугающей для новичков, как и в 80-е.
  • Участники согласились, что не смотря на это, сайт остаётся ценным и уникальным ресурсом, и что его трудно заменить.

Forth: The programming language that writes itself (ratfactor.com) 🔥 Горячее

Forth — язык программирования, созданный Чаком Муром, который легендарен своей необычайной гибкостью и способностью изменять даже базовые элементы вроде целых чисел. Автор статьи рассказывает о своем пути познания Forth, начатом с легенд на Usenet в 1990-х, где Мур описывался как "волшебник", пишущий программы всего за несколько экранов кода. Несмотря на популярность Perl и других языков того времени, Forth оставался загадкой для многих разработчиков.

Хотя Forth часто ассоциируется с обратной польской нотацией (RPN), где операторы следуют за операндами (например, "3 4 +"), это лишь поверхностная особенность языка. Истинная мощь Forth заключается в его экстремальной гибкости и минимализме, что позволило автору подтвердить легенду о возможности изменения значений целых чисел. Язык продолжает вызывать интерес благодаря своей уникальной философии и эффективности.

by suioir • 20 октября 2025 г. в 00:40 • 285 points

ОригиналHN

#forth#reverse-polish-notation#chuck-moore#programming-language-design#low-level-programming

Комментарии (121)

  • Обсуждение показало, что Forth и подобные языки привлекают внимание своей элегантностью и универсальностью, но страдают от отсутствия стандартизации и сложности в чтении кода, что мешает коллаборации и масштабированию.
  • Участники подчеркнули, что такие языки требуют высокой квалификации разработчика, что может ограничивать их использование в больших командах и коммерческих проектах.
  • Были упомянуты примеры, где Forth использовался в критически важных системах, но это требовало больших усилий для поддержания и передачи знаний.
  • Некоторые участники выразили ностальгию по временам, когда они сталкивались с такими языками в детстве или ранней карьере.
  • В конце концов, обсуждение подошло к выводу, что хотя такие языки могут быть мощными и выразительными, их практическая применимость ограничена их сложностью и отсутствием стандартизации.

How to create an OS from scratch (github.com)

Этот репозиторий содержит пошаговое руководство по созданию операционной системы с нуля на языке C и ассемблере. Он охватывает основы загрузки, управления памятью, прерываний и файловых систем, предлагая практический опыт низкоуровневого программирования.

Проект структурирован как серия уроков, каждый из которых добавляет новую функциональность, начиная с простого загрузчика и заканчивая многозадачностью. Это отличный ресурс для понимания внутреннего устройства ОС и работы с аппаратным обеспечением напрямую.

by pykello • 29 сентября 2025 г. в 23:32 • 205 points

ОригиналHN

#c#assembly#operating-systems#low-level-programming#bios#x86#risc-v#arm#xv6#github

Комментарии (69)

  • Создание ОС с нуля на базе устаревшего BIOS и x86 рассматривается как учебный, но непрактичный путь, погружающий в исторические детали архитектуры вместо современных концепций.
  • Многие проекты ОС остаются незавершенными из-за сложности поддержки железа и драйверов, что является рутинной и нетривиальной задачей.
  • В качестве более актуальных альтернатив предлагаются подходы с использованием микрокернелов, современных архитектур (RISC-V, ARM) или существующих педагогических ОС (xv6).
  • Рекомендуется начинать с изучения авторитетных источников (например, wiki.osdev.org) и современных туториалов, избегая устаревших материалов с пробелами и ошибками.
  • Разработка ОС углубляет понимание распределенных систем, планирования и кэширования, что полезно для инженеров, даже если они не планируют писать ядро.

Optimizing a 6502 image decoder, from 70 minutes to 1 minute (colino.net)

Изначальный алгоритм декодирования изображений с камеры Quicktake 150 на процессоре 6502 работал 70 минут. Основная проблема — сложный формат сжатия на основе кодирования Хаффмана и 16-битной математикой, что крайне неэффективно для 8-битного процессора.

Оптимизация началась с отказа от декодирования цвета, поскольку итоговое изображение было монохромным. Это сократило обработку только до зелёных пикселей матрицы Байера. Далее удалили ненужные буферы и промежуточные шаги, включая интерполяцию, что уменьшило размер вывода до 320×240. В итоге остался лишь один используемый буфер из трёх. Эти изменения сократили количество инструкций с 301 млн до 25 млн, а время декодирования — до минуты. Ключевой вывод: алгоритмическая оптимизация даёт больший выигрыш, чем низкоуровневая оптимизация кода.

by davikr • 29 сентября 2025 г. в 10:11 • 181 points

ОригиналHN

#6502#image-decoding#huffman-coding#algorithm-optimization#low-level-programming#bayer-filter#performance-optimization

Комментарии (28)

  • Обсуждение визуального парадокса: изображение с чередующимися черными пикселями кажется более четким, чем изображение без них, несмотря на одинаковый объем информации.
  • Ностальгия по низкоуровневому программированию и работе с аппаратными ограничениями (память, скорость) как к refreshing практике для инженеров.
  • Технические гипотезы о причинах визуальных артефактов (масштабирование браузером, адаптивная подсветка, HDR-режим).
  • Критика современного ПО: несмотря на миллионократный рост мощности hardware, воспринимаемая скорость и отзывчивость интерфейсов часто снизились.
  • Идея о необходимости целенаправленной оптимизации кода для повышения эффективности, возможно, с использованием ИИ.