| version 1.1 | | version 1.2 |
|---|
| | |
| } | | } |
| | | |
| inline void gr_vesa_setpage(int bank) { | | inline void gr_vesa_setpage(int bank) { |
| | | int dummy[1]; |
| if (bank != lastbank) | | if (bank != lastbank) |
| asm volatile("int $0x10" | | asm volatile("int $0x10" |
| : : "a" (0x4f05), "b" (0), "d" ((lastbank = bank) << bankshift) | | : "=a" (dummy[0]) |
| : "%eax"); | | : "0" (0x4f05), "b" (0), "d" ((lastbank = bank) << bankshift) |
| | | ); |
| } | | } |
| | | |
| void gr_vesa_incpage() { | | void gr_vesa_incpage() { |
| | |
| } | | } |
| | | |
| void gr_vesa_setstart(int col, int row) { | | void gr_vesa_setstart(int col, int row) { |
| | | int dummy; |
| asm volatile("int $0x10" | | asm volatile("int $0x10" |
| : : "a" (0x4f07), "b" (0), "c" (col), "d" (row) : "%eax"); | | : "=a" (dummy) : "0" (0x4f07), "b" (0), "c" (col), "d" (row) ); |
| } | | } |
| | | |
| int gr_vesa_setlogical(int line_width) { | | int gr_vesa_setlogical(int line_width) { |
| int ret; | | int ret; |
| | | int dummy; |
| asm volatile("int $0x10" | | asm volatile("int $0x10" |
| : "=c" (ret) : "a" (0x4f07), "b" (0), "c" (line_width) : "%eax"); | | : "=c" (ret), "=a" (dummy) : "1" (0x4f07), "b" (0), "c" (line_width) ); |
| return ret; | | return ret; |
| } | | } |
| | | |