Цитата Сообщение от Hard Посмотреть сообщение
а потом чайник прошивает свой, допустим ГС, и обнаруживает, что он вообще уснул мертвым сном, т.к. прошивка глючная, свет выключили при прошивке и т.п.
ну, от этого-то можно защититься, если сделать бутблок.

Цитата Сообщение от Hard Посмотреть сообщение
Давай расширим обзор - не только ДМА, но и любого нештатного устройства, т.к. без паяльника и скальпеля в спеке много чего не подключишь.
ну, давай возьмем ковокс/саунддрайв.. резать ниче не надо. возьмем контроллер винта немо. тоже ниче резать не надо кроме iorq, как и для гс.. че там еще подключают? XTR-Modem? мышку? тоже ниче резать не надо.. от паяльника, естес-но, не избавишься, тока в если в тех клонах, которые с разьемом уже..

Цитата Сообщение от Hard Посмотреть сообщение
обратотаешь прерывание ты сразу, если они разрешены. и давай разберемся что мы за файлик слушаем? Wavе? Ну он же с частотой до 48кГц, Z80 успеет до следующего тика забросить команду проигрывания, нужно только закинуть адрес его расположения и длину - он продолжает звучать, ты не услышишь ни щелчка, ни затишья.
голословное утверждение.. посчитаем? для проигрывания на частоте 48кГц, между сэмплами есть 72,9 тактов, за это время надо успеть запустить новый буфер. берем прям идеальный вариант:

int ;17 - вызов прерывания
out(c),d ;12 - запись подготовленного нового адреса буфера 1 канала
out(c),e ;12 - ---"---
exx ;4
out(c),d ;12 - запись подготовленного нового адреса буфера 2 канала
out(c),e ;12 - ---"---
ld b,#ac ;7 - по-любому надо
out(c),a ;12 - запуск проигрывания

итого: 88 + (0..3) тактов, кто меньше? не знаю, как умудриться меньше, но в лимит мы не вписываемся, => задержка будет, хоть и незаметная. однако для меня лично сей факт - полное разочарование в этой _музыкальной_ карте. хоть и частота дискретизации может ставиться точно, джиттер не большой, но тормознутость спека убивает все преимущества.. это все ИМХО, никому ничего не навязываю.

п.с. для 44100 тактов будет всего 79,365. и это только для 8 битного стерео! кто писал о 14 бит?