; ; Автор: Авдюхин Алексей / clusterrr@clusterrr.com / http://clusterrr.com ; Специально для Mail.ru Group ; ; INES header .inesprg 128 * 1024 ; 16 банков PRG .ineschr 128 * 1024 ; 16 банков CHR .inesmir 0 ; горизонтальный мирроринг .inesmap 3914 ; маппер #3914 (кастомный) .rsset $0020 ; адрес для переменных COPY_SOURCE_ADDR .rs 2 ; исходный адрес для копирования данный COPY_DEST_ADDR .rs 2 ; целевой адрес для копирования данный FRAMES .rs 1 ; счётчик NMI ACTIVE_BANK .rs 1 ; текущий PRG банк CONSOLE_TYPE .rs 1 ; тип консоли PAL_SOURCE_ADDR .rs 2 ; исходный адрес для загрузки палитры PALETTE_CACHE .rs 16 ; кеш для временного хранения палитры SPRITES_ENABLED .rs 1 ; включены ли спрайты TEXT_SOURCE_ADDR .rs 2 ; исходный адрес текста TEXT_LINE .rs 1 ; текущая строка текста на экране TEXT_POS .rs 2 ; текущая позиция текста в строке TEXT_NAMETABLE .rs 1 ; текущий nametable для текста TEXT_SCROLL_STARTED .rs 1 ; флаг, что запущен автоскроллинг SCROLL_POS .rs 1 ; текущая позиция скроллинга SCROLL_NT .rs 1 ; текущий nametable скроллинга SCROLL_TARGET_POS .rs 1 ; целевая позиция скроллинга THE_END .rs 1 ; флаг, что пора зациклить BUTTONS .rs 1 ; нажатые в данный момент кнопки BUTTONS_TMP .rs 1 ; временные переменные для кнопок LAST_KONAMI_BUTTON .rs 1 ; последняя кнопка для Konami Code KONAMI_CODE_STATE .rs 1 ; состоения Konami Code KONAMI_CODE_TRIGGERED .rs 1 ; флаг, что набран Konami Code SYMBOL_COUNTER .rs 1 ; Счтётчик напечатанных символов .rsset $0400 SPRITES .rs 256 ; тут хранятся спрайты .bank 12 ; PRG банк #12, последние банки .include music_asm ; Конастанты для музыки .org NSF_LOAD_ADDR music: .incbin music_bin ; Код музыки .bank 15 ; PRG банк #15, конец PRG .org $FFFA ; Векторы прерываний .dw NMI ; NMI вектор .dw RESET ; Ресет вектор $FFFA .dw IRQ ; IRQ ; Тут начинается наш код .bank 15 .org $FD00 RESET: ; сразу же отключаем любые прерывания sei ; обнуляем стек ldx #$ff txs ; обнуление переменных clear_memory: lda #$00 sta