User Tag List

Показано с 1 по 10 из 202

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

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

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

  3. #2

    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    352
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    63
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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


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

  4. #3

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

    По умолчанию

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

  5. #4

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    964
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    75 сообщений
    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

  6. #5

    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    352
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    63
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

Эту тему просматривают: 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

Ваши права

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