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

User Tag List

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 21 по 30 из 61

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

  1. #21

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,000
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    616
    Спасибо Благодарностей получено 
    1,512
    Поблагодарили
    521 сообщений
    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)

  2. #22

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,000
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    616
    Спасибо Благодарностей получено 
    1,512
    Поблагодарили
    521 сообщений
    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
    С уважением, Станислав.

  3. #23

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

    По умолчанию

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


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

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

    Mick(23.06.2025)

  4. #24

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,026
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    734
    Поблагодарили
    390 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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


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

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

    CityAceE(23.06.2025)

  5. #25

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

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    А что матрац не двигается
    На Специалисте такой матрац не подвинуть, разве что только познакоместно.

    Цитата Сообщение от Mick Посмотреть сообщение
    где понимаешь скролл, не порядок
    Ждём прерывания
    С уважением, Станислав.

  6. #26

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

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    разве что только познакоместно
    По вертикали можно и построчно, проблема больше в отсутствии синхронизации с разверткой, будут видны разрывы. Ну и конечно не полноэкранно.

  7. #27

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

    По умолчанию

    В Emu80 есть возможность включить прерывания для Специалиста. Поэкспериментировал и с этим режимом. Проигрывание музыки и перемещение бегущей строки синхронизировано по прерываниям. Но, так как эти прерывания в Emu80 никак не синхронизированы с кадрами, имеет место тиринг...

    Последний раз редактировалось CityAceE; 24.06.2025 в 21:25.
    С уважением, Станислав.

  8. #28

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,026
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    734
    Поблагодарили
    390 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #29

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

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    А цвет по какому стандарту сделал?
    Стандартный восьмицвет. А НП с защёлкой.
    С уважением, Станислав.

  10. #30

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,026
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    734
    Поблагодарили
    390 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Стандартный восьмицвет.
    А в режиме МХ не пробовал, вроде там цвет поинтереснее?

    - - - Добавлено - - -

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

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

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

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

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

Ваши права

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