мне "спроецировать" порты в/в "Специалиста" на реальные УВВ IBM PC.
Первоначально все адреса там относились в область макетной платы IBM (300-30Fh),
которая у меня реально была установлена на шине ISA.
Но поскольку в ноутбуках никакой ISA нет - я сделал вариант, где порты в/в
"Специалиста" обращаются к таймеру на системной плате, порту LPT и т.д.
Всё это довольно неплохо работало под DOS и под Вынь-98...
И была у меня такая мысль - запустить звуковую карту под "Специалистом",
ведь у "Специалиста" отродясь звуковой карты не было...

Но руки всё как-то не доходили, а сейчас вот совершенно вынужденно, но дошли...
И причина тому была веская - перетаскиваю я постепенно весь свой софт под Венду 7.1, почему
и возник у меня вопрос - а как Венда 7.1 относится к обращению в порты из программ DOS ?
Только вот ни LPT, ни СОМ-портов в новых ноутах нет. Одни лишь USB...

Поэтому я решил совместить полезное с приятным: добавить в эмулятор "Специалиста МХ"
порты Sound Blaster, запрограммировать обращение к ним в кодах i8080, а затем проверить
на разных платформах...
Поскольку ПДП в эмуляторе "Специалиста МХ" нет, ограничился следующими портами:
Code: Select all
Port Function
-----------------------------------
+BASE+6 Reset 0FFF4h
-----------------------------------
+BASE+Ah Read data port 0FFF5h
-----------------------------------
+BASE+Ch Write data port 0FFF6h
BASE+Ch Status port
-----------------------------------
+BASE+Eh Data Available register 0FFF7h
-----------------------------------
было под "Специалистом".
Также задержка между сэмплами - чисто программная, поскольку не было уверенности на
адекватный доступ к таймеру - прерываний в "Специалисте" ведь тоже нет...
В итоге результат превзошел мои не самые радужные ожидания...
-------

Под голым DOS разницы между программой в кодах 8086, воспроизводящей WAV,
и воспроизведением его в среде эмулятора на слух заметно не было...

Под Вендой-98 добавились хрипы и шумы...

А вот под Вендой 7.1 из DOS-BOX звучание приемлемым не назвать никак... не смотря
на различные настройки этого самого DOS-BOX-а.

Хотя радует хотя бы тот момент, что к портам обращение всё же есть.
Без DOS-BOX-а Венда 7.1 их попросту игнорирует.
Но положительный момент есть - опробовал я наконец-то "Специалист МХ" в связке
с Sound Blaster-ом!

Кто захочет в такой вариант "Специалист МХ" поиграться - версия эмулятора SPMX42SE - здесь.
В папке DOC есть информация - как спроецированы порты "Специалиста" на реальные УВВ IBM PC,
и по каким адресам эмуль можно пропатчить, если адреса УВВ IBM PC отличаются.