User Tag List

Показано с 1 по 7 из 7

Тема: Ассемблирование 128к sjasm

  1. #1

    Регистрация
    07.03.2021
    Адрес
    г. Оренбург
    Сообщений
    38
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Ассемблирование 128к sjasm

    Здравствуйте. Как правильно ассемблировать игру в sjasm если она занимает 128к. Я пишу device zxspectrum128. А sjasm пишет что памяти занято больше чем 65536.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Никак.
    Процессору z80 доступно только 64кб.

    Нужно распределять данные и код по 16к страницам, и делать менеджер, который будет переключать страницы и переносить код куда надо. Обычно в страницах только данные держат, потому что с кодом в страницах работать нетривиально. Либо перекидывать в рабочую память, либо Swap'ать туда-сюда, либо дублировать один и тот же код на разных страницах чтобы при исполнении кода из самих страниц исполнение не оказалось где-то в спрайте или еще где-то не там.

  4. #3

    Регистрация
    07.03.2021
    Адрес
    г. Оренбург
    Сообщений
    38
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я хотел дизассемблировать игру seraphima. Сохранил снапшот. Дизассемблировал. А обратно ассемблировать не получается. А снапшот занимает 128кб памяти.

  5. #4

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну так и в снапшоте куча страниц по 16к, это надо формат снапшота смотреть, чего\куда.
    А так то zx-игры в основном дизассемблят вот этим
    https://skoolkit.ca/
    Есть большая куча уже дизассемблерных игр, и примеры, как делать правильно.
    https://skoolkit.ca/disassemblies/
    Последний раз редактировалось zebest; 13.03.2025 в 18:19.
    Profi v3.2 -=- Speccy2010,r2

  6. #5

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zxlogin Посмотреть сообщение
    Я хотел дизассемблировать игру seraphima. Сохранил снапшот. Дизассемблировал. А обратно ассемблировать не получается. А снапшот занимает 128кб памяти.

    Что-то типа такого можно сотворить:
    https://pastebin.com/ndhW0sKd
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  7. #6

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,214
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,647
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zxlogin Посмотреть сообщение
    Я хотел дизассемблировать игру seraphima. Сохранил снапшот. Дизассемблировал.
    Для начала нужно разобрать снепшот на составляющие:

    • заголовок снепшота
    • основную область памяти 16384-65535
    • несколько страниц памяти 49152-65535


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

    Просто так дизассемблировать, чтобы потом сходу собралось то же самое, увы, не получится.
    С уважением, Станислав.

  8. #7

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Просто так дизассемблировать, чтобы потом сходу собралось то же самое, увы, не получится.
    За Серафиму не скажу, но другие проекты вполне себе получается разбирать и потом собирать -почти- то же самое (небольшая разница в том, что содержал стек до останова, или в экране).
    После ассемблирования - запускаем побайтную сверку, чтобы чётко следить, не порушили ли шаловливыми руками.

    Как отправную точку касательно Серафимы - можно использовать чистый снапшот, который генерится скулкитом:
    https://github.com/skoolkid/t2sfiles.../seraphima.t2s
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Попиксельный raycasting и sjasm
    от Destr в разделе Программирование
    Ответов: 98
    Последнее: 22.01.2020, 23:31
  2. Сборка SCL из sjasm (не финальная)
    от denpopov в разделе Программирование
    Ответов: 76
    Последнее: 25.03.2019, 20:33
  3. нужен макрос для sjasm
    от jerri в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2013, 13:17
  4. МЕТКИ:sjasm+Unreal
    от breeze в разделе Программирование
    Ответов: 10
    Последнее: 06.07.2011, 08:39
  5. sjasm - первые глюки
    от breeze в разделе Программирование
    Ответов: 9
    Последнее: 24.03.2005, 10:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •