Согласен, идея отличная, тока я до сих пор ещё не начинал извращаться :)
Вид для печати
Согласен, идея отличная, тока я до сих пор ещё не начинал извращаться :)
CLK через шину данных = извращение :wink: .Цитата:
Сообщение от DVS
Докладываю по текущему состоянию дел :-)
1) Освоен в достаточной мере формат хранения данных: MBR + Partition Table Entrys + Partition Boot Record + FAT16 + Root Directory. С помощью написаного софта удалось отформатить ММС(FAT16 Ext, 4 sec per cluster) и протестить её в Сименс SX1, раздел с карты успешно распознаётся, ведётся набивка кода для реализации основных файловых функций (пока только FAT16 без длинных имён).
2) Параллельно ведётся работа над железом: микроконтроллер будет с аппаратным SPI ( предположительно ATMega8 ). "Львиная" доля кода для микроконтроллера будет взята из ПО верхнего уровня, т.к. всё-таки ANSI C стандарт.
PS: выяснилось, что работа с картой SD аналогична работе с MMC.
Дальше думаю надо приступать к озвучке tzx-го потока.
Через LPT получилось 106,6Кб/сек (ATmega8 x 16Mhz ) , пришлось "попариться". С железом хватит уже возиться, я думаю, пора прогу писать.
С вводом/выводом остановился на варианте: LPT (в режиме EPP 1.9), этот режим чрезвычайно прост для реализации на Спеке на той-же ВВ55.
В итоге выжал примерно 150Кбайт/сек, но суть не в этом, а в том что наряду с ФАТ16 уже второй стандарт реализован!
По прежнему продолжаю поиск исходников озвучки потока TZX, скачал PlayTZX by Tomaz Kac, ковыряю...
На спеке, вроде ты по магнитафонному собирался подключать :)Цитата:
Сообщение от DVS
Есть какието дешевые отечественные ЖКИ матрицы символьные.
И еще на спеке можно сделать порт вывода на YM или АУ38910, обычно портовые ноги там не используются и висят в воздухе, приделайте шлейф и выведите наружу.
Так и есть!!! Только писать парсинг (разборку) файла TZX "в ломы" поэтому ищу готовое, что можно с минимальными доработками всунуть в Мегу и дёргать битом.Цитата:
Сообщение от CHRV
Итак, докладываю...
1) Поддержка TZX реализована в части тэга 0x10 (это для начала). Очень помогают исходники от Tomaz Kac, придерживаюсь его идеологии.
2) Загрузил во флэшку BOULDER_DASH и попробовал воспроизвести на
пьезо-биппере, подключенном к выводу ATMega... И что вы думаете?!?!? Запищал пилот-тон!!! А потом остальные данные стали попискивать. После этого понял, что пора цеплять аудио-кабель. Загрузил на ПК Win Spectrum Loader и попытался грузануть BOULDER. Не тут-то было... Из шести дата блоков прошёл только один :-((( Начал разбираться... При воспроизведении потока едениц (ровный писк) периодически проскакивали короткие-щелчки. Это был результат того, что флэшка не успевала выходить на режим чтения нового сектора. Что делать??? Буферизацию??? Это тот ещё гемор... Было решено переключить флэшку из режима Single Block Read в Multiple Block Read, что позволяет читать сектора один за другим, но накладывает ограничение на то, что в ФАТ файл должен занимать смежные кластеры ( я думаю, что сильно не помешает, в конце концов задача каждого дефрагера разместить файл на смежных секторах ). После этого блоки стали грузиться и CRC совпадать, но при многоповторном воспроизведении стало ясно, что загрузка не такая стабильная, как хотелось бы. Стал размышлять над выходной цепью, у меня была сделана как в ATM Turbo (на выводе 555ТМ 9 висит 10 кОм и усё). Методом околонаучного тыка сваял следующее: выход 155ЛП8 (повторитель с ОК, на входе сигнал от меги) подтянул 5 кОм к +5В, и последовательно с выходом повесил 22нф. В результате уже час гоняю Болдера и ни одного сбоя. Кстати говоря, при первом варианте на осцилографе почти прямоугольные импульсы, а во втором варианте фронты и спады более гладкие, как с магнитофонной ленты.
Need help, чтобы мою околонаучную выходную схему сделать научной :-)
Ещё вопрос к Камилю: как правильно реализовать Reset у меги??? Я на 51х вешал RC цепочку, у меги прочитал, что там есть ресет при павер апе, но у меня он работает не стабильно, я после этого вдобавок BODEN сделал, после этого ресет стал надёжным.
Нужно!!! :
1) Варианты ЖКИ и светодиодных индикаторов, которые не сильно увеличивают стоимость девайса.
2) Варианты юзер интерфейса, чтоб с минимумом кнопок осуществлять навигацию по пространству tzx файлов, если ставить три или четыре семисегментника, то получается 999(9) ячеек (что вроде бы хватает, одна ячейка - один tzx) . В этом случае, после выбора нужной ячейки (№ ячейки = имя файла) происходит воспроизведение с первого блока и индикатор переключается в режим индикации номера блока, с возможностью прокрутки блоков (чтобы можно было выбрать нужный уровень игры, например).
3) Програмер ( програмер-спектрумист-фанатик :-) ) на IAR C, чтоб дела быстрее шли, всё-таки магнитофон - это не плеер, надо ещё и писать в tzx'е.
Резистор 10 Ком на +5V и даже при выключенном BODEN работает без проблем.Цитата:
Сообщение от DVS
Может с питанием проблема?