Mick
Когда включается AVR и ноги работают на вход, на сбросе проца паразитный сигнал болтается.
Правильно, что подтянул.
Кстати, на прерываниях всяких и запросах к шине тоже имеет смысл проверить подтяжки.
Вид для печати
Mick
Когда включается AVR и ноги работают на вход, на сбросе проца паразитный сигнал болтается.
Правильно, что подтянул.
Кстати, на прерываниях всяких и запросах к шине тоже имеет смысл проверить подтяжки.
Посмотри что твоиться на питании осоцилом при холодном старте .
т.е теперь при холодном старте нормально запускается теперь ? если нет
ради эксперимента попробуй повесить еще электролит на питание, цпу.
а по резету получается как гбе дребезг тогда ? увеличить емкость кондера на резете?
Скажем приемлемо.
Думаю пока оставить эту часть и переходить к написанию биоса для AVRки и ПЗУшки.
---------- Post added at 12:08 ---------- Previous post was at 11:32 ----------
Для AVRки, я думаю первым делом надо клаву подцепить и COM порт. Чтобы худо-бедно можно было работать.
Вот в ПЗУ тут надо думать что нужно в первую очередь.
Допустим вывод в видео можно сделать через RST 10h и описать номера функций.
Допустим в регистре A - номер функции, в других - параметры.
Например
Функция 0 - Вывод символа в текущую позицию экрана
Функция 1 - Вывод строки символов заканчивающуюся 0
Функция 2 - Установка нового занкогенератора (своего), хотя командой LDIR я думаю умеете и сами пользоваться :)
Мысли какие есть?
Кстати, если интересно присоединяйтесь к разработке биоса. Чем быстрее сообразим, тем быстрее он будет работать :)
Можно что-нить выбрать из функций:
http://www.codenet.ru/progr/dos/
По FAT у TSL в репозитории есть сырки FAT BIOS, отучить их от DMA или прикрутить DMA в железку
BIOS у CP/M опять же состоит из 2х частей, более менее платформо независимый биос и монитор по типу тех что РК86 Специалист итд
Давайте проясним ситуацию. Биос для девборды, это скажем помощник разработчику программ. Он скажем ближе должен к монитору РК подобных.
Тоесть набор простых функций, которые помогли бы самим не заморачиваться с выводом символов и строк на экран, чтение клавиатуры, ввода и вывода информации в COM порт. Ну и работа с SD картой.
Все остальные Оси это уже на любителя. Тем более Биос можно отключать и играться только с ОЗУ.
Естественно в ПЗУ будет необходим некий набор утилит для упрощения жизни разработчику.
Вот чтобы скажем упростить вызовы проще думаю их через RST делать,
например:
RST 8h - переход по адресу в другую страницу ПЗУ
RST 10h - работа с видеоадаптером
RST 18h - работа с клавиатурой и мышой
RST 20h - работа с COM портом
RST 28h - работа с SD картой
он к тому, можно повыдерать, код, чем писать полностью свое. или использовать номера функций и предаваемые значения как там.
оси то не надо, просто удобный доступ к периферии.
вообщем, чем проще тем лучше, ну а если запускать модифицированный cpm, кому то будет еще одно щастие,
по сути это уже мелко комп. :)
Ну я к тому тоже, что не пустые слова говорите, а ссылки на страницы или лучше выдержки. Чтобы было удобно самим же потом пользоваться.
Кстати подумалось. Что типа ближе CPM или MS DOS. В последней мне лично привычнее, тем более я там частый гость :)
Вот похожий проект, тут есть список реализованных функций вывода:
http://habrahabr.ru/post/129746/
Вот накалякал примерный список функций видеодрайвера BIOSа.
Список управляющих символов позаимствовал из тем про Специалист.
Если что не понятно или есть предложения, высказывайтесь.Код:;--------------------------------------------------------------------
; Управляющие последовательности
;--------------------------------------------------------------------
;08h - Влево, с переходом на строку выше на границе экрана
;0Ah - Перевод строки со скроллингом
;0Ch - Домой
;0Dh - Возврат каретки
;18h - Вправо с переходом на следующую строку на границе экрана
;19h - Вверх со скроллингом
;1Ah - Вниз со скроллингом
;1Fh - Очистка экрана
;
;1Bh - ESC:
;1Bh, 41h - Вверх
;1Bh, 42h - Вниз
;1Bh, 43h - Вправо
;1Bh, 44h - Влево
;1Bh, 45h - Стирание экрана
;1Bh, 48h - Домой
;1Bh, 4Ah - Стирание ниже курсора
;1Bh, 4Bh - Стирание правее курсора
;1Bh, 58h, (COLOUR) - Цвет сивола и фона
;1Bh, 59h, (XXH+20H), (YYH+20H) - Позиция курсора
;1Bh, 61h - Гашение курсора
;1Bh, 62h - Восстановление курсора
;1Bh, 70h - Включение инверсии
;1Bh, 71h - Выключение инверсии
;---------------------------------------------------------------------
; Функции видеодрайвера RST 10h
;---------------------------------------------------------------------
; Функция 00h - Инициализация видеодрайвера
;---------------------------------------------------------------------
; Входные параметры: A = 00h
; Выходные параметры: нет
; Описание: Происходит инициализация драйвера видеоконтроллера.
; Устанавливается 1 видеостраница, отображение экрана происходит
; в адресах 2000....3FFFh. Происходит очистка экрана и установка
; цвета символов и фона по умолчанию, а именно белые буквы на черном фоне
; Курсор устанавливается в левый верхний угол (коодинаты 0,0).
; Курсор при этом выключен (не отображается)
;--------------------------------------------------------------------
; Функция 01h - Установка режима работы курсора
;---------------------------------------------------------------------
; Входные параметры: A = 01h
; C = 00h - курсор выключен,
; 01h - курсор включен (мерцает)
; Выходные параметры: нет
; Описание: Происходит установка режима работы курсора. Если курсор
; включен, то текущее знакоместо будет мерцать (происходит попеременное
; влючение/выключение инверсии символа)
;--------------------------------------------------------------------
; Функция 02h - Чтение режима работы курсора
;---------------------------------------------------------------------
; Входные параметры: A = 02h
; Выходные параметры: С = текущий режим работы курсора
; Описание: Происходит чтение текущего значения режима работы курсора
; (выключен или включен).
;--------------------------------------------------------------------
; Функция 03h - Установка позиции курсора
;---------------------------------------------------------------------
; Входные параметры: A = 03h
; B = позиция по Y (вертикали), с значениями 0...24
; С = позиция по X (горизонтали), с значениями 0...79
; Выходные параметры: нет
; Описание: Происходит установка новой позиции курсора. После этого
; вывод символьной информации будет осуществлятся с новой позиции курсора
;--------------------------------------------------------------------
; Функция 04h - Чтение текущей позиции курсора
;---------------------------------------------------------------------
; Входные параметры: A = 04h
; Выходные параметры: текущая позиция курсора
; B = позиция по Y (вертикали)
; С = позиция по X (горизонтали)
; Описание: Происходит чтение текущей позиции курсора.
;--------------------------------------------------------------------
; Функция 05h - Установка цвета символов
;---------------------------------------------------------------------
; Входные параметры: A = 05h
; C = цвет фона и цвет точек, с значениями 0...15
; Выходные параметры: нет
; Описание: Происходит установка нового цвета знакоместа. После этого
; вывод символьной информации будет осуществлятся с новым цветом.
;--------------------------------------------------------------------
; Функция 06h - Чтение текущей цвета символов
;---------------------------------------------------------------------
; Входные параметры: A = 06h
; Выходные параметры: С = текущий цвет
; Описание: Происходит чтение текущего цвета.
;--------------------------------------------------------------------
; Функция 07h - Установить активную страницу экрана
;---------------------------------------------------------------------
; Входные параметры: A = 07h
; C = новая страница экрана с значением 0..7
; Выходные параметры: нет
; Описание: По этой команде происходит переключение на новую страницу экрана
;--------------------------------------------------------------------
; Функция 08h - Установить пользовательский знакогенератор
;---------------------------------------------------------------------
; Входные параметры: A = 08h
; BC = адрес знакогенератора пользователя
; Выходные параметры: нет
; Описание: По этой команде происходит копирование знакогенератора из программы
; пользователя в область знакогенератора страницы экрана
;--------------------------------------------------------------------
; Функция 09h - Вывод символа на экран
;---------------------------------------------------------------------
; Входные параметры: A = 09h
; C = выводимый символ
; Выходные параметры: нет
; Описание: Выводится символ в текущее положение курсора с текущим цветом
; Кроме того обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Ah - Вывод символа и его цвета на экран
;---------------------------------------------------------------------
; Входные параметры: A = 0Ah
; B = цвет символа и цвет фона
; C = выводимый символ
; Выходные параметры: нет
; Описание: Выводится символ и его цвет в текущее положение курсора.
; В этой команде не обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Bh - Прочитать символ и его цвет с текущего положения курсора
;---------------------------------------------------------------------
; Входные параметры: A = 0Bh
; Выходные параметры:
; B = цвет символа и цвет фона
; C = выводимый символ
; Описание: Происходит чтение символа и его цвета из текущего положения курсора.
;--------------------------------------------------------------------
; Функция 0Ch - Заполнение символом и его цветом область экрана
;---------------------------------------------------------------------
; Входные параметры: A = 0Сh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = количество символов по Y (вертикали)
; E = количество символов по X (горизонтали)
; Выходные параметры: нет
; Описание: Заполняется область экрана начиная с текущей позиции курсора
; символом и его цветом.
; В этой команде не обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Dh - Отрисовка окна без заголовка
;---------------------------------------------------------------------
; Входные параметры: A = 0Dh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = размер окна Y (вертикали)
; E = размер окна по X (горизонтали)
; Выходные параметры: нет
; Описание: Создается область на экране окруженная рамкой, созданная
; символом и его цветом. Кроме того область внутри окна очищается
; символом пробела с цветом, заданным при создании окна
;--------------------------------------------------------------------
; Функция 0Eh - Отрисовка окна c заголовком
;---------------------------------------------------------------------
; Входные параметры: A = 0Eh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = размер окна Y (вертикали)
; E = размер окна по X (горизонтали)
; HL = адрес текстовой строки заголовка
; Выходные параметры: нет
; Описание: Создается область на экране окруженная рамкой, созданная
; символом и его цветом. Кроме того область внутри окна очищается
; символом пробела с цветом, заданным при создании окна
;--------------------------------------------------------------------
; Функция 0Fh - Вывод строки символов на экран
;---------------------------------------------------------------------
; Входные параметры: A = 0Fh
; BC = адрес выводимой строки
; Выходные параметры: нет
; Описание: Выводится строка символов в текущее положение курсора с текущим цветом
; Кроме того обрабатываются управляющие символы.
; Строка должна заканчиваться кодом - 00h
;--------------------------------------------------------------------
; Функция 10h - Вывод строки символов и их цвета на экран
;---------------------------------------------------------------------
; Входные параметры: A = 10h
; BC = адрес выводимой строки
; Выходные параметры: нет
; Описание: Выводится строка символов в текущее положение курсора
; Формат симольной строки должен соответствовать следующей последовательности - символ, цвет,....
; Кроме того управляющие символы не обрабатываются
; Строка должна заканчиваться кодом - 00h
Вот, думаю сюда еще внести функцию вывода символа в HEX виде
Лучше бы не символа в HEX-виде, а 16-битного числа в двоичном и шестнадцатиричном форматах.
A=код функции
BC=число
D=основание(2,10,16)
вывод тек.цветом с тек.позиции
Просто любопытно: вот эти функции, они где-нибудь реально используются ?
Чтение текущей позиции курсора
Прочитать символ и его цвет с текущего положения курсора
а курсор кстати софтовый будет? на прерывании висеть мигать?
Да, в обработчике прерывания будет вызываться функция мигания курсора.
---------- Post added at 15:46 ---------- Previous post was at 15:42 ----------
Вот ты это зря. Я столько раз пользовался и пользуюсь выводить символы в
HEX виде, это очень удобно со времен РКшки. :)
А функции преобразования можно отдельно забубенить. :)
---------- Post added at 15:48 ---------- Previous post was at 15:46 ----------
Про первую не скажу, а вторая реально может использоваться если например, хочешь проинвертировать символ. Грубо говоря менять менюшки непосредственно в экранной памяти - т.е. не нужно в буфере меню еще раз отрисовывать :)
Mick, а что это значит "символ в HEX виде"? Я думал, это опечатка.
Первая используется в любом оконном драйвере открывающем и, что принципиально, закрывающем окна с возвращением фокуса (в примитиве - курсора) туда, откуда он был сорван.
Вторая может использоваться в том же драйвере для прочитывания "подоконного" экранного ОЗУ используемого в момент закрытия окна (восстановления нижнего плана), если для этого не будет отдельной функции (ибо читать по символу да еще каждый раз выставляя курсор - тормознуто).
Да, это было бы правильно. Но и чтение единичного символа под курсором все равно надо тоже оставить. Такая функция есть во многих реализациях VT-52/VT-100. Вдруг кто-то на базе БИОСа напишет эти подгружаемые драйвера.
И хорошо бы векторизировать подпрограммы БИОСа (т.е. при старте в ОЗУ инициализировать керналь через которую пропускать вызовы)
Это можно сделать.
Так вот обновленный список функций RST 10h
Код:;---------------------------------------------------------------------
; Функция 00h - Инициализация видеодрайвера
;---------------------------------------------------------------------
; Входные параметры: A = 00h
; Выходные параметры: нет
; Описание: Происходит инициализация драйвера видеоконтроллера.
; Устанавливается 1 видеостраница, отображение экрана происходит
; в адресах 2000....3FFFh. Происходит очистка экрана и установка
; цвета символов и фона по умолчанию, а именно белые буквы на черном фоне
; Курсор устанавливается в левый верхний угол (координаты 0,0).
; Курсор при этом выключен (не отображается)
;--------------------------------------------------------------------
; Функция 01h - Установка режима работы курсора
;---------------------------------------------------------------------
; Входные параметры: A = 01h
; C = 00h - курсор выключен,
; 01h - курсор включен (мерцает)
; Выходные параметры: нет
; Описание: Происходит установка режима работы курсора. Если курсор
; включен, то текущее знакоместо будет мерцать (происходит попеременное
; влючение/выключение инверсии символа)
;--------------------------------------------------------------------
; Функция 02h - Чтение режима работы курсора
;---------------------------------------------------------------------
; Входные параметры: A = 02h
; Выходные параметры: С = текущий режим работы курсора
; Описание: Происходит чтение текущего значения режима работы курсора
; (выключен или включен).
;--------------------------------------------------------------------
; Функция 03h - Установка позиции курсора
;---------------------------------------------------------------------
; Входные параметры: A = 03h
; B = позиция по Y (вертикали), с значениями 0...24
; С = позиция по X (горизонтали), с значениями 0...79
; Выходные параметры: нет
; Описание: Происходит установка новой позиции курсора. После этого
; вывод символьной информации будет осуществлятся с новой позиции курсора
;--------------------------------------------------------------------
; Функция 04h - Чтение текущей позиции курсора
;---------------------------------------------------------------------
; Входные параметры: A = 04h
; Выходные параметры: текущая позиция курсора
; B = позиция по Y (вертикали)
; С = позиция по X (горизонтали)
; Описание: Происходит чтение текущей позиции курсора.
;--------------------------------------------------------------------
; Функция 05h - Установка цвета символов
;---------------------------------------------------------------------
; Входные параметры: A = 05h
; C = цвет фона и цвет точек, с значениями 0...15
; Выходные параметры: нет
; Описание: Происходит установка нового цвета знакоместа. После этого
; вывод символьной информации будет осуществлятся с новым цветом.
;--------------------------------------------------------------------
; Функция 06h - Чтение текущей цвета символов
;---------------------------------------------------------------------
; Входные параметры: A = 06h
; Выходные параметры: С = текущий цвет
; Описание: Происходит чтение текущего цвета.
;--------------------------------------------------------------------
; Функция 07h - Установить активную страницу экрана
;---------------------------------------------------------------------
; Входные параметры: A = 07h
; C = новая страница экрана с значением 0..7
; Выходные параметры: нет
; Описание: По этой команде происходит переключение на новую страницу экрана
;--------------------------------------------------------------------
; Функция 08h - Установить пользовательский знакогенератор
;---------------------------------------------------------------------
; Входные параметры: A = 08h
; BC = адрес знакогенератора пользователя
; Выходные параметры: нет
; Описание: По этой команде происходит копирование знакогенератора из программы
; пользователя в область знакогенератора страницы экрана
;--------------------------------------------------------------------
; Функция 09h - Вывод символа на экран
;---------------------------------------------------------------------
; Входные параметры: A = 09h
; C = выводимый символ
; Выходные параметры: нет
; Описание: Выводится символ в текущее положение курсора с текущим цветом
; Кроме того обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Ah - Вывод символа и его цвета на экран
;---------------------------------------------------------------------
; Входные параметры: A = 0Ah
; B = цвет символа и цвет фона
; C = выводимый символ
; Выходные параметры: нет
; Описание: Выводится символ и его цвет в текущее положение курсора.
; В этой команде не обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Bh - Прочитать символ и его цвет с текущего положения курсора
;---------------------------------------------------------------------
; Входные параметры: A = 0Bh
; Выходные параметры:
; B = цвет символа и цвет фона
; C = выводимый символ
; Описание: Происходит чтение символа и его цвета из текущего положения курсора.
;--------------------------------------------------------------------
; Функция 0Ch - Заполнение символом и его цветом область экрана
;---------------------------------------------------------------------
; Входные параметры: A = 0Сh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = количество строк
; E = количество символов в строке
; Выходные параметры: нет
; Описание: Заполняется область экрана начиная с текущей позиции курсора
; символом и его цветом.
; В этой команде не обрабатываются управляющие символы
;--------------------------------------------------------------------
; Функция 0Dh - Вывод байта в HEX виде экран
;---------------------------------------------------------------------
; Входные параметры: A = 0Dh
; C = выводимый байта
; Выходные параметры: нет
; Описание: Выводится байта в виде HEX в текущее положение курсора и
; в текущем цвете.
;--------------------------------------------------------------------
; Функция 0Eh - Отрисовка окна без заголовка
;---------------------------------------------------------------------
; Входные параметры: A = 0Eh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = размер окна по вертикали (число строк)
; E = размер окна по горизонтали (число символов в строке)
; Выходные параметры: нет
; Описание: Создается область на экране окруженная рамкой, созданная
; символом и его цветом. Кроме того область внутри окна очищается
; символом пробела с цветом, заданным при создании окна .
; Окно отрисовывается с текущего положения курсора.
;--------------------------------------------------------------------
; Функция 0Fh - Отрисовка окна c заголовком
;---------------------------------------------------------------------
; Входные параметры: A = 0Fh
; B = цвет символа и цвет фона
; C = выводимый символ
; D = размер окна по вертикали (число строк)
; E = размер окна по горизонтали (число символов в строке)
; HL = адрес текстовой строки заголовка
; Выходные параметры: нет
; Описание: Создается область на экране окруженная рамкой, созданная
; символом и его цветом. Кроме того область внутри окна очищается
; символом пробела с цветом, заданным при создании окна
; Окно отрисовывается с текущего положения курсора.
;-----------------------------------------------------------------------
Продолжение
Код:;--------------------------------------------------------------------
; Функция 10h - Вывод строки символов на экран
;---------------------------------------------------------------------
; Входные параметры: A = 10h
; BC = адрес выводимой строки
; Выходные параметры: нет
; Описание: Выводится строка символов в текущее положение курсора с текущим цветом
; Кроме того обрабатываются управляющие символы.
; Строка должна заканчиваться кодом - 00h
;--------------------------------------------------------------------
; Функция 11h - Вывод строки символов и их цвета на экран
;---------------------------------------------------------------------
; Входные параметры: A = 11h
; BC = адрес выводимой строки
; Выходные параметры: нет
; Описание: Выводится строка символов в текущее положение курсора
; Формат симольной строки должен соответствовать следующей последовательности - символ, цвет,....
; Кроме того управляющие символы не обрабатываются
; Строка должна заканчиваться кодом - 00h
;---------------------------------------------------------------------
; Функция 12h - Копирование области экрана в память программы пользователя
;---------------------------------------------------------------------
; Входные параметры: A = 12h
; B = количество строк
; С = количество символов в строке
; HL = адрес памяти куда будет происходить копирование
; Выходные параметры: нет
; Описание: Копируется область экранной памяти из текущей позиции курсора
; в область памяти программы пользователя. Стоит учитывать, что копируется
; кроме символа, еще и его атрибут.
;---------------------------------------------------------------------
; Функция 13h - Копирование из памяти программы пользователя в область экрана
;---------------------------------------------------------------------
; Входные параметры: A = 13h
; B = количество строк
; С = количество символов в строке
; HL = адрес памяти откуда будет происходить копирование
; Выходные параметры: нет
; Описание: Копируется из области памяти программы пользователя в область
; экранной памяти в текущую позицию курсора.
; Стоит учитывать, что копируется кроме символа, еще и его атрибут.
;--------------------------------------------------------------------
; Функция 14h - Вывод байта или слова в двоичном, десятичном или шестнадцатеричном
; виде на экран
;---------------------------------------------------------------------
; Входные параметры: A = 14h
; B = старший байт если выводится слово
; C = младший байт
; E = 00h вывод байта в двоичном виде
; = 01h вывод байта в десятичном виде
; = 02h вывод байта в шестнадцатеричном виде
; = 04h вывод слова в двоичном виде
; = 05h вывод слова в десятичном виде
; = 06h вывод слова в шестнадцатеричном виде
; Выходные параметры: нет
; Описание: Выводится байт или слова на экран в двоичном, десятичном или шестнадцатеричном
; виде на экран в текущее положение курсора и в текущем цвете.
;---------------------------------------------------------------------
Вроде все хорошо, маленькое замечание по формату:
Нужна будет PC прога, рисующая менюшки и экранчики, и создающая текстовую последовательность для вставки в текст программ (asm и C). Может, уже есть такие?Код:; Формат симольной строки должен соответствовать следующей последовательности - символ, цвет,....
А зачем такой формат? может упр. символ для смены цвета ввести? если выводить каждый символ с разным цветом - да, удобно, а если надо только одно-два слово подсветить в предложении?
Для этой цели есть функция 10h. Смена цвета по управляющему символу 1Bh, 58h, COLOUR.
А так функция 11h похожа на функцию копирования 13h.
---------- Post added at 11:10 ---------- Previous post was at 11:08 ----------
Такая функция есть на PC. Возможно и программы есть такие, надо в DOS прогах покопаться :)
Тут у меня возникла мысль.
Что если прерывания сделать не по кадровому импульсу, а по счетчику-делителю
Т.е. взять к примеру частоту кадрового делителя V1 = 7867,1875Гц
и пустить еще по одному 8 - разрядному счетчику. Сделать порт сравнения с необходимой частотой и получать на выходе необходимую частотут прерывания.
Вот например:
- загружаем в порт 9Dh (157) получаем прерывание с частотой 50,109Гц
- при значение порта 83h (131) получаем частоту 60,054Гц
Этого вполне хватит для играния AY музыки я думаю.
Mick, имхо очень полезная фича, которой спеку не хватаеть
Mick, тогда, наверно, надо сделать конфигурацию через порт, от чего проц будет прерываться - от таймера или кадра. Ведь синхронизация по кадру тоже может быть нужна?
Можно и так. Синхронизация по 70Гц кадрам нужна будет, если бадяжить графрежим какой нибудь.
Пока пусть будет порт 0С4h - конфигурация видео.
Бит 0 отвечает за источник прерывания: 0 - от кадровой развертки, 1 - от делителя
Порт 0С5h - коэфициент делителя по которому будет происходить прерывание.
Mick, может, тогда и от внешней линии прерывания сконфигурировать(из карточки из слота), чтобы не перемычками переключать. Это реализуемо или уже предусмотрены перемычки?
А почему бы не оставить кадровый и таймерный инт? просто с различными векторами их сделать и все. Так было реализовано на DMA USC - там кроме основного прерывания приходило еще 6 прерываний - 4 по завершению проигрывания сэмпла и 2 таймерных, у них различные вектора были.
На схеме есть элемент ЛИ1, который как бы и от слота прерывания принимает.
Но как Error404 выразился, для лучшего восприятия ситуации поставить бит блокирующий внутренние прерывания.
---------- Post added at 16:00 ---------- Previous post was at 15:59 ----------
Ты требуешь от меня невозможного :)
Я еще только учусь и контроллер прерываний это для меня пока сложно.
Да и по сути он на первых порах и не нужен.