Итак, мои ковыряния с форматом записи данных на кассету не прошли даром. Результатом стала программа CAS2WAV, позволяющая создавать WAV файл из кассетных программ для последующего воспроизведения на любом аудио-плеере.
Самое интересное, что первоначально цель исследований была диаметрально противоположна - научится читать данные из записей WAV файлов, но это труднее. Однако в итоге у меня получилась небольшая заготовка - декодер, которая позволила без ошибок прочитать все три доступные мне WAV записи с программами ISPP, BASIC и ISKATEL.
Скачать наиболее полный набор кассетных программ для Поиска можно здесь: http://vizersprojects.ru/archive/sannata/apps.zip (за что выражаю благодарность Кравченко М.О. (Vizer), Кравченко С.И. (Profesor_lampochkin), Пелега Е. (DrPass) )
UPD: Ссылка умерла, перевыложил здесь: https://www.dropbox.com/s/ikr8iafsojjcs20/APPS.rar?dl=0
Скачать утилиту можно здесь: https://dl.dropboxusercontent.com/u/.../cas_poisk.rar
UPD: Умерла, прикрепил к сообщению внизу
Напомню, что на ленте (ну или в WAV) хранятся не только сами данные, но есть еще и небольшой заголовок. Там находится название программы (максимально 8 БОЛЬШИХ латинских букв), тип программы (бейскик текстовый/бейсик бинарный/бинарная программа), размер программы, и, самое главное - адрес сегмента и смещения, куда МОНИТОР будет загружать программу и откуда она стартанет. У тех прог, что я декодировал были такие адреса загрузки и типы:
ISPP - 0060:081E, тип: 0x80
BASIC - 0000:0000, тип: 0x02
ISKATEL - 0060:081E, тип: 0x80
Например, для создания WAV с ISPP запускать так:
Код:
cas2wav ispp.cas ispp.wav -n ISPP
Для бейсика так:
Код:
cas2wav basic.cas basic.wav -n BASIC -t 2 -s 0 -o 0