Нужно хакнуть игру чтоб с начала игры стартовать сразу со второго круга.
Значение 2-го раза хранится в $03EF, 00 - 1-й раз, 01 - 2-й раз. 00 устанавливается при очистки памяти, а если вводить пароль, то явно 00 или 01 в зависимости от пароля. Это значение проверяется после смерти врагов, возможно шансы выпадения разные, может где-то ещё проверяется, ну и от этого зависит концовка. Так что изменить можно несколькими способами:
1. Устанавливать в начале игры значение 01, но при вводе пароля оставить как было: 00 или 01. Для этого нужно найти свободное место для вставки.
2. Изменить только отображение концовки, достаточно заменить LDA $03EF в двух местах на LDA #$01, NOP. Тогда в зависимости от пароля будет разное поведение игры, а концовка всегда счастливая. Как я понимаю, пароли игра будет выдавать для 1-го раза, если начать без пароля, для 2-го раза, если ввести пароль, но пароль 1-го уровня 2-го раза не получить, потому что концовка всегда счастливая.
3. У вас есть 3 NOP по адресам $8049-804B, которые точно вызываются в начале игры. Там выше LDA #$01, можно сместить вниз JSR $E069, чтобы вставить STA $03EF. Тогда геймплей будет всегда как 2-й раз и пароли должны быть от 2-го раза (я не проверял). Если перехода на $8043-804A откуда-нибудь нет (JMP), то должно быть правильно.
В архиве варианты 2 и 3. 3-й не проверял совсем.
Подпрограмма ввода пароля $9508 (ROM $1508). Кстати, забавная там установка (ниже):
9609 BCC $9613
960B SEC
960C SBC #$04
960E STA $9F
9610 LDA #$01
9612 BIT $00A9 ; Байты 2C A9 00. A9 00 > LDA #$00
9615 STA $03EF
Игра треш
