ZXNet эхоконференция «zxnet.soft»


тема: Контроллер прерываний



от: Valerij Kozhevnikoff
кому: Denis Dmitriev
дата: 15 Dec 1998
Здравствуй, Denis ! 26 Nov 98 at 00:29:30, Denis Dmitriev => Valerij Kozhevnikoff: VK>> Смук мной изучен досконально. Остались лишь мелкие VK>> неясности. VK>> Так что спрашивай. DD> Помнится, там появился контроллер прерываний. Каким образом можно заставить DD> его работать, если вообще можно? Два порта в трдосе, #7EBE и #7FBE. В доке на 8259 у мя их никак не называют, так что пусть будут "чётный" и "нечётный". ===================== import file 8259regs.t ================== 3.3.Программирование ПКП Hиже описывается управление ПКП в ПЭВМ на базе микропроцессоров Intel 8086/8088/80286. Возможности, позволяющие включить ПКП в ПЭВМ, использующие другие процессоры, опущены. Для вывода информации в ПКП используются 2 порта ввода-вывода. Порт с четным адресом (обычно это порт 20h) и порт с нечетным адресом (обычно 21h). Через эти порты могут быть переданы 4 слова инициализации (Initialization Control Word, ICW1 - ICW4), задающие режим работы ПКП, и 3 операционных управляющих слова (слова рабочих приказов, Operation Control Words, OCW1 - OCW3). В порт с четным адресом выводятся ICW1, OCW2 и OCW3. OCW2 отличается от OCW3 тем, что бит 3 в ocw2 равен 0, а в OCW3 равен 1. В то же время бит 4 в OCW2 и OCW3 равен 0, а в ICW1 равен 1. Таким образом по значению, выводимому в порт с четным адресом, однозначно определяется, в какой регистр (ICW1, OCW2 или OCW3) заносятся данные. Порт с нечетным адресом используется для вывода ICW2, ICW3, ICW4 и OCW1. Hеоднозначности интерпретации данных в этом случае так же не возникает, т. к. слова инициализации ICW2 - ICW4 должны непосредственно следовать за ICW1, выведенным в порт с четным адресом и выводить в промежутке между ними OCW1 не следует, онo не будет опознанo контроллером. Выводом в порт с четным адресом управляющего слова инициализации ICW1 начинается инициализация ПКП. В процессе инициализации контроллер последовательно принимает управляющие слова ICW1 - ICW4. При наличии в системе одного контроллера ICW3 не выводится. Hаличие ICW4 определяется содержанием ICW1. При наличии каскада из нескольких ПКП каждый из них инициализируется отдельно. ============================ import end ======================= Сигнал INT на процессор обычно заперт. Чтобы отпереть - надо включить в #FFBA bit 3. Это примерно как запирание NMI по А11 в кондратьевской схеме. В нормальном состоянии #FFBA должен содержать #77. Hа IRQ0 подан проинвертированный сигнал прерывания от часов, на IRQ1 - некая нога от альтеры. Ужель альтера генерит прерывания? И зачем? Все остальные IRQ2-IRQ7 берутся с исашного слота. Кста, инт подан к смаковской альтере через диод. тикалка Z80 ┌─── 50 Hz SMUC ────┐ │ ┌─── │ │ │ /INT ├────┴─────────|>|────────┤ │ │ Получается: возможен момент, когда тикалке и смаку одновре- менно захочется прерывания. Значит кто-то из них будет послан в садъ? А пока прога разбирается кого посылать, время-то идет? Нехорошо. Было бы правильнее затыкать родную тикалку, и заставлять ча- сы тикать с частотой 50Hz. А контроллеру управляющее слово сказать надо, чтоб знал кто сейчас главнее - часы или момед. А вот тут, похоже процедура, которой теневик ищет сабж. === Cut === ;============================================================; LD BC,#FFBA ;interrupt controller detect LD A,(LDFF0) AND #F7 OUT (C),A LD (LDFF0),A LD BC,#7EBE LD A,#F3 OUT (C),A NOP LD B,#7F LD A,#C5 OUT (C),A NOP LD A,#1 OUT (C),A NOP NOP IN A,(C) OR A JR Z,L15A1 CP #1 JR Z,L15A5 L159D LD A,#24 SCF RET L15A1 SET 4,(IY+#1B) L15A5 LD B,#7E LD A,#F2 OUT (C),A NOP LD B,#7F LD A,#C5 OUT (C),A NOP LD A,#FF OUT (C),A NOP NOP IN A,(C) CP #FF JR NZ,L159D SET 4,(IY+#1A) XOR A LD A,#25 RET LDFF0 DEFB #77 === Cut === ============================ import end ======================= WBR, Jason.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Cracked by - кряк газет Insanity#10 и Psychozz.
Навiны - Flying/DR посетил Гродно, завершена игра Сlickmania, о судьбе Awaken, Smont пишет утилиты для работы с HDD.
TR-DOS - Функции TR-DOS
Проходилка - рохождение очень интересной, но довольно трудной игры " 48 УТЮГОВ ".
Реклама - Реклама от В. Богдановича.

В этот день...   7 мая