Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Кассетный интерфейс
RSS

Кассетный интерфейс

Принцип работы, реализация кассетного интерфейса на современном пк

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9 10
Печать
 
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Всем привет :)
Многие из нас помнят те времена, когда пк спектрум или "ПОИСК" были вершиной развития компьютерной техники :) В те добрые времена программы хранились на магнитофонных кассетах, так как дисководы а тем более жесткие диски были далеко не у каждого :)
Захотелось реализовать кассетный интерфейс на современном пк.
Думал найти готовую программу позволяющую работать с кассетой- но таких програм оказывается нет. Разве что эмуляторы спектрума, позволяющие конвертировать спек кассеты в tap или tzx файлы.
Некоторая информация есть сдесь
кассетный порт IBM
IBM Cassette tape
http://www.i-assembler.ru/182/9-10.html
http://www.cyberguru.ru/progra...age24.html

Также удалось найти исходники биоса "ПОИСК-1" в которых есть и исходники кассетных функций, даже с понятными русскими коментариями :) (Кому нужно, могу выслать).
Хотел переделать исходники, чтобы реализовать кассетный интерфейс на ком или лпт, но...
Есть некоторые аппаратные отличия которые мешают так просто это сделать...

Кто что может посоветовать ? Ни кто не писал драйверов кассетного порта ?
Может все таки есть готовые програмки ?

Кассетный интерфейс более раритетный чем самый старый флопик :)
Так что давайте попробуем его реализовать :)
DrPass
Advanced Member


Откуда: Донецк
Всего сообщений: 3566
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 апр. 2005
А какие тебя аппаратные отличия смущают? В Поиске-1 магнитофонный сигнал непосредственно снимался с порта и через инвертор К561ЛН2 шел на магнитофон. В обратную сторону - так же. Прикрути это же к параллельному порту, и будет тебе счастье, по крайней мере, в аппаратной части.
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Смущает то, что в отличии от ПОИСК выход таймера не подключен к пятому биту порта 62h. Это использовалось при записи на кассету для некой синхронизации. Таймер осчитывал длительность импульса а проц проверял состояние этого процесса именно через 62 порт.
И выход на магнитофон был непосредственно от таймера. А как его вывести скажем на лпт ?
Я пробывал использовать чтение счетчика таймера 0 на лету для этих целей.
Тоесть проц считал значение счетчика 0, сохранил. После этого цикл считывания счетчика и сравнение на допустимую разницу с сохраненным значением.
Но покамисть эта версия нормально не заработала.
DrPass
Advanced Member


Откуда: Донецк
Всего сообщений: 3566
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 апр. 2005
Ну визуализируй в звуковом редакторе картинку с wav-кой Поисковой программы (они были на том же сайте, где ты исходники bios скачал :-), там наверняка видны синхроимпульсы с таймера. Подозреваю, что схема записи такова: таймер выдает импульс на ленту и в порт. Процессор вычитывает состояние порта, видит логическую 1, и выдает на пятую ногу последовательность бит заданной длины (256 бит, если меня память не подводит). И далее ждет следующего синхроимпульса. Если я неправ, исходники биоса меня поправят :)
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Да, информация записывалась 256 байтными блоками :)
Информация на касете кодируется просто длинной импульса - как азбука Морзе :) Длительность периода 1 -1000 мкс (2 полупериода по 500 мкс), длительность периода 0 -500 мкс (2 полупериода по 250 мкс). Кассетный порт определяет только полярность сигнала, форма сигнала значения не имеет.

При записи на кассету на пк ПОИСК получалось, что пока таймер отсчитывает и выдает на магнитофон полупериод сигнала, а процессор в это время получает новый бит данных и ждет момента (анализируя 5 бит порта 62 )быстренько перезагрузить таймер в соответствии с новым битом данных.

А если всем занят только процессор, все его "брожения" по програмному коду портят временную х-ку сигнала...
По крайней мере мой боевой 286 почемуто нормально не справляется...

Попробую на современном компе. Еще есть вариант припаять провода к динамику...
В общем процес разработки еще идет :)
DrPass
Advanced Member


Откуда: Донецк
Всего сообщений: 3566
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 апр. 2005
Profesor_lampochkin написал:
[q]
Попробую на современном компе. Еще есть вариант припаять провода к динамику...
[/q]
ИМХО, вариант формирования вавки и вывод ее через звуковую карту намного проще и с аппаратной, и с программной точки зрения :)
Fe-Restorator
Гость

Ссылка

Оффтоп: Интересно, насколько хорошо "программная" кассета будет дублироваться на повышенной скорости, т.е. High Speed Dubbing ?
И заодно, можно-ли восстановить прогу из такого дубля, чтоб вновь записать на ленту, уже в нормальном режиме?
(Достались несколько кассет, либо уже повреждённых, либо "быстродублированных", не различить толком, и содержимое неизвестно, мож вовсе не программа а какой-нть факс...).
Сейчас на форуме
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Да, через звуковуху наверное проще...
Но я попробую добить намеченный вариант, а потом займусь и звуковухой :)
Сейчас я пытайсь написать резидентную дос програмку, которая перехватит int 15h и будет обслуживать не сушествующие на современных пк кассетные функции.
Пользоваться этими функциями можно даже в старых версиях бейсика. Но пока получилось запустить функции 0 и 1 - вкл/выкл мотора. Команда бейсика motor по настоящиму стала работать !! :)
Если получиться, можно будет попробывать даже вписать это все в загрузочный сектор дискеты.
Грузишся с дискеты - на экране старая добрая надпись
F1-работа с кассетой
F2-работа с ПЗУ :)

А для вин действительно надо на звуковухе сделать :)
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Fe-Restorator, а предположительно это кассеты спектрум ?
Спектрумовсие кассеты, помоему, были гораздо более распространены чем IBM.
На сколько я знаю, на некоторых спеках была возможность писать/читать с удвоеной скоростью. Может Вам такие достались ?
А на чем Вы их читали ?

Кстати появилась мысль - нельзя ли для работы с кассетами использовать модем ?
Звуки по крайней мере очень похожи :)
Хотя наверное пока разберешься с модемовским протоколом, можно 20 раз на лпт сделать :)
Fe-Restorator
Гость

Ссылка

Profesor_lampochkin написал:
[q]
Fe-Restorator, а предположительно это кассеты спектрум ?
[/q]
Об сём не знает даже их продавец: выдал их бонусом к нетбуку, мол, завалялись. Так-вот!
Не читал толком, просто "слушал" звуковушкой. Для сравнения послушал "спековскую" кассету - звучит явно медленнее, потому и спрашивал. Пока-что отложу сии ленты, гонять их лишний раз без пользы не хочу.

Profesor_lampochkin написал:
[q]
Кстати появилась мысль - нельзя ли для работы с кассетами использовать модем ?
[/q]
Мысль неплохая, но как ты обучишь мафон handshake-процедуре? :) Хотя, если вывести курьер в режим выделенной линии... может и получится. Команду на включение мотора взять, подпаяв релюшку к одному из светодиодов, например, управлять им программно.
Не забудь только скопипастить из окна терминала в блокнот и поменять расширение на ехе :biggrin:
Сейчас на форуме
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9 10
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Кассетный интерфейс
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS