-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I managed to catch all I/O for init of K8M890 IGP. Attached patch is for
http://www.nongnu.org/vgabios/. With a patch one can have a console and some VGA
resolutions also might work.

It is just a interesting result.

I used libx86 library to catch all IO. It was quite painful until I realize that
the emulator cannot handle properly opcodes like

0x66 0xe8 .. .. 0xff 0xff and also mov al,cs:[ebx] which  I get caught in Sebios
int 15 routine.

I somehow  managed to fix the emulator (only hacks) and patched the IO backend
of emulator and obtained following tracedump:

OUTB to 3c3 is 1
OUTW to 3c4 is 32
OUTB to 3c4 is 10
INB from 3c5 is 0
OUTB to 3c5 is 1
OUTL to cf8 is 80010000
INL from cfc is 32301106
OUTB to 3c4 is 2d
INB from 3c5 is aa
OUTB to 3c5 is bf
OUTW to 3c4 is 816
...
and other ~250 lines

Those were just directly transformed with bash script to IO calls in patch. The
BIOS works, it even sets the memory speed grade, but not the mem size to scratch
registers (it uses SeaBIOS VIA vga hooks for this)

I can boot X without any problems, Windows 7 boots with VGAfailsafe driver and
16 colors ;)

If someone ever want to write somethink like SeaBIOS but for VGA here is the
chance (I dont have time :/)

What is important, some bits in this init fixes also the problem with PowerNow
which I had until VGA option rom was run. There must be smth set which enables
the HT deliver stop grants or smth like this again.

Rudolf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknzF6MACgkQ3J9wPJqZRNUwvQCgxCqJxqHZ4fuUgo7dVIdhj7JA
zxwAn3bKtyZdyfn3LJFFuI02f5vGPjoQ
=60ml
-----END PGP SIGNATURE-----
diff -uprN vgabios-0.6c/a.asm vgabios-0.6c-moje/a.asm
--- vgabios-0.6c/a.asm	1970-01-01 01:00:00.000000000 +0100
+++ vgabios-0.6c-moje/a.asm	2009-04-25 15:33:35.775327769 +0200
@@ -0,0 +1,1903 @@
+mov al, #0x1
+mov dx, #0x3c3
+out dx,al
+mov ax, #0x32
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3c5
+out dx,al
+mov al, #0x2d
+mov dx, #0x3c4
+out dx,al
+//modify bytes  bf
+mov al, #0xbf
+mov dx, #0x3c5
+out dx,al
+mov ax, #0x816
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x1f17
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0xe18
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x821a
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x1f
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x4020
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x4021
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x1f22
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x4041
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x3042
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x1f50
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x33
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0xc30
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x8041
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x809d
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x8042
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x809e
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x7f19
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x301b
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x11e
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x12c
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x2a
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0xff2d
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0xfb2e
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0xff3f
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x3136
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x34
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x48
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x62
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x63
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x64
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0xa3
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x67
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x416a
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x91
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0xd3
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0xf551
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x840
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x40
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x9043
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x3e
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x97
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x74
+mov dx, #0x3b4
+out dx,ax
+mov al, #0x32
+mov dx, #0x3c4
+out dx,al
+mov ax, #0x13b
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x43d
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x3e
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x23f
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x4b
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x4c
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x4d
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x104e
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x32
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x33
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x4034
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x439
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x3a
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x49
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x4a
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x4f
+mov dx, #0x3b4
+out dx,ax
+mov ax, #0x83c
+mov dx, #0x3b4
+out dx,ax
+mov al, #0x32
+mov dx, #0x3b4
+out dx,al
+//modify bytes  11
+mov al, #0x11
+mov dx, #0x3b5
+out dx,al
+mov al, #0x88
+mov dx, #0x3b4
+out dx,al
+//modify bytes  20
+mov al, #0x20
+mov dx, #0x3b5
+out dx,al
+mov ax, #0x13b
+mov dx, #0x3b4
+out dx,ax
+mov al, #0x3d
+mov dx, #0x3b4
+out dx,al
+//modify bytes  4
+mov al, #0x4
+mov dx, #0x3b5
+out dx,al
+mov al, #0x3d
+mov dx, #0x3b4
+out dx,al
+mov al, #0x17
+mov dx, #0x3b4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3b5
+out dx,al
+mov ax, #0x848
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0xb847
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x349
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x17
+mov dx, #0x3b4
+out dx,al
+//modify bytes  80
+mov al, #0x80
+mov dx, #0x3b5
+out dx,al
+mov al, #0x40
+mov dx, #0x3c4
+out dx,al
+//modify bytes  9
+mov al, #0x9
+mov dx, #0x3c5
+out dx,al
+mov al, #0x40
+mov dx, #0x3c4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3c5
+out dx,al
+mov al, #0x0
+mov dx, #0x3c2
+out dx,al
+mov al, #0x47
+mov dx, #0x3b4
+out dx,al
+//modify bytes  4
+mov al, #0x4
+mov dx, #0x3b5
+out dx,al
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+//modify bytes  20
+mov al, #0x20
+mov dx, #0x3c5
+out dx,al
+mov al, #0x47
+mov dx, #0x3b4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3b5
+out dx,al
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov al, #0x3d
+mov dx, #0x3b4
+out dx,al
+//modify bytes  4
+mov al, #0x4
+mov dx, #0x3b5
+out dx,al
+mov al, #0x16
+mov dx, #0x3c4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3c5
+out dx,al
+mov al, #0x36
+mov dx, #0x3b4
+out dx,al
+//modify bytes  31
+mov al, #0x31
+mov dx, #0x3b5
+out dx,al
+mov al, #0x30
+mov dx, #0x3b4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3b5
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov al, #0x6b
+mov dx, #0x3b4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3b5
+out dx,al
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+//modify bytes  20
+mov al, #0x20
+mov dx, #0x3c5
+out dx,al
+mov ax, #0x349
+mov dx, #0x3b4
+out dx,ax
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3c5
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3c5
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov al, #0x36
+mov dx, #0x3b4
+out dx,al
+//modify bytes  31
+mov al, #0x31
+mov dx, #0x3b5
+out dx,al
+mov al, #0x17
+mov dx, #0x3b4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3b5
+out dx,al
+mov al, #0x47
+mov dx, #0x3b4
+out dx,al
+mov ax, #0x100
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+mov ax, #0x2001
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x302
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x3
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x204
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x67
+mov dx, #0x3c2
+out dx,al
+mov ax, #0x300
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x2011
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5f00
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x4f01
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5002
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8203
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5504
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8105
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xbf06
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x1f07
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x4f09
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xd0a
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xe0b
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xc
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xd
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xe
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xf
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x9c10
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x6e11
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8f12
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x2813
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x1f14
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x9615
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xb916
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x2317
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xff18
+mov dx, #0x3d4
+out dx,ax
+mov al, #0x10
+mov dx, #0x3c0
+out dx,al
+mov al, #0xc
+mov dx, #0x3c0
+out dx,al
+mov al, #0x12
+mov dx, #0x3c0
+out dx,al
+mov al, #0xf
+mov dx, #0x3c0
+out dx,al
+mov al, #0x13
+mov dx, #0x3c0
+out dx,al
+mov al, #0x8
+mov dx, #0x3c0
+out dx,al
+mov al, #0x14
+mov dx, #0x3c0
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov ax, #0x0
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x1
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x2
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x3
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x4
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x1005
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0xe06
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x7
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0xff08
+mov dx, #0x3ce
+out dx,ax
+mov al, #0x47
+mov dx, #0x3d4
+out dx,al
+mov al, #0x47
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov ax, #0x100
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+mov ax, #0x2001
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x67
+mov dx, #0x3c2
+out dx,al
+mov ax, #0x300
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x2011
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5f00
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x4f01
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5002
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8203
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x5504
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8105
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xbf06
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x1f07
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8
+mov dx, #0x3d4
+out dx,ax
+mov al, #0x9
+mov dx, #0x3d4
+out dx,al
+//modify bytes  4f
+mov al, #0x4f
+mov dx, #0x3d5
+out dx,al
+mov ax, #0x9c10
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x6e11
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x8f12
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x2813
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x1f14
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x9615
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xb916
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0x2317
+mov dx, #0x3d4
+out dx,ax
+mov ax, #0xff18
+mov dx, #0x3d4
+out dx,ax
+mov al, #0x15
+mov dx, #0x3c4
+out dx,al
+//modify bytes  2
+mov al, #0x2
+mov dx, #0x3c5
+out dx,al
+mov al, #0x16
+mov dx, #0x3c4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3c5
+out dx,al
+mov al, #0x17
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1f
+mov al, #0x1f
+mov dx, #0x3c5
+out dx,al
+mov al, #0x1a
+mov dx, #0x3c4
+out dx,al
+//modify bytes  a
+mov al, #0xa
+mov dx, #0x3c5
+out dx,al
+mov al, #0x33
+mov dx, #0x3d4
+out dx,al
+//modify bytes  e
+mov al, #0xe
+mov dx, #0x3d5
+out dx,al
+mov al, #0x35
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov al, #0x36
+mov dx, #0x3d4
+out dx,al
+//modify bytes  31
+mov al, #0x31
+mov dx, #0x3d5
+out dx,al
+mov al, #0x47
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov al, #0x48
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov al, #0x34
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov al, #0x20
+mov dx, #0x3ce
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3cf
+out dx,al
+mov al, #0x21
+mov dx, #0x3ce
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3cf
+out dx,al
+mov al, #0x22
+mov dx, #0x3ce
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3cf
+out dx,al
+mov al, #0x15
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov al, #0x1a
+mov dx, #0x3c4
+out dx,al
+//modify bytes  2
+mov al, #0x2
+mov dx, #0x3c5
+out dx,al
+mov al, #0x33
+mov dx, #0x3d4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3d5
+out dx,al
+mov al, #0x11
+mov dx, #0x3d4
+out dx,al
+//modify bytes  6e
+mov al, #0x6e
+mov dx, #0x3d5
+out dx,al
+mov al, #0x35
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov ax, #0x2813
+mov dx, #0x3d4
+out dx,ax
+mov al, #0x49
+mov dx, #0x3d4
+out dx,al
+mov al, #0x49
+mov dx, #0x3d4
+out dx,al
+mov al, #0x15
+mov dx, #0x3c4
+out dx,al
+mov al, #0x13
+mov dx, #0x3d4
+out dx,al
+mov al, #0x35
+mov dx, #0x3d4
+out dx,al
+mov al, #0x49
+mov dx, #0x3d4
+out dx,al
+mov al, #0x15
+mov dx, #0x3c4
+out dx,al
+mov al, #0x13
+mov dx, #0x3d4
+out dx,al
+mov al, #0x35
+mov dx, #0x3d4
+out dx,al
+mov al, #0x57
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov ax, #0x6017
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x16
+mov dx, #0x3c4
+out dx,al
+//modify bytes  8
+mov al, #0x8
+mov dx, #0x3c5
+out dx,al
+mov al, #0x16
+mov dx, #0x3c4
+out dx,al
+//modify bytes  28
+mov al, #0x28
+mov dx, #0x3c5
+out dx,al
+mov al, #0x1d
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov ax, #0x541c
+mov dx, #0x3c4
+out dx,ax
+mov al, #0x22
+mov dx, #0x3c4
+out dx,al
+//modify bytes  14
+mov al, #0x14
+mov dx, #0x3c5
+out dx,al
+mov al, #0x17
+mov dx, #0x3d4
+out dx,al
+//modify bytes  a3
+mov al, #0xa3
+mov dx, #0x3d5
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov al, #0x1
+mov dx, #0x3c0
+out dx,al
+mov al, #0x1
+mov dx, #0x3c0
+out dx,al
+mov al, #0x2
+mov dx, #0x3c0
+out dx,al
+mov al, #0x2
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3
+mov dx, #0x3c0
+out dx,al
+mov al, #0x4
+mov dx, #0x3c0
+out dx,al
+mov al, #0x4
+mov dx, #0x3c0
+out dx,al
+mov al, #0x5
+mov dx, #0x3c0
+out dx,al
+mov al, #0x5
+mov dx, #0x3c0
+out dx,al
+mov al, #0x6
+mov dx, #0x3c0
+out dx,al
+mov al, #0x14
+mov dx, #0x3c0
+out dx,al
+mov al, #0x7
+mov dx, #0x3c0
+out dx,al
+mov al, #0x7
+mov dx, #0x3c0
+out dx,al
+mov al, #0x8
+mov dx, #0x3c0
+out dx,al
+mov al, #0x38
+mov dx, #0x3c0
+out dx,al
+mov al, #0x9
+mov dx, #0x3c0
+out dx,al
+mov al, #0x39
+mov dx, #0x3c0
+out dx,al
+mov al, #0xa
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3a
+mov dx, #0x3c0
+out dx,al
+mov al, #0xb
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3b
+mov dx, #0x3c0
+out dx,al
+mov al, #0xc
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3c
+mov dx, #0x3c0
+out dx,al
+mov al, #0xd
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3d
+mov dx, #0x3c0
+out dx,al
+mov al, #0xe
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3e
+mov dx, #0x3c0
+out dx,al
+mov al, #0xf
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c0
+out dx,al
+mov al, #0x10
+mov dx, #0x3c0
+out dx,al
+mov al, #0xc
+mov dx, #0x3c0
+out dx,al
+mov al, #0x11
+mov dx, #0x3c0
+out dx,al
+mov al, #0x0
+mov dx, #0x3c0
+out dx,al
+mov al, #0xff
+mov dx, #0x3c6
+out dx,al
+mov al, #0x1a
+mov dx, #0x3c4
+out dx,al
+//modify bytes  32
+mov al, #0x32
+mov dx, #0x3c5
+out dx,al
+mov al, #0x0
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x4
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x5
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x6
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x7
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x8
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x9
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0xa
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0xb
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0xc
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0xd
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0xe
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0xf
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x10
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x11
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x12
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x13
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x14
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x16
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x17
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x18
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x19
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1a
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1b
+mov dx, #0x3c8
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1c
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1d
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1e
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x1f
+mov dx, #0x3c8
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x20
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x21
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x22
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x23
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x24
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x25
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x26
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x27
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x28
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x29
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2b
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2c
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2d
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2e
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2f
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x30
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x31
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x32
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x33
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x34
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x35
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x36
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x0
+mov dx, #0x3c9
+out dx,al
+mov al, #0x37
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x2a
+mov dx, #0x3c9
+out dx,al
+mov al, #0x38
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x39
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3a
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3b
+mov dx, #0x3c8
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3c
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3d
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3e
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x15
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c8
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov al, #0x3f
+mov dx, #0x3c9
+out dx,al
+mov ax, #0x1
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x3
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x204
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x5
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x406
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0xff08
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x402
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x604
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x302
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x204
+mov dx, #0x3c4
+out dx,ax
+mov ax, #0x1005
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0x4
+mov dx, #0x3ce
+out dx,ax
+mov ax, #0xe06
+mov dx, #0x3ce
+out dx,ax
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3c5
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+mov al, #0x10
+mov dx, #0x3c4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3c5
+out dx,al
+mov al, #0x6a
+mov dx, #0x3d4
+out dx,al
+//modify bytes  41
+mov al, #0x41
+mov dx, #0x3d5
+out dx,al
+mov al, #0x30
+mov dx, #0x3d4
+out dx,al
+//modify bytes  c
+mov al, #0xc
+mov dx, #0x3d5
+out dx,al
+mov al, #0x16
+mov dx, #0x3d4
+out dx,al
+mov al, #0x41
+mov dx, #0x3d4
+out dx,al
+//modify bytes  b9
+mov al, #0xb9
+mov dx, #0x3d5
+out dx,al
+mov al, #0x42
+mov dx, #0x3d4
+out dx,al
+//modify bytes  b4
+mov al, #0xb4
+mov dx, #0x3d5
+out dx,al
+mov al, #0x9e
+mov dx, #0x3d4
+out dx,al
+//modify bytes  b4
+mov al, #0xb4
+mov dx, #0x3d5
+out dx,al
+mov al, #0x6b
+mov dx, #0x3d4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3d5
+out dx,al
+mov al, #0x3d
+mov dx, #0x3d4
+out dx,al
+mov al, #0x3d
+mov dx, #0x3d4
+out dx,al
+mov al, #0x1
+mov dx, #0x3c4
+out dx,al
+//modify bytes  0
+mov al, #0x0
+mov dx, #0x3c5
+out dx,al
+mov al, #0x16
+mov dx, #0x3c4
+out dx,al
+//modify bytes  28
+mov al, #0x28
+mov dx, #0x3c5
+out dx,al
+mov al, #0x20
+mov dx, #0x3c0
+out dx,al
+mov al, #0x3d
+mov dx, #0x3d4
+out dx,al
+mov al, #0x3d
+mov dx, #0x3d4
+out dx,al
+mov al, #0x36
+mov dx, #0x3d4
+out dx,al
+//modify bytes  1
+mov al, #0x1
+mov dx, #0x3d5
+out dx,al
+mov al, #0x20
+mov dx, #0x3c0
+out dx,al
+//query SeaBIOS for memsize and speed grade
+mov ax, #0x5f18
+int #0x15
+cmp ax, #0x5f
+jnz no_ext
+//put to CR3D memory speed grade
+mov al, #0x3d
+mov dx, #0x3d4
+out dx,al
+mov al, bl
+mov dx, #0x3d5
+and al, #0xf0
+out dx,al
+//put to SR39 memory size in BL[3:0] is n, size is 2^n
+//fixme - now writing zero
+mov al, #0x39
+mov dx, #0x3c4
+out dx,al
+xor al, al
+mov dx, #0x3c5
+out dx,al
+no_ext:
diff -uprN vgabios-0.6c/vgabios.c vgabios-0.6c-moje/vgabios.c
--- vgabios-0.6c/vgabios.c	2009-04-07 20:18:20.000000000 +0200
+++ vgabios-0.6c-moje/vgabios.c	2009-04-24 23:49:47.680346171 +0200
@@ -413,6 +413,7 @@ ASM_END
  */
 ASM_START
 init_vga_card:
+#include "a.asm"
 ;; switch to color mode and enable CPU access 480 lines
   mov dx, #0x3C2
   mov al, #0xC3

Attachment: k8m890_vga.patch.sig
Description: Binary data

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to