diff --git a/kernel/dev/at/cga.inc b/kernel/dev/at/cga.inc index 0665ea2..df7bfb0 100644 --- a/kernel/dev/at/cga.inc +++ b/kernel/dev/at/cga.inc @@ -18,8 +18,6 @@ CGA_LINES = 24 cga_getpos: ; read cursor position xor ax, ax - - xchg bx, bx ; get high mov dx, CGA_COMMAND @@ -43,7 +41,6 @@ cga_getpos: ;; In: ;; AX - cursor position cga_setpos: - xchg bx, bx mov dx, CGA_COMMAND push ax mov al, CGA_CURSOR_HIGH diff --git a/kernel/dev/at/ne2k.inc b/kernel/dev/at/ne2k.inc index 9f0b1d0..b4a2e48 100644 --- a/kernel/dev/at/ne2k.inc +++ b/kernel/dev/at/ne2k.inc @@ -1,11 +1,80 @@ ;; File: ne2k.inc ;; ;; Usefull links: - ;; - + ;; - NE2K_IOBASE = 0x300 +; PAGE 0 +NE2K_CR = NE2K_IOBASE + 0x0 + +NE2K_CR_PS1 = 0x80 +NE2K_CR_PS0 = 0x40 +NE2K_CR_RD2 = 0x20 +NE2K_CR_RD1 = 0x10 +NE2K_CR_RD0 = 0x08 +NE2K_CR_TXP = 0x04 +NE2K_CR_STA = 0x02 +NE2K_CR_STP = 0x01 + +NE2K_CLDA0 = NE2K_IOBASE + 0x1 +NE2K_CLDA1 = NE2K_IOBASE + 0x2 +NE2K_BNRY = NE2K_IOBASE + 0x3 +NE2K_TSR = NE2K_IOBASE + 0x4 +NE2K_NCR = NE2K_IOBASE + 0x5 +NE2K_FIFO = NE2K_IOBASE + 0x6 +NE2K_ISR = NE2K_IOBASE + 0x7 +NE2K_CRDA0 = NE2K_IOBASE + 0x8 +NE2K_CRDA1 = NE2K_IOBASE + 0x9 +NE2K_RSR = NE2K_IOBASE + 0xC +NE2K_CNTR0 = NE2K_IOBASE + 0xD +NE2K_CNTR1 = NE2K_IOBASE + 0xE +NE2K_CNTR2 = NE2K_IOBASE + 0xF + +NE2K_PSTART = NE2K_IOBASE + 0x1 +NE2K_PSTOP = NE2K_IOBASE + 0x2 +NE2K_TPSR = NE2K_IOBASE + 0x4 +NE2K_TBCR0 = NE2K_IOBASE + 0x5 +NE2K_TBCR1 = NE2K_IOBASE + 0x6 +NE2K_RSAR0 = NE2K_IOBASE + 0x8 +NE2K_RSAR1 = NE2K_IOBASE + 0x9 +NE2K_RBCR0 = NE2K_IOBASE + 0xA +NE2K_RBCR1 = NE2K_IOBASE + 0xB +NE2K_RCR = NE2K_IOBASE + 0xC +NE2K_TCR = NE2K_IOBASE + 0xD +NE2K_DCR = NE2K_IOBASE + 0xE +NE2K_IMR = NE2K_IOBASE + 0xF + +; PAGE 1 +NE2K_PAR0 = NE2K_IOBASE + 0x1 +NE2K_PAR1 = NE2K_IOBASE + 0x2 +NE2K_PAR2 = NE2K_IOBASE + 0x3 +NE2K_PAR3 = NE2K_IOBASE + 0x4 +NE2K_PAR4 = NE2K_IOBASE + 0x5 +NE2K_PAR5 = NE2K_IOBASE + 0x6 +NE2K_CURR = NE2K_IOBASE + 0x7 +NE2K_MAR0 = NE2K_IOBASE + 0x8 +NE2K_MAR1 = NE2K_IOBASE + 0x9 +NE2K_MAR2 = NE2K_IOBASE + 0xA +NE2K_MAR3 = NE2K_IOBASE + 0xB +NE2K_MAR4 = NE2K_IOBASE + 0xC +NE2K_MAR5 = NE2K_IOBASE + 0xD +NE2K_MAR6 = NE2K_IOBASE + 0xE +NE2K_MAR7 = NE2K_IOBASE + 0xF + +ne2k_init: + mov dx, NE2K_IOBASE + in al, dx + out dx, al + + mov al, NE2K_CR_STP + out dx, al + + ret + + ne2k_probe: + ret ne2k_irq: