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

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

Ср мар 01, 2017 15:16:03

И дохли как мухи одинаково. 8)

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

Ср мар 01, 2017 16:56:13

Да нет, не одинаково. С одной поменьше поработал, с другой побольше. Да и умерли пока два МК, два отдал знакомому.

У меня вопрос по магнитофону. Вставили карту, включили питание. Например, карта не отвечает, о чем будет выведено соответствующее сообщение. Как правильно далее поступать, отключать питание, вставлять другую карту?

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

Ср мар 01, 2017 17:11:05

Да нет, не одинаково.


Причина сдыхания у всех - непрошиваемость. Следовательно, одинаково. :)
Брал я в Китае AD725 - по сравнению с ЧиД дешевле раз в 50. Но PAL-кодер так и не заработал ни на одной. Иногда он включался, если где-то за что-то держаться рукой - за что именно, выяснить я не смог. С тех пор я что-то дешёвым китайским деталям не доверяю. Вот ещё на эту тему: http://easyelectronics.ru/mikrosxemy-iz-kitaya.html

Как правильно далее поступать, отключать питание, вставлять другую карту?


А какие ещё есть варианты? 8)

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

Ср мар 01, 2017 17:54:31

da-nie писал(а):Причина сдыхания у всех - непрошиваемость. Следовательно, одинаково

Ну, если с этой стороны смотреть, то да, одинаково :(

da-nie писал(а):С тех пор я что-то дешёвым китайским деталям не доверяю

К сожалению, с некоторых пор цена перестала определять качество.

da-nie писал(а):А какие ещё есть варианты?

Я не знаю, поэтому и спрашиваю. А то может быть есть какая-нибудь тайная комбинация из "трех клавиш". Ибо как-то не логично программа работает – сообщение пропадает и не понятно, что дальше делать. Можно бы было сообщение оставить.

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

Ср мар 01, 2017 21:21:57

Ибо как-то не логично программа работает – сообщение пропадает и не понятно, что дальше делать. Можно бы было сообщение оставить.


Ах, в этом смысле! 8) Ну, оно так исторически сделано. :dont_know: Но вы можете воткнуть while(1); в нужном месте и программа остановится.

К сожалению, с некоторых пор цена перестала определять качество.


Пока их ЧиД брака не попадалось. :dont_know:

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

Пн апр 10, 2017 11:46:16

Вопрос к автору, а можно научить эмуль читать ещё и файлы для Радио-86РК?

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

Пн апр 10, 2017 12:02:44

Я уже спрашивал на ZX.PK.ru, сказали что форматы разные :( не получиться. и здесь спрашивал на 13-ой странице.

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

Пн апр 10, 2017 12:20:41

Тоже уже нашел, что одновременно нет, а отдельную прошивку для чтения файлов РК?

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

Пн апр 10, 2017 13:45:06

А смысл :dont_know: там файлов для РК у меня в смартфон все влазили в формате wav :))

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

Пт июн 02, 2017 08:17:15

Здравствуйте! Кто-нибудь пересобирал прошивку под китайский дисплей (с увеличенными задержками) и с нормальным английским (а не транслитом)? Я с winavr не знаком, пытаюсь пересобрать прошивку и получаю при включении сообщение об ошибке FAT (FAT12). Хотя родной хекс из того же архива работает нормально. Тратить время на изучение еще одной ide, честно, не хочу.

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

Пт июн 02, 2017 12:58:45

Вообще говоря, там тратить время не нужно - достаточно просто сделать make из меню. А вы компилируете модифицированную прошивку? Попробуйте откомпилировать оригинальную и посмотреть, что её hex выдаст. Дело в том, что FAT12 он никак не может определить на старой и не определять на новой. Возможно, в новом WinAVR что-то поменялось в компиляторе?

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

Пт июн 02, 2017 13:08:27

Вообще говоря, там тратить время не нужно - достаточно просто сделать make из меню. А вы компилируете модифицированную прошивку? Попробуйте откомпилировать оригинальную и посмотреть, что её hex выдаст. Дело в том, что FAT12 он никак не может определить на старой и не определять на новой. Возможно, в новом WinAVR что-то поменялось в компиляторе?

Даже если я просто компилирую оригинальные исходники, возникает та же ошибка.

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

Пт июн 02, 2017 19:46:08

Странно. Попробуйте вот эту версию WinAVR: https://yadi.sk/d/8LijRFPn3Jmjw5 Я именно в ней делал.

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

Пн июн 05, 2017 12:46:37

Странно. Попробуйте вот эту версию WinAVR: https://yadi.sk/d/8LijRFPn3Jmjw5 Я именно в ней делал.


Спасибо, в этой версии все скомпилировалось удачно! Чудеса.

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

Сб июл 01, 2017 21:06:18

Никто не добил чтение данных с современных SD карт? Если нет, подскажите, в каком направлении можно копать, чтобы доработать прошивку?

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

Сб июл 01, 2017 21:36:53

Насколько я помню, там отличие было в том, что современные карты адрес просят в блоках 512 байт, а не в байтах. Ну это-то как раз не сложно изменить. А вот сделать инициализацию современной карты по SPI - вот это и нужно сделать в первую очередь. Я попробовал и отложил это занятие. А инициализация там в sd.h.

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

Пн июл 03, 2017 09:25:24

Т.е. если не проходит инициализация по старому протоколу, пробуем по новому?

Сам протокол обмена при загрузке содержимого файлов в память тот же?

Еще видел адаптеры для SD карт на 6 или 9 пин, чем они друг от друга отличаются?

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

Пн июл 03, 2017 19:10:30

Т.е. если не проходит инициализация по старому протоколу, пробуем по новому?


Можно и так.

Сам протокол обмена при загрузке содержимого файлов в память тот же?


Почти. Нужно вместо адреса передавать номер блока (адрес поделить на 512).

Еще видел адаптеры для SD карт на 6 или 9 пин, чем они друг от друга отличаются?


Не знаю. Но возможно, у 6 нет контактов "карта вставлена" или ещё каких подобных.

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

Вс авг 13, 2017 15:41:56

Обновление версии ПО.
Теперь поддерживаются SDHC-карты.
Но не все карты мне удалось запустить. Есть две карты, которые просто не завершают процесс инициализации. Он идёт и идёт и идёт... Одна такая карта обычная на 2 ГБ, а другая 8 ГБ.
Вот ещё что. Карта должна быть отформатирована в FAT16. Windows такой фокус сделать вам не даст. Я использовал AOMEI Partition Assistant Standard Edition 6.3 чтобы удалить все разделы на карте и создать раздел в FAT16. Максимальный размер раздела - 4 ГБ. Вот с таким образом подготовленной картой у меня всё работает.

Firmware 2.2.rar
(171.94 KiB) Скачиваний: 324


Общий алгоритм инициализации я взял с какого-то сайта. Однако, оказалось, что SD версии 1 не все инициализируются по ACMD41. Команда-то проходит, но процесс не завершается. Поэтому я их инициализирую по старинке с помощью CMD1. Также у SDHC карт размер карты вычисляется иначе (и иная структура регистра). Как именно, я пока не понял, поэтому для SDHC-карт размер карты показываться не будет.

Изображение
Вложения
FatFS-sdinit.png
(33.62 KiB) Скачиваний: 2123

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

Ср сен 13, 2017 09:29:56

Всем доброго Мяу!

Уважаемый автор посвяти пожалуйста неумелого кота, как правильно прочитать формат файла tap.
В описании пишется....
Format Description

The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, including the flag and checksum bytes. The checksum is the bitwise XOR of all bytes including the flag byte. For example, when you execute the line SAVE "ROM" CODE 0,2 this will result:

|------ Spectrum-generated data -------| |---------|

13 00 00 03 52 4f 4d 7x20 02 00 00 00 00 80 f1 04 00 ff f3 af a3

^^^^^...... first block is 19 bytes (17 bytes+flag+checksum)
^^... flag byte (A reg, 00 for headers, ff for data blocks)
^^ first byte of header, indicating a code block

file name ..^^^^^^^^^^^^^
header info ..............^^^^^^^^^^^^^^^^^
checksum of header .......^^
length of second block ......^^^^^
flag byte .......^^
first two bytes of rom ...............^^^^^
checksum (checkbittoggle would be a better name!).............^^

Note that it is possible to join .TAP files by simply stringing them together; for example, in DOS / Windows: COPY /B FILE1.TAP + FILE2.TAP ALL.TAP ; or in Unix/Linux: cp file1.tap all.tap && cat file2.tap >> all.tap
For completeness, I'll include the structure of a tape header. A header always consists of 17 bytes:

0 1 Type (0,1,2 or 3)
1 10 Filename (padded with blanks)
11 2 Length of data block
13 2 Parameter 1
15 2 Parameter 2

The type is 0,1,2 or 3 for a Program, Number array, Character array or Code file. A SCREEN$ file is regarded as a Code file with start address 16384 and length 6912 decimal. If the file is a Program file, parameter 1 holds the autostart line number (or a number >=32768 if no LINE parameter was given) and parameter 2 holds the start of the variable area relative to the start of the program. If it's a Code file, parameter 1 holds the start of the code block when saved, and parameter 2 holds 32768. For data files finally, the byte at position 14 decimal holds the variable name.

Добавлено after 3 hours 9 minutes 17 seconds:
Вопрос.
second block
Это что ?
Ответить