Прямо произвела на меня впечатление демка от Libor Lasota. Не ожидал, что Принц будет настолько круто выглядеть при однобитной графике. Снова полез в исходники оригинальной игры, чтобы поизучать их и прикинуть что к чему. Начать изучение думал с вывода оригинальной заставки. Задача довольно простая, плюс можно будет понять насколько сложно преобразовывать код написанный для одного процессора под другой. И тут же встал в тупик...

Начало:
Код:
*-------------------------------
*
*  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
Допустим, находим процедуру TitleScreen:

Код:
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
И теперь ищем процедуру DeltaExpPop. И находим только такое:

Код:
*-------------------------------
*
*  Jump tables
*
*-------------------------------
...
SngExpand ds 3
DblExpand ds 3
DeltaExpPop ds 3
_inverty ds 3
DeltaExpWipe ds 3
...
Не понимаю как эта таблица переходов работает и где по итогу расположены все эти процедуры?