The Microsoft SoftCard for the Apple II: Getting two processors to share memory
Microsoft Z-80 SoftCard была платой расширения для Apple II, позволявшей запускать CP/M программы. Это был первый аппаратный продукт Microsoft, который в 1980 году стал крупнейшим источником дохода компании. Проблема заключалась в несовместимости процессоров: CP/M требовал 8080, а Apple II использовал 6502.
На карте установили процессор Zilog Z80, совместимый с 8080. Главная техническая сложность — сосуществование двух процессоров в одной системе. Решением стало имитирование операции DMA: SoftCard сообщал 6502, что идет прямая память-память, заставляя его приостанавливаться. Это позволяло Z80 временно брать управление, сохраняя при этом возможность использования функций Apple II.
Комментарии (50)
- Сообщество вспоминает, что WordStar и Z80 Softcard были когда-то критически важны, но сегодняшние инженерные усилия Microsoft фокусируются на блогах вместо фундаментальной разработки.
- Некоторые участники защищают использование Википедии как источника, в то время как другие подчеркивают, что она может быть неполной или устаревшей.
- Обсуждение затрагивает вопрос о том, какие именно уроки из прошлого (включая WordStar и CP/M) могут быть применимы к современной разработке.
- В конце концов, обсуждение сводится к тому, что несмотря на то, что технологии и подходы эволюционируют, некоторые основные принципы остаются неизменными.
Learn Multiplatform Z80 Assembly Programming with Vampires
Представлен уникальный курс обучения программированию на ассемблере Z80 с тематикой вампиров. Сайт предлагает четыре серии уроков: для абсолютных новичков, основы Z80, примеры "Hello World" и практические примеры. Каждому уроку соответствует видео на YouTube с комментариями и практическими демонстрациями.
Курс охватывает множество ретро-платформ: от Amstrad CPC и ZX Spectrum до Game Boy и Sega Master System. Уроки включают работу с CPU, представление данных, графику, звук, операции с битами и прерывания. Автор предоставляет обновленную серию уроков 2021 года и подчеркивает мультиплатформенный подход, позволяя изучать один и тот же код на разных системах.
Комментарии (7)
- Сайт и туториалы по ассемблеру для множества платформ, включая FM-7, SAM Coupé и PDP-11, выросли из скриптов для сборки ChibiAkumas V1.666.
- Сообщество отмечает, что ресурс остаётся актуальным и полезным, несмотря на его «древность», и что он всё ещё служит цели «сделать низкоуровневое программирование доступным».
- Обсуждение подчеркнуло, что хотя архитектура RISC-V может быть ещё более дружелюбна к новичкам, чем Z80 или 6502, сама идея изучать ассемблер остаётся такой же пугающей для новичков, как и в 80-е.
- Участники согласились, что не смотря на это, сайт остаётся ценным и уникальным ресурсом, и что его трудно заменить.
Pasta/80 is a simple Pascal cross compiler targeting the Z80 microprocessor
Разработчик представил Pasta80 - компилятор, совместимый с Turbo Pascal 3.0, который генерирует машинный код для классических и современных компьютеров на базе процессора Z80. Проект поддерживает ZX Spectrum 48K/128K/Next и системы с CP/M, позволяя современным программистам создавать приложения для ретро-платформ. Код компилятора написан на C++ и открыт под лицензией MIT.
Особенность проекта заключается в том, что он не просто эмулирует старую среду, а создает полноценный компилятор, способный генерировать эффективный машинный код для оригинального железа. Это позволяет разрабатывать нативные приложения для ретро-компьютеров без необходимости использования эмуляторов или виртуальных машин. Проект уже поддерживает несколько ключевых платформ Z80-экосистемы и может быть расширен для работы с другими устройствами на этой архитектуре.
Комментарии (17)
- Обсуждение всплеснуло ностальгией по простым 8-битным процессорам и первым компиляторам, вспоминая, как трудно, но вдохновляюще было писать компиляторы для них.
- Участники делились личными историями о первых опытах с Pascal и C, отмечая, что ранние компиляторы были однопроходными и как это влияло на разработку.
- Всплеск воспоминаний привел к обсуждению того, как языки и компиляторы эволюционируют, и как это влияет на безопасность памяти и стабильность программ.
- Тонко подметили, что современные языки и инструменты, возможно, заставляют разработчиков быть менее внимательными к низкоуровневым деталям.
- В конце обсуждение свелось к тому, что хотя технологии и стали более сложными, но некоторые считают, что это может отдалить нас от основ и что важно сохранять хоть какое-то взаимодействие с этими основами, такими как архитектура Intel 8086 и идея однопроходной компиляции.