Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Jul 1998 14:54:25 +0200 (CEST)
From:      Nick Hibma <nick.hibma@jrc.it>
To:        FreeBSD hackers mailing list <hackers@FreeBSD.ORG>
Cc:        sos@FreeBSD.ORG, Nick Hibma <nick.hibma@jrc.it>
Subject:   character type mouse
Message-ID:  <Pine.BSF.3.95q.980704142458.265A-200000@heidi>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-725232148-899556865=:352
Content-Type: TEXT/PLAIN; charset=US-ASCII


Here are the diffs for the CHARACTER_MOUSE. They are done on 2.2.1. I'll
send you better ones as soon as I get my hands on the 3.0 and 2.2.5
machines at work, Soren.

The effect of 10-20% interrupt time, was indeed related to that one
occurrence of waiting for the retrace. The CPU utilisation stays at zero
now. There is still one of the busy waiting loops in there with the
destructive cursor. Dunno if that is anything important/often called 
though. 

The code as it is could be improved upon probably by more thoroughly
checking whether the mouse pointer has moved at all, but I didn't bother
as it most probably only clutters the code with ifdef's with not
noticably improving efficiency. 

The Netherlands will win, 2-1, mark my words.

Cheers,

A Dutchman in Italy.


P.S.: The coloring scheme:

    const int col_conv[16] =
            {6,6,6,6,2,2,2,6,14,14,14,14,10,10,10,14};

    if ( crtc_addr == COLOR_BASE )
        color =   (col_conv[(cur_val&0xf000)>>12]<<12)
                | (cur_val&0x0f00|0x0800);      /* Set bold attr */
    else
        /* black & white: reverse colors (XXX untested) */
        color = ((cur_val&0xf000)>>4) | ((cur_val&0x0f00)<<4);


--0-725232148-899556865=:352
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="syscons.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.3.95q.980704145425.352A@heidi>
Content-Description: Diffs -C3 to the files modified

KioqIHN5c2NvbnMuYy5vcmlnCVNhdCBKdWwgIDQgMTA6NTI6MDMgMTk5OA0K
LS0tIHN5c2NvbnMuYwlTYXQgSnVsICA0IDE0OjE4OjE0IDE5OTgNCioqKioq
KioqKioqKioqKg0KKioqIDM0NzksMzQ4NCAqKioqDQotLS0gMzQ3OSwzNDg1
IC0tLS0NCiAgCWFkZHJlc3MgPSAoY2FkZHJfdClWSURFT01FTSArIDB4NDAw
MDsNCiAgICAgIH0NCiAgDQorICNpZm5kZWYgQ0hBUkFDVEVSX01PVVNFDQog
ICAgICBpZiAoc2NwLT5zdGF0dXMgJiBNT1VTRV9WSVNJQkxFKSB7DQogIAlp
ZiAoKHNjcC0+Y3Vyc29yX3NhdmV1bmRlciAmIDB4ZmYpID09IDB4ZDApDQog
ICAgICAJICAgIGJjb3B5dygmc2NwLT5tb3VzZV9jdXJzb3JbMF0sIGN1cnNv
ciwgc2NwLT5mb250X3NpemUpOw0KKioqKioqKioqKioqKioqDQoqKiogMzQ5
MywzNDk4ICoqKioNCi0tLSAzNDk0LDM1MDAgLS0tLQ0KICAgCSAgICAgICAJ
ICAgY3Vyc29yLCBzY3AtPmZvbnRfc2l6ZSk7DQogICAgICB9DQogICAgICBl
bHNlDQorICNlbmRpZg0KICAgICAgCWJjb3B5dyhmb250X2J1ZmZlciArICgo
c2NwLT5jdXJzb3Jfc2F2ZXVuZGVyICYgMHhmZikgKiBzY3AtPmZvbnRfc2l6
ZSksDQogICAJICAgICAgIGN1cnNvciwgc2NwLT5mb250X3NpemUpOw0KICAg
ICAgZm9yIChpPTA7IGk8MzI7IGkrKykNCioqKioqKioqKioqKioqKg0KKioq
IDM2MDYsMzYxNyAqKioqDQogIHN0YXRpYyB2b2lkDQogIGRyYXdfbW91c2Vf
aW1hZ2Uoc2NyX3N0YXQgKnNjcCkNCiAgew0KICAgICAgY2FkZHJfdCBhZGRy
ZXNzOw0KICAgICAgaW50IGk7DQogICAgICBjaGFyICpmb250X2J1ZmZlcjsN
CiAgICAgIHVfc2hvcnQgYnVmZmVyWzMyXTsNCiAgICAgIHVfc2hvcnQgeG9m
ZnNldCwgeW9mZnNldDsNCi0gICAgIHVfc2hvcnQgKmNydF9wb3MgPSBDcnRh
dCArIChzY3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQogICAgICBp
bnQgZm9udF9zaXplID0gc2NwLT5mb250X3NpemU7DQogIA0KICAgICAgaWYg
KGZvbnRfc2l6ZSA8IEZPTlRfMTQpIHsNCi0tLSAzNjA4LDM2MjAgLS0tLQ0K
ICBzdGF0aWMgdm9pZA0KICBkcmF3X21vdXNlX2ltYWdlKHNjcl9zdGF0ICpz
Y3ApDQogIHsNCisgICAgIHVfc2hvcnQgKmNydF9wb3MgPSBDcnRhdCArIChz
Y3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQorICNpZm5kZWYgQ0hB
UkFDVEVSX01PVVNFDQogICAgICBjYWRkcl90IGFkZHJlc3M7DQogICAgICBp
bnQgaTsNCiAgICAgIGNoYXIgKmZvbnRfYnVmZmVyOw0KICAgICAgdV9zaG9y
dCBidWZmZXJbMzJdOw0KICAgICAgdV9zaG9ydCB4b2Zmc2V0LCB5b2Zmc2V0
Ow0KICAgICAgaW50IGZvbnRfc2l6ZSA9IHNjcC0+Zm9udF9zaXplOw0KICAN
CiAgICAgIGlmIChmb250X3NpemUgPCBGT05UXzE0KSB7DQoqKioqKioqKioq
KioqKioNCioqKiAzNjc0LDM2NzkgKioqKg0KLS0tIDM2NzcsMzcwNyAtLS0t
DQogICAgICB9DQogICAgICBtYXJrX2Zvcl91cGRhdGUoc2NwLCBzY3AtPm1v
dXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQogICAgICBtYXJrX2Zvcl91cGRh
dGUoc2NwLCBzY3AtPm1vdXNlX3BvcyArIHNjcC0+eHNpemUgKyAxIC0gc2Nw
LT5zY3JfYnVmKTsNCisgI2Vsc2UNCisgICAgIC8qIE5XSCAtIG5pY2suaGli
bWFAanJjLml0DQorICAgICAgKiBhZGRlZCBjb2RlIHRvIHN1cHBvcnQgY2hh
cmFjdGVyIGZvcm1hdCBtb3VzZS4NCisgICAgICAqLw0KKyAgICAgaW50IGN1
cl92YWwgPSAqKHNjcC0+bW91c2VfcG9zKTsNCisgICAgIGludCBjb2xvcjsN
CisgDQorICAgICAvKiBSZWQsIG1hZ2VudGEgYW5kIGJyb3duIGFyZSBtYXBw
ZWQgdG8gZ3JlZW4gdG8gdG8ga2VlcCBpdCByZWFkYWJsZQ0KKyAgICAgICov
DQorICAgICBjb25zdCBpbnQgY29sX2NvbnZbMTZdID0NCisgCSAgICB7Niw2
LDYsNiwyLDIsMiw2LDE0LDE0LDE0LDE0LDEwLDEwLDEwLDE0fTsNCisgDQor
ICAgICBpZiAoIGNydGNfYWRkciA9PSBDT0xPUl9CQVNFICkNCisgCWNvbG9y
ID0gICAoY29sX2NvbnZbKGN1cl92YWwmMHhmMDAwKT4+MTJdPDwxMikNCisg
CQl8IChjdXJfdmFsJjB4MGYwMHwweDA4MDApOwkvKiBTZXQgZm9yZ3JvdW5k
IHRvIGJvbGQgKi8NCisgICAgIGVsc2UNCisgIAkvKiBibGFjayAmIHdoaXRl
OiByZXZlcnNlIGNvbG9ycyAoWFhYIHVudGVzdGVkKSAqLw0KKyAJY29sb3Ig
PSAoKGN1cl92YWwmMHhmMDAwKT4+NCkgfCAoKGN1cl92YWwmMHgwZjAwKTw8
NCk7DQorIA0KKyAgICAgc2NwLT5tb3VzZV9vbGRwb3MgPSBzY3AtPm1vdXNl
X3BvczsNCisgDQorICAgICAqKGNydF9wb3MpID0gKGN1cl92YWwmMHgwMGZm
KXwoY29sb3ImMHhmZjAwKTsNCisgDQorICAgICBtYXJrX2Zvcl91cGRhdGUo
c2NwLCBzY3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQorICNlbmRp
Zg0KICB9DQogIA0KICBzdGF0aWMgdm9pZA0KKioqKioqKioqKioqKioqDQoq
KiogMzY4MSwzNjkyICoqKioNCi0tLSAzNzA5LDM3MjYgLS0tLQ0KICB7DQog
ICAgICB1X3Nob3J0ICpjcnRfcG9zID0gQ3J0YXQgKyAoc2NwLT5tb3VzZV9v
bGRwb3MgLSBzY3AtPnNjcl9idWYpOw0KICANCisgI2lmZGVmIENIQVJBQ1RF
Ul9NT1VTRQ0KKyAgICAgLyogTldIIC0gbmljay5oaWJtYUBqcmMuaXQgLSBh
ZGRlZCBzdXBwb3J0IGZvciBhIGNoYXJhY3RlciBtb3VzZSAqLw0KKyAgICAg
KihjcnRfcG9zKSA9ICooc2NwLT5tb3VzZV9vbGRwb3MpOw0KKyAgICAgbWFy
a19mb3JfdXBkYXRlKHNjcCwgc2NwLT5tb3VzZV9vbGRwb3MgLSBzY3AtPnNj
cl9idWYpOw0KKyAjZWxzZQ0KICAgICAgKihjcnRfcG9zKSA9ICooc2NwLT5t
b3VzZV9vbGRwb3MpOw0KICAgICAgKihjcnRfcG9zKzEpID0gKihzY3AtPm1v
dXNlX29sZHBvcysxKTsNCiAgICAgICooY3J0X3BvcytzY3AtPnhzaXplKSA9
ICooc2NwLT5tb3VzZV9vbGRwb3Mrc2NwLT54c2l6ZSk7DQogICAgICAqKGNy
dF9wb3Mrc2NwLT54c2l6ZSsxKSA9ICooc2NwLT5tb3VzZV9vbGRwb3Mrc2Nw
LT54c2l6ZSsxKTsNCiAgICAgIG1hcmtfZm9yX3VwZGF0ZShzY3AsIHNjcC0+
bW91c2Vfb2xkcG9zIC0gc2NwLT5zY3JfYnVmKTsNCiAgICAgIG1hcmtfZm9y
X3VwZGF0ZShzY3AsIHNjcC0+bW91c2Vfb2xkcG9zICsgc2NwLT54c2l6ZSAr
IDEgLSBzY3AtPnNjcl9idWYpOw0KKyAjZW5kaWYNCiAgfQ0KICANCiAgc3Rh
dGljIHZvaWQNCioqKiBIRUlESS5vcmlnCVNhdCBKdWwgIDQgMTE6MTU6MDAg
MTk5OA0KLS0tIEhFSURJCVNhdCBKdWwgIDQgMTE6MTY6MDIgMTk5OA0KKioq
KioqKioqKioqKioqDQoqKiogMzksNDQgKioqKg0KLS0tIDM5LDQ2IC0tLS0N
CiAgb3B0aW9ucwkJU1lTVlNFTQ0KICBvcHRpb25zCQlTWVNWTVNHDQogIA0K
KyBvcHRpb25zICAgICBDSEFSQUNURVJfTU9VU0UgICAjIHVzZSBjaGFyYWN0
ZXIgbW91c2UgaW5zdGVhZCBvZiBwaXhlbCBtb3VzZQ0KKyANCiAgb3B0aW9u
cwkJRERCCQkjIEFkZCBzdXBwb3J0IGZvciBrZXJuZWwgZGVidWdnZXINCiAg
b3B0aW9ucwkJS1RSQUNFDQogIA0KKioqIExJTlQub3JpZwlTYXQgSnVsICA0
IDExOjE0OjU1IDE5OTgNCi0tLSBMSU5UCVNhdCBKdWwgIDQgMTE6MTU6MzYg
MTk5OA0KKioqKioqKioqKioqKioqDQoqKiogNTEzLDUxOCAqKioqDQotLS0g
NTEzLDUyMCAtLS0tDQogIGRldmljZQkJc2MwCWF0IGlzYT8gcG9ydCAiSU9f
S0JEIiB0dHkgaXJxIDEgdmVjdG9yIHNjaW50cg0KICBvcHRpb25zCQlNQVhD
T05TPTE2CQkjIG51bWJlciBvZiB2aXJ0dWFsIGNvbnNvbGVzDQogIG9wdGlv
bnMJCVNMT1dfVkdBCQkjIGRvIGJ5dGUtd2lkZSBpL28ncyB0byBUUyBhbmQg
R0RDIHJlZ3MNCisgb3B0aW9ucyAgICAgU0NfU1BMQVNIX1NDUkVFTiAgIyA/
Pw0KKyBvcHRpb25zICAgICBDSEFSQUNURVJfTU9VU0UgICAjIHVzZSBjaGFy
YWN0ZXIgbW91c2UgaW5zdGVhZCBvZiBwaXhlbCBtb3VzZQ0KICANCiAgIw0K
ICAjIGBmbGFncycgZm9yIHNjMDoNCioqKiBvcHRpb25zLmkzODYub3JpZwlT
YXQgSnVsICA0IDE0OjI0OjE4IDE5OTgNCi0tLSBvcHRpb25zLmkzODYJU2F0
IEp1bCAgNCAxMToxNDoxMyAxOTk4DQoqKioqKioqKioqKioqKioNCioqKiA0
NSw1MCAqKioqDQotLS0gNDUsNTEgLS0tLQ0KICBTQ19TUExBU0hfU0NSRUVO
CW9wdF9zeXNjb25zLmgNCiAgTUFYQ09OUwkJCW9wdF9zeXNjb25zLmgNCiAg
U0xPV19WR0EJCW9wdF9zeXNjb25zLmgNCisgQ0hBUkFDVEVSX01PVVNFICAg
b3B0X3N5c2NvbnMuaA0KICANCiAgUFNNX0FDQ0VMCQlvcHRfcHNtLmgNCiAg
UFNNX0VNVUxBVElPTgkJb3B0X3BzbS5oDQo=
--0-725232148-899556865=:352--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.980704142458.265A-200000>