Welcome, Guest. Please login or register.


Author Topic: Universal Mouse Driver (Read 77799 times)

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #30 on: 2015.November.03. 23:00:34 »
Now I understand.....

The LPT displays lines in order, exactly like are shown on screen. What can be on diverse address is the data represented on the lines, but it is not important for drawing the pointer. What really matters are the coordinates, and they are always there at hand.

So, only accessing LPT, the mouse driver can draw the ghost pointer like I've done with the basic program.




I am near... at thousands kilometres but near..

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #31 on: 2015.November.29. 01:15:46 »
I have discovered why the ":PB" initialisation command gives an error.

For example: *** Invalid cursor coordinates.

If you immediately execute "PRINT EXTYPE" in Basic you will get 9217, this is, error 217 of EXOS.

In reality what it gives is the memory page where the mouse driver has been loaded and linked.

I think this trick is a developer feature to easier see what's happening inside the driver's variable zone. I don't know what can happen on the EGI or Paintbox if I disable it. May be those programs use the feature to do something, I must test it.

This simple Basic program can serve to retrieve the memory page number, and allows to begin a basic program loading and linking the mouse driver. The only drawback, it only can be executed once because every time a new mouse device is installed...

I must look for a way to test if the driver has been loaded before. Or directly not allow reloading on the driver installation.
« Last Edit: 2015.November.29. 15:07:33 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #32 on: 2015.November.29. 14:44:34 »
Until now the different mouse driver versions didn't have a way to see the version other than the :HELP EXOS command.
 
The next release will bring  a new  command of "imaginative" name, ":MOUSE" that will return us the driver version and the type of control selected on system var no. 189. It also will bring information about Entermice if present.

This new information will be accessible directly once the file "Mouse.xr" is loaded.

Now a program that wants to access the mouse driver can know on every moment its state:

If ":MOUSE" doesn't produce an exception(is loaded) but the driver doesn't let us to open a mouse channel, we still need to initialise the mouse driver with the ":PB" command. 




Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #33 on: 2015.November.30. 17:38:27 »
New version of the mouse driver:

If using the EGI put it at EGI.SYS directory .

Usage:

Load the extension and then execute ":PB"  to initialize it.

Now when ":MOUSE" is executed (driver initialized or not) it will show the driver version and its controller mode.

But, if a Entermice is plugged and the controller mode of the driver(sys. var. 189) is 3 or 4(Boxsoft or Entermice), then the mouse ID, hardware version and software version will be also shown.

The following is obvious but, take in account that the driver controller mode must match the Entermice mode to be able to read that extra data.


To do:

-Adapt the reading delays for Entermice efficiency. Easy, Entermice detection already implemented.

-Serial Microsoft, driver controller mode 6. Difficult as I don't have a serial card.

-Implement mouse use with ghost pointer on text modes. Difficult as I still have to study how it can be implemented on the driver.

-May be, when all was done, a relocatable version for better use of RAM. Or better, a ROM version....
« Last Edit: 2015.December.01. 13:02:03 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #34 on: 2015.December.03. 15:08:48 »
Tests for CPU efficiency done.

Boxsoft+Neos work with at least 3, 1, 1, 1(it only reads two bytes)  with three NOPs on the delay routine.

Entermice work with 1, 1, 1, 1, 1, 1, 1, 1(all the same time) with only two NOPs on the delay routine.

I think they haven't so much differences to implement conditional delays... so I put minimum Neos settings.

It is necessary a test on a 10Mhz Enterprise.
 
-------------

I've found a strange behaviour on the Entermice versions subroutine when setting the delays to 1 or 2 cycles, so I've put 5 cycles, only for reassuring, as that routine is only used at the start or when the command "MOUSE" is executed.



-----------------

To do:


-Serial Microsoft, driver controller mode 6. Difficult as I don't have a serial card.

-Implement mouse use with ghost pointer on text modes. Difficult as I still have to study how it can be implemented on the driver.

-May be, when all was done, a relocatable version for optimal use of RAM. Or better, a ROM version....
« Last Edit: 2015.December.03. 16:14:27 by gflorez »

Offline pear

  • EP lover
  • *
  • Posts: 825
  • Country: pl
  • Z80 only
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #35 on: 2015.December.03. 15:18:23 »
What is it a strange behaviour ?

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #36 on: 2015.December.03. 15:27:16 »
Instead of the right Hw an Sw versions it reads random figures. I think, being a cascade reading, an error found earlier echoes on  subsequent readings at the end of the chain.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #37 on: 2015.December.03. 15:28:30 »
With five cycles of delay it always works perfect.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #38 on: 2015.December.05. 22:58:07 »
Zozo, can you also test this Rom I've found inside the big Hsoft file?

What does it? and, can you disassemble it for me?
« Last Edit: 2015.December.05. 23:08:46 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #39 on: 2015.December.07. 14:06:43 »
Zozo, I've found the text code for that Rom, but it is not for Heass nor for Fenas.

Can you format it for me?

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #40 on: 2015.December.07. 14:58:50 »
I have it already formatted, thanks.

It seems preliminary code, so much errors on labels. I can compare it with the real Rom disassembly....
« Last Edit: 2015.December.07. 15:23:23 by gflorez »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Universal Mouse Driver
« Reply #41 on: 2015.December.07. 15:22:06 »
Zozo, I've found the text code for that Rom, but it is not for Heass nor for Fenas.
It is a FENAS source.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #42 on: 2015.December.07. 15:38:27 »
It is interesting. Obviously I've not seen it work, but as a Rom it doesn't hang the emulator.

It adds new commands to Basic.
Serial data acquisition is similar to "Mouse.xr".
Also have Keyboard(BRD and UK grids) reading, I think it overrides the stock one.

May be we can add the Neos reading routine inside it... but first I would need a compilable disassembly.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Universal Mouse Driver
« Reply #43 on: 2015.December.07. 15:59:51 »
It is use disassembled KEYBOARD driver from the BRD.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Universal Mouse Driver
« Reply #44 on: 2015.December.07. 17:35:23 »
Yes, but only on the disassembly, the Rom lacks keyboard reading, only mouse. It only goes up to the INICIAL: label with little changes.

I think it is the Mkey extension. May it be a serial keyboard driver?

May be they released a mouse extension and a keyboard extension, but with only one serial port it was not necessary to put  them  joined. I am only supposing...
« Last Edit: 2015.December.07. 18:01:22 by gflorez »