Важная информация

User Tag List

Страница 8 из 21 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 202

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

  1. #71
    Activist Аватар для Trol73
    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    350
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от blackinwoman Посмотреть сообщение
    не нашел поиском по теме
    как ускорить загрузку с данного магнитофона ? увеличить скорость загрузки
    В настройках TAP можно указать скорость проигрывания - x2, x4, x8. При этом надо будет пропатчить ПЗУ для работы на повышенной скорости.


    Цитата Сообщение от mmxdmv
    Вопрос автору, а не пытались напрямую посадить аппарат на цифровые линии (после компаратора)?
    Вообще, в платах последних версий вывел свободные пины МК и на них можно сделать цифровую передачу.
    Но тут возникает, как минимум, вопрос, кто будет переводить игры под такой загрузчик?
    Кстати, передать 40кб за 2-4 секунды, девайс, подозреваю, не сможет - atmega работает на 16 МГц, а чтение данных из файла (который, потенциально, может быть сильно фрагментирован) с карты памяти - операция не такая быстрая, как хотелось бы.

    А ещё, магнитофон питается от 3.3В и входным сигналам с уровнем 5В будет не рад

  2. #72
    Member
    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Вообще, в платах последних версий вывел свободные пины МК и на них можно сделать цифровую передачу.
    В своём посте я имел в виду не "свободные пины", а те же самые Save/Load только в цифровой части. Т.е. те же линии подключить поближе к триггерам.
    Ну или можно другие линии, но только активировать либо один либо другой режим.

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Но тут возникает, как минимум, вопрос, кто будет переводить игры под такой загрузчик?
    Это да, это боль. Я мог бы попробовать сделать приём сектора, но спектрум сильно поломался (вплоть до потери платы). На эмуляторе, полагаю, такую фишку не реализуешь.
    Если интересно, то можем как-нибудь списаться или даже голосом поговорить - там идея примитивна, банально пара-тройка десятков команд процессора z80 (в минимальном виде).
    А "переводить игры" - это громко сказано. Если игра не LOAD "" CODE: RANDOMIZE USR - то её не переводить (оставить в формате магнитофона). Думаю больше половины игр сами "переведутся".

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Кстати, передать 40кб за 2-4 секунды, девайс, подозреваю, не сможет - atmega работает на 16 МГц, а чтение данных из файла (который, потенциально, может быть сильно фрагментирован) с карты памяти - операция не такая быстрая, как хотелось бы.
    А вот тут вы не совсем правы. В синхронном режиме, безусловно, прочитать не получится. Это если будем бегать по FAT, если будем побайтно читать...
    Но кто мешает сделать это в асинхронном?
    То есть контроллер читает очередной сектор с флешки целиком себе в оперативу (вроде 512 байт на сектор?). Народ пишет, что 512 байт микроконтроллером реально прочитать за 20мс. Но это не принципиально, Z80 всё равно будет ожидать. А вот дальше включается синхронный режим и все 512 байт залетают в одном цикле. Дальше опять рассинхрон и опять ожидание.
    40 килобайт * 20мс = 800 мс. Ну подумаешь, с фрагментацией это ожидание в одну секунду уложится (не четыре секунды будет, а пять).

    Цитата Сообщение от Trol73 Посмотреть сообщение
    А ещё, магнитофон питается от 3.3В и входным сигналам с уровнем 5В будет не рад
    Можно сиё опробовать не на магнитофоне а на 5 вольтовой ардуинке. Ну или одну из плат магнитофона до конца не собирать (критичные к 3.3 вольтам детали не ставить). И даже флешка не нужна - попробовать часть памяти программ микроконтроллера отправить.

  3. #73
    Activist Аватар для Trol73
    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    350
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Я пока ещё не достиг первоначально поставленной цели - поддержки TZX, и пока это задача №1.
    Также от китайцев стало приходить слишком много брака среди 5110 дисплеев и есть желание перейти на цветные экраны 128x128. Для этого уже готовы такие переходные платки предназначенные для установки на место 5110 и со своим собственным МК, который будет заниматься выводом на экран.


  4. #74
    Member
    Регистрация
    18.01.2016
    Адрес
    г. Москва
    Сообщений
    127
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Честно говоря, не вижу большого смысла в поиске альтернативных быстрых вариантов загрузки по магнитофонному интерфейсу. Лично для меня весь смысл магнитофона был в том, чтобы услышать "тёплый ламповый" звук загружаемых игр и увидеть бегущие по бордюру полосы. Для быстрой загрузки, кмк, достаточно дисковода или его симулятора, и это всё уже сделано.
    Полностью согласен! И на том спасибо!
    Вот я только не понял, он может читать\записывать 86РК ??? А то в магнитофоне вся проблема. У меня даже нет кассетного магнитофона, а кассет и подавно

  5. #75
    Activist Аватар для Trol73
    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    350
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SergeyLLL Посмотреть сообщение
    Полностью согласен! И на том спасибо!
    Вот я только не понял, он может читать\записывать 86РК ??? А то в магнитофоне вся проблема. У меня даже нет кассетного магнитофона, а кассет и подавно
    Воспроизводить RKR - без проблем. Записывать - может в формате BAW. Запись в RKR пока не сделал, т.к. не смог пока понять, как распознавать сигнал, выдаваемый 86РК.
    Сделал сохранение с компьютера в BAW файл, отконвертил его в WAV, открыл в Audacity

    В начале идут стартовые импульсы, потом должен идти байт 0xE6, следующего вида


    И я пока не могу разгадать, как этот байт найти в записанном сигнале?

  6. #76
    Member
    Регистрация
    18.01.2016
    Адрес
    г. Москва
    Сообщений
    127
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Воспроизводить RKR - без проблем. Записывать - может в формате BAW.
    Ясно.
    Я тут не помощник, может это как то поможет, хотя, наверное это Вы все читали PK + PC
    Там пишут, что в “Радио-86РК” каждый бит данных в процессе записи заменяется двумя битами, причем логическая 1 заменяется на 01, а логический 0 — на 10. Для записи одного байта требуется передать через интерфейс 16 бит.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77
    Master
    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    891
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    49 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Trol73 Посмотреть сообщение
    Запись в RKR пока не сделал, т.к. не смог пока понять, как распознавать сигнал, выдаваемый 86РК.
    Вот как это делает ЮТ-88, у них с РК одинаковый формат, только период у РК 0,9мс, а у ЮТ - 0,666мс

    Код:
    TYPE_READ_ADDR1:
    	push	b
    	push	d
    	push	h
    	push	psw
    	rst	6 ;ввод смещения в DE (адрес сохранения программы = ADDR+DE)
    	mvi	a,0FFH
    	call	TYPE_RD_BIT ;читаем синхро и старший байт адреса загрузки ADDR
    	mov	h,a
    	call	TYPE_RD_BYTE ;читаем младший байт адреса загрузки ADDR
    	mov	l,a
    	dad	d  ;адрес сохранения программы = ADDR+DE
    	mov	b,h
    	mov	c,l
    	push	b
    	call	TYPE_RD_BYTE ;старший байт адреса конца программы
    	mov	h,a
    	call	TYPE_RD_BYTE ;младший байт адреса конца программы
    	mov	l,a
    	dad	d
    	xchg
    L01DF:
    	call	TYPE_RD_BYTE
    	stax	b
    	call	CMP_BC_DE ;сравниваем текущий адрес с рассчитанным адресом конца программы
    	inx	b
    	jnz	L01DF
    	pop	b
    	jmp	CRC_BC_DE
    ;
    TYPE_RD_BYTE:
    	mvi	a,008H
    	call	TYPE_RD_BIT
    	ret
    
    ;Чтение битовой последовательности в А с магнитофона
    ;вх. А=0xFF - поиск байта синхронизации и
    ;чтение старшего байта адреса загрузки, А=0x08 - чтение байта
    TYPE_RD_BIT:
    	push	b
    	push	d
    	mvi	c,000H
    	mov	d,a
    	in	0A1H
    	mov	e,a
    L0130:
    	mov	a,c
    	ani	07FH
    	rlc
    	mov	c,a
    L0135:
    	in	0A1H
    	cmp	e
    	jz	L0135
    	ani	001H
    	ora	c
    	mov	c,a
    	call	WAIT_TYPE_RD_BIT
    	in	0A1H
    	mov	e,a
    	mov	a,d
    	ora	a
    	jp	L0163
    	mov	a,c
    	cpi	0E6H ;ловим синхробайт 0xE6
    	jnz	L0157
    	xra	a
    	sta	RAM_0xC3FC
    	jmp	L0161
    ;
    L0157:
    	cpi	019H
    	jnz	L0130
    	mvi	a,0FFH
    	sta	RAM_0xC3FC
    L0161:
    	mvi	d,009H
    L0163:
    	dcr	d
    	jnz	L0130
    	lda	RAM_0xC3FC
    	xra	c
    	pop	d
    	pop	b
    	ret
    WAIT_TYPE_RD_BIT:
    	mvi	b,02DH ;константа, зависит от скорости процессора
    L0170:
    	dcr	b
    	jnz	L0170
    	ret

  9. #78
    Activist Аватар для Trol73
    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    350
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как кодируются и декодируются байты - понятно. К тому же, сейчас это уже реализовано - RKR-файлы магнитофон успешно воспроизводит.
    Но как его расшифровывать сигнал на конкретном приведённом примере - не понятно. Первым байтом должен идти 0xE6, именно он изображен на картинке внизу. И блок данных на диаграмме выше должен начинаться именно с этого байта - два коротких положительных импульса, длинный положительный, короткий положительный, длинный отрицательный и т.д.
    Но я не вижу этой последовательности в начале реального записанного сигнала. Я там вообще длинных горизонтальных "полок" (между битами D3 и D2) внизу диаграммы не вижу, хотя, они должны быть в сигнале..
    Для начала попробую ещё раз загрузить полученный WAV-файл, может, данные побились при конвертировании..

  10. #79
    Master
    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    891
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    49 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Приведенный Вами скрин действительно какой-то странный - нет нижних "полок", т.е. перехода 0 - 1. Вот как должен выглядеть 0xE6:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Буфер обмена02.jpg 
Просмотров:	298 
Размер:	39.9 Кб 
ID:	59888  

  11. #80
    Activist Аватар для Trol73
    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    350
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашёл 0xE6. Если смотреть логическим анализатором непосредственно на выходе ИК55, она там есть. Но после прохождения RC-цепочек 86РК и входного каскада магнитофона сигнал искажается

Страница 8 из 21 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ZX Spectrum и магнитофон
    от zx_ в разделе Внешние накопители
    Ответов: 22
    Последнее: 13.11.2018, 10:07
  2. Магнитофон нужен [СПб]
    от SaintTurnip в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 25.10.2010, 16:49
  3. Кассетный магнитофон.
    от Николай в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 03.04.2010, 15:49
  4. MP3 плеер, как магнитофон для ZX?
    от Addison в разделе Звук
    Ответов: 12
    Последнее: 27.09.2007, 20:19

Ваши права

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