Платформа: NES (Famicom) Dendy
Маппер: MMC1 (Плата SNROM).
Память: 256 КБ PRG-ROM (16 банков по 16 КБ), 8 КБ CHR-RAM.
Инструменты: Ассемблер ca65 и линкер ld65 под Linux.

Ограничения ca65 Локальные метки начинать строго с @ Использование точки запрещено.
Найди и учти Ограничения NMOS 6502.

алгоритм:
1.  считай байт - индекс игры из RAM по адресу $001c
2.  получи номер игры в repeat_table.
3.  скопируй 7 байт парамтров игры в область $0032


СТРУКТУРА ДАННЫХ ТАБЛИЦЫ ИГР (Размер одной записи: 7 байт)
; Байт 0: PRG Банк
; Байт 1: Размер PRG
; Байт 2: CHR Банк
; Байт 3: Зеркалирование (0 = Horizontal, 1 = Vertical)
; Байт 4: Смещение CHR (0 = $8000, 1 = $A000)
; Байт 5-6: Вектор сброса (Адрес старта игры, 2 байта, Little-Endian)
; ==============================================================================

game_table:
    ; 01: Super Mario Bros
    .byte 2, 2, 0, 0, 1
    .word $8000
    ; 02: Battle City
    .byte 4, 1, 5, 1, 0
    .word $E000
    ; 03: Galaxian
    .byte 1, 1, 1, 1, 1
    .word $F000
    ; 04: Lunar Ball
    .byte 6, 1, 5, 1, 1
    .word $C000
    ; 05: Duck Hunt
    .byte 7, 1, 8, 0, 0
    .word $8000
    ; 06: Wild Gunman
    .byte 9, 1, 8, 0, 1
    .word $F593
     ; 07: Balloon Fight
    .byte 10, 1, 11, 0, 0
    .word $C000
    ; 08: Bomberman
    .byte 12, 1, 11, 0, 1
    .word $C000
    ; 09: Ice Climber
    .byte 13, 1, 14, 1, 0
    .word $E000

repeat_table:
.byte 01,02,03,04,05,02,01,03,05,03,05,02,03,05,03,01
.byte 02,03,06,05,02,01,03,05,03,05,02,03,05,03,01,02
.byte 03,04,05,02,01,03,05,03,05,02,03,05,03,01,02,03
.byte 06,05,02,01,03,05,03,05,02,03,05,03,01,02,03,04
.byte 05,02,01,03,05,03,05,02,03,05,03,01,07,03,06,05
.byte 02,01,03,05,03,05,02,03,05,03,01,02,03,05,05,02
.byte 01,03,05,03,05,02,03,05,03,01,02,03,05,05,08,01
.byte 03,05,03,05,02,03,05,03,01,02,03,05,05,02,01,03
.byte 05,03,05,02,03,05,03,01,02,03,05,05,02,01,03,05
.byte 03,05,02,03,05,03,01,02,03,05,05,02,01,03,05,03
.byte 05,02,03,05,03,01,02,03,05,05,02,01,03,05,03,05
.byte 02,03,05,03,01,02,03,05,05,02,01,03,05,03,05,02
.byte 03,05,03,01,02,03,05,05,02,01,03,05,03,05,02,03
.byte 05,03,01,02,03,05,05,02,01,03,05,03,05,09,03,05
.byte 03,01,02,03,05,05,02,01,03,05,03,05,02,03,05,03
.byte 01,02,03,05,05,02,01,03,05,03,05,02,03,05,03,01

