Обсуждаем цифровые устройства...
Ответить

Re: Эмулятор магнитофона для ZX-Spectrum

Вс фев 23, 2014 14:39:03

Нет, дальше я уже скорость не повышал (насколько я помню, там уже надо в программе делитель таймера на другое число переводить. Сейчас там просто сдвиг задержки в пределах байта). Если хотите, вы можете увеличить скорость ещё больше - исходный текст есть. А значения в ПЗУ, насколько я помню, увеличиваются до 255, поэтому нужно просто ещё в два раза сократить интервал.
Правда, не помню, что там было по адресу 1512 - это надо в дизассемблере вам смотреть.
А выжать можно и больше (в конце-концов, можно до скорости процессора дойти - но тут таймер уже придётся отключать и генерировать сигналы напрямую).

Re: Эмулятор магнитофона для ZX-Spectrum

Вс фев 23, 2014 18:06:32

Интересно было бы поэкспериментировать со скоростью загрузки :) , но к сожалению я с такой задачей не справлюсь, т.к. пока не обладаю необходимыми знаниями :(

Re: Эмулятор магнитофона для ZX-Spectrum

Вт фев 25, 2014 18:08:15

В принципе, я сделал поддержку папок. Но ещё надо тестировать и программу в приличный вид внутри приводить. В FAT16 к сожалению, корневой каталог и любая папка представлены по-разному - в первом случае это область последовательных данных с записями о файлах, а во втором это файл, в котором те же записи о файлах, но хранятся они, естественно, в разных кластерах, а не последовательно, как в корневом каталоге. Отсюда и проблемы. Мне пока не понравилось, как я сделал. Но... работает вроде бы.

Re: Эмулятор магнитофона для ZX-Spectrum

Вт фев 25, 2014 20:57:55

Отличная новость :)
А то я уже думал, что Вы не решитесь делать поддержку папок. Спасибо, что откликнулись на просьбу. Буду с нетерпением ждать финальную прошивку с поддержкой папок.

Re: Эмулятор магнитофона для ZX-Spectrum

Вт фев 25, 2014 22:45:14

Ну вот, потестируйте. :) Имейте в виду - никаких сортировок сделать нельзя - файлы и папки выводятся в том порядке, в каком они хранятся на карте.
Директория с одной точкой - это текущая директория. С двумя - уровень выше. Всё, как обычно. :)

Файл удалён.
Последний раз редактировалось da-nie Ср фев 26, 2014 18:48:25, всего редактировалось 1 раз.

Re: Эмулятор магнитофона для ZX-Spectrum

Вт фев 25, 2014 23:58:29

Немного потестировал прошивку :) Папки на флешке эмулятор видит. Если захожу в папку, потом из нее обратно выйти не могу, эмулятор магнитофона виснет, никак не реагирует на кнопки. Помогает только перезагрузка девайса.

Re: Эмулятор магнитофона для ZX-Spectrum

Ср фев 26, 2014 06:17:40

Странно, у меня не виснет. А попробуйте подождать, может быть, и выйдет на уровень выше. Сколько у вас файлов в папках? Я штук 200 держал и работало. И какой у вас объём карты?

А попробуйте-ка вот эту прошивку. Это более ранний вариант.

Файл удалён.
Последний раз редактировалось da-nie Ср фев 26, 2014 18:48:41, всего редактировалось 1 раз.

Re: Эмулятор магнитофона для ZX-Spectrum

Ср фев 26, 2014 18:39:47

Ничего не изменилось, работает также как и прошивка Firmware 2.0. В каждой папке у меня не более 200 файлов. Карта на 1 ГБ. Может я чего не так делаю :dont_know:
Последний раз редактировалось Дмитрий2012 Ср фев 26, 2014 19:16:58, всего редактировалось 1 раз.

Re: Эмулятор магнитофона для ZX-Spectrum

Ср фев 26, 2014 19:04:04

Кажется, понял проблему. Почему-то в моём описании FAT не указано, что:
Если в поле номера первого занимаемого кластера для дескриптора с именем ".. " находится нулевое значение, это означает, что данный каталог содержится в корневом каталоге.


Я полагал, что там будет кластер корневой директории. И напрасно полагал. На моей карте он попал в промежуток корневой директории, а на вашей нет. Вот исправленная прошивка:

Файл удалён
Последний раз редактировалось da-nie Ср фев 26, 2014 19:34:42, всего редактировалось 2 раз(а).

Re: Эмулятор магнитофона для ZX-Spectrum

Ср фев 26, 2014 19:26:51

Спасибо за новую прошивку!!! Теперь эмулятор работает с папками и не виснет :)

Re: Эмулятор магнитофона для ZX-Spectrum

Ср фев 26, 2014 20:58:39

Вот вам немножко другая прошивка. Здесь сделано запоминание до 20 уровней вложенности папок, чтобы вернувшись можно было попасть на выбранную уровнем выше папку. :) Вложить можно и больше 20 папок, но запоминаются только первые 20. :)

Файл удалён.

Re: Эмулятор магнитофона для ZX-Spectrum

Чт фев 27, 2014 18:24:51

Исправил кое-какие мелкие ошибочки.
Вот финальный релиз. :)

Firmware 2.0.rar
(165.76 KiB) Скачиваний: 1859

Re: Эмулятор магнитофона для ZX-Spectrum

Пт фев 28, 2014 19:28:23

Просьба модераторам отредактировать первое сообщение этой темы и внести туда новую прошивку, представленную выше. Сам я этого сделать не могу, т.к. редактирование сообщения невозможно.

Re: Эмулятор магнитофона для ZX-Spectrum

Вс мар 09, 2014 12:02:09

попробовал поставить память м514400 ,я так понял она в 2 раза менше,тест не проходит,но вроде работает на всех скоростях!?
сколько памяти используется во время работы?

Re: Эмулятор магнитофона для ZX-Spectrum

Вс мар 09, 2014 13:14:35

Не более 64 килобайт. :) Это максимальный размер блока у tap-файла. Поэтому если у вас память не менее 64 КБ, то работать может и будет. 8)
Но у вас м514400 вроде как 1 мегабит. То есть, полный аналог той, что я применил. И следовательно, должна проходить тест.

Re: Эмулятор магнитофона для ZX-Spectrum

Вс мар 09, 2014 14:45:49

все в порядке тест 100%,нашел непропай 1 ножки
Спасибо.

Re: Эмулятор магнитофона для ZX-Spectrum

Пн июн 02, 2014 16:58:41

Добрый день! Начал собирать сей девайс и теперь столкнулся с вопросом - в atmega16 - 16 кбайт флеш памяти для программ. Во вложенных здесь прошивках размер *.hex файла 32-39 кбайт.... Я похоже туплю в чем-то, но для какой программной среды эти прошивки? Как настроить фьюзы? Просветите пожалуйста.

Re: Эмулятор магнитофона для ZX-Spectrum

Пн июн 02, 2014 22:24:45

Так в hex-файле шестнадцатиричное представление чисел, плюс пробелы, плюс адрес, потому он и больше раза в 2-3.
Fuse настроить очень просто - нужно выбрать внешний кварцевый генератор и отключить JTAG. Подробнее надо смотреть в вашей программе прошивки контроллера, ибо фьюзы могут быть инвертированы, а могут и нет.

Re: Эмулятор магнитофона для ZX-Spectrum

Пн июн 02, 2014 23:22:29

da-nie писал(а):Так в hex-файле шестнадцатиричное представление чисел, плюс пробелы, плюс адрес, потому он и больше раза в 2-3.
Fuse настроить очень просто - нужно выбрать внешний кварцевый генератор и отключить JTAG. Подробнее надо смотреть в вашей программе прошивки контроллера, ибо фьюзы могут быть инвертированы, а могут и нет.


Вот в файле te.hex (последняя прошивка Firmware 2.0), если открыть его Hex Editor Neo, четко видно, что последняя ячейка с информацией имеет шестнадцатиричный адрес 9934, что соответствует 39220 ячейкам памяти или байтам... При 16 кбайт информации последний адрес должен быть 3FFF..... При чем тут пробелы или система исчисления - байт он и в африке байт, как его не пиши - в двоичной, шестнадцатиричной или десятичной системе исчисления.
Вот файл te.c - это файл программы на языке Си, а чем его оттранслировать???....
Можно ли описать, как Вы прошивали, какой программой, какой программатор (у меня USBASP v2.0)? Вообщем для тех кто на бронепоезде... с деталями....))

Re: Эмулятор магнитофона для ZX-Spectrum

Пн июн 02, 2014 23:47:19

...если открыть его Hex Editor Neo
не мучайтесь, откройте его в программаторе
Ответить