Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 3,880 of 4,255    |
|    Robert Pengelly to wolfgang kern    |
|    Re: COM1 interrupt for 16-bit OS    |
|    11 Nov 23 02:18:02    |
      From: robertapengelly@gmail.com              On Saturday, 11 November 2023 at 09:49:55 UTC, wolfgang kern wrote:       > On 11/11/2023 09:21, Robert Pengelly wrote:       > > On Saturday, 11 November 2023 at 08:15:49 UTC, wolfgang kern wrote:       > >> On 11/11/2023 08:57, Robert Pengelly wrote:       > >> ...       > >>> so that part is sorted I just don't know what interrupt get fired.       > >> have you enabled and covered it by a routine where its address need to       > >> be stored into the Interrupt Table ?       > >> __       > >> wolfgang       > >> oh, and I forgot to mention that old hardware need delays between I/O       > >> writes (2..5 mSec)       > >>       > >> more info from RBIL about IRQ->INT and ENABLE:       > >>       > >> port A0 work equal for IRQ 8..15       > >>       > >> PORT 0020-003F - PIC 1 - PROGRAMMABLE INTERRUPT CONTROLLER (8259A)       > >> SeeAlso: PORT 00A0h-00AFh"PIC 2",INT 08"IRQ0",INT 0F"IRQ7"       > >>       > >> 0020 -W PIC initialization command word ICW1 (see #P0010)       > >> 0020 -W PIC output control word OCW2 (see #P0015)       > >> 0020 -W PIC output control word OCW3 (see #P0016)       > >> 0020 R- PIC interrupt request/in-service registers after OCW3       > >> request register:       > >> bit 7-0 = 0 no active request for the corresponding int. line       > >> = 1 active request for corresponding interrupt line       > >> in-service register:       > >> bit 7-0 = 0 corresponding line not currently being serviced       > >> = 1 corresponding int. line currently being serviced       > >>       > >> 0021 -W PIC ICW2,ICW3,ICW4 immed after ICW1 to 0020 (see       > >> #P0011,#P0012,#P0013)       > >> 0021 RW PIC master interrupt mask register OCW1 (see #P0014)       > >>       > >> Bitfields for PIC initialization command word ICW1:       > >> Bit(s) Description (Table P0010)       > >> 7-5 0 (only used in 8080/8085 mode)       > >> 4 ICW1 is being issued       > >> 3 (LTIM)       > >> =0 edge triggered mode       > >> =1 level triggered mode       > >> 2 interrupt vector size       > >> =0 successive interrupt vectors use 8 bytes (8080/8085)       > >> =1 successive interrupt vectors use 4 bytes (80x86)       > >> 1 (SNGL)       > >> =0 cascade mode       > >> =1 single mode, no ICW3 needed       > >> 0 ICW4 needed       > >> SeeAlso: #P0011,#P0012,#P0013       > >>       > >> Bitfields for PIC initialization command word ICW2:       > >> Bit(s) Description (Table P0011)       > >> 7-3 address lines A0-A3 of base vector address for PIC       > >> 2-0 reserved       > >> SeeAlso: #P0010,#P0012,#P0013       > >>       > >> Bitfields for PIC initialization command word ICW3:       > >> Bit(s) Description (Table P0012)       > >> 7-0 =0 slave controller not attached to corresponding interrupt pin       > >> =1 slave controller attached to corresponding interrupt pin       > >> SeeAlso: #P0010,#P0011,#P0013       > >>       > >> Bitfields for PIC initialization command word ICW4:       > > What do you mean by:       > >       > > "have you enabled and covered it by a routine where its address need to       > > be stored into the Interrupt Table ?"       > >       > > I thought interrupts were "intno * 4 (+ 2)" so for INT 0Ch it would be:       > >       > > mov [12 * 4], offset handler       > > mov [12 * 4 + 2], segment       > >       > > but that doesn't work or am I missing something?       > perhaps the way IRQs and INTs were treated/handled.       > have you enabled IRQ4 in the PIC port 0x20 (see above)       >       > IRQ4 may not be at INT12, but let's assume it is there.       > perhaps you already posted it, what is the code at Seg:Offset       > __       > wolfgang       "have you enabled IRQ4 in the PIC port 0x20"       I looked at your table stuff but I'm still a little confused how I enable it.              As for the code all I'm doing is changing my timer interrupt to the IRQ4 one       (0x0C * 4 (+ 2) as that's what I think that's what the interrupt get fired).              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca