User Tag List

Страница 24 из 45 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 444

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

  1. #231

    Регистрация
    24.06.2005
    Адрес
    Лысьва
    Сообщений
    1,205
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А фрагментированные файлы поддерживаются? Была несколько раз ошибка \"F_er\", которая устранялась после полного стирания и записи tzx файлов.

  2. #232

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от skyther
    А фрагментированные файлы поддерживаются? Была несколько раз ошибка \\\"F_er\\\", которая устранялась после полного стирания и записи tzx файлов.
    Нет пока не поддерживаются, но работы в этом направлении ведутся. Для этого надо доволно много переделать, в частности добавить хорошую буферизацию. Дело в том, что пока идёт воспроизведение \"беготня\" по секторам может превысить межбитный интервал.
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

  3. #233

    Регистрация
    17.05.2005
    Адрес
    г. Абакан
    Сообщений
    694
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А сразу после выбора файла может быть можно построить цепочку в ОЗУ по принципу: 4 байта - адрес сектора (не номер), 1 байт - длина нефрагментированного участка. Выделить под это дело байт этак 50, т.е. на цепочку из 10 фрагментов. Если длина равна нулю - конец цепочки. Если файл фрагментирован более 10 фрагментов, то \"еггог\" еще до старта вывода...

  4. #234

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 jdigreze

    Да, это нужно сделать, но только ошибка у меня всё равно появляется до начала воспроизведения потому как парсинг идёт и там проверяется целостность блоков файла. Хотя есть вероятность того, что парсинг проскочит \"не родные\" сектора.

    Поэтому наверное проще добавить перед парсингом проверку на смежность кластеров файла. Просто по фату пробежаться от начала файла и до конца :-)
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

  5. #235

    Регистрация
    24.06.2005
    Адрес
    Лысьва
    Сообщений
    1,205
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Погонял SD карту, не работает Вот лаги с теримнала:
    Код:
    MMC_GO_IDLE: OK
    MMC_SEND_OP_COND: FAILED
    DOS_mmcStartMR: FAILED

  6. #236

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 skyther

    Спасибо. Это очень важная информация. Получилось тоже самое, что и у меня с SD. Надо разбираться...
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

  7. #237

    Регистрация
    17.05.2005
    Адрес
    г. Абакан
    Сообщений
    694
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DVS
    Просто по фату пробежаться от начала файла и до конца
    Честно сказать, я думал, что у тебя так и сделано... Видимо обшибси...

    Хм. И странно, что SD не хочет реагировать на CMD1. Вот что по этому поводу пишет SanDisk:
    Цитата Сообщение от SanDisk
    The host must poll the card (by repeatedly sending CMD1) until the ‘in-idle-state’ bit in the card response indicates
    (by being set to 0) that the card completed its initialization processes and is ready for the next command.
    Т.е. CMD1 (set_op_cond) должен в любом случае вывести карту из сна, но эту команду нужно посылать многократно, пока не сбросится бит <<in-idle-state>>.
    И еще:
    Цитата Сообщение от SanDisk
    In SPI mode, however, CMD1 has no operands and does not return the contents of the OCR register. Instead, the
    host can use CMD58 (SPI Mode Only) to read the OCR register. It is the responsibility of the host to refrain from
    accessing cards that do not support its voltage range.
    А вместо OCR, будет возвращаться один байт - R1, в котором бит <<0>> и есть <<in-idle-state>>.

    В общем, хз... Я полностью ориентировался на SD, и отличий от MMC не знаю. А документ от SanDisk называется ProdManualSDCardv1.9.pdf, если не найдешь, пиши на мыло, отправлю... Правда там около 1,1Мб

  8. #238

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jdigreze
    Честно сказать, я думал, что у тебя так и сделано... Видимо обшибси...
    В следующих версиях будет доделано ;-)

    Цитата Сообщение от jdigreze
    Т.е. CMD1 (set_op_cond) должен в любом случае вывести карту из сна, но эту команду нужно посылать многократно, пока не сбросится бит <<in-idle-state>>.
    Он не только не сбрасывается, там ещё и бит <<illegal command>> взведён!

    У меня подозрения закрались насчёт реакции SD на отпускание CS... Дело в том, что Response R1 (после отправки команды и CRC) я читаю так: тактирую SPI побайтно, т.е. по 8 бит, и смотрю, что мне в регистр сваливается, как только это что-то отлично от 0xFF я прекращаю тактирование, считаю что принял R1 и отпускаю CS. Но по идее нужно читать ещё 40 бит, так как длина R1 48бит, но зачем это делать если полезная инфа содержиться только в первых 8 битах!!!
    Поэтому я считал, что после отпускания CS, карта при следующем CS не будет пытаться вывести мне оставшиеся 40 бит.

    В общем, то в обоих вариантах результат не удовлетворительный SD отказывается выходить из Idle, мало того во втором варианте с чтением всех 48 бит R1 отличается от полученного по первому варианту (8 бит) !!! :-)

    Продолжаю поиск решения...

    PDF у меня вроде достаточно, даже на какой то проц Intel XCA Application Note скачал, там написано как SD инициализировать: CMD0, CMD55, ACMD41 - пробовал и так.
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

  9. #239

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот как это делается:

    Код:
    u08 mmcCommand(u08 cmd, u32 arg)
    {
    	u08 r1;
    	u08 retry=0;
    	// send command
    	spiTransferByte(cmd | 0x40);
    	spiTransferByte(arg>>24);
    	spiTransferByte(arg>>16);
    	spiTransferByte(arg>>8);
    	spiTransferByte(arg);
    	spiTransferByte(0x95);	// crc valid only for MMC_GO_IDLE_STATE
    	// end command
    	// wait for response
    	// if more than 8 retries, card has timed-out
    	// return the received 0xFF
    	while((r1 = spiTransferByte(0xFF)) == 0xFF)
    		if(retry++ > 8) break;
    	// return response
    	return r1;
    }
    
    u08 mmcSendCommand(u08 cmd, u32 arg)
    {
    	u08 r1;
    
    	// assert chip select
    	SPI_CS = 0;
    	// issue the command
    	r1 = mmcCommand(cmd, arg);
    	// release chip select
    	SPI_CS = 1;
    
    	return r1;
    }
    
    u08 mmcReset(void)
    {
    	u16 retry;
    	u08 r1=0;
    
    	retry = 0;
    	do
    	{
    		// send dummy bytes with CS high before accessing
    		spiTransferByte(0xFF);
    		spiTransferByte(0xFF);
    		spiTransferByte(0xFF);
    		spiTransferByte(0xFF);
    		// resetting card, go to SPI mode
    		r1 = mmcSendCommand(MMC_GO_IDLE_STATE, 0);
    		// do retry counter
    		retry++;
    		if(retry>100) 
    		{
    
    		#ifdef DEBUG
                     	USART_puts("MMC_GO_IDLE: FAILED");
    		#endif
    		return 0xFD;
    		}
    	} while(r1 != 0x01);
    
    	#ifdef DEBUG
             	USART_puts("MMC_GO_IDLE: OK");
    	#endif
    
    	// TODO: check card parameters for voltage compliance
    	// before issuing initialize command
    
    	retry = 0;
    	do
    	{
    		// initializing card for operation
    		r1 = mmcSendCommand(MMC_SEND_OP_COND, 0);
    		// do retry counter
    		retry++;
    		if(retry>5000) 
    		{
    		#ifdef DEBUG
                    	USART_puts("MMC_SEND_OP_COND: FAILED");
      		#endif
           		return r1;
    		}
    	} while(r1);
    		
    	#ifdef DEBUG
                  	USART_puts("MMC_SEND_OP_COND: OK");
    	#endif
    
    ...
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

  10. #240

    Регистрация
    11.03.2005
    Адрес
    Екатеринбург
    Сообщений
    311
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Повторю, что с MMC работает на УРА. Я mmcReset вообще делаю перед воспроизведением каждого файла :-)
    Magic 05/128Кб/AY/kempston mouse/FDD 5.25/ext keyboard/minitower
    "ZX FlashTaper" developer : тут

Страница 24 из 45 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 12
    Последнее: 22.05.2006, 14:17
  2. "Забытая Легенда" jrpg
    от Schafft в разделе Игры
    Ответов: 43
    Последнее: 15.03.2006, 20:24
  3. Подписка на "Абзац"
    от CHRV в разделе Пресса
    Ответов: 27
    Последнее: 22.06.2005, 11:54
  4. Ответов: 4
    Последнее: 01.02.2005, 22:37
  5. Выбор "в железе"
    от vitasam в разделе Несортированное железо
    Ответов: 9
    Последнее: 19.01.2005, 01:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •