Важная информация

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 43

Тема: Большие снапшоты

  1. #1
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    Question Большие снапшоты

    Неимоверно бесящая вещь
    невозможность делать снапшоты для расширенного железа в 2023-м году....

    вощем предлагаю по обсуждать новый формат снапшотов (чтобы не изобретать велосипед)
    ну и собственно чтоб сраза охватить больше хотелок
    чтоб не вставлять их потом костылями

    формат должен:
    Иметь совместимость в обе стороны (пропуск новых данныз если не можЫм их обрабатывать)
    Хранить состояние GS-а
    ?????
    ????? (тут могла быть ваша реклама)
    ?????
    и с заделом на будущее (а не как всегда)


    из первых видимых косяков
    1 снап будет весить 8+ метров (как минимум 4)
    тут помогло бы сжатиё
    но оно усложняет формат
    ВНЕЗАПНО неиспользуемые страницы содержат мусор (для эмуляции машины после включения)


    совместимость в обе стороны я вижу как хранение названия типа данных в текстовом виде
    без каких либо magic number смещений, magic number последовательностей и набора magic number кодов которые вообще могут кончитсо (изза которых потомм предумаютсо префиксные magic number-ы и... расширенные заголовки в конце файла итд)


    кроме кучи машин еще есть и куча версий этих машин
    и не факт что в будущем не будут добавлены новые версии а старые будут выкидыватсо
    нужно как то иметь возможность открывать на ближайшем похожем


    тут еще всю малину портит наличие ХХД-ей и СД кард
    вангую что софт будет ВНЕЗАПНО дописывать в другой образ думая что он еще на предыдущем...
    Последний раз редактировалось NEO SPECTRUMAN; 04.08.2023 в 12:40.

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

  3. #2
    Master Аватар для Xela
    Регистрация
    03.12.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    595
    Спасибо Благодарностей отдано 
    431
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть же szx - может в него добавлять новые расширения?

  4. #3
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xela Посмотреть сообщение
    есть же szx - может в него добавлять новые расширения?
    костылями?
    а как жы светлое будущее?

    (лол они там даже что то про принтор хранят (видимо он у них эмулируетсо ))

    - - - Добавлено - - -

    Цитата Сообщение от Xela Посмотреть сообщение
    есть же szx - может в него добавлять новые расширения?
    опять же у них мерские magic number-ы

    я добавляю новую жалезку занимаю новый magic dwId или уже занятый
    кто то у себя добавляет новую железку занимает мой уже занятый magic dwId
    в итоге ничего не работает
    и имеем szx 447 по версии unreal-а, szx 0.15 по версии хреномулятора

    мало того у них сжатие zlib-ом
    потом zlib-ы дропнут поддержу х32 и перепишутсо с асмовставками на х64 поменяв формат
    и в итоге как всегда...
    Последний раз редактировалось NEO SPECTRUMAN; 04.08.2023 в 12:32.

  5. #4
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,589
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    повторю своё нытьё из соседней ветки)

    сначала - память, всю, чтобы выровнять на 16k и удобней было смотреть и хакать

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

  6. #5
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    сначала - память, всю, чтобы выровнять на 16k и удобней было смотреть и хакать
    тогда надо заголовок с набором смещений в файле
    а не stream файл декодим тип блока и ложим
    (не ну в принципе не проблема? или так немного сложней или нет)
    но я хотел типо по спецификации все равно где лежат данные
    сохранение явно усложняетсо
    то можно было не мороча голову выплюнуть снап в рандоммной последовательности


    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    выровнять на 16k
    зхннехты с страницами по 8К
    оппа приехали

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    повторю своё нытьё из соседней ветки)
    а сильно ты нахакаешь 8 метровый снапшот?
    я не представляю чего деллать в снапшоте хекс редактором

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    сначала - память, всю, чтобы выровнять на 16k и удобней было смотреть и хакать
    и че ради этого делоть заголовок кратный 16К?

    - - - Добавлено - - -

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

    да и страниц будет 256+
    и не факт что подряд и не факт что все 256
    ибо заччем хранить пустоту в итак прожорливом формате?
    от куда ТЫ узнаешь где какая страница?

    - - - Добавлено - - -

    и тобы ТЫ открывал в кекс редакторе и видел

    "reg_a" FF "port_1FFD" FF

    а то будет

    "reg_a" 0x9379992 "port_1FFD" 0x9379993
    и лезь за каждымм значением по этому смещению
    в ущербном хексредакторе (которые обычно ущербные)
    это удобно?

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    выровнять на 16k и удобней было смотреть и хакать
    думаю максимум можнно "рекоммендовать"
    выравнивать память на 16 байт
    или на фоне 8М 16К не так много
    можно было бы рекомендовать ложить "большие" страницы
    после всех данных с отступом выровнянным на 16К

    0000 заголовок
    данные
    4000 страницы

    но тогда будет дырка в 30К
    а листать столько в кекс редакторах неудобно
    пушо они ущербны (бегунком не попадешь, скролить долго, адрес смещения вводитсо ччерез Ж)
    Последний раз редактировалось NEO SPECTRUMAN; 04.08.2023 в 14:06.

  7. #6
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,589
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    тогда надо заголовок с набором смещений в файле
    не надо

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    зхннехты с страницами по 8К
    оппа приехали
    никуда не приехали, вообще пофиг на размер страниц
    главное, что адреса кратные и младшие цифры одинаковые
    меньше вероятности сбиться, не нужна многоразрядная 16-ричная арифметика

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а сильно ты нахакаешь 8 метровый снапшот?
    так же как и любой другой

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    я не представляю чего деллать в снапшоте хекс редактором
    да что угодно, начиная с поканья и кончая исправлениями любыми

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    такое чуство что ты предлагаешь файл с загголовкомм в конце
    но это вообще не вариант апсолютно
    ...хотя конечно можно было бы сразу же указывать на сммещение до заголовка
    и наччинать страницы
    но таки удобней когда заголовок в саммом начале

    да и страниц будет 256+
    и не факт что подряд и не факт что все 256
    ибо заччем хранить пустоту в итак прожорливом формате?
    от куда ТЫ узнаешь где какая страница?
    не тупи, еще в досе были функции "узнать размер файла" и "считать произвольный кусок бинаря", что уже достаточно для всего

    - - - Добавлено - - -

    так что прочитать "заголовок" что из начала файла, что из окончания - вообще никаких трудностей

    - - - Добавлено - - -

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

  8. #7
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    так что прочитать "заголовок" что из начала файла, что из окончания - вообще никаких трудностей
    ой лооол
    чего еще надо угадывать где у нас в конце заголовок?
    страниц может быть рандомное количество
    и рандомного размера

    файл без расширения не идентефецируетсо
    что долбоклюизм

    да и часто надо проделывать манипуляции с тыщами файлов
    на основе чтения заголовка ВНАЧАЛЕ примитвным кодом
    а ты хош его запихнуть хрен знает куда

    поздравляю ты изобретаешь .com
    вон алоний тоже изобрел .com без заголовка
    мы все его теперь проклинаем за эту х**туту
    которую нельзя отличить от pc-шнного com-а
    которую с тем жы усппехом нельзя отличитьь от cp/m-ного .com-а

    или ты не про то

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    как раз это было бы удобней для заголовка, где бы он ни находился, чтоб регистры быстро искать глазами
    выравнивание всех данных в 16 байт ради чего? ладно это звучит интересно
    а чего будет на машинах у которых туча портов?
    а в сочетании с тексстовыми тегами это будет жрать десятки килобайт на одни только порты
    а если надо будет выплюнуть все 64К портов в файл?

    а еще вдруг кто решит запускать оно на реале?
    а у нас заголовки по 100К но зато с красивостями для кулхацкеров с кекс редактором
    Последний раз редактировалось NEO SPECTRUMAN; 04.08.2023 в 14:11.

  9. #8
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    465
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а чего будет на машинах у которых туча портов?
    и на паре портов висит например небольшая флэшка мег на 128. ее тоже в снап?)
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  10. #9
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UncleDim Посмотреть сообщение
    и на паре портов висит например небольшая флэшка мег на 128. ее тоже в снап?)
    в дискорде обсуждаетсо хард на 2гига
    и то что его нужно хранть вообще в виде истории всех записей

    а вообще текущие снапшоты все дружно ложат на 640К хватит всем
    и ниче никого нее...

  11. #10
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,645
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В основном меня устраивает SZX формат. Есть возможность добавления новых блоков с 4хбайтовой сигнатурой, более-менее логичный, можно паковать большие блоки. Не без недостатков. но в целом пойдет.
    Кстати, состояние GS он сохраняет.

    @NEO_SPECTRUMAN , делай свой формат, как считаешь нужным. Все спектрумовские формат файлов когда-то кто-то сделал чисто для себя. Некоторые укоренились, некоторые ушли в прошлое.

    Вон Патрик Рак, автор эмулятора Спектрума для Nintendo, не парясь по поводу того, что уже есть tzx, и в нем уже игр валом, взял и сделал новый формат для ленты - pzx. Простой и понятный, с минимумом типов блоков, в отличие от tzx. Увы, в массы не ушел, всё уже затэзеиксено. Но формат есть.




    @Lethargeek - простой снап с несжатой памятью в начале файла и остальной инфой в конце (желательно тоже читабельной из hex-viewerа) - а что, почему бы и нет. Удобно дизасмить, модифицировать и смотреть регистры. Пока вроде такого формата не было. Несложно конвертилку для других снапов написать в него. Расположение инфы состояния регистров и прочего плавает от начала, зато фиксировано от конца - промотал в конец файла и смотришь, удобно. Количество сохраненных страниц определяем по размеру файла.

    Я уже собственно расписал:
    В начале файла память - 49152 байта в текущем конфиге, далее остальные страницы последовательно. Немного неудобно искать нужную страницу, но зато удобно покать и дизасмить текущий конфиг памяти.
    А лучше, наверно, 5я, 2я, 0я, потом 1,3,4,6,7, чтобы страницы по фиксированным смещениям были.
    Но для расширенных режимов +3 сначала 64кб текущего конфига, потом остальные страницы последовательно.

    Завершение (хвост, постфикс) файла - 3 строки хекс-вьювера:

    4 байта TStates (на случай турбо режимов), 4 байта FramesCounter (в некоторые игры люди играют месяцами, Элита например), и ещё 8 байтов резервных (MemPtr, дополнительная инфа по конфигу и т.п. )

    Предпоследняя строка:
    AF BC DE HL AF' BC' DE' HL' - ещё 16 байтов. самые значимые регистры по краям и в центре строки

    Последняя строка:
    PC, SP, IX, IY, IR,

    байт инфы по прерываниям и флагов состояния системы:
    5й бит - временный запрет прерываний в данной точке (после EI и префиксов. Казалось бы не нужен, но если в данную точку мы попали после перехода, данный бит дает нам инфу на случай прерывания - будет или нет)
    4й бит - Halted Z80 (Казалось бы не нужен, но аналогично предыдущему - во время выполнения команды HALT Z80 указывает на следующую за ней команду, и неизвестно, то ли была выполнена HALT, то ли мы перешли сюда)
    Вообще, эти два флага могут, получается, быть заменены одним флагом
    4й бит - Was Jump (последней была выполнена команда перехода), а предыдущие флаги выставляются на основании его и байта по адресу PC-1,
    3й бит IFF2,
    2й - IFF1,
    1й-0й режим прерываний, итого 2 или три бита ещё свободны под другие флаги;

    байт номера впечатанного ПЗУ периферии

    последний вывод в порт FE;
    последний вывод в порт 1FFD (+3 и Скорпион), или EFF7 для Пентагона 1024;
    последний вывод в порт 7FFD;
    модель Спектрума.

    Хвост может расширяться, но между памятью и стандартными тремя хекс-строками, а смещение основной инфы от конца файла не меняется.

    Осталось придумать расширение) Предлагаю .snv - вроде свободно, SNap for View.

    - - - Добавлено - - -

    Да, раз уж делаем удобным для просмотра - значения в хвосте сохранять в формате старшие байты впереди.

    - - - Добавлено - - -

    Чем ещё удобен - поддержка его в эмулях делается несложно. В отличие от даже sna, с которым надо слегка заморочиться, про остальные молчу.
    Последний раз редактировалось Spectramine; 04.08.2023 в 17:48.

Страница 1 из 5 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Большие ЭМВ серии СМ
    от max232cpe в разделе Разное
    Ответов: 5
    Последнее: 30.08.2023, 10:43
  2. Большие ЭМВ серии ЕС
    от max232cpe в разделе Разное
    Ответов: 3
    Последнее: 13.06.2023, 14:36
  3. lha, unzip и большие файлы
    от norduk в разделе Amiga
    Ответов: 32
    Последнее: 31.01.2019, 10:50
  4. Большие проблемы с Atari...
    от =ANDROID= в разделе Atari
    Ответов: 1
    Последнее: 03.02.2009, 13:24
  5. Снапшоты более 128 килобайт
    от SMT в разделе Эмуляторы
    Ответов: 13
    Последнее: 29.12.2007, 12:41

Ваши права

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