- mov esp, 0x1fffffff
-
-; mov al, 0x05
-; out 0x80, al
-
- mov al, [(cstat + 0xA8000)]
- add al, 1
- out 0x80, al
- mov [(cstat + 0xA8000)], al
-
- mov eax, 0x11223344
- mov dword [(status + 0xA8000)], eax
-
- mov dx, 0xCF8 ; save off the old config value
- in dword eax, dx
- mov [esp-4], eax
-
- mov eax, 0x80000070 ; load in smramc
- out dx, eax
- mov dx, 0xCFC
- in byte al, dx
- mov [esp-5], al
- and al, 0xF3 ; Allow graphics access
- or al, 0x08
- out dx, al
-
- xor eax, eax
- mov dx, 0x3D4
- in byte al, dx
- mov [esp-6], al ; save off the old VGA command
- mov al, 0xC
- out dx, al
- inc dx
- in al, dx
- mov ah, al
- dec dx
- mov al, 0xD
- out dx, al
- inc dx
- in al, dx
- shl eax, 1
- add eax, 0xB8000 ; yay
- mov byte [eax+0], '1'
- mov byte [eax+1], 0xA0
- mov byte [eax+2], '5'
- mov byte [eax+3], 0xA0
- mov byte [eax+4], '-'
- mov byte [eax+5], 0xA0
- mov byte [eax+6], '4'
- mov byte [eax+7], 0xA0
- mov byte [eax+8], '1'
- mov byte [eax+9], 0xA0
- mov byte [eax+10], '2'
- mov byte [eax+11], 0xA0
-
- mov dx, 0x3D4
- mov al, [esp-6]
- out dx, al
-
-
- mov dx, 0xCFC ; restore smramc
- mov al, [esp-5]
- out dx, al
-
- mov dx, 0xCF8 ; restore the old config value
- mov eax, [esp-4]
- out dx, eax
-
- mov al, 0x40 ; ack the periodic IRQ
- mov dx, 0x834
- out dx, al