
Сообщение от
Alexander Makeev
IORQ - это сигнал обращения к портам ввода/вывода и подтверждения запроса не прерывание.
Не, с некоторых слотовых машинах есть сигнал IORQGE, формируется он так
На первый слот идет IORQ от процессора, если там стоит устройство которое отозвалось на адрес порта оно выставляет в своем слоте сигнал IORQG который блокирует прохождение IORQ во второй слот, и так далее по колву слотов, на данный момент максимальное кво слотов 4, выход с последнего слота идет в мать и там юзается для выбора внутренних устройств. То есть если на слоте отозвалось устройство у которого A0=0 то чтение из порта FE блокируется.
Такое поведение не во всех слотовых машинах, и его нет в неслотовых.
---------- Post added at 06:34 ---------- Previous post was at 06:31 ----------
И еще IBusDevice.BusInit вызывется 2 раза это правильно?
Ситуация такая
Запускаю эмуль, жму Tools->Options
В окне ничего не меняю жму отмена, получаю в логе
Код:
Warning 06:54:03.294 device ctor
Warning 06:54:03.426 device bus init
Warning 06:54:03.489 device bus connect
Warning 06:54:07.209 device ctor
Warning 06:54:07.347 device bus init
Warning 06:54:07.547 device bus connect
Warning 06:54:07.554 device bus disconnect
Warning 06:54:13.846 device bus disconnect
Код
Код:
public class Device : IBusDevice
{
Log _logger;
public Device()
{
_logger = Logger.GetLogger();
_logger.LogWarning("device ctor");
}
public void BusConnect()
{
_logger.LogWarning("device bus connect");
}
public void BusDisconnect()
{
_logger.LogWarning("device bus disconnect");
}
public void BusInit(IBusManager bmgr)
{
_logger.LogWarning("device bus init");
........
}
...........
}