User Tag List

Страница 2 из 22 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 251

Тема: ПК Специалист + AY-3-8910/12

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

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

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделать можно, но зачем? Вариант мертворожденный, конфликтует как минимум с программатором, программ нет, желающих программировать для него тоже нет. Если уж подключать, то возможно есть более удачные адреса.
    А для Эрика я все же побольше сделал, но это дело прошлое.

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

  3. #2

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Сделать можно, но зачем? Вариант мертворожденный, конфликтует как минимум с программатором, программ нет, желающих программировать для него тоже нет. Если уж подключать, то возможно есть более удачные адреса.
    Хорошо, адреса можно и другие подобрать. Это ж не проблема. Пока проблема в отладке. А желающих программировать нет как минимум из-за того, что такая реализация только на бумаге - нет ни эмуляции, ни тем более в железе. А так можно было бы хотя бы плеер какой-нибудь адаптировать и вот уже у нас тонна музыки.

    Цитата Сообщение от ivagor Посмотреть сообщение
    А для Эрика я все же побольше сделал, но это дело прошлое.
    Да, но там AY подключен как на Спектруме, по таким же адресам портов. А у стандартного Специалиста портов нет. Нужен какой-то другой софт.
    С уважением, Станислав.

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А так можно было бы хотя бы плеер какой-нибудь адаптировать и вот уже у нас тонна музыки.
    Какой плеер с тонной музыки ты предлагаешь адаптировать под тот вариант подключения? Извратится можно и какую-то музыку адаптировать, но для более-менее комфортных адаптаций (скорее всего с вектора, где из 8080 больше всего музыки для AY) надо прерывания или в крайнем случае таймер.
    Тот вариант представляет исторический интерес, а если ты хочешь пользоваться, а не страдать, надо решить комплексную задачу. И подключение AY и прерывания (или, повторюсь, хотя бы таймер).

  5. #4

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    надо решить комплексную задачу. И подключение AY и прерывания
    Нужно же хоть с чего-то начать. Хотя бы с AY, и хотя бы в эмуляторе. @Pyk готов дорабатывать свой эмулятор, но ему нужен хоть какой-то софт, который позволит ему эту эмуляцию проверить. А что касается ВИ53, то она уже реализована и в Emu80, и в FPGA Специалиста по схеме SP-580. Что касается прерываний, то обсуждение такое ведётся в Телеграм-группе, и я очень надеюсь, что в скором времени они будут реализованы, как минимум, в FPGA Специалисте. Надеюсь, и Emu80 не отстанет. А дальше будем смотреть. Но нужно с чего-то начать...
    С уважением, Станислав.

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Нужно же хоть с чего-то начать.
    Надо начинать с пожеланий/требований. По ним делать/модифицировать (или хотя бы проектировать) железку. Параллельно реализовать в эмуляторе.
    Цитата Сообщение от CityAceE Посмотреть сообщение
    @Pyk готов дорабатывать свой эмулятор, но ему нужен хоть какой-то софт, который позволит ему эту эмуляцию проверить.
    Это конечно здорово, а как ты думаешь я бы стал пробовать что-то сделать под AY? Я бы попытался модифицировать конфиг Emu, но это же может сделать и любой другой человек. В идеале для отладки эмулятора нужны тесты, а для написания тестов нужен эмулятор или железка. Тут нет единственно-верного варианта, что делать первым, у кого что получится, тот и молодец.

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вероятно оффтоп, извините


    Извините, что встреваю, но обсуждение прерываний и обращений к портам для меня выглядит странно.

    Для прерываний по минимуму
    1. Надо сгенерировать INT
    2. В цикле INTERRUPT_M1 (идентифицируем по слову состояния) "чипсет" должен выдать процу FF (не обязательно, но это самое простое).
    3. Гасим INT
    Детали желающие могут обсуждать, но принципиальных проблем нет.

    Что касается обращений к портам по out (можно и z80 приплести).
    Если анализировать слово состояния для выявления например INTERRUPT_M1, то никто не заставляет еще выявлять и обращения к портам по IN/OUT и как-то их менять. Тут все может остаться как раньше.
    И для z80 при большом желании можно сделать эмуляцию обращений к памяти по адресу (старший байт=номер порта, младший байт=номер порта). Для этого надо выявлять обращения к портам и в этих циклах дублировать (через мультиплексор) в старший байт ША младший байт ША.
    Надо ли это? Зависит от целей, но в принципе все возможно, хотя и потребует изменений/доработок схемы, в некоторых случаях значительных.
    [свернуть]

  8. #7

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Набросал проигрыватель PSG-файлов:



    Исходник + мелодия + готовый RKS во вложении.
    Вложения Вложения
    Последний раз редактировалось CityAceE; 22.06.2025 в 21:16.
    С уважением, Станислав.

    Эти 2 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Alikberov(02.07.2025), Mick(23.06.2025)

  9. #8

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поправил ошибки в тексте проигрывателя, так как кое-что парсилось неверно и, соответственно, проигрывалось неправильно:

    Код:
    ; PSG Player (memory-mapped AY-3-8910) with frame delay
    ; https://documentation.help/AY-3-8910.12-ZX-Spectrum-ru/ay_r9zqf.htm
    
    
    	device	zxspectrum48
    
    
            org     0           		; Адрес загрузки
    
    
    startprog:
    
    
    ay_sel		equ	0xf403		; Выбор регистра AY
    ay_wr		equ	0xf401		; Запись в регистр AY
    ay_rd		equ	0xf400		; Чтение из регистра AY
    
    
    delay_const	equ	1633		; Константа задержки
    psg_data	equ	psg + 16	; Адрес начала PSG-данных
    
    
    	ld	hl, psg_data
    loop:	ld	a, (hl)
    	cp	0xfd		; Конец?
    	jp	z, exit
    	cp	0xfe		; Задержка?
    	jp	z, delay
    	cp	0xff		; Явный кадр?
    	jp	z, frame
    	cp	0x0e		; Регистровая пара?
    	jp	nc, skip
    	ld	c, 0
    	jp	write
    
    
    ; FF-блок
    frame:	inc	hl
    frloop:	ld	a, (hl)
    	cp	0xfd
    	jp	z, exit
    	cp	0xfe
    	jp	z, pause
    	cp	0xff
    	jp	z, pause
    	cp	0x0e
    	jp	nc, skip2
    	ld	c, 1
    	jp	write
    
    
    skip2:	inc	hl
    skip:	inc	hl
    	jp	loop
    
    
    ; FE XX: задержка XX*4 кадров
    delay:	inc	hl
    	ld	a, (hl)
    	rlca
    	rlca
    	ld	b, a
    dloop:	call	wait
    	dec	b
    	jp	nz, dloop
    	inc	hl
    	jp	loop
    
    
    ; Запись регистра обычная (C=0) или внутри FF (C=1)
    write:	ld	a, (hl)
    	ld	(ay_sel), a
    	inc	hl
    	ld	a, (hl)
    	ld	(ay_wr), a
    	inc	hl
    	ld	a, c
    	or	a
    	jp	nz, frloop
    pause:	call	wait
    	jp	loop
    
    
    ; Простая задержка на один кадр
    wait:	ld	de, delay_const
    wloop:	dec	de
    	ld	a, d
    	or	e
    	jp	nz, wloop
    	ret
    
    
    ; Глушим все AY-регистры 0–13 перед выходом
    exit:	ld	c, 0
    eloop:	ld	a, c
    	ld	(ay_sel), a
    	xor	a
    	ld	(ay_wr), a
    	inc	c
    	ld	a, c
    	cp	0x0e
    	jp	c, eloop
    	ret
    
    
    psg:
    	incbin	"Slash - Molodoy (1996).psg"
    	; incbin	"Stever - Cosmozone1_cut.psg"
    	db	0xfd	; Дублируем маркер конца мелодии на случай, если мелодия обрезана
    
    
    endprog:
    	savebin	"ay_spec.bin", startprog, endprog - startprog
    С уважением, Станислав.

  10. #9

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поэкспериментировал с индикацией:


    Мелодия играет вот эта.
    Последний раз редактировалось CityAceE; 23.06.2025 в 14:09.
    С уважением, Станислав.

    Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    Mick(23.06.2025)

  11. #10

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Мелодия играет вот эта.
    Ну вот, а разговоров то было, что на Спеце AY нельзя сделать. Теперь еще прерывания и будет счастье


    Цитата Сообщение от CityAceE Посмотреть сообщение
    Поэкспериментировал с индикацией:
    А что матрац не двигается, где понимаешь скролл, не порядок
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

    Этот пользователь поблагодарил Mick за это полезное сообщение:

    CityAceE(23.06.2025)

Страница 2 из 22 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. AY-3-8910 in FPGA
    от VELESOFT в разделе Звук
    Ответов: 18
    Последнее: 25.12.2015, 22:13
  2. AY-3-8910 к РК
    от Kakos_nonos в разделе Радио-86РК
    Ответов: 4
    Последнее: 24.05.2013, 12:10
  3. AY-3-8910
    от Eugeny в разделе Звук
    Ответов: 14
    Последнее: 05.09.2011, 17:11
  4. Продам AY-3-8910
    от crolicasm в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 17.03.2009, 15:25
  5. О портах AY-3-8910...
    от ILoveSpeccy в разделе Звук
    Ответов: 2
    Последнее: 02.07.2007, 15:02

Ваши права

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