Честно говоря, Принц мне поднадоел пока я его делал для БК, наконец-то можно заняться другими играми )
Честно говоря, Принц мне поднадоел пока я его делал для БК, наконец-то можно заняться другими играми )
Блог проекта "The Goonies для БК11М"
БК-0011М, БК-0011М-01, SMK-512, AZ
nzeemin (02.02.2023), Oleg N. Cher (02.02.2023)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А где можно взять доку по этой машине, где описывалась бы организация памяти/видеопамяти и т.д.?
Блог проекта "The Goonies для БК11М"
БК-0011М, БК-0011М-01, SMK-512, AZ
grf (03.02.2023)
Спасибо, поизучаю.
Блог проекта "The Goonies для БК11М"
БК-0011М, БК-0011М-01, SMK-512, AZ
Прямо произвела на меня впечатление демка от Libor Lasota. Не ожидал, что Принц будет настолько круто выглядеть при однобитной графике. Снова полез в исходники оригинальной игры, чтобы поизучать их и прикинуть что к чему. Начать изучение думал с вывода оригинальной заставки. Задача довольно простая, плюс можно будет понять насколько сложно преобразовывать код написанный для одного процессора под другой. И тут же встал в тупик...
Начало:
Допустим, находим процедуру TitleScreen:Код:*------------------------------- * * A T T R A C T * * Self-running "attract mode" * *------------------------------- ATTRACTMODE AttractLoop lda #1 sta musicon jsr SetupDHires jsr PubCredit jsr AuthorCredit jsr TitleScreen jsr Prolog1 ]princess jsr PrincessScene jsr SetupDHires jsr Prolog2 jsr SilentTitle jmp Demo
И теперь ищем процедуру DeltaExpPop. И находим только такое:Код:TitleScreen lda #38 jsr tpause * Unpack title onto page 1 lda #delTitle jsr DeltaExpPop ldx #140 lda #s_Title jsr PlaySongI * Credit line disappears jmp CleanScreen
Не понимаю как эта таблица переходов работает и где по итогу расположены все эти процедуры?Код:*------------------------------- * * Jump tables * *------------------------------- ... SngExpand ds 3 DblExpand ds 3 DeltaExpPop ds 3 _inverty ds 3 DeltaExpWipe ds 3 ...
С уважением, Станислав.
Да, я находил процедуры, озаглавленные капсом. Но я всё равно не понимаю как это работает.
Видимо, таблица переходов ссылается вот на этот блок:
Код:*------------------------------- * * Sits in main l.c. bank 2 * *------------------------------- org org jmp SNGEXPAND jmp DBLEXPAND jmp DELTAEXPPOP jmp INVERTY jmp DELTAEXPWIPE jmp PURPLE jmp PROMPT jmp BLACKOUT jmp CLR jmp TEXT jmp SETDHIRES jmp FADEIN jmp LOADSUPER jmp FADEOUT
Последний раз редактировалось CityAceE; 03.02.2023 в 17:43.
С уважением, Станислав.
Дальше надо с логикой разбираться. В принципе, команды немного знакомы - как-то писал программу под Агат (а там вроде тот же проц), но ДАВНО это было, так что только общая логика понятно, но не детали
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)