>Anyway, Bjorn you are missing a lot of amd setup code, jmp to setup
>will follow by bunch of int 15h etc. You'll need to setup MMS windows
>at least on on CS0.

 Actually, I do this instead:

mov byte cs:[0x312], #0x40
mov byte cs:[0x313], #0x90              
mov byte cs:[0x314], #0x90

 This turns the instructions

        mov     ah,#0x88
        int     0x15

 into

        mov     ah, #0x40  ;al is already 00
        nop
        nop

 :-) I also needed some more CSC setup to make the keyboard interface work:

.org 0xf100
SC400RegInit:
        dw      0xAB00   ;Configure 2 banks of DRAM:32 bit, EDO, 2mb depth
        dw      0xAB01
        dw      0x5C04    ;Set DRAM timing as slow as possible
        dw      0x4005    ;Enable refresh, use 32khz osc for refresh

        db 0x21, %0001000  ;disable 3ff0000 boot vector
        dw  0x0724 ;waitstates?

        db 0x32, %00000000  ;bit22-15 MMSA, 
        db 0x33, %00001000  ; MMSA enabled, ROMCS0, !WP, !Cache

        ;Required for superio interface.  SuperIO needed to control LEDs.
        dw      0x1938    ;Select ISA iochrdy, IOCS16, and AEN signals Vs. GPIOs

        dw      0x0480    ;cpu clk:high spd mode=33mhz, low spd mode = 8 mhz

        ;required for remote debug via serial port
        dw      0x01D1    ;Enable internal UART at 3f8

        ;Only required for UART remote debug if interrupt driven mode enabled
        dw      0x40D8    ;Internal UART uses IRQ4
        dw      0x7F38
        dw      0x7539
        dw      0x023a
        dw      0x08C1
        dw      0xaec2
SC400RegTableLen = (* - SC400RegInit) / 2

 and then it works. (I posted a message to that effect shortly after posting my 
original message, maybe it got lost.)

//Cheers, Björn.


Reply via email to