Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
Ну, это команды изменения параметров зацикливания, для закачки они не нужны.
Должен схавать через стандартную загрузку сэмпла в память, если её достаточно.
Но в идеале лучше перевести GS в режим ковокса и бросать звук в порт. Главное настроить задержки между выводами.
Потому как загрузка двух мегабайт в GS займет кучу времени, если делать её обычным способом.
Если прикинуть для частоты 11025 герц. Это значит надо столько раз в секунду кинуть байт в порт? Разделить на 50 = 220,5 байт в прерывание. И как эти байты равномерно распределить на прерывание? С учётом того, что драйвер fat для меня чёрный ящик. Запросил у него считать сектор и жди ).
Если по 10 кадр/сек, в каждом кадре 32 сектора. Значит, можно 320 раз в секунду бросать байт в порт. Интересно.
Последний раз редактировалось izzx; 17.01.2022 в 19:04.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
С драйвером ещё нюанс я сразу не заметил: при открытии файла заполняется некая таблица с адреса #B800. А когда файл большой, ближе к двум мегам, таблица заползает выше адреса #C000. То есть, оба самых любимых слота памяти занимает, считай. Придётся извращаться, перекидывать куски видео тудым-сюдым. Значит, потеряется скорость ощутимо.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
Странный драйвер, без предупреждения засирает память. Ну тогда по-любому переделывать драйвер =)
Чтоб чтение шло напрямую блоками, наподобие LBA. И пофиг, если дма-шное, можно и в GS аудио запихать, раз такая песня.
Главное, чтоб при чтении данных не портилось ничего лишнего (не создавалось каких-то там таблиц).
Поправил драйвер SMUC на открытые порты, и сразу скорость возросла в два раза. Теперь выжимает 6 кадр/с, примерно 96768 байт/с. Будем ускорять дальше. Но зато теперь пролетают редкие полоски по бордюру. Загадошный компьютер ).
Таблицу драйвера перенёс в другое место, теперь можно открыть файл на 10-16 мегов. Но о гигабайтах речи не идёт.
Начал читать инструкцию про GS, но там какие-то сэмплы. А мне бы нормальный человеческий wav проиграть силами самой карточки.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
На писюке открываешь или создаешь вав-файл, конвертишь в моно 8 бит 8 Кбит (выше незачем, имхо) и сохраняешь как PCM, чтоб без заголовка.
Получившийся файл скормить GS'у под видом сэмпла. Останется выставить нужную ноту, это можно сделать в команде проигрывания.
Битрейт выше допустим, но с ним растет и размер файла. В два мегабайта влезет не так уж и много даже при 8 Кбитах.
Последний раз редактировалось reddie; 18.01.2022 в 23:18.
izzx(19.01.2022)
Драйвер SMUC пропатчил, теперь он чуть быстрее, чем SC.
С GS научился воспроизводить шум вместо нужного звука. Взял звук, сохранил в wav 8 бит 8000 герц, убрал заголовок и окончание.
И шипение одно. Код брал из инструкции.
Код:ld hl,sndtest ld de,0-(sndtestend-sndtest) call LoadFX ld a,1 call PlayFX ret ;А вот как можно закачать сэмпл: GSCOM EQU 187 GSDAT EQU 179 LoadFX ;загрузка сэмпла LD IX,Parameters ;LD HL,Sample_address ;LD DE,0-Sample_length LD C,GSCOM LD A,#38 CALL SENDCOM LD A,#D1 CALL SENDCOM LD A,(HL) LOOP: IN B,(C) JP P,READY IN B,(C) JP M,LOOP READY: OUT (GSDAT),A INC HL ADD A,(HL) INC E JP NZ,LOOP INC D JP NZ,LOOP WAIT: IN B,(C) ;Ждем принятия JP M,WAIT ;последнего байта LD A,#D2 CALL SENDCOM ; Теперь переопределяем параметры ; сэмпла по умолчанию своими ; значениями ret LD A,(IX+#00) OUT (GSDAT),A ; Нота LD A,#40 CALL SENDCOM LD A,(IX+#01) OUT (GSDAT),A ; Громкость LD A,#41 SENDCOM: ;это SC OUT (GSCOM), A WAITCOM: ;это WC IN A,(GSCOM) RRCA JR C,WAITCOM RET SENDDATA ;это SD OUT (GSDAT),A ret PlayFX ;Проигрывание эффекта. ; SD FX_Handle - номер сэмпла ; SC #39 ; WC ;ld a,1 ;номер семпла call SENDDATA ld a,#39 call SENDCOM ret Parameters db 01,#40 ;нота, громкость ; org #c000 ;тестовый звук sndtest incbin "sndtest.wav" sndtestend
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
почему тут Add a,(hl)?Код:READY: OUT (GSDAT),A INC HL ADD A,(HL)
вряд ли у вас wav c дельта кодированием
замените на ld a,(hl)
и еще, установка ноты и громкости не отрабатывает.
Код:LD A,#D2 CALL SENDCOM ; Теперь переопределяем параметры ; сэмпла по умолчанию своими ; значениями ret LD A,(IX+#00) OUT (GSDAT),A ; Нота
Последний раз редактировалось LW; 19.01.2022 в 16:47.
izzx(19.01.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)