diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2006-09-12 20:50:31 -0700 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2006-09-12 20:50:31 -0700 |
| commit | 945c3ef306e89e08798e99fe800406bf89d16ab8 (patch) | |
| tree | 998d329f55f67eb34a3ec60c1fd20f3f138c5422 /com32 | |
| parent | f12313f310db53a9d85df09acb0ca045849d2205 (diff) | |
| download | syslinux-945c3ef306e89e08798e99fe800406bf89d16ab8.tar.gz | |
com32/ansicon: actually mode the cursor...
Diffstat (limited to 'com32')
| -rw-r--r-- | com32/lib/sys/ansicon_write.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/com32/lib/sys/ansicon_write.c b/com32/lib/sys/ansicon_write.c index 43b7c18b..1fab2ac1 100644 --- a/com32/lib/sys/ansicon_write.c +++ b/com32/lib/sys/ansicon_write.c @@ -99,11 +99,13 @@ int __ansicon_open(struct file_info *fp) ireg.eax.w[0] = 0x0005; __intcall(0x22, &ireg, NULL); - /* Get cursor shape */ + /* Get cursor shape and position */ ireg.eax.b[1] = 0x03; ireg.ebx.b[1] = BIOS_PAGE; __intcall(0x10, &ireg, &oreg); cursor_type = oreg.ecx.w[0]; + ti.ts->xy.x = oreg.edx.b[0]; + ti.ts->xy.y = oreg.edx.b[1]; } } @@ -183,8 +185,8 @@ static void ansicon_set_cursor(int x, int y, int visible) if (xy.x != x || xy.y != y) { ireg.eax.b[1] = 0x02; ireg.ebx.b[1] = page; - ireg.edx.b[1] = xy.y; - ireg.edx.b[0] = xy.x; + ireg.edx.b[1] = y; + ireg.edx.b[0] = x; __intcall(0x10, &ireg, NULL); } } |
