Microsoft Z-80 SoftCard — это плата расширения для Apple II, добавлявшая возможность запуска ПО компьютера CP/M. Согласно Википедии, это был первый аппаратный продукт Microsoft, и в 1980 году он стал самым крупным источником дохода для компании.В CP/M установлен процессор 8080, а Apple II имеет процессор 6502. Так как же запустить CP/M на Apple II? На плате был смонтирован отдельный процессор Zilog Z80, совместимый с 8080; по множеству причин, перечисленных в Википедии¹, он превосходил 8080.Отлично, у нас есть процессор. Но что будет происходить со старым процессором 6502? В идеале нужно бы его просто отключить, но это невозможно, потому что некоторые задачи всё равно должны выполняться 6502². Николь Брэнаган подробнее изучила историю о том, как сосуществовали эти два процессора. Принцип заключался в следующем: SoftCard сообщала 6502, что выполняет DMA, поэтому 6502 приостанавливал работу и ожидал завершения DMA. Однако нельзя оставлять 6502 на паузе слишком долго: его внутренние регистры могут деградировать и утерять свои значения.Для решения этой проблемы можно воспользоваться линией REFRESH процессора Z80, которую он использует, чтобы сообщать, что пока не выполняет доступ к памяти (потому что декодирует команду). Это даёт понять цепи обновления внешней памяти, что она может работать и обновлять ОЗУ, чтобы оно не деградировало и не теряло свои значения. Читать далее