User Tag List

Страница 146 из 224 ПерваяПервая ... 142143144145146147148149150 ... ПоследняяПоследняя
Показано с 1,451 по 1,460 из 2231

Тема: ZXMAK2 - Виртуальная машина ZX Spectrum

  1. #1451

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    при использовании Акселя в Альтере, проц, можно сказать, прохлаждается.


    есть "документация" и некоторые исходники того же ваф плеера. если в кратце, ковокс буферизированный, с возможностью задавать битность (8 или 16, но тут могу ошибиться).
    используется ли этот Covox-Blaster на других моделях спектрума? или это девайс именно Cпринтера? Есть ли софт на котором его можно потестить?

    Из описания не все ясно, например:
    1) если начать писать по адресам банки которая сейчас выводится, что произойдет? или вывод по этим адресам блокируется?

    2) какое назначение для ковокс-бластера имеют остальные биты порта #4E? Какими битами устанавливается режим 8/16, стерео/моно? И в каком формате данные из озу попадают на цап в этих режимах? Ведь если по одному байту устанавливать 16 битный цап, то будет треск...

    3) как происходит переключение в режим обычного ковокса? задействуется ли в этом механизме озу или просто выход порта напрямую переключается на цап?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #1452

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, данных по работе CBLа у меня мало. я не разбирался пока в работе звука. То, что Covox-Blaster фишка чисто Спринтера, это точно. на профи или там на атм или скорпе такого не было. Как оно работает точно не знаю, не изучал ещё вопрос, но вот есть несколько исходников и бинаров. Во1х, есть дока от Ивана:

    Скрытый текст


    ;***********************************************************************
    ;
    ; Пример программы для Covox-Blaster-a.
    ;
    ;***********************************************************************
    CLEAR_COVOX: ; программа для очистки буфера ОЗУ и
    ; отключения звука
    LD A,80H ; значение, эквивалентное нулю на выходе Covox
    LD BC,0FBH ; порт Covox-Blaster-à
    CLEAR_CBL:
    OUT (C),A
    DJNZ CLEAR_CBL
    XOR A
    LD (SND_P),A ; установить в страницу звука 0 (нет звука)
    RET
    ;***********************************************************************
    SOUND_START: ; программа инициализации Covox-Blaster-à
    ;=======================================================================
    ; здесь должна располагаться программа, которая
    ; произведет расчет первой страницы данных для COVOX-áëàñòåðà è
    ; адреса данных. Страница и адрес соответственно в регистры A и HL
    ;=======================================================================
    LD (SND_A),HL ; запомнить состояние адреса звука
    LD (SND_P),A ; запомнить новую страницу WAV-данных
    RET
    SND_A: DB 0
    SND_P: DW 0
    ;***********************************************************************
    SOUND:
    PUSH AF
    LD A,(SND_P) ; проверка, что страница WAV-данных не равна 0
    AND A
    JR Z,RET_ALL ;иначе выход -- нет звука
    PUSH HL
    SND_MORE:
    IN A,(0FEH) ; бит 7 порта #FE указывает состояние 7-го бита
    ; счетчика выводимого байта (банк 0/1)
    XOR 0 ; запомненное состояние Covox адреса
    COV_ADR EQU $-1
    AND 80H ; проверить, переключение банки 128 байт
    JP NZ,NO_LD_SND ; если изменения не было, вернуться.
    LD A,(SND_P)
    AND A
    JR Z,RET_ALL
    PUSH DE
    PUSH BC
    LD A,(COV_ADR) ; взять адрес Covox-а.
    CPL ; инвертировать
    LD B,A ; запомнить в B
    LD HL,(SND_A) ; взять адрес WAV-данных
    LD C,0FBH ; порт Covox-Blaster-а
    IN A,(PAGE3) ; запомнить состояние PAGE3
    LD E,A
    LD A,(SND_P) ; взять номер страницы WAV-данных
    OUT (PAGE3),A ; переключить PAGE3
    LD D,16 ; повторять 16 раз
    L_DDX:
    OUTI ; выводить в Covox-Blaster
    OUTI ; (OUTI работает несколько быстрее, чем OTIR)
    OUTI
    OUTI
    OUTI
    OUTI
    OUTI
    OUTI
    DEC D
    JR NZ,L_DDX
    LD (SND_A),HL ; запомнить состояние адреса звука
    LD A,H ; проверить, что адрес не дошел до конца страницы
    AND A
    JP NZ,NO_SNDP ; если не дошел, идти на выход
    LD A,E ; вспомнить страницу PAGE3
    OUT (PAGE3),A
    ;=======================================================================
    ; здесь должна располагаться программа, которая
    ; произведет рассчет новой страницы данных для COVOX-бластера и
    ; адреса данных. Страница и адрес соответственно в регистры A и HL
    ;=======================================================================
    LD (SND_A),HL ; запомнить состояние адреса звука
    LD (SND_P),A ; запомнить новую страницу WAV-данных
    JR NO_SNDP1
    NO_SNDP:
    LD A,E ; вспомнить страницу PAGE3
    OUT (PAGE3),A
    NO_SNDP1:
    POP BC
    POP DE
    NO_LD_SND:
    POP HL
    RET_ALL:
    POP AF
    RET
    [свернуть]

    Во2х, есть ваф плеер собранный и в виде исходников. Переключение режима 8бит и 16 бит, сюдя по плееру, осуществляется так:

    Скрытый текст


    ...
    LD B,80h+10h ; CBL-mode8 & INT ENABLE
    JR Z,NEXT_1
    CP 16
    LD B,80h+20h+10h; CBL-mode16 & INT ENABLE
    ...
    NEXT_1:

    LD A,(0C016h)
    CP 1
    JR Z,NEXT_2
    CP 2
    SET 6,B ; set stereo-mode
    JR NZ,ERROR2
    NEXT_2:
    LD A,B
    LD (CBL_MODE),A

    LD BC,(0C018h) ; частота
    LD HL,7000
    LD DE,9000
    CALL Test_DIAP
    EX AF,AF'
    LD A,8 ; 8khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,10000
    LD DE,12000
    CALL Test_DIAP
    EX AF,AF'
    LD A,9 ; 11khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,15000
    LD DE,17000
    CALL Test_DIAP
    EX AF,AF'
    LD A,10 ; 16khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,21000
    LD DE,23000
    CALL Test_DIAP
    EX AF,AF'
    LD A,11 ; 22khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,30000
    LD DE,34000
    CALL Test_DIAP
    EX AF,AF'
    LD A,12 ; 32khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,42000
    LD DE,46000
    CALL Test_DIAP
    EX AF,AF'
    LD A,13 ; 44khz
    ; LD A,15 ; 109khz
    EX AF,AF'
    JR Z,NEXT_3

    LD HL,50000
    LD DE,60000
    CALL Test_DIAP
    EX AF,AF'
    LD A,14 ; 54khz
    EX AF,AF'
    JR Z,NEXT_3

    JP ERROR3

    NEXT_3:
    EX AF,AF'
    LD C,A
    EX AF,AF'
    LD A,(CBL_MODE)
    ADD A,C
    LD (CBL_MODE),A

    JP PLAY_FILE
    ...
    LD A,0
    LD BC,78
    OUT (C),A

    LD BC,79
    LD A,80h
    FILL_L0:
    OUT (C),A ; забить во все 80h
    DJNZ FILL_L0

    LD HL,0A000h ; CLEAR PAGE_IM2
    LD DE,0A001h
    LD BC,100h
    LD (HL),0
    LDIR

    DI

    LD DE,PLAY
    LD (0A0FFh),DE ; IM2_ADRESS

    LD A,0A0h
    LD I,A
    IM 2

    LD A,(CBL_MODE)
    LD BC,78
    OUT (C),A
    и т.д.
    [свернуть]

    прямо сейчас большего сказать не смогу. сам плеер есть. так же он есть в доступе в теме спринтера в первом посте, там ссылка на рабочий архив с настройками эмуля и образ винта, на котором есть плеер (но нет ваф вайлов).
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  3. #1453

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    [/SPOILER]
    прямо сейчас большего сказать не смогу. сам плеер есть. так же он есть в доступе в теме спринтера в первом посте, там ссылка на рабочий архив с настройками эмуля и образ винта, на котором есть плеер (но нет ваф вайлов).
    а что такое Test_DIAP? в коде не вижу вывода в порт для смены частоты, каким портом задается частота остается пока загадкой
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #1454

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    а что такое Test_DIAP? в коде не вижу вывода в порт для смены частоты, каким портом задается частота остается пока загадкой
    по указанной тобой процедуре идёт проверка, попадает ли взятое значение из заголовка ваф файла под выбранную частоту. если посмотреть, то:
    LD BC,(0C018h) ; частота
    LD HL,7000
    LD DE,9000
    CALL Test_DIAP ; если в диапазоне, тогда
    LD A,8 ; 8khz
    JR Z,NEXT_3
    ...
    NEXT_3:
    LD C,A
    LD A,(CBL_MODE)
    ADD A,C
    LD (CBL_MODE),A
    ; а там дальше ты уже видел:
    ...
    LD A,(CBL_MODE)
    LD BC,4eh
    OUT (C),A
    как то так. т.е. все настройки Ковокса через порт 4Eh.
    собственно, во вложении отдельно сам плеер.
    а тут полный архив с настройками и образами. Скопируй в образ для примера какой-нить ваф вайл, примонтируй образ в эмуль, запусти эмуль как Спринтер и там уже все проверки...
    https://www.dropbox.com/s/7lxe0jrmdj..._work.rar?dl=0
    Вложения Вложения
    • Тип файла: zip WAVPL.ZIP (5.5 Кб, Просмотров: 95)
    Последний раз редактировалось Sayman; 28.01.2015 в 07:03.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  5. #1455

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так что, ктото оценивал качество нового AY в ZXMAK2?
    Есть ли разница с риалом или один в один как риал играет?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #1456

    Регистрация
    28.02.2005
    Адрес
    Belarus
    Сообщений
    143
    Спасибо Благодарностей отдано 
    24
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Реала уже давно нет, но на слух очень хорошо. :-)

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

  8. #1457

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    попробовал запустить эмулятор с выводом звука на звуковуху с частотой дискретизации 176,4 кГц, впринципе звучит также, но не совсем
    В некоторых мелодиях можно заметить небольшие ньюансы на высокочастотных звуках и шуме, кое-где даже провляются эффекты не заметные на 44,1 кГц, плюс на 176 кГц появляется едва заметная субъективная разница, которую в словах можно описать как "более чистый звук"
    А на 192 кГц звук еще чище Кстати нагрузка на процессор заметно при этом практически не меняется

    Кому интересно, сейчас частота задается в двух местах - при создании DirectSound, там же указывается размер буфера и его тоже нужно корректировать (вместо 882 нужно указать частоту/50). А второе место в SoundDeviceBase при вызове метода ApplyTimings.
    Впринципе можно прикрутить установку частоты дискретизации звуковухи в настройки, но думаю пока это немного опасно будет, т.к. хорошо поддерживаются только частоты кратные 50 Гц.

    Кстати выяснился еще один интересный эффект. Для тестов звука понадобилась запись Stereo Output, но как выяснилось дефолтный драйвер Win 7 не поддерживает этого, почитал что пишут - оказалось нужно устанавливать родной драйвер. У меня звуковуха встроенная на материнку (какой-то риалтек), установил и был немного удивлен результатом...
    Кроме того что появилась возможность включить запись того что сейчас играет в системе, в эмуляторе при синхронизации от звуковухи синхра стала держаться на 50 Гц без провалов...
    Последний раз редактировалось ZXMAK; 30.01.2015 в 05:30.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #1458

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для теста адекватности эмуляции AY рекомендую музон из второй части демы Binary Love (Authors/Joe/Binary Love 2.ftc в коллекции Бульбы). Там весьма зубодробительное сочетание ВЧ тона и огибающей- хорошо слышно разницу между разными режимами эмуляции и фильтрации.

  10. #1459

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Для теста адекватности эмуляции AY рекомендую музон из второй части демы Binary Love (Authors/Joe/Binary Love 2.ftc в коллекции Бульбы). Там весьма зубодробительное сочетание ВЧ тона и огибающей- хорошо слышно разницу между разными режимами эмуляции и фильтрации.
    А запись с реального ау есть?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #1460

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    А запись с реального ау есть?
    Можешь сверяться с http://sovietov.com/app/ayumi/ayumi.html как с эталоном звучания.

Страница 146 из 224 ПерваяПервая ... 142143144145146147148149150 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 21:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

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