PDA

Просмотр полной версии : TS music for only one AY chip



hood
30.10.2017, 18:31
Привет всем,

в музыке, сделанной в PT3 или Vortex, если я создаю музыку TS (6 каналов в 2 модулях), то в проигрывателе на реальном ZXS только с одним AY я могу использовать стандартный TS-плеер, не теряя тактов процессора, или мне нужно добавить тест для второго AY перед воспроизведением модулей?


Кто-нибудь знает?



Hello to all,

in music made in PT3 or Vortex, if I make TS music (6 channels in 2 modules), then in player on real ZXS with only one AY, can I use standart TS player without loosing CPU tacts, or do I have to add a test for second AY before modules play?


Anybody knows?




Hood

jerri
03.11.2017, 09:08
hood, отсутствие второго ау сделает проигрывание музыки неверным.
я думаю данные для второго ау будут писаться в пустоту

NEO SPECTRUMAN
04.11.2017, 03:28
я думаю данные для второго ау будут писаться в пустоту
данные будут писаться в тот же Ау-к
при этом будет стоять 50гц гул
и сигнал будет жестко промодулирован 50 герцами
высокие частоты будут вибрировать
низкие(те что всего несколько Гц за фрейм) будут играть с расстройкой

так как сначала на протяжении короткого времени прозвучит все то что было записано для первого чипа
а потом на протяжении остатка фрейма будет звучать все то что для второго чипа

управление огибающей сложней
у нее может как быть пере инициализация и смена формы так и не быть

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

запустил проверил
не так все плохо как я ожидал
первого чипа вообще не слышно только треск
расстройка басов имеется

hood
07.11.2017, 10:36
Благодарю вас. Было ли это решением в начале процедуры воспроизведения для обнаружения второго AY? И в соответствии с результатом, запустите данные в один AY или оба AY?


в PT 3 это исходный код PLATSTST, где это может быть решенo:

TSINI
LD HL,module1
JR TSINI1
TSPLAY
LD BC,#FFFD
LD A,#FE
OUT (C),A ;AY #2(1)
CALL PLAYER1+5
LD BC,#FFFD
LD A,#FF
OUT (C),A ;AY #1(0)
JP PLAYER2+5
TSINI1
PUSH HL
LD BC,#FFFD
LD A,#FE
OUT (C),A ;AY #2(1)
CALL PLAYER1+3
POP HL
LD HL,module2
LD BC,#FFFD
LD A,#FF
OUT (C),A ;AY #1(0)
JP PLAYER2+3

drbars
18.11.2017, 09:24
hood, тебе нужно TS трек подготовить таким образом:
— процедура определения находит только один AY чип, тогда играет только 1-ый основной трек.
— процедура определения находит оба чипа AY, подключается 2 трек.

На 1-ом AY чипе воспроизводить оба трека одновременно невозможно.



; ay/ts chip detection by bfox
ld de,#ffbf
ld bc,#fffd
ld hl,#fe00

ei: halt: di
out (c),h ;chip1
out (c),L ;reg 0
ld b,e
out (c),c ;val #FD
ld b,d
out (c),b ;chip2
out (c),l ;reg 0
ld b,e
out (c),h ;val #FE
ld b,d
out (c),h ;chip1
out (c),L ;reg 0
in h,(c)
out (c),b ;chip2
out (c),L ;reg 0
in a,(c)

xor h
jr nz,gotcha
ld a,4
inc h
and h
gotcha

; 0 — no chip (FF FF)
; 4 — single AY (FE FE)
; 3 — double AY (FD FE)
; 1 — TS, no 1st (FF FE)
; 2 — TS, no 2nd (FD FF)