Titus, можно попробовать мою старую утилиту rrkwin32 из комплекта 2-й версии emu80:
http://emu80.org/files/emurk286.zip
Upd: исходники, если что, здесь:
https://github.com/vpyk/emu80v3/tree...utils/RrkWin32
Последний раз редактировалось Pyk; 16.03.2018 в 22:16.
Titus, если в настройках (панель управления - звук) в качестве устройства записи по умолчанию выбрать выход звуковой карты, то обычно можно запускать на воспроизведение wav и одновременно rrkwin32 для считывания.
Правда, почему-то не всегда это работает: зависит от звуковой карты, проигрывателя или еще от чего-то - не разбирался.
А почему именно отдельная утилита нужна? Можно же в большинстве случаев загрузить в эмуляторе и сразу же пересохранить в rk?
Проще всего будет набросать что-то для того же Апогея, чтобы тупо считывало последовательность байт и обратно записывало, не анализируя структуру. И запускать эту утилиту в эмуляторе.
Последний раз редактировалось Pyk; 17.03.2018 в 11:19.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вот здесь HardWareMan читал кассеты, но не знаю, доступна ли его утилита для чтения и работает ли она с wav либо напрямую со звуковым устройством:
http://zx-pk.ru/threads/21394-portat...tsialista.html
Titus, в ПЗУ Специалиста есть подпрограмма C422 ввод блока с поиском синхро-байта Е6 по адресам HL...DE. Заносите в HL число 0, а в DE число 8F00, делаете CALL C422 и в ОЗУ с 0 читаете блок длиной до 35.75 кб. В ОЗУ окажутся и адреса блока. Но первый байт E6 не грузится и, если он нужен, то его придётся добавлять вручную. Посмотрев адреса загрузки, директивой К считаете контрольную сумму и сверяете с той, что указана в конце файла.
Но зачем это делать вручную, если это делает монитор. И адреса загрузки Вы не потеряете, их выводит монитор по окончании ввода. Правда, только ленинградский монитор всегда выводит адреса загрузки, а орловский, если КС не совпали, только сообщение об ошибке.
А если всё-таки надо грузить неизвестный двухфазный формат, то лучше воспользоваться ленинградским монитором с незабитым байтом CEDF (это вход в п/п-мму автонастойки на скорость по пилотону) в эмуляторе EMU от b2m, закомментировав в конфиге строки про точки перехвата МГ-подпрограмм (C377 и C3D0). Тогда будет грузится сразу WAV-файл.
Автонастройка позволит грузить МГ-файлы в двухфазной кодировке от любых компьютеров, не мучаясь с подбором констант. При вводе по C422, т.к она не настраивается на скорость, сначала делаете CALL CEDF (она определяет и подставляет константу ввода в ячейку CLD) а затем загружаете регистры HL,DE и делаете CALL C422. Когда писк прекратится, жмёте НР+F9 и смотрите, что считалось. И лениградский монитор удобнее тем, что с ним видно в какой адрес сейчас идет загрузка (и в любой программе можно нажать НР+F9 для выхода в монитор, отсутствие чего просто бесит в мониторе Орлова).
Непонятно, чем Вас не устраивает эмулятор. Если МГ-записи для Специалиста и эмулятор для Специалиста и он умеет грузить WAV-файлы, то в чём проблема? Сначала слушаете запись, если в начале идут два пилотона, то грузите по I, если только один, то по R. А если ни так и этак не грузится, то пробуете по Y (значит это запись от РК86). А если не грузится и по Y, то пытаётесь грузить блок как написано вначале поста вызовом подпрограммы C422.
Кстати, если будет дохлота, то тоже можно восстановить. Я часто восстанавливал сдохшие тексты, исходники с МГ-кассет. Грузим текст и видим, что начиная с какого-то участка далее идёт не текст, а туфта. Тогда пишем простенькую программку из 15 команд, что сдвигает байты влево или вправо на 1 бит. И это всегда срабатывало. Теряется только один символ, который легко восстановить. А вот при дохлоте на дискете данные не восстановить.
Последний раз редактировалось barsik; 17.03.2018 в 13:35.
Спасибо за советы, но, наверное, я буду делать свою читалку)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)