Перейти к содержимому

Самый странный процессор Commodore против Space Invaders: портируем игру с PET на 6509

Commodore History

0:00 / 0:00

Самый странный процессор Commodore против Space Invaders: портируем игру с PET на 6509

7 213 просмотров · 2 месяца назад
Commodore History
5,89 тыс. подписчиков
7 213 просмотров · 2 месяца назад
Компания Commodore создала CBM-II серии B как бизнес-компьютер, и в процессе сделала его одним из самых неудобных 8-битных компьютеров для написания игр. Его процессор 6509 может достигать целого мегабайта оперативной памяти, но только за счет переключения банков, и это единственное конструктивное решение превращает простой порт игры с PET в настоящую битву с аппаратным обеспечением. В этом видео я начинаю с дизассемблирования игры Space Invaders с Commodore PET и портирую код для работы на CBM-II серии B. Я рассказываю обо всех проблемах, которые создавала мне банковская память 6509: адресация между банками, запись на экран, находящийся в другом банке, выживание при прерываниях, когда процессор даже не может найти свой собственный обработчик, вызов KERNAL через границу банка и преобразование 1-битного звукового сигнала CB2 PET в звук SID. Разделы: 0:00 - Введение 0:38 - Space Invaders на Commodore PET 1:20 - Ограничения адресной шины процессора MOS6502 2:28 - Из чего состоит 64-килобайтное адресное пространство на Commodore PET 3:26 - Новое поколение от Commodore - Представляем линейку CBM-II 5:43 - Как Commodore преодолел барьер 64-килобайтного адресного пространства с помощью C64 и CBM-II 9:16 - Объяснение косвенного доступа и банков выполнения MOS6509 13:00 - Карта памяти CBM-II (можно ли избежать переключения банков?) 15:25 - Работа с прерываниями при программировании машин CBM-II 21:05 - Работа с вызовами ядра при программировании машин CBM-II 21:51 - Программирование звука на машинах CBM-II 25:46 - Заключение Примечания 26:46 - Игровой процесс Space Invaders на компьютере CBM-II Ссылки, упомянутые в видео: Как разобрать Space Invaders:    • Beginner's Guide to Disassembling 6502 Bin...   Исходный код и d64 на GitHub: https://github.com/commodoreihs/binva... Space Chase от Кристиана Креннера: https://www.spacechase.de/ Огромное спасибо Кристиану Креннеру, который был невероятно щедр, когда я только начинал разбираться с 6509. Начальная настройка переключения банков памяти в моем порте взята прямо из его игры Space Chase.