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

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 32

Тема: КР1818ВГ93 изнутри ...

  1. #21
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    В e-zine DejaVu была схема переделки BDI в составе Пентагона под дискеты высокой плотности HD
    А как насчет программной поддержки? Аппаратно то, ясен пень сделать несложно, а вот будут ли работать программы? Если добавить кол-во секторов на треке (это как бы самый правильный вариант), то очень много программ не запустятся, они считают что секторов то 16, на трек. Если попробовать сделать пересчет и увеличить кол-во треков, то тогда может что и получится.

    Цитата Сообщение от spensor Посмотреть сообщение
    Команда Read Track по документации должна считывать всю дорожку от индексного импульса до индексного,
    Когда я писал первые процедуры для работы с диском на Профи, в ЦПМ, то начинал сначала разбираться с командами имея на руках скудное описание. Доступ к ВГ93 на профи полный, порты открыты. Делал и чтение дорожки. Дорожка читается, вся. Вероятность рассихнронизации выше чем хуже читается дискета, и чем хуже дисковод. Если мы только что отформатили дискету на FD-55 то команда чтение дорожки с вероятностью 70-80% прочитает весь трек верно. Если дискета писана другим дисководом то вероятность падает до 5-10%. Причем сбой синхры может начаться где угодно, в любом месте диска.

    Цитата Сообщение от Titus Посмотреть сообщение
    Помню, что делал в обход этого глюка защиту для Софтстаровской версии Street Fighter'а,
    На профи многие программы которые продавал Кондор (в режиме ЦПМ) имели защиту. Сделана была именно таким вышеописанным способом. Читался весь трек командой "чтение дорожки", потом в определенном месте, в межсекторном промежутке, искалась определенная сигнатура, скажем:
    +0 A
    +1 B
    +5 C
    +7 D

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

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  2. #22
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Если мы только что отформатили дискету на FD-55 то команда чтение дорожки с вероятностью 70-80% прочитает весь трек верно.
    если мы на дорожку записали определенные байты, то 100% именно в этом месте будет рассинхронизация. на любом дисководе, на любой дискете. перепроверено в свое время 100500 тыщ млн. раз.

  3. #23
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim
    А как насчет программной поддержки? Аппаратно то, ясен пень сделать несложно, а вот будут ли работать программы? Если добавить кол-во секторов на треке (это как бы самый правильный вариант), то очень много программ не запустятся, они считают что секторов то 16, на трек. Если попробовать сделать пересчет и увеличить кол-во треков, то тогда может что и получится.
    Ну насчет пня и несложно вопрос зыбкий, переделка там основательная и не на всякий клон нахлобучишь, но в целом задача решаемая. А насчет программной поддержки это действительно сложно - для использования таких дискет требуется загрузить коммандер с обычной дискетки (ну или HDD и тому побобного) и уже в коммандере пользоваться, в нынешних реалиях как минимум глупо. И второй вариант патчить TR-DOS, причем там совсем не все гладко, как минимум загрузчики программ не должны иметь оторжения ситуаций когда номер сектора >16. А если принять во внимание что от правила "16 секторов" прыгают все процедуры в TR-DOS, те же FORMAT, MOVE то пределка совсем нетривиальная получается.
    Цитата Сообщение от psb
    если мы на дорожку записали определенные байты, то 100% именно в этом месте будет рассинхронизация. на любом дисководе, на любой дискете. перепроверено в свое время 100500 тыщ млн. раз.
    Именно так, в теме которую я указывал выше, Lion17 дал исчерпывающий ответ по этой проблеме http://zx.pk.ru/showpost.php?p=16970. Вопрос только остался за тем почему так, и можно ли побороть схемной обвязкой.
    Последний раз редактировалось spensor; 07.04.2011 в 10:42.

  4. #24
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,219
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    Именно так, в теме которую я указывал выше, Lion17 дал исчерпывающий ответ по этой проблеме http://zx.pk.ru/showpost.php?p=16970. Вопрос только остался за тем почему так, и можно ли побороть схемной обвязкой.
    Поискал в старых тетрадках и нашел комбинацию из 9 бит, которая гарантированно дает сбой при чтении трека на ВГ, и при отсутствие которой, трек читается гарантированно правильно. И эта комбинация000101001, что в просторечии можно представить, как 0x029. Но еще раз замечу, что эта комбинация не из 8 бит, а из 9.

    Подробности механизма сбоя не помню, но очень так на вскидку мне кажется, что есть два режима чтения MFM-последовательности. Первый - это внутри блоков данных и заголовков, когда контроллер уже правильно синхронизирован на MFM-данные, и просто их читает. Второй режим, это когда контроллер может правильно синхронизирован, может нет, но готов синхронизироваться по первой последовательности 0100010010001001 (MFM). В режиме чтения дорожки целиком, контроллер всегда находится во втором режиме, в результате чего не только правильно синхронизируется в нужных местах, но в том числе и сбивает синхронизацию о комбинации 000101001, если они встречаются внутри блоков данных. Причем, если сбился, то перепутывает тактовые биты MFM кода и собственно биты данных, в результате чего на выходе MFM-декодера имеем абакадабру. Ну это так, чисто теоретически на вскидку.

  5. #25
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,405
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Помню, что делал в обход этого глюка защиту для Софтстаровской версии Street Fighter'а, где как раз использовалось чтение всей дорожки целиком. Т.е. информация на диске была записана не в виде секторов, а в виде единого сплошного потока бит. Но, чтобы сбоя не было, я исключал из потока данных комбинацию, приводящую к сбою. Сейчас уже не помню, какую )
    эту? (cм.аттачмент)

    с этой защитой интересная ситуация вышла, когда писал эмулятор ВГ93 для первого ZXMAK (в нем используется довольно глубокая эмуляция для ВГ93).

    Деталей сейчас точно не помню, но суть примерно следующая.
    Игрушка почемуто не хотела работать если сектор читался с неправильным CRC (а именно с неправильным CRC она и была записана на дискете), но читалась и работала если ВГ сигналила о правильном CRC.
    Такая парадоксальная ситуация привела меня в замешательство. Так и не понял почему игра работает с правильным сигналом CRC, хотя реально записана с неправильным. А с неправильным при этом работать отказывается...

    В итоге я временно залочил эмулятор ВГ93 так, чтобы он всегда правильное CRC давал. Таким образом эта игрушка грузится нормально, но эмуляция ВГ93 некорректная Так все и осталось.

    В Unreal к сожалению эмуляция ВГ не такая детальная. Там до таких деталей не доходит - проскакивает т.к. эмулятор не анализирует реальные CRC.
    Эмуляцию ВГ93 для дотнет версии ZXMAK я писал на основе кода Unreal, т.к. эмуляция первого ZXMAK получилась слишком сложная, лень было столько кода переводить

    может где-то сохранились исходники или описание защиты этого загрузчика?
    Вложения Вложения
    Последний раз редактировалось ZXMAK; 09.09.2011 в 01:48.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #26
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,219
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    эту? (cм.аттачмент)
    Конечно эта, раз там написано Титус )

    Поищу исходники.

    Кстати, Спектакулятор этот образ прочитал хорошо и запустил игру.

  7. #27
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,219
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Вот нашел какие-то исходники.
    Судя по всему там копировщик для стритфайтера и форматтировщик.
    Вложения Вложения

  8. #28
    Veteran Аватар для lisica
    Регистрация
    19.12.2008
    Адрес
    Черкассы
    Сообщений
    1,573
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    А насчет программной поддержки это действительно сложно - для использования таких дискет требуется загрузить коммандер с обычной дискетки (ну или HDD и тому побобного) и уже в коммандере пользоваться, в нынешних реалиях как минимум глупо.
    Не обязательно.

    Цитата Сообщение от spensor Посмотреть сообщение
    И второй вариант патчить TR-DOS,
    А это зачем?????


    Всего лишь научить контроллер обращаться к первой половине секторов 1-16 как к дисководу "А", а вторую 32-64 как "В" и всё. Форматировщик есть, в виде плагина к реалкому, даже реформатит.
    Схема такого бди тож есть и 10(десять) лет успешно используется до сих пор.
    Получается на одной дискете два дика, типа "А" и "В".
    Вот, с ПИСИ не пробовал состыковать...
    Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
    Pentagon 128(1991г.)+YМ
    программатор 2732-27512.


  9. #29
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lisica
    Всего лишь научить контроллер обращаться к первой половине секторов 1-16 как к дисководу "А", а вторую 32-64 как "В" и всё.
    И какой в этом резон? Идея ноухавная, но вещь в себе.

  10. #30
    Veteran Аватар для lisica
    Регистрация
    19.12.2008
    Адрес
    Черкассы
    Сообщений
    1,573
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    И какой в этом резон?
    Две дискеты умещаются на одной. И с ними работаешь как с обычными дискетами даже перевтыкать не надо. Всё на одном дисководе.


    Цитата Сообщение от lisica Посмотреть сообщение
    Получается на одной дискете два дика, типа "А" и "В".
    Извиняюсь, поправлю "А" и "С". "В" всегда 720кб
    Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
    Pentagon 128(1991г.)+YМ
    программатор 2732-27512.


Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Robin of the Wood -- изнутри (inside)
    от TomCaT в разделе Программирование
    Ответов: 22
    Последнее: 03.03.2011, 00:27
  2. продажа кр1818вг93
    от sevol в разделе Барахолка (архив)
    Ответов: 24
    Последнее: 24.08.2010, 09:10
  3. Недокументированные особенности КР1818ВГ93
    от EARL в разделе Программирование
    Ответов: 6
    Последнее: 19.10.2009, 23:17
  4. КР1818ВГ93
    от breeze в разделе Внешние накопители
    Ответов: 16
    Последнее: 03.08.2007, 11:55
  5. КР1818ВГ93
    от lvd в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 22.05.2005, 01:23

Ваши права

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