"Магнитофон" для Спека

Старый спектрумистский форум

Moderator: Shaos

DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

"Магнитофон" для Спека

Post by DVS »

В и-нете куча файлов *.tzx и *.tap, как и загружать на Спекки без магнитофона?

Есть варианты:

1) Через звуковую карту ПЦ;
2) Через выходной порт ПЦ (допустим ЛПТ) с НЧ фильтром на выходе;
3) Через звуковые дорожки СDROM, можно с использованием wav, mp3;
4) С помощью следующего девайса...

Аппаратная часть:

1) Флэш-карта (допустим 128Мб)
2) Клон 8051 (которые я уважаю и уже не забуду, это точно) допустим AT89C4051 - для удешевления конструкции или более дорогой с USB.
3) MAX232 т.е. UART<->RS232
4) ЖК индикатор на HD44780
5) Несколько кнопок, включая кнопу "Воспр." ;-)
6) Обвеска

Программная часть:

1) Верхушка для работы с девайсом через 232 (закачки, удалению, дефрагментации, поиску и т.д.)
2) Нижний уровень: обработка данных по 232, реализацию User Interface (клава+ЖК инд), взаимодействие по SPI с Флэшкой и самое главное воспроизведение выбранного файла через выход с НЧ фильтром.

Я со всем железом знаком, 51 програмлю, верхушки тоже.

Есть исчо фанаты? Какие за и против?
User avatar
CHRV
God
Posts: 1101
Joined: 29 Dec 2003 01:00
Location: Москва

Post by CHRV »

В первую очередь надо прикинуть себестоимость!
А для этого надо более подробно посмотреть детали..
Индикатор можно и нужно брать наидешевший...
Прикинув цену уже можно делать опрос!
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: "Магнитофон" для Спека

Post by Mac Buster »

Здорово. У меня аналогичная идея была. Правда без ограничения только спектрумом. Остальным тоже будет интересно.
Extreme Entertainment
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Для начала, я для собственного удовольствия соберу опытный образец на том, что у меня есть:

1) AT89C51RD2 + EEPROM + клава + 4 * семисегментника
2) Флэшка

Всё питание от 5 вольт.

Меня интересует, формат представления данных tzx и tap, а также метод двухфазного кодирования звуковой частотой. Где есть доки?
User avatar
CHRV
God
Posts: 1101
Joined: 29 Dec 2003 01:00
Location: Москва

Post by CHRV »

Вообще очень популярно наверно в буржуяндии будет такое устройство.
Короче я всячески готов содействовать.
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

DVS wrote:Меня интересует, формат представления данных tzx и tap, а также метод двухфазного кодирования звуковой частотой. Где есть доки?
Странный вопрос ;) Совершенно не о чем волноваться, надо лишь зайти на следующий сайт - http://www.worldofspectrum.org/documentation.html
Extreme Entertainment
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Докладываю результаты работы над девайсом за выходные :-) :

1) MMC подключена к 51RD2 по линиям SPI, сигналы 5В и 3В согласнованы с помощью диодов поттянутых к выходу стабилизатора на 3,3В, от которого питается ММС.
2) Был получен отклик ММС на команду инициализации
3) Написаны функции для инициализации (сброс, настройка режимов), чтения сектора и записи сектора.
4) Расчёт задержек показал, что чтение и запись можно вести "на лету" на скорости 115200 бод, требовалась практическое подтверждние
5) На практике получилось, что I/O можно вести "на лету", что также открывает путь к использованию дешёвых микроконтроллеров ака 4051 с небольшим объёмом ОЗУ (не нужно буферизировать сектор в 512 байт!)

План дальнеёших работ:

1) Разработка простенькой БД или ФАТ (кому как нравиться) ака TR-DOS, без дублирования таблицы (слепок флэшки будет храниться на ПЦ на всякий случай) . Не охота с FAT16 возиться...
2) Реализация простого протокола обмена по UART с использованием команд: чтение сектора, запись сектора, инициализация
3) Написание программы верхнего уровня, которой будет доступен весь объём ММС, с функциями записи, чтения, verify + туева хуча всяких фишек
4) Рассмотрение форматов tzx и tap (спасибо Mac Buster и Caro с zx.pk.ru за ссылку) и написание функции микроконтроллера для поиска и декодирования этих файлов.

Все, кто может помочь дельным советом, присоединяйтесь!
Кто захочет, может взять на себя написание программы верхнего уровня или предложения...
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Сегодня, получив доступ к LPT из XP, узнал максимальную частоту, с которой может работать LPT при использовании WinIO функций, она оказалась всего 33333Гц, что гораздо ниже, чем 115200 при работе через COM порт.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

А я давно наваял под Вынь выгрузку для "Спеца" через звуковушку.... Думаю не трудно будет переделать под Спек. Да еще есть и для чистого ДОСа. Там даже в Спектрум-формате выгружает.
DVS wrote: Сегодня, получив доступ к LPT из XP, узнал максимальную частоту, с которой может работать LPT при использовании WinIO функций, она оказалась всего 33333Гц, что гораздо ниже, чем 115200 при работе через COM порт.
Просьба не путать кБайты и кБиты.... =)
К сожалению частот не помню, буду мерить относительно периода "0".
Кодирование на ленте в спектруме:
"0" - 1 период
"1" - 1 период длиной как 2 периода "0"
"Rakk" - 1 период длиной как 2,5-3 периода "0"
Физический формат:
Пару секунд "Rakk","0","Байты"
Байт кодируется от D7 до D0, 1=>"1", 0=>"0".
Логически не помню, надо смотреть в книжке. Но это не составит труда.
Понятно? Или по подробнее расписать?
Last edited by HardWareMan on 05 Jan 2014 03:27, edited 1 time in total.
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

2 HardWareMan

Отбрось понты, про Кбит и Кбайт я в курсе :rotate:

Очень хорошо, что ты наваял отгрузчик с ПЦ, но у меня идея создания автономного девайса без ПЦ. Буду благодарен, если выложишь свои исходники по озвучке TZX. (я считаю, что TZX самый продвинутый формат, т.к. хранит информацию о паузах и может хранить данные о нестандартных частотах используемых в защищённых загрузчиках).

Если исходники на С - это вдвойне круто. Если не лень можешь переделать их под выгрузку через LPT? Типа битом дёргать с НЧ фильтром на выходе (как в спектруме)? Это будет втройне круто, т.к. мне при разборе исходников не придётся заморачиваться с блоками обработки SB. А если можешь минимизировать используемую память до скажем байт 700 (512 - буфер сектора + всякое разное), то это будет вчетверне круто, а это значит, что ты уже один из разработчиков девайса.

Посмотри также это http://zx.pk.ru/showthread.php?t=423

PS: качнул ftp://ftp.worldofspectrum.org/pub/sincl ... laytzx.zip там есть исходники, но заморочек много и прога не слишком стильная, но разобраться можно.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

А зачем LPT?
Минимизировать мона. Изначально прога была в Паскале, потом на Дельфях.
Может тебе дизасм дать (на Z80) из ОСи Спектрума?
Last edited by HardWareMan on 05 Jan 2014 03:27, edited 1 time in total.
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Зачем LPT?

Смысл в том, что при работе со звуковухой формируется какой-то поток, а потом звуковуха его воспроизводит. У меня же звуковухи нет.

Дизасм загрузчика ПЗУ у меня есть, но от него толку мало (принцип кодирования я уже просёк) т.к. есть куча нестандартных загрузчиков, а формат TZX "хавает" всё поэтому мне нужны исходники (пусть на Паскале) для парсинга TZX и формирования набора частот, который пойдёт через один бит порта микроконтроллера. То что, я скачал жрёт кучу памяти и переделать сложно, в общем если есть желание подключайся.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Хорошо, скачал доку по TZX, попробую чего-нить придумать.
Last edited by HardWareMan on 05 Jan 2014 03:28, edited 1 time in total.
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Ещё я ссылку на исходники проги PlayTZX дал, но они на С. Сижу ковыряю... Если с ним дружишь, то может помочь.
Будет хорошо если у тебя на Pascal'e получиться, я его ещё помню :-)
DVS
Writer
Posts: 24
Joined: 11 Mar 2005 00:15

Post by DVS »

Добавил инфы на http://zx.pk.ru/showthread.php?t=423 !!!