Вход

Просмотр полной версии : Помогите получить листинг моей игры



abelenki
18.02.2016, 11:29
я решил поправить ужасный английский язык в своей адвентюрке 1993-го года Bubble Bobble - The Adventure на более приемлемый. помогите пожалуйста получить её BASIC-листинг, т.к. исходников не осталось.

игра написана на BASIC 128 - использует RAM-диск для загрузки пакованной графики и титульной музыки.

состоит из:

1. простого BASIC-загрузчика - его, наверное, будет сломать проще всего.
2. CODE-куска, который, по сути, явлется сохранением запущенной BASIC-программы кнопкой MAGIC. он, разумеется, защищён от BREAK каким-то POKE. :)

как запускать свои пакованные картинки я уже вспомнил (их мне тоже придётся править на предмет языка, только уже в графическом редакторе):

10 RANDOMIZE USR 15619: REM: LOAD "code" CODE
20 RANDOMIZE USR 40000

просьба в конечном итоге предоставить два незапущенных BASIC-файла, чтобы можно было сразу перейти к их редактированию в BASIC 128.

заранее большое спасибо!

goodboy
18.02.2016, 13:04
а что мешает загрузить программу на-бейсике через merge""
как я понял там всего один бейсик файл (зачем два - непонятно)

http://savepic.ru/8654664.gif

извини, стормозил
(прочитал просьбу по-диагонали)

abelenki
18.02.2016, 13:12
а что мешает загрузить программу на-бейсике через merge""
про MERGE забыл. спасибо. значит пункт 1 я смогу таким образом получить сам.

а вот по второму пункту просьба остаётся актуальной.

Лас
18.02.2016, 13:21
про MERGE забыл. спасибо. значит пункт 1 я смогу таким образом получить сам.

а вот по второму пункту просьба остаётся актуальной.

второй пункт - это сделать останов бейсика в меджик-файле?

abelenki
18.02.2016, 13:31
листинг загрузчика получил через MERGE, отлично!

- - - Updated - - -


второй пункт - это сделать останов бейсика в меджик-файле?
наверное. в результате хочется получить простой незапущенный BASIC-файл с открытым листингом.

goodboy
18.02.2016, 13:32
после запуска игры poke 23982,201 отменит обработку ошибки.
(у меня сейчас под рукой нет вменяемого эмуля)

abelenki
18.02.2016, 13:34
после запуска игры poke 23982,201 отменит обработку ошибки.
(у меня сейчас под рукой нет вменяемого эмуля)
спасибо. как будешь за нормальным эмулятором, объясни по-подробнее плиз.

Лас
18.02.2016, 13:36
Чего-то .scl из первого поста сбрасывается после запуска в USP 0.0.57. Как из SOS-48, так и из 128.

abelenki
18.02.2016, 13:38
Чего-то .scl из первого поста сбрасывается после запуска в USP 0.0.57. Как из SOS-48, так и из 128.
проверил. запускается нормально в режиме PENTAGON 128 на ZXMAK2 и SCORPION-256 на Speccy Android (в режиме PENTAGON-256 сбрасывается).

Лас
18.02.2016, 13:38
спасибо. как будешь за нормальным эмулятором, объясни по-подробнее плиз.
Вероятно, запускаешь свою игру в эмуле с отладчиком, после старта выходишь в отладчик, по адресу #5dae заносишь значение #c9
и в бейсике нажимаешь BREAK...

abelenki
18.02.2016, 13:44
Вероятно, запускаешь свою игру в эмуле с отладчиком, после старта выходишь в отладчик, по адресу #5dae заносишь значение #c9
и в бейсике нажимаешь BREAK...
спасибо, попробую.

не являясь программером, с отладчиками дел никогда не имел...

goodboy
18.02.2016, 18:53
как будешь за нормальным эмулятором, объясни по-подробнее плиз.
надеюсь это поможет.
мусор в первой строке это отображение блока в-кодах (который делает перехват ошибок)

http://savepic.ru/8699763.png

abelenki
18.02.2016, 20:16
goodboy, спасибо большое!

если я загружаю test.B в эмуляторе в режиме PENTAGON 128, всё что я вижу - бесконечный цикл нулевой строки:

http://www.pixic.ru/i/8090c9x97345u313.png

это ты и имел в виду? :


мусор в первой строке это отображение блока в-кодах (который делает перехват ошибок)

это никак не победить?

буду пытаться что-то выжать из листинга в .txt, за что отдельное спасибо.

goodboy
18.02.2016, 20:34
это никак не победить?
только удалением, но сначала надо принудительно изменить номер нулевой строки (а она там не-одна).
загрузив программу выполни poke 23868,1 и удалив первую строку повтори эту операцию
(только потом не-забудь убрать вызов кодов из бейсика)

abelenki
18.02.2016, 21:00
спасибо, всё получилось.

теперь буду делать нормальный английский язык, а потом попытаюсь всё это снова запустить. :)

если получится...

goodboy
18.02.2016, 22:04
посмотри в сторону подобных редакторов http://zx-modules.de/zxeditor/zxeditor.html

http://zx-modules.de/zxeditor/zxeditor5.jpg

Kalantaj
22.02.2016, 21:28
просьба в конечном итоге предоставить два незапущенных BASIC-файла, чтобы можно было сразу перейти к их редактированию в BASIC 128.
Блин проблему нашли...
В приложенном архиве твой выложенный файл + 2 бейсик блока (basic-1 и basic-2)
Первый, тот который грузится сразу, а второй из игры.
Во втором две нулевые строки перенумерованы в 1 и 2 соответственно и теперь можешь нормально редактировать в BASIC-128.
Но есть одно большое НО!
строку с номером 2 НИ В КОЕМ случае не редактируй, так как в ней содержится кодовый блок. Если попробуешь редактировать или случайно какой-то символ введешь и нажмешь ENTER, то строка вроде как останется, но содержать она уже будет абсолютно другие данные.
Соответственно первую строку тоже трогать нельзя, так как при изменении длины этой строки данные во второй строке сместятся и вызвать их уже не получится (останутся в строке после REM только печатные символы и токены команд, а все остальные будут удалены).
Но лично я рекомендую сделать так - удали строки 1 и 2, потом редактируй как тебе надо - не придется парится по поводу случайного изменения данных в строках 1 и 2. Потом запиши на диск измененные данные, сбрось комп, загрузи неизмененный бейсик (тот что в архиве) и сделай MERGE с измененным. Получишь измененный basic с кодовым блоком в начале. Но это только в том случае, если будешь редактировать только существующие строки и не будешь добавлять новых/удалять старые.
Ну или как вариант - пользуйся программой предложенной Goodboy'ем.

abelenki
23.02.2016, 13:50
Kalantaj, спасибо, но goodboy уже помог во всём разобраться (как видно из предыдущих сообщений).