ZXMAK, да заголовки я сам подставлял. разве я там ошибся сильно?
p.s: кстати если надо я могу ту кассету целиком оцифровать повторно она вся такая "заезжанная" и трудопереводимая.
ZXMAK, да заголовки я сам подставлял. разве я там ошибся сильно?
p.s: кстати если надо я могу ту кассету целиком оцифровать повторно она вся такая "заезжанная" и трудопереводимая.
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
да, там не только имя отличается, но и длина блока и адреса. Я хотел использовать tap файл для тестов при проверке эффективности фильтров, но оказалось, что на кассете данные отличаются. Там не только разница в имени, но и в данных.
Там отличие не только в имени, но в данных, где указана длина и т.п. Вот данные заголовка который вы выложили (первая строка) и которые без ошибок читаются из wav файла (вторая строка):
Также есть ошибки в блоке бейсика. Например ошибка "C Nonsense in BASIC, 50:1" вылазит не из за ошибки в блоке с кодом игры, а из-за ошибки в бейсик-коде:Код:00 00 44 49 5A 5A 59 37 20 20 20 20 30 02 01 00 30 02 62 00 00 44 49 5A 5A 59 20 37 20 20 20 2F 02 01 00 2F 02 62
Собственно ошибка вылетает на строке LET USR, которую бейсик не понимает. Там ошибка чтения, по всей видимости должно было быть RANDOMIZE USR - неправильно прочитан один бит. По всей видимости ошибка также в CLEAR VAL "24999". Если эти ошибки исправить, то crc становится корректной.Код:10 BORDER NOT PI: PAPER NOT PI: CLEAR VAL "24991" 20 LOAD "dizzy7.1"CODE 30 RANDOMIZE USR VAL "28350": POKE VAL "23739",CODE "o" 40 LOAD "dizzy7.2"CODE 50 LET USR VAL "24018" 2688
В ассемблерном коде бейсика в теории тоже могут быть ошибки, хотя визуально вроде все нормально и код работает адекватно делая ldir-ы и после запуска запускается адекватный код.
У меня пока не получается читать эти блоки без ошибок с фильтрами, вот что пока выходит:
Проверка тут происходит по блокам распознанным читалкой Serg6845 с вышеописанными исправлениями бейсик блока, которые описал выше.Код:000: size=19, crc=#00 ok 001: size=560, crc=#cc data mismatch @ 445: #60 != #30 size mismatch: 560 != 561 002: size=19, crc=#00 ok 003: size=5249, crc=#b1 data mismatch @ 678: #af != #bf 004: size=19, crc=#00 ok 005: size=36587, crc=#5f data mismatch @ 948: #b5 != #bd
Вот dizzy7_badtape-verify0.tap файл который использовал для проверки в качестве эталона: https://transfiles.ru/3nhze также там приложены dizzy7_badtape-test.csw и dizzy7_badtape-test.tap - это результат обработки фильтрами и распознавания моей читалкой. У меня пока что заметно хуже читает, так что надо дальше улучшать.
Однако в блоках Serg6845 была ошибка crc для заставки и кода игры, поэтому в этих блоках dizzy7_badtape-verify0.tap где-то ошибки.
Из экспериментов можно скзазать, что IIR фильтры не годятся для таких задач - нелинейность фазо-частотной характеристики сильно сказывается на ошибках чтения.
Последний раз редактировалось ZXMAK; 02.04.2025 в 22:14.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
фдеукю у-ьфшдЖ ввз"шярюсщь D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
Народ, а на сколько чинибелен релиз zona 0 от Павла Никитина?
Беда в том что после распаковки (если сделать дамп памяти) между F3 57 3A 01 60 A7 C2 ED 5D и 4F 20 4D 41 53 20 46 41 53 должно быть:
D5 CD 53 97 DD 21 BC 5D CD 63 97 DD 21 BB 5D 11 01 00 CD A7 5D D1 30 E8 3A BB 5D BA 20 E2 D5 F5 CD 53 97 DD 21 D7 5D CD 63 97 F1 87 21 B5 5D 85 6F 8C 95 67 5E 23 56 DD 21 42 AA CD A7 5D D1 D8 18 BE 3E FF 37 14 08 15 F3 3E 0F D3 FE C3 62 05 60 22 F8 2A 10 27 00 04 0C 60 50 4F 4E 20 45 4E 20 4D 41 52 43 48 41 20 45 4C 20 43 41 53 45 54 C5 FF 07 0C 50 43 41 52 47 41 4E 44
а там полная ерунда, в следствии чего после прохождения 5 уровней не происходит просьба включить магнитофон для загрузки следующих уровней.
То, что в оригинале вообще должно быть в начале меню с выбором управления, Никитин не стал заморачиваться и сделал свою версию где игра начинается (извините за каламбур) с начала игры
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K
Попалась какая-то софтина самодельная для ТВ заставок как я понял, но как эти блоки запихнуть воедино чтобы это все работало я так и не понял
![]()
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K
Black Cat / Era CG(11.04.2025)
Сообщения про читы перетащил сюда https://zx-pk.ru/threads/297-chity-v...=1#post1212841
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Какие блоки, можно поподробнее ? У нас в городе Нске на местном кабельном канале поначалу использовали пульт видеооператора на базе Спектрума, с софтом типа Scala на амиге, смесь бейсика с кодом, видел какие то части пакета у местного спектрумиста типа Сендецкого, потом это было все утрачено.
Последний раз редактировалось ^m00h^; 13.04.2025 в 16:25.
Haiku OS - духовный последователь AmigaOS! Welcome на борт MK4 с зоопарком операционных систем, в наш космо-десант, Special Forces, в крайний отсек корабля, уходящего в гиперпрыжок, на поиски Раккслы и эры Встретившихся рук, в Час Быка, Звездное Наследие за нами!!!
https://t.me/haiku_ru
Дабы не повторяться отвечу в сообщении в личке, там примерно такой же вопрос и звучал:
Лично у меня вообще сложилось впечатление о том как это все должно работать знал только сам автор, т.е он не сделал какой-то конечный вариант где можно было бы просто взять и загрузить программу целиком а просто вручную как-то загружал эти блоки и уже потом их активировал, даже в бейсик блоке где основной код программы там кроме команды загрузки экранной заставки больше ничего нет хотя уже буквально через несколько строчек идет команда вызова с определенного адреса.
Группа в ВК, посвященная кассетным версиям игр для спектрума
В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K
^m00h^(13.04.2025)
в оригинале это дискетная версия игры от Антона Васильева.
https://vtrd.in/gamez/z/ZONA-0.ZIP
Павел просто скинул кусок из неё на кассету (и убрал trdos)
он лично торговал софтом на РадиоРынке и любыми путями старался разнообразить ассортимент.
`чинить` такое не надо, это история...
Там достаточно интересный набор фрагментов, я для себя определил это как куски процесса разработки защиты от анализа (reverse engineering). Как я себе представляю после поверхностного осмотра:
aaa/004_TV_STUDIO.tap это и есть окончательный и основной вариант, готовый к использованию – загружай и запускай. aaa/001_MAIN.tap это набор компонентов, уже подготовленных к работе в «защищённом» варианте. Т.е., «исходные» исходники отсутствуют.
детали
Устроено там всё достаточно просто: это программа на Бейсике с небольшими процедурами в машинных кодах (см. 001_MAIN.tap:MAIN). Программа передач и текстовые рекламные объявления хранятся без затей в строковых массивах и сохраняются/загружаются штатными SAVE/LOAD. Есть ещё некая «супер» реклама, это просто кодовый блок, который загружается по адресу 36840 и вызывается. Источник тайных знаний – BASIC программа в 001_MAIN.tap.
Из данных там:
- программа передач на сегодня
- программа передач на завтра
- текстовые объявления
- «супер» объявления/реклама (просто код)
Плюс таймер, который просто часы, просто показывающий время, и возможность автоматического показа всего подряд по кругу («авто-оператор»), всё можно посмотреть в любом из 0xx_nn файлов в bbb/ (не считая aaa/00x_MAIN), там явно рабочие черновики.
Защита от анализа тоже устроена достаточно просто: после того, как все необходимые компоненты (BASIC, шрифт, код, картинки) были загружены, был снят дамп памяти (зачем-то включающий большую часть ПЗУ) и сделан загрузчик этого дампа. Там есть какая-то защита от BREAK и прочего такого, но с современными эмуляторами это должно обходиться достаточно тривиально (я сам читал про такое, но опыта не имею, более квалифицированный человек, скорее всего, взломает/разберёт это за пару минут). Опять же, смысл разбирать достаточно неясен, все компоненты для анализа/модификации есть в 00x_MAIN, надо просто будет написать свой загрузчик.
Остальное похоже на разные промежуточные варианты, которые были сохранены в процессе разработки или модификации.
Вот краткий обзор всех файлов:
- aaa/:
- 000_TV_STUDIO.tap - вариант окончательного загрузчика дампа
- 001_MAIN.tap - похоже на большую часть исходных компонентов, наверное, отталкиваясь от этого можно, в теории, воссоздать незащищённый вариант, с другими заставками каналов и прочими модификациями, сходу я там только шрифт не вижу, но, он может быть просто объединён с кодом
- 002_TV_STUDIO.tap - идентично 000_TV_STUDIO.tap
- 003_MAIN.tap - идентично 001_MAIN.tap
- 004_TV_STUDIO.tap - окончательный защищённый вариант, все компоненты из MAIN объединены и выгружены в виде сплошного дампа памяти
- bbb/:
- тут различные куски, разные варианты, в основном BASIC программы и загрузчика
- особенный интерес представляет 034_29.tap, так как там вот непонятно что, какие-то ASM фрагменты в основном сканирующие клавиатуру, а большая часть 0xx_nn файлов, похоже, варианты основной Бейсик программы, 0xx_TV_STUDIO – варианты загрузчика
- вот эти файлы являются простыми копиями и могут быть выкинуты или проигнорированы (просто md5 прогнал):
- 000_0.tap = 001_0.tap
- 004_3.tap = 004_3.tap
- 022_TV_STUDIO.tap = 023_TV_STUDIO.tap
- 019_TV_STUDIO.tap = 020_TV_STUDIO.tap
- 028_21.tap = 029_21.tap
- 009_7.tap = 010_7.tap
- 017_12.tap = 018_12.tap
- 014_10.tap = 015_10.tap
[свернуть]
Upd: собрать всё в целое и без «защиты» оказалось даже проще, чем я думал – вот тут можно скачать.
Последний раз редактировалось Chwe; 13.04.2025 в 17:50.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)