Вывод оцифрованного звука. .BIG BRAIN
ZX-SPECTRUM в Росии имеет несколько устройств для вывода звука.
Это старый добрый бипер, сопроцессор АУ-3-8910/12, целое
семейство C0V0Х'ов (LPT-СОV0X, PROFI C0V0Х, SOUND DRIVE, ...), и
недавно разработанная звуковая плата GENERAL SOUND.
Я раскажу как выводить звук на АУ и PROFI C0V0Х. Вывод на
C0V0Х'ы не сильно отличаются между собой, ну а GENERAL SOUND'а я
не видел и не слышал вообще.
Рассмотрим распространенные 8-битовые инструменты от РС-шного
Sceream Trackera:
Проще всего выводить их на C0V0Х:
LD А,#80 ; инсталляция KP58OBB55A
0UT (127),А
LD HL,начало инструмента
LD DE,длина инструмента
L1 LD А,(HL)
LD В,задержка
DJNZ $
0UT (#3F),А ; #5F - второй канал
INC HL
DEC DE
LD А,D
0R E
JP NZ,L1
АУ позволяет выводить только 4 бита звука, что несколько снижает
качество:
LD ВС,#FFFD ; инсталляция АУ-3-8910/12
LD А,7
0UT (С),А
LD ВС,#BFFD
LD А,#FF ; вывод звука и шума
0UT (С),А
LD ВС,#FFFD
LD А,8 ; каналЫ : 8 - А, 9 - В, 10 - С
0UT (С),А
LD HL,начало инструмента
LD DE,длина инструмента
LD ВС,#BFFD
L1 LD А,(HL)
EXX
LD В,задержка
DJNZ $
EXX
RRA ; выделение 4-х старших бит
RRA
RRA
RRA
0UT (С),А
INC HL
DEC DE
LD А,D
0R E
JP NZ,L1
Oписаным выше способом также можно проигрывать WAV-файлы с РС.
На C0V0Х'е можно получить очень качественные звуки.
Существуют так же 1-битовые оцифровки, которые можно получать с
помощью программ: Instrument Editor 1.01 и Instrument Editor
2.01. Звук записывается в память с порта магнитофона по одному
биту. Качество ощутимо хуже, чем при проигрывании 8-битовых
оцифровок.
Самое качественное звучание можно получить на бипере:
LD HL,начало инструмента
LD DE,длина инструмента
L1
LD А,(HL)
LD С,%00010000 ; маска
LD В,задержка
DJNZ $
RLA
LD В,А
SBC А,А
AND С
0UT (#FE),А
LD А,В ┐
RLA │
LD В,А │ повторть 7 раз
SBC А,А │
AND С │
0UT (#FE),А ┘
INC HL
DEC DE
LD А,D
0R E
JP NZ,L1
PROFI C0V0Х :
LD А,#80 ; инсталляция KP58OBB55A
0UT (127),А
LD HL,начало инструмента
LD DE,длина инструмента
L1
LD А,(HL)
LD В,задержка
DJNZ $
RLA
LD В,А
SBC А,А
0UT (#3F),А ; #5F - другой канал
LD А,В ┐
RLA │
LD В,А │ повторть 7 раз
SBC А,А │
0UT (#3F),А ┘
INC HL
DEC DE
LD А,D
0R E
JP NZ,L1
АУ-3-8910/12 :
LD ВС,#FFFD ; инсталляция АУ-3-8910/12
LD А,7
0UT (С),А
LD ВС,#BFFD
LD А,#FF ; вывод звука и шума
0UT (С),А
LD ВС,#FFFD
LD А,8 ; каналЫ : 8 - А, 9 - В, 10 - С
0UT (С),А
LD HL,начало инструмента
LD DE,длина инструмента
LD ВС,#BFFD
L1 PUSH DE
LD А,(HL)
LD D,%00001111 ; маска
EXX
LD В,задержка
DJNZ $
EXX
RLA
LD E,А
SBC А,А
AND D
0UT (#FE),А
0UT (#FE),А
LD А,E ┐
RLA │
LD E,А │ повторть 7 раз
SBC А,А │
AND D │
0UT (#FE),А ┘
POP DE
INC HL
DEC DE
LD А,D
0R E
JP NZ,L1
────────────────────────────────────────────────────────────────
(С) RAINB0W S0FTWARE
────────────────────────────────────────────────────────────────
Other articles: