Самый странный процессор 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.