Можно попробовать написать утилиту, которой скармливается rzx, новый снап (или блок памяти), и на выходе даёт объединённый файл, который затем кормится в эмулятор.
Вид для печати
Я буквально недавно себе такое же питонил для TAP, TRD и SCL
https://github.com/atsidaev/zxdbtool
https://sourceforge.net/projects/fus...es/fuse-utils/
Не особо знаком, я только ею снапшоты выковыриваю, если надо.
Но в ней я вижу опцию вставки.
Вторая сторона кассеты. К сожалению, Всё, кроме 003_TAPE HEAD в ошибках.
Вложение 82754
Что такое 003_TAPE HEAD?
Вложение 82755
Программа для настройки головки магнитофона.
Левый канал лучше восстановился:
000__-=INTRO=-
https://i.ibb.co/9mLTMXzV/5129.jpg
001_Samantha (с ошибками)
https://i.ibb.co/rG1BRNBK/5130.jpg
002_MONTEcarlo (с ошибками)
https://i.ibb.co/3mDnQBxb/5131.jpg
003_TAPE HEAD -- выше
004_ ____DURAK (с ошибками)
https://i.ibb.co/C3r3jfTY/5132.jpg
005_DURAK45pro (с ошибками, не грузится)
006_BRIDGE II (с ошибками, не грузится)
007_POOL (с ошибками, не грузится)
008_MoIReversi (с ошибками, не грузится)
009_J.DARTS (с ошибками, не грузится)
010_SPIDERMA (с ошибками)
https://i.ibb.co/5XmRmFrV/5133.jpg
ZX SPECTRUM 19. Лучшие авто-мото игры (HELP)
Сторона A. Студийная. Качество лучше, но...
полужирным -- отсутствующие релизы в базе. В квадратных скобках md5
THE RACE (KICIA) [6D2ED9A78F695AAADF946FD8BCB6686F]
SUPER STOCK CARS RACE -- залита [07C81683E06A05CDE26B569BD578322E]
SILKWORM зовётся как SILKWORD, но есть битый блок...
ENDURO RACER (F&F SOFTWARE) [C115E4025B7BA06CE159FD521D820CDD]
CHASE H.Q (V.D.G.) -- битая, но начало сходится.
Раз вырезано, значит другая версия.
+ внутреннее название игры разное
https://i.ibb.co/Fk6jggGD/2025-09-09-094142163.png
разница в коде
https://i.ibb.co/HfxxYtQJ/2025-09-09-094537667.png
--------------------------
Разница между версиями SMOK и KICIA ещё меньше. Так зачем её добавили?
https://i.ibb.co/LHcHtg0/93.jpg
ZX SPECTRUM 19. Лучшие авто-мото игры (HELP)
Сторона B.
полужирным -- отсутствующие релизы в базе. В квадратных скобках md5
MACH 3 (BILL GILBERT) (Alt_Header) [BE7055B983A981A44721FBD543CB2F6D]
ATV SIMULATOR (RAF) (Alt_Header) [9DAACD24A515DA26FE4165873BB0CBF1]
CARLOS SAINZ (RAJSOFT) (Alt_Data) [4A75106D72F710FFF4A4BECCDF86705D]
LOTUS ESPRIT TURBO CHALLENGE (SMOK) (Alt_Data) [F1EA3B2156D941CA783D64472E03C017]
Alt_Header -- другой заголовок, данные совпадают
Alt_Data -- отличия в данных, заголовок совпадает
Как понял, такое в базу не приветствуется...
p.s. LOTUS ESPRIT TURBO CHALLENGE (SMOK) интересный экземпляр. По всему файлу есть надпись " CRACKED BY BILL GILBERT 1991". и у меня версия короче на 14 кб.
CARLOS SAINZ (RAJSOFT) -- в ресурсах имя настоящего крякера: MICROLOOK SOFT 91
А никто не подскажет случаем пункт Block Length в упакованных блоках ASC это какой по счету байт? вот он пишет например что длина 27524 (6b84) но в шапке я нигде не вижу такого сочетания данных.
p.s: получается что 27-28 байт длинна блока (+131 байт) и 33-34 байт длина распакованного блока
Народ, а можете посмотреть почему в 911 TS от Дёмина игра начинается без меню? https://transfiles.ru/cf3fn
Блоки сравнил - расхождении не нашел, даже вроде точка входа указана правильно 60000. Причем я снимал дамп загруженного с этой версии и вручную вызывал в бейсике точку входа и там все нормально стартует
Меню там отрисовывается процедурой по адресу 25000, но первый байт там запорчен. Там должно быть LD HL, 0x07D0 (B7 D0 07) а на самом деле там 21 D0 07 -- OR A : RET NC, вот оно сразу оттуда и выходит.
Upd: Скорее всего, там когда последний блок перемещается «вверх», там one-off error, думаю, если перемещать 0x9e59, на не 0x9e58 байт, то всё будет нормально. Это 0x59 в загрузчике по адресу 0x5D7E (смещение 0x33 в блоке 911TS, заменить 0x58 на 0x59)
А здесь можно поправить чтобы бордюр был черным? https://transfiles.ru/8ezkd
О, это просто. Там загрузчик в конце вызывает LD-BYTES, из ROM. Который, как известно, заканчивает через SA/LD-RET. Который, как известно, восстанавливает бордюр из системной переменной BORDCR. В которую, зачем-то, записывается значение по умолчанию – 0x38.
В основном блоке данных (Turbo Speed Data) надо поправить BORDCR/0x5C48, оно там по смещению в файле 0619/0x26B, записав туда 0x07. И, естественно, контрольную сумму блока, смещение 29132/0x71CC, туда 0x53 вместо 0x6C.
P.S. для истории, рассматривали файл "CHIRON (AGAS).TZX", SHA256: 84f68313ae961ec18f8ebd6d8b68a47b676ac1bf692f176d5e 6b3ba937806142
Коллеги, а вот эти два релиза сможете посмотреть? https://transfiles.ru/uoteb
У первой части почему-то после выбора управления начинает моргать экран, но если не поменять управление а сразу нажать на 4 то игра сразу зависает
У второй части не срабатывает запуск из меню
Поделюсь своими мыслями по поводу «B02 - CAULDRON (CHEMNE HACKERS).TAP», SHA256 c544e175dfad30339c0ed9619f277286102e163b8f269d8eb2 8913ad5ae627b4, для истории.
Скрытый текст
В самом коде (тут его же разбирали, так? там, вроде, результат компиляции чего-то, но, сейчас это не важно) различия минимальны. В трёх местах вместо 0xED 0x52 стоят нули (по адресам 6FB6, 7CEB и 87C0). Но наскоростьзапуск это не влияет.
Похоже, там дело в области памяти, которая напрямую не загружается в оригинале. Если снять дамп памяти с 0x6018 «вверх» и загрузить его оригинальным загрузчиком, то всё работает отлично. То есть, вот те 0xED 0x52, они на старт не влияют. Крякер там что-то где-то портит, ниже 0x6018, что игра использует в работе. Хорошая новость -- чинить надо крякер, а это проще. Плохая -- пока непонятно, что там чинить.
[свернуть]
Подтверждаю, если скопировать область 5B00..6017 до загрузки, потом приостановить выполнение на адресе 6018, перед стартом, и восстановить эту область 5B00..6018 - то работает. Так ка это компилятор, а не отвязанный от ОС код - то дело в системных переменных.
З.Ы.: вторая часть штатно работает. В ней всегда выбор управления 1..3 как и "старт игры" по кнопке 4 показывал титры/инструкцию, до нажатия "огонь". А уже тогда запускалась игра.
- - - Добавлено - - -
Методом исключения - находятся адреса хэндлеров, которые загрзчик поменял на себя, да забыл вернуть
на всякий случай надо восстановить все три 16-байтных переменных ОС
5C61..5C66 DB CE,5C,CE,5C,CE,5C
З.Ы. : по адресам 6FB6, 7CEB и 87C0 трейнер, конечно, зануляет SBC HL,DE - уменьшения энергии в разных местах. Это он делает всегда, невзирая на выбор по жизням
Логично. У меня тут, правда, возникли определённые трудности, но, они могут быть объективными. (Временно) Кривые руки, так сказать :( В общем, получилось что-то вроде вот этого: https://mega.nz/file/hXlyEQZZ#KseASK...zG-u5pXvt60yCU Попробуйте,кто-нибудь, и расскажите, сработало или нет.
Chwe, вроде все работает без проблем
Есть еще вопрос. Можно ли как-то в этом релизе отменить автостарт по адресу 61500 и чтобы просто при загрузке блока и запуска через randomize usr 25000 он просто распаковал блок и выдал 0 ОК, 0:1. Как я уже когда-то писал здесь есть один косяк который я хочу попробовать исправить.
Не совсем понял вопрос (там описка? 61540?), но если речь о том, как чисто выйти из распаковщика, не запуская код, то что-то вроде этого:
Это меняет код, который будет выполняться с 0x5be1 с LD SP, 5FFF : DI : JP ... на LD SP, 5FE8 : EI : RET ....Код:CLEAR 24575 : LOAD "" CODE : POKE 25115, 232 : POKE 25117, 251 : POKE 25118, 201 : RANDOMIZE USR 25000
Хотя, оно там стек достаточно хаотично двигает, я не уверен в работоспособности Бейсика после таких упражнений. IMHO проще поставить breakpoint на 0x5BE1 и снять дамп памяти средствами эмулятора.
Всем привет!
Спустя 30 лет появилось желание оцифровать всё, что пока ещё есть у меня на кассетах для ZX Spectrum - это 18 кассет, не считая оцифрованные ранее свои школьные поделки.
Часть кассет уже оцифровал. Некоторые успешно, другие не очень. В свободное время работа над оцифровкой продолжается.
Сравнивая свои оцифровки с тем, что уже есть в Интернете, обнаружил (как и можно было предположить), что часть из того, что есть у меня, было и у других. Это, например, версии игр от Bill Gilbert, RAF, RAJSOFT, INXS SOFT, MAC и многих других. Правда, встречались и такие релизы, которые 1 к 1 совпадают с уже существующими, но у них отличаются имена блоков и/или параметры в блоках заголовков.
Но встретил и такие релизы, которые не нашел не на spectrum4ever.org, не на zxart.ee.
Предполагаю, что данные релизы могут кого-нибудь заинтересовать. Не то, чтобы там было что-то особенное, просто, как я уже сказал, именно мне не удалось найти конкретно такие релизы в архивах (может плохо искал).
Часть кассет - купленные на радиобалке в Луганске в 1994-95 гг., другая часть - это мои собственные самописки с кассет друзей, одноклассников. Одна из кассет шла с компьютером Sintez-2.
Прилагаю фотографии со списками игр почти всех кассет.
Собственно хотел спросить, выкладывать всё, что оцифровал или только те релизы, которые не нашел в архивах?
Скрытый текст
https://pic.maxiol.com/thumbs2/17606...ansformers.jpg
https://pic.maxiol.com/thumbs2/17606...asbirthday.jpg
https://pic.maxiol.com/thumbs2/17606...1276.cas75.jpg
https://pic.maxiol.com/thumbs2/17606...1276.cas29.jpg
https://pic.maxiol.com/thumbs2/17606...tes24864r2.jpg
https://pic.maxiol.com/thumbs2/17606...76.cassys2.jpg
https://pic.maxiol.com/thumbs2/17606...cassinteza.jpg
https://pic.maxiol.com/thumbs2/17606...1276.cas1a.jpg
https://pic.maxiol.com/thumbs2/17606...1276.cas2a.jpg
https://pic.maxiol.com/thumbs2/17606...1276.cas3a.jpg
https://pic.maxiol.com/thumbs2/17606...276.cas45a.jpg
https://pic.maxiol.com/thumbs2/17606...276.casppa.jpg
[свернуть]
Первая часть из оцифрованного на данный момент.
"ZX-SPECTRUM 2"
https://disk.yandex.ru/d/k4fH6v_KEbXhLw
"ZX-SPECTRUM 48"
https://disk.yandex.ru/d/2z426RDfhTXIAw
"ZX-SPECTRUM 64"
https://disk.yandex.ru/d/BP5zp6rg0WNErg
"ZX-SPECTRUM R2"
https://disk.yandex.ru/d/BSBIGyDUrI7P9w
"ELITE KOMPANY # 2"
https://disk.yandex.ru/d/c5Gy0byGQFaE_A
"Transformers"
https://disk.yandex.ru/d/RjVAYZ4mhkH_DQ
На кассете "ZX-SPECTRUM 48" пока не удаётся оцифровать игру "Strider".
На кассете "ZX-SPECTRUM R2" (игры на русском языке) в игре "Buratino" последний загружаемый блок портит на экране название игры (загрузка идёт в экранную область). Думал - это ошибка при оцифровке. При этом блок распознавался без ошибок. Пробовал несколько раз с магнитофона перезагружать эти блоки (использую Audacity) - результат все время одинаковый. Но потом стал что-то припоминать, что 30 лет назад так оно и было - такой релиз на кассете и был вроде как.
Также на этой же кассете в игре "Spike in Transylvania" как минимум один спрайт испорчен - судя по всему криворукость русификаторов.
На кассете от "ELITE KOMPANY # 2" отсутствует игра "Fire Trap".
Также на этой кассете присутствует неприкаянный блок-загрузчик, судя по всему, относящийся к игре "Storm Lord 2/1", но располагается он уже даже после игры "Storm Lord 2/3".
https://disk.yandex.ru/d/fX9TJJBdbEkyCg
mick180, если будет возможность то можно на оцифровку следующую кассету dron nick? Мне почему-то кажется что там потенциально могут быть интересные загрузчики у игр.
По поводу spike in transylvaniya я в свое время чинил этот баг и выкладывал исправленную версию у себя в группе вк (ссылка в подписе)
Заказ принят :-) Сегодня же и приступлю чуть позже.
О, супер! Гляну исправленную версию.
- - - Добавлено - - -
Вторая часть оцифрованного на данный момент.
Это мои самописные кассеты.
"MK1"
https://disk.yandex.ru/d/LvaENRDYOiOK5g
"MK2"
https://disk.yandex.ru/d/lHt4HYxg2S3Jfw
"MK3"
https://disk.yandex.ru/d/TY9k45GAAIOomg
"MK4"
https://disk.yandex.ru/d/I7dMyPTqRTdmAA
"MK5"
https://disk.yandex.ru/d/ZLiu3_5ADyjpXw
Кассета "MK1" в плохом состоянии - при воспроизведении слышен сильный писк/скрип. С неё часть игр пока не удалось оцифровать.
С кассеты "MK3" пока не удалось оцифровать игру "Mini Pac-Man".
На некоторых кассетах обнаруживались игры, которых не было в листинге на обложке кассеты. Например, на кассете "MK5" после игры "Jet Set Willy 2" была обнаружена игра "F1 Tornado".
Печально, конечно. Насколько помню, эту кассету и покупал прежде всего ради игры "Буратино", о которой прочел в замечательной книге "Компьютерные Миры ZX Spectrum. Выпуск 1".
Но тогда и такому радовались :-) Буратину "затерли до дыр" :-) Ну и бонусом получили еще несколько классных игр. Да и игры на русском языке - тогда это было что-то новенькое, необычное.
В моём личном рейтинге эта кассета числилась особенной :-)
mick180, Кассета "MK1" в плохом состоянии. Если осталась сама запись то если сможете выложить ее на тот же Яндекс. Диск то я попробую посмотреть и перевести. P. S кассету с Dron Nick пока так и не оцифровали еще?
Вчера только сторону A успел оцифровать: с ней проблем не возникло - не единой ошибки, а вот со стороной B сразу начались проблемы - первой там идёт игра "Castle Master" и вот пара блоков в ней с ошибками. И если один блок (заставка с замком, длиной 6912) удалось восстановить, то со вторым блоком (последним, самым большим) ситуация тяжелее - там внутри блока есть тишина на несколько миллисекунд где-то, ориентировочно на несколько байт, я думаю. И вот на этом месте все программы, которые я пробовал, прекращают распознавать блок, что и понятно - реальный Spectrum сделал бы то же самое - "Tape loading error". Было ли так в 1995 году, когда кассета была куплена - уже не помню. Думаю попробовать вручную отредактировать аудиоданные (использую Audacity) - поставить "синусоиды" нулей в тот пропуск, а потом найти этот блок в других оцифровках и поставить правильные байты. Пострадать, так сказать, такой фигней немножко :-) Хочется же восстановить её. В общем процесс идёт потихоньку.
Кассета "DRON & NICK", сторона A
https://disk.yandex.ru/d/RpPqJNkxMS-etQ
Скажу сразу - каких-то особенных загрузчиков на стороне A я не заметил :-(
Но зато к этой кассете есть книжечка с описаниями - я тогда тоже прикупил - понравилось, что с картинками :-D
Вот пару страниц из неё:
Скрытый текст
Ну и до кучи - ещё вот такие книжечки имеются, если надо:
Скрытый текст
- - - Добавлено - - -
Прежде всего использую Tape Recover 2.01, если же ей не удастся справится, то тогда пробую VOC2TZX v0.53b и MakeTZX v2.33.
- - - Добавлено - - -
я не спец в этих делах, но судя по тому, что читал в интернете, то дело там больше в деградации магнитного слоя.
Самое, что неприятное, так это то, что писк, который слышен при воспроизведении, также частично попадает на оцифровку, т.е. звук писка примешивается к звуку на пленке, что, собственно, и затрудняет распознавание записанной аудиозаписи.
- - - Добавлено - - -
Да, без проблем. И запись имеется, и кассета имеется, и чем эту кассету прочитать - тоже есть. Всё, правда, уже старенькое, но худо-бедно работает.
Там просто на этой кассете писк примешивается к аудио сигналу - и распознать данные почти нереально становится.
Хочу еще немного "поколдовать" с этой кассетой - читал в интернете, что можно подержать кассету с подобными проблемами где-то сутки на тёплой батарее, и на некоторое время писк при воспроизведении может уйти, чего вполне должно хватить, чтобы заново её прочесть. Может поможет. Я напишу тогда здесь по поводу этой кассеты.
Вот одна из пока нераспознанных игр "Mini PacMan":
https://disk.yandex.ru/d/v8I5MBWoNg3BCQ
В архиве 3 файла:
minipacman.wav - первая оцифровка
mpm.wav - вторая оцифровка
2.wav - самый проблемный блок. В нём я немного редактировал аудиоданные в редакторе Audacity, после чего он стал лучше распознаваться, но пока еще не полностью.
Формат всех файлов - 16 бит, моно, 48 кГц.