Enterprise Forever

:UK => Hardware => Input devices => Topic started by: gflorez on 2015.May.28. 23:25:46

Title: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.28. 23:25:46
Some good news:

Pear is designing a new Joystick-Mouse interface named EnterMice. It will allow to connect two standard joysticks and directly a PS/2 mouse(mechanical or optical, even wireless...) without conflicts.

The Boxsoft mouse interface works very well but interferes with some program-games that expect a joystick on Control1 port. And if you want to play with a joystick on Control1 port you need to unplug the mouse from the interface, unplug the lead that go to Serial port, and then at last insert  the joystick connector. If you want return to use the mouse you have to walk back that path...

Known Boxsoft owners in the world can be counted with only a hand so Zozo thought that now is the best time to modify the mouse standard....

You already know that there are some pins unused on the Control ports. On them can be connected theoretically upto thirty buttons. Ten buttons are  already reserved to the joysticks 1 and 2, so still we have space to put the mouse signals there.

The only known Program-device that use that spare buttons is precisely the Boxsoft interface, that takes one for the Left mouse button. It will remain untouched, but the four directions and Fire(Right mouse button) are moved to other unused row.

Electrically it only implies the use of the K pin instead of the J one. And, about the software, we only have to modify the Mouse.xr driver if we speak of EXOS. About SymbOS, Prodatron can easily modify the mouse routine when the standard becomes firmly established.

Pear's interface will follow that new standard, so I hope all EP users will wish one.  Observing their other creations it will have a high quality and affordable price.

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.28. 23:57:45
Here are the experimental "Brute force" new drivers that use the next mouse standard. They are based on the last Boxsoft 1.1 version. The driver acts as a System extension. Once initialised remains active even resetting.

Now the main button is the Left one. Also I've  changed the delays of the nibble reading to 8,1,1,1 instead of 8,5,5,5 to save a little of processor time.

There are two versions. To use them you have to rename the file to Mouse.xr.

MOUSE11K.XR is for use with the EGI and some versions of Paintbox. It is a slave version that initializes when the host program pass the :pb command to EXOS.

MOUSE11Ka.XR  auto initializes itself so it is ideal for use in Basic programs.

First: LOAD "mouse.xr"

Then you can use it with  those Basic commands:

100 GRAPHICS             
110 SET 180,101              !VIDEO_CHN  the video channel where the pointer will move. 101 is the default for EXOS
120 SET 181,30               !STATUS_POS
130 SET 182,1                 !STATUS_DISP
140 SET 183,255              !POINTER_COLOUR
150 OPEN £1:"mouse:"
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.29. 19:06:24
Something like this. The attached preliminary sketch of the PCB.
Two slots for joysticks, socket PS/2 mouse and optional serial port Commodore (DIN6).

Approximate cost about 4 USD per one PCB (for 10 pieces). It may change, but not much.
I'm doing my PCBs in black - are about 30% more expensive than the cheapest green.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 00:24:40
Applause....!

How it connects? directly or by flex cable?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 00:50:08
Do you bypass the printer port?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.30. 07:54:41
PCB has only about 4 cm wide, so there is no reason to attach it to a flexible cable.
Edge connectors are short, but by the fact that there are 4, they should firmly hold even while jerk.
I wondered what to do with the printer port.
I talked about it with Zozo, but no rational applies for this connector not we found.
Therefore, it acts as a mechanical connection and optionally can be used as a serial port Commodore.
But if anyone has any suggestions, it is still a lot of time to the finished project.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 10:06:36
I don't like to cut options.....

How about a little edge connector at the rear of the board?

I have a printer that I connect sometimes to my EP....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.30. 10:20:33
If you already do, then maybe D-Sub25 as in PC ?
Anyway PCB will come out a little bigger.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 13:42:39
Not necessary a D-sub for who already have a printer cable made, but must be interesting to not block the connector. If you  put the contacts at the edge we can have the option later.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.30. 13:59:35
Can do it the edge connector, but I do not like this kind of connections.
Anything else but only not another edge connector.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 17:10:39
Can you put the holes to put a future connector?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 17:37:32
Or directly you only have to put the points accesible near the blocked connector . That is easy.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.30. 20:44:41
My idea is: similar to original Boxsoft interface, just doubled size attached for both Control ports. And the Strobe signal attached by wire. Printer port left free.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.30. 23:01:02
But Boxsoft interface is very long. It tends to bend the connectors and enlarges the space of an already big computer.

I like Pear's narrow design. Once inserted in the four connectors a user no more will need to unplug it. It can give great stability even with heavy use of joysticks. It can't be upside down connected and the plugs are already aligned due to their fixed positions.

But it can't block the use of the printer port.


That are only my wishes.....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 06:54:05
I have a new idea. I have to redraw a PCB.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 09:03:35
Well, maybe so ? Second approach is vertical version.
The attached rear view. Exposed printer port. 'Do deal with it what you want. :)
Excision reduce a little mechanical strength, but do not know how much. I do not know much about mechanics.
Do not worry DB9 connectors. I have only 3D model in DB9F version. Joysticks will have DB9M sockets.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 09:16:09
I like it!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 10:11:09
I like it too!

The three edge connectors give more strength to the coupling than if they where only two.

The DB connectors are near the edge ones, so will be no torsions plugging and unplugging the joysticks.

Also it protrudes very little from the height of the computer.

Is better for right-handed(like me) the PS/2 port at the right to put the mouse at the side of the internal joystick.

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


This is for EXOS developer(Zozo):

I would like to pass the ENTERPRISE flashing letters screen with a click of the mouse....

And in a future I will love to move the Basic or WP cursor with the mouse...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 10:16:46
The DB connectors are near the edge ones, so will be no torsions plugging and unplugging the joysticks.
The forces are larger than horizontal structure (lever), but I'm optimistic.
Is better for right-handed(like me) the PS/2 port at the right to put the mouse near the internal joystick.
PS/2 socket is now on the right, over the RESET button. I hope that's not a problem?
The PCB is a rear view.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 10:22:30
The PCB is a rear view.

I know. I said that because I noticed it. I only was listing the benefits...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 10:27:00
About the Reset button. It is highly used so, better leave space to put a finger...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 10:33:24
The distance between the housing and the plug PS/2 ?
Is it better to put the socket down, to was just above or level with the housing ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 10:46:09
Comparing measures of the real Enterprise with your actual design, I think that it allows to insert comfortably a finger below the mouse cable plug, as the reset button is only a little higher than the edge connector.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 11:09:18
The eight of the PS/2 connector?

If you lower it then less space for a finger. You must weigh it.

If for aesthetics I don't mind seeing the connector and plug.

For me is a great enjoyment to have a mouse connected to my EP... It was promised (http://enterprise.iko.hu/brochures/ENTERPRISE_MOUSE.jpg) to EP users thirty years ago...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 11:23:04
Do not just put a finger. You have to bend it yet.
I lowered position of the plug-in, now it is just above the enclosure.
Now you can easily get to the RESET button over plug.
PCBs also decreased. Now it has 43 mm in height (98 mm width).

Now, a little sadder news.
I checked yesterday possibility to connect two joysticks and mice in such a way that do not interfere with each other. Because of the unusual interface circuit within the Enterprise, practically you have to separate each line of each device.
It would be required a large handful of transistors or at least a few additional integrated circuits.
Therefore, on the attached view appeared a PLD chip Xilinx 9572 in PLCC44 case.
Its price is comparable to that handful of transistors (approx. 8 USD).
By the way, I do not have to worry about the additional transistors, which would connect additional fire buttons.
To which KB lines do I connect Fire2 and Fire3 ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 11:28:28
To the administrator: I think it would be better to move this new development to other thread to not confuse it with the "classic" Boxsoft interface and "derivatives".
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 12:29:36
I think that putting the Fire buttons on rows 0 or 5 of J,K and L columns will give us three fire buttons for each joystick port. The three buttons can be read with only one IN (0xB6h) instruction.

(I believe that is why the designer of the Enterprise put the lecture of the joysticks in rows, theoretically you can connect upto six(with only one fire button), but then you can save processor time reading three joysticks at the same time.)

The mouse can share the right button(row 0, L column) with third Fire button of Joy 1 for backwards compatibility with the Boxsoft interface. Or you can leave pin 5 of the DB9 not connected and forget third Fire buttons. I think it is enough with two Fire buttons.

But we need imperatively the Left mouse button at row 0, K column be at the same time the second Fire button on Joy1. I think it doesn't matter for normal use.

---------------------------------
The pinout of the DB9 joystick connectors can be as this:

1 UP
2 Down
3 Left
4 Right
5 Fire 3   Not standard, only Kempston joysticks. Normally not connected, or used for mouse-pad signals on Atari-Amiga connectors.
6 Fire 1
7 +5v
8 Ground
9 Fire 2  Not widely used for fire. Yes in Kempston. On Amiga connector can act as second fire or for mouse-pad signals like on Atari connectors.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 12:36:52
All connections between the Enterprise and the devices will be inside a PLD.
At any time you can change the connection layout by JTAG.
I used almost entire PLD pins. Is left only one :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 12:58:48
It is good looking... WITH OBSOLESCENCE BUILT-OUT like on the old EP128 (http://static2.nosher.net/archives/computers/images/your_computer_1985-04_001-m.jpg) adverts...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 13:07:02
It took a long time, and still chasing :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 16:41:06
PCB project is ready. Enough for today.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 16:45:33
The jumpers what will do? Select joystick/mouse mode for the mouse?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 16:58:13
This 2-pin jumper at this moment for anything. Was left one free pin in the PLD.
Jumper 3-pin is MCU RESET. As the microcontroller can be used Atmel 89Cx051 or AVR2313/ATtiny2313/4313. The first is reset 1s, second 0s. Therefore, 3 pins.
And finally, the 10-pin connector, the JTAG (Altera style) for PLD programming.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 17:32:49
Joystick emulation with mouse will possible?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 18:00:12
What exactly do you mean ?
Mouse movement would cause shorting a joystick contacts depending on the direction of movement ?
This could be possible, but by the software on MCU.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Mobsie on 2015.May.31. 18:40:36
i order 2:)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 18:53:02
Now an exhaustive description of the connections:

On the Control connectors you have:  
     A1 : Keyboard J (Common)      B1 : OV
     A2 : Keyboard L                    B2 : Keyboard K
     A3 : nc                                       B3 : nc
     A4 : KB4/9 (Right)                 B4 : +5V
     A5 : KB2/7 (Down)                B5 : KB3/8 (Left)
     A6 : KB0/5 (Fire)                   B6 : KB1/6 (Up)

Then this graphic shows the combinations:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 18:55:12
Mouse movement would cause shorting a joystick contacts depending on the direction of movement ?
Yes. And shorting time is depend from the moving speed.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 19:03:45
Of course on the Serial port the only connection is A3/RTS------>Mouse/ STROBE
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 19:11:26
Joystick mode can be made on the MCU, I think. Pear has the Arduino Script and the Atmel code, and both have a joystick mode.

The next question is how to select the mode with a joystick movement, button or click.......
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 19:30:43
... or another jumper. The MCU have yet a few free ports.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 19:43:51
The MCU have yet a few free ports.
Then possible resolution setting? With 2 inputs 4 levels can be used.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 20:00:59
Resolutions? They aren't so important with the Enterprise resolutions. All Ps/2 mouses I've tested have accuracy. Only that the oldest have slower movement.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 20:18:42
... or another jumper. The MCU have yet a few free ports.

I think that a sequence of movements or buttons is more neat than switching off the computer to change a jumper...

May be pressing a real switch on real time?. Only a pulse and it is on joystick mode... Another pulse and you are again in mouse mode.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 20:25:21
Longer pulses for other purposes, like on the Spectrum Interface 1 bis (https://sites.google.com/site/interface1bis/)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.May.31. 20:30:30
Instead of jumpers I can do a dip-switch. You don't need switch off the computer to change it.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 20:39:44
Resolutions? They aren't so important with the Enterprise resolutions. All Ps/2 mouses I've tested have accuracy.
But for the joystick mode will be a good option.
I tested the original Neos in joystick mode. in some games are very nice, some others are too slow or too fast.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 20:47:02
I agree, Joystick mode is very utile. Think on my desire of moving the Basic cursor with the mouse... only with a little applet that copies the Mouse joystick mode to the internal one.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 21:40:08
Sorry , you mean resolutions on joystick mode, but they don't work as that..... The only way is to autorepeat the movement. Up=x*Up. 
It can be programmed inside the joystick mode but I don't know  if  it is useful.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 22:13:31
I think that inside a program you can't move the cursor faster than the programmer wanted or achieved. And autorepeat is internal of a program.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 22:27:17
Think Zozo, for example on the Editor of EXDOS. The movement is character by character boundaries. But the mouse jumps that boundaries. You can't mimic the mouse pointer movement on the editor cursor. You only can do a joystick mode, but then you are limited to the velocity of the editor cursor. Autorepeat can aid to ease the movement but there  are certain "physic" limitations. If you do two or more Up with a Up  pulsation it can go faster but can be ungovernable.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.May.31. 22:36:58
Ok, but the mouse also have a "repeat time" variable. It is set the direction at full time only when you move fast.
At slower speed switching on and off.
For example:
Full speed: 1,1,1,1,1,1,1,1...
3/4 speed: 1,1,1,0,1,1,1,0...
1/2 speed: 1,1,0,0,1,1,0,0...
1/4 speed: 1,0,0,0,1,0,0,0...

The resolution change for how many movement means the full speed. For example: 1000, then the limits:
1000 or more the full
750 or more the 3/4
500 or more the 1/2
250 or more the 1/4
Other resolution setting: 2000,1500,1000,500
Another: 500,375,250,125

These are just example values. I think these need be tested on the real interface and machine with lot of games. And put the most usable values to the final firmware.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 23:30:03
Thanks for the data... Good explanation! Then we need auto-fire and autorepeat on all joystick keys.....poor programmer.....

May be they put all that autorepeat rates thinking on the patkány. It is proportional or only joystick mode?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 23:32:55
Ok, sorry I misunderstood it. The data is for the mouse driver.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.May.31. 23:40:32
Ok. I again misunderstood it. You mean the PS\2 mice standard. Yes there are some variables. I touch all them when the PS/2 interface didn't worked..... But the best the defaults of the Arduino project.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.01. 00:39:48
Sorry I was reading the messages with the phone...

The settings you mentioned include all kinds of mice and many years of development. Also it isn't a real standard, only different commands added by the principal makers, Logitech, Genius and IBM when a new characteristic was implanted along the years.

A mouse can have only four or five settings of the total resolution range, but only two real ones(for example 200 or 300 dpi). Then if you set it to a resolution it doesn't have, it defaults to its near possible setting.

Again we don't need to reinvent the wheel here...   NYYRIKKI has done a good work with his Arduino project. It emulates perfectly a MSX mouse from a PS/2 mouse(IBM Intellimouse Explorer standard) with wheel and upto five buttons(three of them and the wheel are read from the received stream but only the EP SymbOS port can benefit of it for now.). The project also emulates MSX track-ball and MSX touch-pad, not much useful for our project. Even an experimental way to transfer files by the USB-serial port of the Arduino, from the PC to the MSX computer, but it applies only to the Arduino project.

Inside that project there are a lot of  PS/2 and MSX mice knowledge, surely learned by stumbling on errors that now we can avoid.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.01. 13:16:23
I've added a dip-switch and two SMD LEDs (place for THT is over ;) ).
One section of the dip-switch is connected to the PLD (can be eg. Global Chip Disable), four to the MCU inputs.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.01. 18:46:01
Arduino code for PS/2 mouse uses Remote Mode. I decided to see how they handle the MCU in Stream Mode (https://youtu.be/gUGM6r_1Sdg).
It gives advice :)
At the beginning of the "disappeared" me some data, but it turned out that it was only a small buffer.
In this mode, the movements counters can be more precise.
If I understood correctly, then after each reading state of the mouse by the Enterprise, counters should be cleaned and counted again ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.01. 21:26:59
The Arduino code maintains lx and ly from the last lecture only for calculating the scaling(additional velocity) but it only pass to the MSX port the data acquired on the PS/2 port. So every cycle the counters are cleared.

The data read on PS/2 is similar  to the needed at the MSX port, 2 numbers in two's complement of the pointer displacement of the two axis. Only that the PS/2 numbers are nine bits and MSX numbers are 8bits. But the Arduino project only read 8 bits on the PS/2 port. Moving fast the mouse(A "modern" Logitech optical trackball PS/2 and USB) I can't go higher than 50/-50 moving the pointer side to side by the screen. The movement is very smooth.

That project works on demand. But if your MCU can maintain the Stream mode rate you can go for it. On the MSX(Enterprise) side it is not necessary, I think, as is the driver who recalls the data.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.01. 23:53:03
This (http://www.win.tue.nl/~aeb/linux/kbd/scancodes-13.html) page about the PS/2 protocol can serve you.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.02. 07:24:10
I understand the PS/2 protocol. In a few days I finish write it full support.
I'm starting to think about MSX protocol. I read that each successive reading is performed after complementing the state of the RTS line.
I was a little worried. I was counting on falling edge, because then I could use a hardware interrupt instead of polling (PS/2 operates on interrupts).
I have not found anywhere timings of MSX protocol.
Does anyone could confirm my sketch made on the basis of available descriptions ?
Code: [Select]
            below 40 ms pulse (Tcycle)  
    long gap        ____        ____        ____        ____        
    how long ?(T1) /    \      /    \      /    \      /    \      
RTS ______________/      \____/      \____/      \____/      \________________
                    |
    ________________  ____  ____  ____  ____  ____  ____  ____  ____  _________
                    \/ HX \/ LX \/ HY \/ LY \/ HB3\/ LB3\/ HB4\/ LB4\/
D0..D3               \____/\____/\____/\____/\____/\____/\____/\____/
               T2-> | |_     _     _     _     _     _     _     _
READ                  / \   / \   / \   / \   / \   / \   / \   / \
    _________________/ 1 \_/ 2 \_/ 3 \_/ 4 \_/ 5 \_/ 6 \_/ 7 \_/ 8 \___________
               T3->   ||
As READ I marked the moment in which, it seems to me, is performed reading of D0..D3 line.
I am most interested labeled timings.
Tcycle - the time between successive readings a nibble
T1 - the time interval before the next full reading, I assume that is longer than Tcycle
T2+T3 - time to set and stable data on lines D0..D3 after the change in RTS
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 09:24:05
As far a I know:

The Neos chip(inside the MSX mouse) triggers the sequence when it detects the STROBE signal flipped from 0v to +5v during at least 135000 ns.

(481 tics x 285 ns on the MSX Z80 at 3,58MHZ)(542 tics x 250ns on the Enterprise Z80 at 4Mhz).

The first nibble X is send in parallel on the four directions of the mouse port, pins 1 to 4.

The Neos chip waits  for the STROBE signal flipped from +5v to 0v at least 70000 ns.

If so the second nibble X is send.

The Neos chip waits  for the STROBE signal flipped from 0v to +5v at least 70000 ns.

If so the first nibble Y is send.

The Neos chip waits for the STROBE signal flipped from +5v to 0v at least 70000 ns.

If so the second nibble Y is send.

---------------
This ends the sequence until the STROBE signal is flipped again from 0v to +5v during at least 135000 ns.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 09:32:05
This is the routine used on MSX1 machines, thanks to Prodatron here (http://www.msx.org/wiki/Mouse/Trackball).

; A routine  to read the mouse on a MSX machine with Z80 running at 3.58MHZ:
;                   1tic=285ns
;
;        LD    D,&B10010011     ; Use these values for a mouse in port 1
;        LD    E,&B00010000
;
;
;        LD    D,&B11101100     ; Use these values for a mouse in port 2
;        LD    E,&B00100000
;
; Read the mouse.   Input: D/E=.... Output: H=X-offset, L=Y-offset
; Note that the routine will output H=L=255 if no mouse is present!
GTMOUS:
 
        LD    B,WAIT2          ; Long delay for first read
        CALL  GTOFS2          ; Read bit 7-4 of the x-offset
        AND   0FH
        RLCA
        RLCA
        RLCA
        RLCA
        LD    C,A
        CALL  GTOFST          ; Read bit 3-0 of the x-offset
        AND   0FH
        OR    C
        LD    H,A             ; Store combined x-offset
        CALL  GTOFST          ; Read bit 7-4 of the y-offset
        AND   0FH
        RLCA
        RLCA
        RLCA
        RLCA
        LD    C,A
        CALL  GTOFST          ; Read bit 3-0 of the y-offset
        AND   0FH
        OR    C
        LD    L,A             ; Store combined y-offset
        RET
 
WAIT1:  EQU   10              ; Short delay value
WAIT2:  EQU   30              ; Long delay value
 
GTOFST: LD    B,WAIT1
GTOFS2: LD    A,15            ; Read psg register 15 voor mouse
        OUT   (0A0H),A
        LD    A,D
        OUT   (0A1H),A
        XOR   E
        LD    D,A
 
WAIT:   DJNZ  WAIT           ; Extra delay because the mouse is slow.
 
        LD    A,14
        OUT   (0A0H),A
        IN    A,(0A2H)
        RET
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 09:39:11
And this is the actual routine on the Enterprise128, Z80 4Mh, 1 tic = 250ns:

sub_C3C8:

     ld a, (INPUT_DEVICE) ; input device, EXOS variable 189, default 3
     cp 1
     jp z, EXT1_READ ; go to external joystick 1 reading
     cp 2
     jp z, EXT2_READ ; go to external joystick 2 reading
     or a
     jp z, INT_READ ; go to internal joystick  reading
;Here begin the Neos mouse reading
     ld hl, X_REL ; first byte
     ld a, 2 ; RTS low
     out (0B7h), a
     ld b, 8 ; long delay
     call WAIT
     call READ_4BIT ; read four higher bits
     rld ; push them in (HL)
     xor a ; RTS high
    out (0B7h), a
     ld b, 1 ; short delay
     call WAIT
     call READ_4BIT ; read four lower bits
     rld ; push them in (HL)
     ld hl, Y_REL ; second byte
     ld a, 2 ; RTS low
     out (0B7h), a
     ld b, 1 ; short delay
     call WAIT
     call READ_4BIT ; read four higher bits
     rld ; push them in (HL)
     xor a ; RTS high
     out (0B7h), a
     ld b, 1 ; short delay
     call WAIT
     call READ_4BIT ; read four lower bits
     rld ; push them in (HL)

                         <======Here will be added the future Wheel and three spare buttons reading

     xor a
     out (0B5h), a
     in a, (0B6h) ; read Mouse button. Modified to read left button. Not valid for Neos!!
     and 2               ; Mask: 1 for bit 0, 2 for bit 1, 4 for bit 2
     ; srl a
     srl a ; no "srl a" -> data taken from J, one -> from K, two ->  from L
     xor 1
     ld (FIRE_STATUS), a ; EXOS Variable 188
     call sub_C4B1 ; this is the "corrections and drawing" routine where the "velocity" 1.1 modification was made
     ld a, (X_REL)
     ld c, a
     ld a, (Y_REL)
     or c
     ret
; End of function sub_C3C8
--------------------------------------------
WAIT:
     nop
     nop
     nop
     dec b
     jr nz, WAIT
     ret
; End of function WAIT
--------------------------------------------
READ_4BIT:
     ld b, 4
     ld d, 0

BITREAD:
     ld a, b
     inc c
     out (0B5h), a
     in a, (0B6h)
     rra                     ; Two rigth sift ---> data taken from K column
     SRL a                   ;better "srl a" than "rra" as the driver remains the same lenght
     rl d
     djnz BITREAD
     ld a, d
     ret
; End of function READ_4BIT
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 09:56:32
We are speaking here of the MSX STROBE signal normally at 0v, but you know already that the RTS signal is normally at +12v.

Yo have put a inverter-reducer to cope that, haven't you?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 10:58:22
Prodatron and NYYRIKKI have expanded the MSX protocol to add the information of the wheel and three buttons more:

Byte 1: X-axis signed delta (Original protocol) Positive value means mouse is moved to Left.

Byte 2: Y-axis signed delta (Original protocol) Positive value means mouse is moved to Up.

Byte 3 high nibble = ID nibble: (bits 7-4) = 0001
   bits 7 & 6 are "00" for MSX-BIOS mouse identification
   bits 5 & 4 are "01 "for Extended mouse protocol identification

Byte 3 low nibble = Button nibble:
   bit 3 : 0 = Unused, reserved for future (to expand ID or to support additional button)
   bit 2 : 5th mouse button: 0=Not pressed, 1=Pressed
   bit 1 : 4th mouse button: 0=Not pressed, 1=Pressed
   bit 0 : 3rd button (wheel button): 0=Not pressed, 1=Pressed

Byte 4: Z-axis signed delta. Positive value means wheel is moved to Up

Please note:

    If bytes 3/4 are not read within 3 ms (counting starts from reading of 1st byte) mouse will return 1st byte on next read. (This is to improve compatibility with existing software)
    Minimum time between clocks is 0.18 ms.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.02. 11:30:57
We are speaking here of the MSX STROBE signal normally at 0v, but you know already that the RTS signal is normally at +12v.
You have put a inverter-reducer to cope that, haven't you?
In the current draft of + 12V from RTS gives logical 0 on the MCU input.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 12:12:15
Ok, and when 0v on RTS you have +5v on the MCU. That is the way the MSX side can work.


Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.02. 12:45:33
Code: [Select]
logic |   RS-232    | RS-423 | Enterprise | TTL
-------------------------------------------------
  0   | +12V or +5V |  +6V   | +12V (+7V) |  0 V
  1   | -12V or 0V  |  -6V   |  0V  (-5V) | +5 V  
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 13:09:57
Ok,ok. Only for reassuring....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.02. 13:11:33
It will be useful for the future :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.02. 13:44:58
I still please to confirm my timing diagram (http://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/60/).
I am a visual person and I prefer one drawing than many sides description.

EDIT:
One more thing. On the basis of the shortest of time I want to set the resolution of timer (also on interrupts).
Then I need not to count of the procedure cycles and it is easier to change the timing of the MCU if necessary.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 16:22:03
It seems to be good, only RTS  at the end has one more cycle than necessary.

About timings or interrupts, I don't understand. The MCU has to wait for the changes on STROBE and check that the delays are correct. Then write the output register and wait again.

It is a passive task for a powerful MCU....

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.02. 21:36:28
About the timings: good idea also calculate up to 10MHz Z80. Will be great if can work without delays.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 22:05:32
Or some settings to select the Mz of the Z80 to make it easier if it can't be done automatically. May be with rapid pulses on the RTS line with a program. Or better comunicating by the serial port with the MCU.....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 23:06:05
It seems to be good, only RTS  at the end has one more cycle than necessary.


I was meaning a high state and a low state more than necessary.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.02. 23:51:08
Data out is spare to send a signal.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.03. 06:37:22
It seems to be good, only RTS  at the end has one more cycle than necessary.
You're right. Instead of the last cycle, there should be a longer gap at RTS.
About timings or interrupts, I don't understand. The MCU has to wait for the changes on STROBE and check that the delays are correct. Then write the output register and wait again.
It is a passive task for a powerful MCU....
I do timer in interrupts to avoid having to every time count manually tacts. I do a loop and wait until interruption of the timer comes up.
Or I don't wait and I can at this time to perform another procedure, and the time check later.
About the timings: good idea also calculate up to 10MHz Z80. Will be great if can work without delays.
It is rather on the side of the drivers in the Enterprise.
Or some settings to select the Mz of the Z80 to make it easier if it can't be done automatically. May be with rapid pulses on the RTS line with a program. Or better comunicating by the serial port with the MCU.....
If still should be working the original Neos/MSX mouses, I have to stick to the original timings.
If something goes wrong (communication error) I have to set timeouts. In each transmission cycle.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.03. 11:29:27
I think Zozo was only wishing for future enhancements of the interface.

We know already that first you must work on the original MSX protocol.

But.... it would be great to change settings to 10Mhz Z80 inside the MCU programming rather than on the driver, because that wastes less time on the MCU and on the Enterprise side. Faster  Z80 implies longer delays on the driver, and all that is lost in processing time.  

And then, I think a direct selection of the processor velocity could be made with the spare Data-Out pin at the serial port. The underused serial port loses its few use when changing the processor rate, as it changes the software fixed bit-rates.

-----------------
Now I understand you when you talk about interrupts, but sorry, I can't aid you on that. I'm not really a programmer, only a enthusiast of computers...
----------------------------


And talking about programming, the actual driver still doesn't read the additional two Bytes(four nibbles) of the wheel and spare buttons. I think that better we wait until Prodatron implements them on the Enterprise SymbOS port.

Also, the actual driver only reads and stores the value of the main(left) mouse button. The two principal buttons are on the same row, so they can be read at the same time. But the driver hasn't a system variable to store its value.

I don't know still how adding a system variable can be done... May be Zozo can fix the driver? and if so, we also need space for the three spare buttons and wheel information. The PS/2 protocol only have four bits(Z) for the wheel information, but the new MSX protocol returns a complete byte. Then we can perfectly take the four lower Z bits without losing information.

I think we only need one system variable for storing the four buttons state on 4 bits and the wheel on the remaining 4 bits.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.09. 12:15:37
Due to problems at work, I must temporarily suspend work on their projects.
I will try as soon as possible to return for them.
Please be patient.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.09. 13:09:39
No problem, we are waiting thirty years now...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.12. 08:34:44
I made measurements of waveforms (in attachments).
I have a few ideas for optimization, but for now only poorly with time.
I am looking for a new job, because at the present will soon go mad.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.12. 11:27:41
In summary:
Code: [Select]
          _______        ____        ____        ____        ____________
       +12V       \      /    \      /    \      /    \      /    
RTS      0V        \____/      \____/      \____/      \____/            
                   |
           _________  ____  ____  ____  ____  ____  ____  ____  ____  ____
           +5V      \/ HX \/ LX \/ HY \/ LY \/ HB3\/ LB3\/ HB4\/ LB4\/
D0..D3      0V       \____/\____/\____/\____/\____/\____/\____/\____/
              T2-> | |                                              
              _______     _     _     _     _     _     _     _     ______
READ       +5V       \ 1 / \ 2 / \ 3 / \ 4 / \ 5 / \ 6 / \ 7 / \ 8 /      
(KB0..KB4)  0V        \_/   \_/   \_/   \_/   \_/   \_/   \_/   \_/          
               T3->  | |
Tcycle = 20ms
T1 - not important
T2+T3 = about 90us at first nibble and about 65us the other.
Nibbles of bytes B3 and B4 are optional.

For Z80 CPU clocked at 10 MHz, will be shorten the time (T2+T3) of 2.5 times.
Tcycle at 10MHz will also be shorter, or the same ? Myself I've got no chance to check that.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.12. 13:08:50
I think it have to be shorter, at the same scale than the reading time, but also I don't have a 10 Mhz EP. You can count them by a hand, I think.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.12. 13:28:45
If the status of the mouse is read in a loop, its frequency will increase with the CPU frequency.
If on the other hand the read is triggered by real-time clock, the period of the calls will remain unchanged.
It depends on how exactly is written in the mouse driver.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.12. 13:34:42
It doesn't use RTC.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.12. 13:59:48
I did not mean literally the RTC.
I had rather thought, or in EXOS is any amendment to a different frequency than 4MHz.
Is the mouse driver somehow verifies what is the CPU frequency ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.12. 15:17:33

Ok, you are who are developing RTCs on a expansion card...

You mean comparing Z80 frequency with the RTC. But then you are forced to have also a RTC installed.

It could be better the MCU counts the time between impulses and adapt to it.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.12. 15:23:59
The mouse driver doesn't measures that, its timings are fixed, but as a software expansion they can be changed on the code.

I already have changed the delays from 8,5,5,5 loops  to 8,1,1,1 loops to save processor time.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.12. 15:37:20
Prodatron have a different approach on the EP SymbOS port. He uses the CMOS check to change the read frequency. Ask Zozo how it can be done. Only for the 10Mhz processor.

Seems that the actual frequencies of the driver work on the 6Mhz and 7,12Mhz EPs(NMOS).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.12. 15:59:54
The time source need not be neither the CPU nor the RTC.
I asked, because maybe 20ms time is not accidental.
This is exactly the screen refresh time.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.12. 16:42:36
It can be, Enterprises go at 4Mhz and MSXs go at 3,5Mhz, but both are PAL(or Secam) if European(50Hz).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.15. 00:24:41
Alternate current (http://www.school-for-champions.com/science/ac_world_volt_freq_list.htm#.VX3-Ekbe83E) in USA is 120v-240v 60HZ, but in Europe is 220v 50HZ. Even I remember when here in Spain it was 125v, but always it was 50Hz.

Analogic Television image was highly dependant of that frequency and so NTSC video system had 60Hz and PAL 50HZ.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.15. 00:34:26
I asked, because maybe 20ms time is not accidental.
This is exactly the screen refresh time.
Yes, the driver (MOUSE.XR) ask the mouse in every 50Hz (video) IRQ.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.15. 06:23:22
And that's what I meant.
So period of polling the mouse will not change regardless of the CPU clock frequency.
Thanks :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.15. 09:51:44
Forgive me, I was rambling and rambling about video frequencies.




Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.15. 11:16:02
Do not worry :)
I came up with another idea to become independent of the timings, at least to some degree.
If the mouse polling cycle is constant and independent of the CPU clock frequency, that is enough to know only one, the shortest time from the RTS edge signal to read data from the Control port.
For the EP with 10MHz clock the time is 24us and during this time the MCU must issue the data to be read.
On the other hand, the timeouts may remain as the original Neos mouse.

If a little bored, then I'm sorry, but now I have time only for theoretical, so I write it all, to remember and to be able to come back, when I come to practical tasks :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.15. 11:49:00
No problem with me, I like that boring things... It is a disappointment when things work right the first time....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.15. 12:24:11
I don't like surprises, especially unpleasant.
I prefer the hard work in advance and then instantly obtain a things which properly working :)
In this way, it's cheaper.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.15. 13:20:50
I like the same, only joking....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.15. 18:44:37
The connection matrix compiled and fitted to the XC9572-PC44 according to control map (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg47494/#msg47494).
Signals:
JS1_sss - joystick 1
JS2_sss - joystick 2
M_BL,M_BR - mouse buttons
M_D0..M_D3 - mouse data
KB_0..KB_9 - keyboard rows
KB_J..KB_L - keyboard columns
J0_M1 - the switch to avoid conflict of joystick 1 Fire2, Fire3 and mouse left, right buttons (logic 0 - joystick select, logic 1 - mouse select)
Code: [Select]
=========================================================================
*                            Final Report                               *
=========================================================================
Final Results
RTL Top Level Output File Name     : entermice.ngr
Top Level Output File Name         : entermice
Output Format                      : NGC
Optimization Goal                  : Speed
Keep Hierarchy                     : Yes
Target Technology                  : XC9500 CPLDs
Macro Preserve                     : YES
XOR Preserve                       : YES
wysiwyg                            : NO

Design Statistics
# IOs                              : 34

Cell Usage :
# BELS                             : 7
#      AND2                        : 2
#      AND3                        : 1
#      AND7                        : 1
#      AND8                        : 1
#      OR2                         : 2
# Tri-States                       : 20
#      BUFT                        : 20
# IO Buffers                       : 34
#      IBUF                        : 31
#      OBUFT                       : 3
# Others                           : 2
#      OR2B1                       : 2
=========================================================================
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.15. 22:31:31
OK. Very good work!

Only one thing, I think the Joy1 spare fire buttons and the mouse buttons don't conflict. You only need an OR gate, not a switch. Much more easier.

We have been talking about conflicts with some programs that expect a Joystick on the control port and find a strange fast activity on the direction switches, even incongruence on the movements(Up and Down or Right and Left at the same time, three or even all the four switches pressed).

I think it's the mouse data bus what conflicts on some programs, not the buttons. And we have isolated it already.

But I can be wrong....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.16. 07:57:47
Instead of the switch, I can do priority. Mouse first :)
I have to do something, because combined are the same lines.

Pressing any mouse button disconnects the buttons Fire2&3 of joystick 1.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.16. 09:06:10
Something more trick needed for the joystick mode: if the mouse in joystick mode, then it is replace the Joy1.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.16. 09:17:18
Just reprogram matrix, but it later :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.16. 10:39:24
Yes, "joystick mode" is complicate, as the mouse must use again the J column instead of K column for the directions. Also the principal Fire Button on "Joystick mode" has to be in J column to allow old games to read it. I think the best solution is, when in "joystick mode", to move the "Right Mouse Button" from L column to J column, leaving the "Left Mouse Button" on K column permanently. The original Boxsoft interface searches for the "Right Mouse Button" on L column, but no problem as it is "Mouse mode".

In "joystick mode" the "Joy1" port of the interface conflicts with the mouse port if you move a plugged Joystick at the same time. I think only disabling the common at Joy1 will work, but it's not a big problem if you leave quiet your hands...

Can it be done?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.16. 13:09:16
In the arrangement with priority, I still have one free input in the PLD.
It can be used to turn mouse in "Joystick Mode" and disabling Joystick 1 at this time.
Of course, the matrix will be more complicated, but I still have more than half of the available resources in the PLD.

EDIT:
I managed to find simple way.
The mouse in "joystick mode" is switched to the joystick 1 by one signal.
Of course, the MCU also needs to know that has to work in joystick mode emulation.

JM1 = 0 - joystick 1 and mouse with priority
JM1 = 1 - mouse working in "joystick mode", joystick 1 disconnected with no unpluged
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.16. 22:42:35
I've been thinking.... dangerous....

Now I know that only disabling the common on Joy1 is insufficient to isolate completely that port.

It is because internally in the joystick two direction switches  can be combined when the stick is on diagonals.  Then the two signals of the switches are joined by the common even if it is not connected.

Then, in "Joystick mode", although only pressed one of these virtual switches by the MCU, the Enterprise will read a diagonal.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.17. 06:17:16
I did not disable the common on Joystick 1, just disconnect all joystick signals from KB_J line.
In one moment to the KB_J line only the joystick or mouse signals are connected.
The buffer BUFT is active at low level, and BUFE at high.
There is no right to interfere.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.17. 09:10:09
But you don't disconnect the direction lines on Joy1 port. Is inside the connected Joystick where two direction lines joined in diagonal can be bypassed by the common(the disconnected  KB_J line).

This can affect the behaviour of the mouse in "joystick mode" if somebody fiddles a joystick plugged on Joy1 port.

I'm sorry. I'm only looking for perfection.....

Again, you don't need to disconnect all four direction lines, only two of them to avoid the use of diagonals. But that is not neat...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.17. 09:51:29
Don't worry.
Both joysticks and mouse lines are connected by a separate three-state buffers.
It is not possible to the signals "turned around" or shorted :)
On external sockets for joysticks common line is the ground, not KB_J.
Thanks to that, on the occasion, the AutoFire will be fully serviced.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.17. 10:09:54
Now I realise it, thanks.

I had forgotten for a moment the strange control ports the Enterprise has, and the complicate task to make them standard.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.21. 16:05:18
Approaching holidays. This week I'm going to order Xilinx chips to EnterMice.
Delivery time is a few weeks, so I would like to know the indicative count that will be needed.
In other words, how many potential buyers for the purchase of a ready interface ?
At least orientation. Chips are packaged by 10 pieces.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.21. 17:35:03
I would want two. They will be my dream come true....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: fatbob_gb on 2015.June.21. 18:00:28
I would like one please
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jungsi on 2015.June.21. 18:21:25
I also would like one!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: BruceTanner on 2015.June.21. 18:31:08
One for me too please! :smt041
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.21. 19:01:56
I need least two.

About how many will be the price?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.21. 20:29:19
Tomorrow I will give the estimated cost of the interface.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Bagpuss22 on 2015.June.21. 22:59:09
Hi Pear,

Definitely one here.....

Russ
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.22. 08:03:29
The estimated price of the complete assembled interface will be about 36 EUR (for quantity 10 units).
For 20 pieces price will fall by 2 EUR.

I resigned from SMD components.
PLD chip will be mounted in the socket.
You will not need any special equipment to self mount this interface.
The cost of the PCB is from about 3 to 3,5 EUR (with black soldermask).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.22. 09:06:16
I think today you will have more orders.

WAKE UP PEOPLE!

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.22. 09:12:37
You will not need any special equipment to self mount this interface.

Only abrasive and a saw to prepare the edge connectors.... It's not a simple task...!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.22. 09:16:02
I not counted firmware ;)
Actually, I do not even know how much :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.22. 09:19:02
Only abrasive and a saw to prepare the edge connectors.... It's not a simple task...!
Do not overdo it :)
The average handyman can handle it well :) If he wants.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.22. 11:27:42
View of the board after the recent changes.
The PCB is slightly larger (48x98mm), but there is no longer an SMD components.
I'm working yet on one element (edge detection circuit with the formation of the RTS signal pulse for hardware interrupt).
This is not a production version, but close :). I have yet to finalize and verify few details.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.22. 11:51:22
Perfect! We don't need necessarily the D9 connectors be horizontal.

And the PLD on a socket is a good idea to allow easier rewriting, just in case.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.22. 19:53:36
For me is disappointing the response of the users. May be if you put the request on a new thread...

For example your question: "How many potential buyers for the purchase of a ready mouse interface?"

Or: "New Mouse interface for 36 Euro. Do you want one?"
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.22. 20:27:41
Hungarian topic started :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.22. 21:21:45
For me is disappointing the response of the users. May be if you put the request on a new thread...
For example your question: "How many potential buyers for the purchase of a ready mouse interface?"
Or: "New Mouse interface for 36 Euro. Do you want one?"
Or maybe just waiting for someone else who will check the final product ?
I ordered PLDs for 20 pieces of interfaces.
Successive willing at most will have to wait for the next edition.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.22. 22:41:11
Starting is always hard, but something is moving at the Magyar side...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.23. 06:30:26
For me, making this interface, it's fun.
For starters will be 20 units, and then we'll see.
So far counted need to 16 pieces (and 2 for me :) ). There are still 2 available.
Maybe in the second edition will be 100? ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.23. 07:32:39
Summary:
2x to testing

2x Mobsie
2x gflorez
1x fatbob_gb
1x Jungsi
1x BruceTanner
2x Zozosoft
1x Bagpuss22
2x szalai56
1x Matusa
2x Moldani
1x Ep128

There are 2 free.

It's still a good result for a virtual product, which is from man, whom practically no one knows ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: dolargaan on 2015.June.23. 08:42:10
I would like one also.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.June.23. 08:52:28
Well, if one left (if I see well) and it's still available, please count on me (LGB) too. Thanks!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.June.23. 09:09:27
I could use 1 of them, too. (If it can be possible.)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.23. 10:53:16
Perhaps for test only need to one PCB for me.
In this case, the list for the first edition of Entermice was closed.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.June.23. 11:04:07
Better test with one of my ordered ones. You can sell it to me when you finish the tests.

By now I have plenty of mouse interfaces....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.June.26. 12:51:19
I ordered the PLDs and part of the elements, and I am going for a two-weeks holiday with the family.
See you later.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.June.26. 14:06:22
I am going for a two-weeks holiday with the family.
I'm also :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.July.20. 07:16:43
Welcome back :)
Even after the holiday.
In the last week I also changed my jobs. I hope for a better and more peaceful.

PLD chips has already arrived.
Refines a last input circuit supporting interrupt handling.
By the end of the week I should deal with it, complete PCB design and send it to production.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.July.20. 08:42:34
You are fast....

Welcome!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Bagpuss22 on 2015.July.21. 23:44:22
Welcome back!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.04. 18:52:07
Good news !
Finally, I managed to make a stable slopes detection circuit to generate interrupts for MCU.
Slowly I lost hope that I can do it :)
I can now finish the entire interface, redraw the PCB and sent to production.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.August.05. 09:11:54
We are excited!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.06. 09:22:34
I'm sure this project will give a second life to many forgotten Enterprises...also to the thirty years working ones...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.06. 09:25:58
After all, am I accepted to the first batch, or only maybe a later one ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.06. 17:57:19
OK,accepted :)  For me I will leave some from the next batch.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.06. 19:34:04
Final version of PCB is ready and sent to production.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.11. 17:25:47
PCBs are ready.
Now I need to patiently wait for delivery, and in the meantime complete the firmware.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Bagpuss22 on 2015.August.12. 10:23:42
That was quick!  Looking good.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.19. 20:26:17
PCBs arrived.
The first real device - the beginning of assembly.
Tight, but everything fits.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.19. 21:35:35
Hmmm ... it seems quite complex thingy ...

How will we know the exact use cases ? What are those sockets, what are those switches, how can we reprogram the functions in the sockets, or such things ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.20. 00:16:27
Now he is working on these little details...

Looks to me like a treasure.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 06:32:34
Hmmm ... it seems quite complex thingy ...

How will we know the exact use cases ? What are those sockets, what are those switches, how can we reprogram the functions in the sockets, or such things ...
It is complex you say ?
The requirements of future users are complex :)

JTAG connector, dip-switches and LEDs are currently not used.
This is all for future options.
One known me right now option is a "joystick mode" (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg47844/#msg47844) for the mouse.
Not yet implemented in firmware, but it will take one (or two) section of dip-switch.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 14:21:28
Quote
The requirements of future users are complex :)

Yes, those are. Always ... :)

Quote
JTAG connector, dip-switches and LEDs are currently not used.
This is all for future options.

It's very strange ... for me (I have no strong experiences in hw development or design) ...

How can it be possible to "think forward" in HW design ?

Aren't those currently not used parts of the circuit wired to the other parts ? Will we wire those later, by hand ?
Or are those wired into the "system", just those are not currently handled by some (probably programmable) central parts ?

So, what would be interesting to me (and maybe others, too),

"what will be the possibilities of the card", "how this will work", "what parts it has and how those work together",
"what are those extending possibilities of the card, with what someones can operate to implement future options you mentioned"

Or such things ...

(If these are too complex things, or you have no time to write as many things, or such, it is no problem, I just ask these because I'm curious ...)

I would like to imagine what I can do with this card when I will have one, and how I can use it, customize it or play with it ...
So, I understand, I can use mouses with this, and joysticks, but now you mention "future options" and currently not used parts of the circuit ... maybe it will be more expandable or complex than I think of it formerly ...

Quote
One known me right now option is a "joystick mode" for the mouse.
Not yet implemented in firmware, but it will take one (or two) section of dip-switch.

Yes, joystick mode could be a straightforward thing (thinking in EP), some EP users tested it, and found that usable ... And EP has a very few softwares using a mouse directly ...
I never tried that, so I do not know how many software can be usable with a mouse through joy emulation.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.20. 17:08:18
The adapter will not be expandable to infinity. Please read this thread from he beginning and then you will know how the adapter has been conceived and its future uses.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 17:57:59
It's very strange ... for me (I have no strong experiences in hw development or design) ...
How can it be possible to "think forward" in HW design ?
Aren't those currently not used parts of the circuit wired to the other parts ? Will we wire those later, by hand ?
Or are those wired into the "system", just those are not currently handled by some (probably programmable) central parts ?
An awful lot of questions, but one after the other :)

With a programmable circuits, and microcontrollers it is now much easier to design hardware than a dozen years ago.
In turn, these ICs are not "made to measure".
In most applications always remain unused resources.
If not used, then at least it should be provided that can come in handy.
The hardware project is usually established as the first and the first is usually completed.
Firmware arises during or after the hardware.
There is always a possibility to come up with a new idea in the firmware, to which will require some additional inputs (dip-switches) or outputs (eg. LED).
In the case of PLD it may be completely changed its operation by one signal.
You have to just predictable. A little experience it helps.
It is easier not to mount an element, than appends a spider in the air :)

This is just the first, prototype version of the interface.
The project is still ongoing, so maybe some of these unnecessary functions come in handy.

What other additional functions arise, it depends on You and remaining free resources.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 18:54:51
Quote
An awful lot of questions, but one after the other :)

Okay, and gflorez had right, as well,
I could read the informations more deeply and I could try to put the informations together for myself, but these things are not too easy ... :)
But (sooner or later) I will do that, of course.

But now I try to ask more specifically, maybe the answer is shorter for this:

Using (for example) a sega controller through this adapter with the EP ... will it be "under the scope" of this hardware interface, or such a "change" is out of the scope ?
(Maybe with some custom programming of the chips on it, or such ...)

Sega controllers have the same physical connector like C64/Atari/Amiga/CPC/ETC joysticks, but of course probably a different pinout and/or a different protocol.
But these devices have real 3 or more additional buttons to the directions ...
(What buttons will be barely used by EP softwares, but I hope that some EP software is configurable on the full range of inputs of the EP ...)

But (of course) there are many joysticks/controllers,
(using the same physical connector, or only more easy to replace the connector on the wire of the controller than fully recable the device to the EP inputs, not mentioned how problemmatic to get edge connectors with the appropriate size to the EP side),
so there are many controllers, for nintendo, sega, and other computers/consoles what have less than 9 wires, and physically could connect to this interface easilly through the joystick connectors.

The question is the above one: handling different pinouts and/or protocols than the C64's one, is under or above the scope of this device ? (Of course with customization, not "from stock")



Some explanation to the question:

Formerly I hacked together (with the help of the people of this forum, not myself) a PS/2 keyboard interface, what can work along with the EP's internal keyboard.
(I used an arduino micro "board" alone, the wires connect to this board directly, everything is in software, and (of course) the answer times to the EP side are on the edge, using even assembly handled interrupts.)
I very like the different game controllers/joysticks especially those are with many buttons.
Along the keyboard interface, I planned to implement mouse and joystick support as well,
but (thanks to god) the mouse will be handled by your interface, so that problem will be solved by you,
and I would be happy if your hardware would be capable to handle such different type of controllers, too.

In this case, I have not to do anything more, but customize the hardware of you ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 19:11:12
Theoretically, I see the possibility of connecting the Sega controller to the EnterMice.
In the current version of the PCB, however, would require a pretty serious modifications due to a difference in pinout Atari type joysticks and Sega controller (http://pinouts.ru/Game/genesiscontroller_pinout.shtml).
In Atari type joysticks the power supply is on pin No. 7, while Sega has on this pin signal Select, therefore, currently, could act only half of controller functions.
But nothing prevents to include this issue in the next version of the interface.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 19:21:16
Quote
But nothing prevents to include this issue in the next version of the interface.

Some little more explanation I forgot before:

I chosed arduino micro for the keyboard project against (for example) an other AVR thing,
beacause I do not like to hack hardwares together, I rather like hacking softwares.
It is easier to me programming something than soldering, and with this arduino micro I could do that.

It would be a very similar thing to the previous, if your hardware would be "programmable" or such ...

Of course if your hardware's next version could be handle these different kind of pinouts/protocols,
then I do not want to hack it's software, either.

But there is always an additional pinout/protocol version ... so extensibility with fw change ... would be a good thing ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 19:31:54
Not everything can be solved in software, but a hardware can be designed in a way, you do not have to "a hack hardware" in the future :)
The current version of the interface, even though I tried, it is not so flexible to solve the problem solely in software.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 19:40:53
Quote
you do not have to "a hack hardware" in the future :)

It sounds cool ! :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 19:45:24
Quote
The current version of the interface, even though I tried, it is not so flexible to solve the problem solely in software.

Okay, I got it.

Thanks, and waiting for the current and the next version(s), too ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 21:07:14
Quote
In the current version of the PCB, however, would require a pretty serious modifications due to a difference in pinout Atari type joysticks and Sega controller.
In Atari type joysticks the power supply is on pin No. 7, while Sega has on this pin signal Select, therefore, currently, could act only half of controller functions.

Otherwise,

Is this problem about especially the POWER pin collision, or is this problem about the different pinout overall ?

So, could be the hardware programmable/customizable for different layouts AND protocols/behaviours,
except of the power pin,
or it is not about the power pin, but it is about the pinout AND protocols/behaviours ?

Because if it is about the power pin only, or even about the whole pinout,
and otherwise the device is configurable enough for (example) a 6 button sega genesis controller protocol,
then connecting that previously mentioned controller is only a connector pinout converter cable thing.

I would get a 9 pin d-sub male and female, and a short cable, and I would solder an appropriate pinout converter cable to the given controller.
So the pinout problem would be solved easilly, without the hurting/disassembling the given controller/joystick or the EnterMice.

The protocoll differences (between a 6 button sega megadrive controller and the atari/c64 joy) would remain ...

Could the device handle the protocol differencies, or that would be a problem, too ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 21:14:21
In this case it is sufficient to remap the connections in the PLD.
It remains to support the multiplexing of signals from the controller Sega. It can be done in software.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 21:40:13
Quote
In this case it is sufficient to remap the connections in the PLD.
It remains to support the multiplexing of signals from the controller Sega. It can be done in software.

So, let see, whether I understand well ...


That would be possible (with software), the device would have "input modes", switching with the switches, or switching with replacing the whole (or part) of it's firmware,

and these input modes would be like "commodore/atari", "sega megadrive", "NES", etc,
and these "modes" would give a meaning to the given d-sub on the EnterMice,

for example "commodore/atari" would mean a standard c64 joy pinout and protocoll (and in this case there is no need any other converter cable between the EnterMice and the c64 joy),

and "sega megadrive" mode would mean a megadrive controller protocol on a pinout declared by the firmware of the EnterMice ... and in this case, we would have to use an other pinout converter cable between the EnterMice and the megadrive controller ...

It would be so great !
Because the most joys are c64/atari type ones, and those would not require other cables,
but if someone would like to use controllers with many buttons and not c64/atari type ones,
it would be easy too, because only require a cable which consists of only standard parts from the shops.


If I understand well ... I can barely wait to use this ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.20. 21:45:03
EnterMice has two joystick ports. One may works in Atari mode, second may be configured to a Sega controller.
Of course, in the latter case through the "twister-cable".
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 22:02:33
Quote
EnterMice has two joystick ports. One may works in Atari mode, second may be configured to a Sega controller.

Would it be configured by you, burned to the fw only once,
or would it be switchable by the user ?

So the limitation to only one of the joysticks probably would not be a problem, but the static behaviour maybe would ...

For example, I have a joystick like this:

joypic (http://i.ebayimg.com/00/s/MTYwMFgxMTk1/z/AAUAAOSwPgxVNLJc/$_57.JPG)
NINTENDO NES CONTROLLER NI MEGASTAR SV-333

It's a 4 button joystick, and it has the NES pinout/protocoll:

http://www.mit.edu/~tarvizo/nes-controller.html
http://pinoutsguide.com/Game/snescontroller_pinout.shtml




So the mode of the custom joy port of EnterMice should be switchabe ... harder or easier, but switchable by the user ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.20. 23:28:18
Reading this web :

http://www.cs.cmu.edu/~chuck/infopg/segasix.txt

You can make an easy bridge cable that allows read all the buttons, use  Rts on the Serial port, as the Boxsoft and Entermice do, for emulate the Select signal.

But you must create the software to read it,  a game for it or convert an old one.... Even you can expand the mouse driver to read it in EXOS if you like..



 The real target of the present project was mouse connection. Standard joystick ports came later as a benefit of the necessity of correcting the signals of the Enterprise unusual control ports, just as the Boxsoft did. There are planned three buttons on each joystick port so you can directly hack a joystick. But you still need an Enterprise game that can read more than one fire button.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.20. 23:53:12
Quote
The real target of the present project was mouse connection.

Yes, of course, mouse is the most important feature of the EnterMice.

My questions were only targeting what will be possible above the mouse + 2 x c64/atari joy,
after that I saw the photos of the card, and realized how complex (seems to me) thing it will be ...

Quote
There are planned three buttons on each joystick port so you can directly hack a joystick.

Yes, I can hack my joysticks even directly to the enterprise,
but these joysticks usually can do more things (auto fire, electronic direction mapping with switches, and such ...),
so if I want not only "switches" but the whole electronic functionality of the joysticks,
in that case the "rewiring" of the joystick is not a trivial thing for sure.

So if this thing could solve the problem without hacking the joys (controllers), that would be cool.

Quote
But you still need an Enterprise game that can read more than a fire button.

Yes, I thought of games like batman and head over heels and such ...
These have multiple action functions and can configure the controls by wish ...
Probably noone tried those games with joysticks with multiple buttons,
but these scan ext1 and ext2 correctly at configuration,
and I hope they scan and handle all of the inputs of the EP ...

Moreover I have plans with multiple buttons, too.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.21. 00:13:51
I think is better to modify your Arduino keyboard project to  assign the auxiliary keyboard keys on a game, to a button on a joystick. Almost every game have an internal joystick mode. Space is Fire1, but as you say, some programs or games need more buttons that are assigned to a key.

You can do an Arduino script to assign the convenient keys to the spare fire buttons before playing a game.

--------

The real posibilities of the controler ports have been undocumented, so I doubt  that  a game or programm scanned that hidden buttons. The only one was the Boxsoft driver.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.August.21. 00:51:04
Autofire inside a standard  joystick will work because now the common  of the buttons will be ground.

Entermice is above all simplicity, it is highly complex  inside but  will have almost "plug&play" use.….

It is targeted to all users, not only to technicians.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.21. 06:22:47
The real target of the present project was mouse connection. Standard joystick ports came later as a benefit of the necessity of correcting the signals of the Enterprise unusual control ports, just as the Boxsoft did. There are planned three buttons on each joystick port so you can directly hack a joystick. But you still need an Enterprise game that can read more than one fire button.
You're right. We should not depart from the basic requirements.
But the new ideas should save it for later.
On next time.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.23. 12:46:01
The first tests.
The main thing - EP survived connection with EnterMice ;)
Mechanically, the interface is held firmly in place. It is even better than I expected (video (https://youtu.be/xN146KVr190)).
When you try to pull the plug from the port Joy2, slid out the RS-423. But nothing happened, the computer does not hang neither not restarted (see the second video (http://youtu.be/ItVNieq76dc)).
Lines K and L are flying, because there is no MCU in socket and there is no fixed condition.
Something is still wrong with the port Joy2 towards the "right". Somewhere is an error in the PLD matrix, or is also influenced by the absence of the MCU. I have to check it out.
Access to the reset button is not hindered.
The printer port remains available :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.23. 13:35:34
Looks and sounds cool!


And probably you already thought of these, and there are reasons of the current form of the EnterMice (for example, price, producing speed, etc.),
but if there will be a next iteration of this card, probably would be good:

- the printer port would be taken by the EnterMice as well, but there would be a more "standard" socket for the printer connector on EnterMice, just like in the case of the joysticks. standard means here "we can buy at shops". It would be a connector converter only, saving the user to bother with edge connectors when using the printer port.

- the size of the panel would not be higher than the EP itself ... probably this vertical layout is better than the horizontal one would be (smaller place taking), but it depends on the user's wish. maybe a sandwitch like layout, with (for example) two panels could achive both: to be equal in heght to the EP and not so much place taking behind the EP.

- PS/2 connector would stand in a direction like joy connectors stands ... for the "uniformity" and leaving the reset button absolutely free.

- maybe one dedicated connector for serial too, maybe with a switch disconnecting the mouse function from that.

- all of this is in a block like casing, passing only a box to the backside of the EP ... :)


Okay, do not hate me, please ! I promise I will like EnterMice in this form in what it currenty exists, too. :)

But dreaming is good ... :)

On the hungarian side, nowdays, I always cry for a hardware snapshot device.
I would like it (to be existing) to save the current state of the EP hw (memory and other hw registers) to the SD card of the EP for savegame slots.

So be brave, I can (only) think big ! :)


Turning back to the point: with the above things the EnterMice would simply change the part of the "backpanel" of the EP, changing every connector to a much better one in functionality and in physical form, too.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.23. 13:51:38
Ideas - a good thing.
But keep calm.
I still do not know whether what I've done is correctly working, and you already want to modify :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.August.23. 13:58:49
Quote
But keep calm.

Okay, okay. Sorry for me ... :)

Quote
I still do not know whether what I've done is correctly working

Yes, it is just like I used to be ...

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.August.24. 11:04:49
The first tests.
The main thing - EP survived connection with EnterMice ;)
It is looks very nice!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.August.31. 20:21:57
I still can not solve the problem with the signal "right" on the joystick 2.
First, it seemed to me that the cause was interference caused by the lack MCU in the socket.
Unfortunately not. After inserting the MCU, nothing has changed.
Simultaneously active signals  KB9 and Joy2_Right causes "mess" on the line KB_J (watch this (https://youtu.be/ItVNieq76dc?t=38)).
KB_J line status is then random.
Especially for this occasion in the past week I mastered the basics of VHDL.
I rewrote the functionality of PLD schema (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/?action=dlattach;attach=13155;image) file to the VHDL.
Code: VHDL
  1. -- Target Devices: XC9572-PC44
  2. library IEEE;
  3. use IEEE.STD_LOGIC_1164.ALL;
  4.  
  5. entity EnterMice is
  6.     Port ( KB : in  STD_LOGIC_VECTOR (9 downto 0);
  7.            J1_Fire1 : in  STD_LOGIC;
  8.            J1_Fire2 : in  STD_LOGIC;
  9.            J1_Fire3 : in  STD_LOGIC;
  10.            J1_Up : in  STD_LOGIC;
  11.            J1_Down : in  STD_LOGIC;
  12.            J1_Left : in  STD_LOGIC;
  13.            J1_Right : in  STD_LOGIC;
  14.            J2_Fire1 : in  STD_LOGIC;
  15.            J2_Fire2 : in  STD_LOGIC;
  16.            J2_Fire3 : in  STD_LOGIC;
  17.            J2_Up : in  STD_LOGIC;
  18.            J2_Down : in  STD_LOGIC;
  19.            J2_Left : in  STD_LOGIC;
  20.            J2_Right : in  STD_LOGIC;
  21.            M_Left : in  STD_LOGIC;
  22.            M_Right : in  STD_LOGIC;
  23.            M_Data : in  STD_LOGIC_VECTOR (3 downto 0);
  24.            M_JoyMode : in  STD_LOGIC; -- 0=std mouse, 1=joystick mode
  25.            KB_J : out  STD_LOGIC;
  26.            KB_K : out  STD_LOGIC;
  27.            KB_L : out  STD_LOGIC);
  28. end EnterMice;
  29.  
  30. architecture Behavioral of EnterMice is
  31.                         signal KB0 : STD_LOGIC;
  32.                         signal KB1 : STD_LOGIC;
  33.                         signal KB2 : STD_LOGIC;
  34.                         signal KB3 : STD_LOGIC;
  35.                         signal KB4 : STD_LOGIC;
  36.                         signal KB5 : STD_LOGIC;
  37.                         signal KB6 : STD_LOGIC;
  38.                         signal KB7 : STD_LOGIC;
  39.                         signal KB8 : STD_LOGIC;
  40.                         signal KB9 : STD_LOGIC;
  41. begin                                                                                          
  42.    with KB select
  43.                 KB0 <= '0' when "1111111110",
  44.                                  '1' when others;                                                                      
  45.    with KB select
  46.                 KB1 <= '0' when "1111111101",
  47.                                  '1' when others;                                                                      
  48.    with KB select
  49.                 KB2 <= '0' when "1111111011",
  50.                                  '1' when others;                                                                      
  51.    with KB select
  52.                 KB3 <= '0' when "1111110111",
  53.                                  '1' when others;                                                                      
  54.    with KB select
  55.                 KB4 <= '0' when "1111101111",
  56.                                  '1' when others;                                                                      
  57.    with KB select
  58.                 KB5 <= '0' when "1111011111",
  59.                                  '1' when others;                                                                      
  60.    with KB select
  61.                 KB6 <= '0' when "1110111111",
  62.                                  '1' when others;                                                                      
  63.    with KB select
  64.                 KB7 <= '0' when "1101111111",
  65.                                  '1' when others;                                                                      
  66.    with KB select
  67.                 KB8 <= '0' when "1011111111",
  68.                                  '1' when others;                                                                      
  69.    with KB select
  70.                 KB9 <= '0' when "0111111111",
  71.                                  '1' when others;              
  72.                                                        
  73.         -- inverted logic - 0's active
  74.         KB_J    <=      (KB5 or J2_Fire1) and                                           -- Joystick 2
  75.                                 (KB6 or J2_Up) and
  76.                                 (KB7 or J2_Down) and
  77.                                 (KB8 or J2_Left) and
  78.                                 (KB9 or J2_Right) and
  79.                                 (M_JoyMode or KB0 or J1_Fire1) and                      -- Joystick 1
  80.                                 (M_JoyMode or KB1 or J1_Up) and
  81.                                 (M_JoyMode or KB2 or J1_Down) and
  82.                                 (M_JoyMode or KB3 or J1_Left) and
  83.                                 (M_JoyMode or KB4 or J1_Right) and
  84.                                 (not M_JoyMode or KB0 or M_Left) and                    -- Mouse in joystick mode
  85.                                 (not M_JoyMode or KB1 or M_Data(0)) and
  86.                                 (not M_JoyMode or KB2 or M_Data(1)) and
  87.                                 (not M_JoyMode or KB3 or M_Data(2)) and
  88.                                 (not M_JoyMode or KB4 or M_Data(3));
  89.         KB_K    <=      (M_JoyMode or KB0 or J1_Fire2 or not M_Left) and        -- Mouse button priority
  90.                                 (M_JoyMode or KB0 or M_Left) and                        -- Mouse in standard mode
  91.                                 (M_JoyMode or KB1 or M_Data(0)) and            
  92.                                 (M_JoyMode or KB2 or M_Data(1)) and
  93.                                 (M_JoyMode or KB3 or M_Data(2)) and
  94.                                 (M_JoyMode or KB4 or M_Data(3)) and
  95.                                 (M_JoyMode or KB5 or J2_Fire2);                         -- Joystick 2
  96.         KB_L    <=      (M_JoyMode or KB0 or J1_Fire3 or not M_Right) and       -- Mouse button priority
  97.                                 (M_JoyMode or KB0 or M_Right) and
  98.                                 (M_JoyMode or KB5 or J2_Fire3);                         -- Joystick 2
  99. end Behavioral;
  100.  
  101. #PINLOCK_BEGIN
  102. NET "J1_Down"        LOC =  "S:PIN9";
  103. NET "J1_Fire1"       LOC =  "S:PIN7";
  104. NET "J1_Fire2"       LOC =  "S:PIN13";
  105. NET "J1_Fire3"       LOC =  "S:PIN11";
  106. NET "J1_Left"        LOC =  "S:PIN12";
  107. NET "J1_Right"       LOC =  "S:PIN14";
  108. NET "J1_Up"          LOC =  "S:PIN8";
  109. NET "J2_Down"        LOC =  "S:PIN44";
  110. NET "J2_Fire1"       LOC =  "S:PIN1";
  111. NET "J2_Fire2"       LOC =  "S:PIN4";
  112. NET "J2_Fire3"       LOC =  "S:PIN5";
  113. NET "J2_Left"        LOC =  "S:PIN2";
  114. NET "J2_Right"       LOC =  "S:PIN3";
  115. NET "J2_Up"          LOC =  "S:PIN42";
  116. NET "KB<0>"          LOC =  "S:PIN34";
  117. NET "KB<1>"          LOC =  "S:PIN27";
  118. NET "KB<2>"          LOC =  "S:PIN29";
  119. NET "KB<3>"          LOC =  "S:PIN26";
  120. NET "KB<4>"          LOC =  "S:PIN28";
  121. NET "KB<5>"          LOC =  "S:PIN40";
  122. NET "KB<6>"          LOC =  "S:PIN43";
  123. NET "KB<7>"          LOC =  "S:PIN39";
  124. NET "KB<8>"          LOC =  "S:PIN38";
  125. NET "KB<9>"          LOC =  "S:PIN37";
  126. NET "M_Data<0>"      LOC =  "S:PIN22";
  127. NET "M_Data<1>"      LOC =  "S:PIN20";
  128. NET "M_Data<2>"      LOC =  "S:PIN19";
  129. NET "M_Data<3>"      LOC =  "S:PIN18";
  130. NET "M_JoyMode"      LOC =  "S:PIN6";
  131. NET "M_Left"         LOC =  "S:PIN25";
  132. NET "M_Right"        LOC =  "S:PIN24";
  133. NET "KB_J"           LOC =  "S:PIN33";
  134. NET "KB_K"           LOC =  "S:PIN36";
  135. NET "KB_L"           LOC =  "S:PIN35";
  136. #PINLOCK_END
The only I thing gained, so much that the generated output file consumes fewer resources of PLD.
However it behaves identically.
I've added a full line decoding KB0..KB9, even though, theoretically, always only one of them at a time is 0s.
I checked the PCB. There is no short circuits. Swapped the PLD, because I thought maybe I came across damaged. That wasn't it.

What am I doing wrong ? What is wrong?
Help please :oops:

PS. I swapped also a whole EP. Did not help.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.September.01. 00:28:53
VHDL at least on the forum :)  I try (hmm tried?) to learn it. Forgive me my stupidness, but ... Wouldn't it be more simple to use the given "line" of the logic vector "KB", instead of creating KB0...9 signals which is more or less the same but redundant? What I mean, instead of this:

Code: VHDL
  1. KB_J    <=      (KB5 or J2_Fire1) and                                           -- Joystick 2
  2.                 (KB6 or J2_Up) and
  3.                 (KB7 or J2_Down) and

leave all the select stuff, and write this:

Code: VHDL
  1. KB_J    <=      (KB(5) or J2_Fire1) and                                         -- Joystick 2
  2.                 (KB(6) or J2_Up) and
  3.                 (KB(7) or J2_Down) and

I only ask this, since I would like to understand this piece of VHDL, and it was not understandable for me at least. Sorry for  the beginner-VHDL question.

Also, what is odd for me: because VHDL being a (hardware) description language and not a programming language, it is not "executed" line by line but all stuffs "in parallel", thus the exact order of 'statements' are not even important (order in the VHDL source I mean, they can be even reversed, no change on the synthesized bitstream too much, I guess). I have a suspect that you may created some kind of logical hazard, because of this behaviour. You can change this if you skip the "intermediate" signals which are not so important here I guess, or having a "process block", so you can 'sense' the level change of one or more signals first, and depends on that for the "evaluation" of the process block. Or so.

Again, these are my absolute beginner VHDL tips (I haven't even written anything in VHDL yet, just read some tutorials and e-books on the topic ...), so please point out if I am wrong somewhere, it would help me. Thanks!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.01. 01:09:24
I too had ramdom errors with some optocouplers on my adapter. One chip worked, but  exactly the same other didn't:


https://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg45493/#msg45493.


Also the errors persisted more  on the Up and Down switches than  on the other four(Left, Right, Lbutton and Rbutton).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 07:29:42
Wouldn't it be more simple to use the given "line" of the logic vector "KB", instead of creating KB0...9 signals which is more or less the same but redundant? What I mean, instead of this:

Code: VHDL
  1. KB_J    <=      (KB5 or J2_Fire1) and                   -- Joystick 2
  2.                 (KB6 or J2_Up) and
  3.                 (KB7 or J2_Down) and

leave all the select stuff, and write this:

Code: VHDL
  1. KB_J    <=      (KB(5) or J2_Fire1) and                 -- Joystick 2
  2.                 (KB(6) or J2_Up) and
  3.                 (KB(7) or J2_Down) and
Yes, you're right. And so it was in the first version.
But I decided to protect themselves in case the LS145 decoder inside the EP was damaged.
Therefore, additional signals KB0 .. KB9 defined on the basis of all the line KB.
Code: VHDL
  1. with KB select
  2.         KB0 <= '0' when "1111111110",
  3.                  '1' when others;      
Also, what is odd for me: because VHDL being a (hardware) description language and not a programming language, it is not "executed" line by line but all stuffs "in parallel", thus the exact order of 'statements' are not even important (order in the VHDL source I mean, they can be even reversed, no change on the synthesized bitstream too much, I guess). I have a suspect that you may created some kind of logical hazard, because of this behaviour. You can change this if you skip the "intermediate" signals which are not so important here I guess, or having a "process block", so you can 'sense' the level change of one or more signals first, and depends on that for the "evaluation" of the process block. Or so.
This is a simple combinatorial logic. Hazards are unlikely.
Yes, operations are performed by hardware in parallel (with an accuracy of the propagation time of signals).
Timing Report shows propagation of signals with differences of 1 ns.

But I came up with the idea that maybe there is a problem with the pull-up resistors.
All signal lines KB, Joy Mouse is pulled up to VCC.
I'll check this option, and maybe someone else finds an error in VHDL.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 07:31:14
I too had ramdom errors with some optocouplers on my adapter. One chip worked, but  exactly the same other didn't:
https://enterpriseforever.com/hardware/re-paintbox-mouse-xr/msg45493/#msg45493.
Also the errors persisted more  on the Up and Down switches than  on the other four(Left, Right, Lbutton and Rbutton).
The error is only on this one, the only combination of signals (KB9, Joy2_Right).
All the rest is correct.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.September.01. 09:19:22
Yes, you're right. And so it was in the first version.
But I decided to protect themselves in case the LS145 decoder inside the EP was damaged.
Therefore, additional signals KB0 .. KB9 defined on the basis of all the line KB.

Hmm, maybe I dumb, but I still don't understand this clearly.

Code: VHDL
  1. KB : in  STD_LOGIC_VECTOR (9 downto 0);

So you have the KB stuff here. Then lines like this:

Code: VHDL
  1. signal KB0 : STD_LOGIC;
  2. ...
  3. with KB select
  4.                 KB0 <= '0' when "1111111110",
  5.                                  '1' when others;

Actually "copy" the exact signals from KB logic vector to KB0 ... KB9, so in my opinion eg using KB5 or KB(5) is about the same (well not the very same, since it has some short time of propagation delay, as far as I can guess). I thought the difference can be, if you want to implement a demultiplexer in VHDL that is the KB logic vector is "4 line wide" only and you create your internally used signals from 0 ... 9. But what you do here seems not to be this, but an exact (in my opinion unneeded) copy from KB(9 downto 0) to KB9...KB0 actually.

Quote
This is a simple combinatorial logic. Hazards are unlikely.

What I meant (but again, I can be wrong easily, my comments here are more about me to learn VHDL hehe) with a simplified example:

Code: VHDL
  1. KB5 <= '1';
  2. KB_J    <= KB5;

Actually, as far as I know this may not work at all. At least not in a way one would expect. Because with a programming language background some can expect that KB5 has been assigned with a value of logic level 1, then assign KB_J with KB5 which should be '1' then, since the first line was earlier (in the meaning of "sequence" in a programming language). But actually this does not mean anything in VHDL, as the two lines are "executed" in parallel, thus you can't be sure the second line will "see" the already set up value of KB5 or the original, from the point of view of VHDL you can even exchange the two lines above and it will mean still the same. Again, that is _my_ idea about VHDL. So about "hazard" I mean about the situation that you set KB5 and signals with the similar names and you use them then, but the order of "logic evaluation" can be wrong here. You may even see the previous state of the signal instead of what you have expected, as KB5 is not "filled" with the value from the KB std logic vector yet when it's used. What I would do is to put a "process" block to "sense" level change of KB5 and similar signals for the J,K etc process. I am not sure if it's even understandable at all, what I want to say :)

Quote
Yes, operations are performed by hardware in parallel (with an accuracy of the propagation time of signals).
Timing Report shows propagation of signals with differences of 1 ns.

I see, I have not experience at all with this, that's true, since I "know" a very little VHDL just by learning and without actually trying/using it :) Since the lack of any hardware I can program (FPGA what I would like to play with, not so much a CPLD, but that's another question).

Well, I can't stop repeating that it's more like a "me trying to understand VHDL" and not a critical view on your work, please do not misunderstand me. I would like to understand this only, but if it looks like off-topic or annoying for you, then I shut up :D :D Thanks!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 10:03:39
Maybe something we learn by asking each other questions ;)

VHDL is a little strange when it comes to writing of expressions order.
Now, the order is completely arbitrary.
Entry
Code: VHDL
  1.     KB5 <= '1';
  2.     KB_J    <= KB5;
  3.  
is the equivalent to
Code: VHDL
  1.     KB_J    <= KB5;
  2.     KB5 <= '1';
  3.  
The only error in the above example, you assign a value for the KB5, which is previously defined as input.

But KB(0) is not the same as KB0.
Signal KB(0) is only one line.
Entry
Code: VHDL
  1. with KB select
  2.    KB0 <= '0' when "1111111110",
  3.              '1' when others;
is the equivalent to
Code: VHDL
  1. KB0 <= KB(0) or not ( KB(1) and KB(2) and KB(3) and KB(4) and KB(5) and KB(6) and KB(7) and KB(8) and KB(9) );
  2.  
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.September.01. 10:09:56
Maybe something we learn by asking each other questions ;)

Well, yes, I am happy if you don't misunderstand (the intent of) my long posts with slightly off-topic contents :)

Quote
VHDL is a little strange when it comes to writing of expressions order. Now, the order is completely arbitrary.

Yes, so at least I know that well, hehe :) Thanks.

Quote
The only error in the above example, you assign a value for the KB5, which is previously defined as input.

Yes, my example was more like a generic statement but indeed using the same symbols you used created an awkward situation, I should use another names. :)

I would love to dig into VHDL with some kind of FGPA board, if I have only money for a dev board to start it :) Not so much CPLD related topic then, indeed.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 10:39:48
Yes, my example was more like a generic statement but indeed using the same symbols you used created an awkward situation, I should use another names. :)
Well, it's perhaps no error. KB5 is not an input (KB<5> is), only the variable, so you can assign a value.
I just learned something :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.September.01. 10:42:21
Quote
But KB(0) is not the same as KB0.
Signal KB(0) is only one line.

Hmm, I feel lost. Yes, KB(0) is the 0th line of the 10-line width logic vector. But KB0 is also one line, as it is declared as signal and not signal vector. What I miss here? :(

Quote
Entry
Code: VHDL
  1. with KB select
  2.    KB0 <= '0' when "1111111110",
  3.              '1' when others;
is the equivalent to
Code: VHDL
  1. KB0 <= KB(0) or not ( KB(1) and KB(2) and KB(3) and KB(4) and KB(5) and KB(6) and KB(7) and KB(8) and KB(9) );
  2.  

Hmm. I see, but the KB as logic vector can be only one line as active (well, if I understand correctly, low-level active in our case) as the demultiplexer in the EP decodes in a way that it's not possible that two or more lines can be active, only one (or none). .... Or I miss something again :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 10:46:02
Hmm. I see, but the KB as logic vector can be only one line as active (well, if I understand correctly, low-level active in our case) as the demultiplexer in the EP decodes in a way that it's not possible that two or more lines can be active, only one (or none). .... Or I miss something again :)
Yes, you're right again, but only if decoder is undamaged.
And that is why these declarations, to eliminate internal LS145 decoder as the cause of the problem.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.September.01. 10:46:56
Yes, you're right again, but only if decoder is undamaged.
And that is why these declarations, to eliminate internal LS145 decoder as the cause of the problem.

Ah, I see. :) Thanks! I'm kinda happy that my VHDL knowledge is barely enough now to understand basic things, hehe :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 19:59:48
The old rule says, "Do not fix what is not broken".
The problem is not the circuit, PCB, short circuits, VHDL, neither damaged parts.
The problem is ... the IS-BASIC.
Below the program, which served me for testing PLD.
Code: Text
  1. 100 PRINT AT 4,10:"J  K  L"
  2. 110 FOR N=0 TO 1
  3. 120   FOR I=0 TO 9
  4. 130     OUT 181,I
  5. 140     LET M=IN(182)
  6. 150     LET V=MOD(M,8)
  7. 160     LET J=MOD(V,2)
  8. 170     LET L=INT(V/4)
  9. 180     LET K=INT((V-4*L-J)/2)
  10. 190     IF N=0 THEN PRINT AT 5+I,4:"*"
  11. 200     IF N=1 THEN PRINT AT 5+I,4:"."
  12. 210     PRINT AT 5+I,9:J;K;L
  13. 220   NEXT I
  14. 230 NEXT N
  15. 240 GOTO 110
I began to suspect that the instructions OUT and IN of BASIC do not what I expect or do something more than need.
I wrote a second test program.
Code: Text
  1.  10 CLEAR SCREEN
  2.  20 ALLOCATE 17
  3.  30 CODE TEST=HEX$("F3,C5,01,B5,00,ED,69,03,ED,68,26,00,ED,61,C1,FB,C9")
  4. 100 PRINT AT 4,10:"J  K  L"
  5. 110 FOR N=0 TO 1
  6. 120   FOR I=0 TO 9
  7. 140     LET M=USR(TEST,I)
  8. 150     LET V=MOD(M,8)
  9. 160     LET J=MOD(V,2)
  10. 170     LET L=INT(V/4)
  11. 180     LET K=INT((V-4*L-J)/2)
  12. 190     IF N=0 THEN PRINT AT 5+I,4:"*"
  13. 200     IF N=1 THEN PRINT AT 5+I,4:"."
  14. 210     PRINT AT 5+I,9:J;K;L
  15. 220   NEXT I
  16. 230 NEXT N
  17. 240 GOTO 110
This time I added a inset of code in assembler instead of suspect instructions.
Code: ASM
  1. F3          DI
  2. C5          PUSH    BC
  3. 01,B5,00    LD      BC,181
  4. ED,69       OUT     (C),L
  5. 03          INC     BC
  6. ED,68       IN      L,(C)
  7. 26,00       LD      H,0
  8. ED,61       OUT     (C),H
  9. C1          POP     BC
  10. FB          EI
  11. C9          RET
And now everything works. The signals are stable as a rock. There are no interferences.

Let me just explain to someone what is happening in the first program between lines 130 and 140 ?
I do not understand.
Do clue may be the STOP button internally attached to the line KB9 ?
Maybe instruction OUT 181,9 produces some additional processes in the Enterprise ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.September.01. 20:24:25
The problem with the first program: EXOS IRQs are enabled, then the device drivers continously updating port values.

Brute force solution for BASIC program:
POKE 56,201 disable IRQ (place RET to the entry point)
POKE 56,245 enable IRQ
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 20:52:55
OK, but why only after OUT 181,9 ?
All other values ( 0..8 ) do not cause this behavior.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.September.01. 21:23:32
OK, but why only after OUT 181,9 ?
All other values ( 0..8 ) do not cause this behavior.
What happen with this?
120   FOR I=5 TO 9

Or:
120   FOR I=9 TO 0 STEP -1
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.01. 21:26:11
Tomorrow I'll check.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.01. 21:33:20
Exos is constantly checking Stop or Hold keys. May be one of  them are on the same row(kb9) and interferes?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.01. 21:43:44
No, I answer myself directly, they are on row kb7.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.07. 18:49:10
What happen with this?
120   FOR I=5 TO 9
Or:
120   FOR I=9 TO 0 STEP -1
It's strange.
No need to set '9' to the port 181.
Just tilt Joy2 to the right and are already interference.
Does not matter, waste of time, because the cause has been identified.
Now I have to do firmware for PS/2 mouse.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.17. 21:12:37
I returned today from work a little bit tired and I didn't had have the strength to write the firmware yet.
But to no one said that I do not do anything, I made a few interfaces.
There left still 15.
Assembling one takes about an hour.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.17. 21:16:05
Good to see them ! :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.September.17. 21:26:28
Great! :ds_icon_cheesygrin:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.17. 22:23:35
One hour only! I can'tbelieve it....

It's amazing how you take advantage of your little time....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Ep128 on 2015.September.17. 22:42:28
Nice! :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.17. 22:51:05
One hour only! I can'tbelieve it....

It's amazing how you take advantage of your little time....
One hour per one interface. Is it a little ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Bagpuss22 on 2015.September.17. 23:06:09
Fantastic work..
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.17. 23:38:33
I don´t know, I would take days....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.18. 06:27:51
When you do a single interface, one hour seems to be a little.
When their doing 20, it becomes eternity ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.27. 19:49:41
The project comes to an end.
I thought that you might want to verify whether the assumptions were met.
In the attachments are connection matrix and destiny of dip switch and LEDs (based on existing ideas in this thread).

Soon I finish assembling all the tiles of the first batch of the interface.
Today, it dawned on me and I started to rewrite the new firmware.
Instead of creating delay loops, calculate pointless delay times and wasting resources MCU, the new firmware will be worked exclusively on the events.
PS/2 mouse will be supported in Remote Mode. It is true that the MCU doing well with Stream Mode, but it isn't necessary :)
Knowing the frequency of mouse readings (50 Hz) can be read only once per IRQ (ahead counting from the previous interrupt).

Testing a little delayed, but I hope that the new solution will be fewer emergency and most importantly, totally independent of the clock frequency of the Z80 (up to 10 MHz).

This is the last moment to reflect changes in the software, so please any attention (relative to the initial assumptions).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.27. 20:27:54
Probably I do not understand the tables, yet.

Do these tables mean that there will be support for 3 joystick buttons ?

If there will be multi button support, what will be the pinout of the joystick socket(s) of the board ? Equal to "Atari" joystick socket ? Does Atari joystick socket support multi button joys ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.27. 21:25:06
Maybe this is the answer to my question ? :

https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg47483/#msg47483

Is this unchanged ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.27. 22:16:23
Hello Pear. I'm glad you choose remote mode at last... so you can make better use of previous projects.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.27. 22:38:25
Hello Z80System.

Exactly, Entermice will follow the Kempston standard and will have three buttons on every joystick connector, I said you. But think it doesn't imply that the two new buttons can work on old games, while they always can be modified easily to use them...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.27. 23:15:30
Quote
Exactly, Entermice will follow the Kempston standard and will have three buttons on every joystick connector, I said you.

It's cool ... in this case (from my multi button joystick point of perspective) this interface will solve to me (alongside the mouse thingy :)) the "multiplexing/demultiplexing" (I think this is the name) behaviour of EP joy ports, and will serve 7 paralell input lines at the joy connectors (Kepston thingy).

This will be compatible with many commercial DB-9 joysticks without a converter for one button at least (I do not think that there will be many multi button jojsticks what have a kepston fire button layout).

But even if I have a multi button joystick what is not compatible with the Kempston DB-9 layout (with the fire buttons, or at all) I can easily convert those only by wire, because of the 7 paralell input lines served by the EnterMice.

Moreover, the 7 paralell input lines is important to me because of an other thing, too.
I do not have experience with hardware building, but (after my keyboard interface) I have expereience with programming of printed circuit assembled microcontroller boards, like the arduino micro and clones.
These microcontrollers are fast enough to handle protocols like PS/2 and the sega megadrive or NES controller protocol, but barely or simply not enough fast to handle (and react to) the *plexed signals of the original EP control ports.
Now with the 7 paralell input lines per joystick of the EnterMice I can easily write protocol handlers with AVR microcontrollers, and the output of those microcontrollers can drive the EnterMice joystick input lines directly.

So, I can connect (from a hardware point of perspective) complex controllers to EnterMice's DB9 connectors while the 7 line is enough to me. And 3 fire buttons will (almost :)) be enough.


Quote
But think it doesn't imply that the two new buttons can work on old games, while they always can be modified easily...

Yes, I understand that this will not mean software compatibility at all.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.27. 23:44:22
For some complex pads you will need an output pin, RTS inverted and converted from 12v to 5v, only used internally by the Entermice but surely Pear will put a probe point on some place of the board.

You can use also Data Out on the underused Serial port to do it.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.27. 23:53:40
Quote
For some complex pads you will need an output pin, RTS inverted and converted from 12v to 5v, only used internally by the Entermice but surely Pear will put a probe point on some place of the board.

But you can use also Data Out on the Serial port to do it.

I do not understand you ... Did you mean interpreting and controlling the protocols of the controllers by the EP natively ?
I do not mean that ... I will read only the EP joy port(s) by the Z80 in every case of controllers, and I will convert everything to the Kempston signals of the EnterMice by an additional microcontroller board.

Or am I wrong ? Aren't the Kempston lines paralell input lines ? Have they a protocol ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.September.27. 23:57:33
Anyway... what will be the latency of the EnterMice's control ports ? Or will there not be any latency ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.September.28. 00:25:17
Yes, they are really parallel. I was meaning some SEGA joysticks that send information of more buttons when an output pin is activated. That is not a protocol, only switching the output pin low or high to read some buttons or others of the joystick.

But reading directly a complex device is not new, you already know that Entermice converts internally PS/2 mouse protocol to MSX mouse protocol, then MSX(Neos)mouse protocol is read directly by the Z80. What really makes very complex to Entermice is the part where it converts the estrange Enterprise signals to standard Atari-Kempston signals.

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

I think no latency as the circuits used are faster enough than our lovely old EP.... but better wait an answer from Pear about that.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.September.28. 05:11:50
Anyway... what will be the latency of the EnterMice's control ports ? Or will there not be any latency ?
The joystick ports latency between the move and the appearance of the corresponding output signal is 16 ns.
The delay reading mouse is about 2 - 5 ms, but will be read in advance before the video IRQ (every 20 ms).
Hello Pear. I'm glad you choose remote mode at last... so you can make better use of previous projects.
Previous projects work in software loops and delays. They bit me made it difficult to come up with that by hardware will be easier ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.September.28. 08:59:41
In the attachments are connection matrix and destiny of dip switch and LEDs (based on existing ideas in this thread).
It is looks very great!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.01. 21:06:20
Quote
The joystick ports latency between the move and the appearance of the corresponding output signal is 16 ns.

Cool. Nanoseconds are good ... nanoseconds are our friends ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 06:27:29
I could use a simple program to test EnterMice. As for the buttons and the mouse moves (with wheel inclusive).
I noticed that the movements X, Y and Z are different between the PS/2 and MSX.
Is it properly?
Code: [Select]
MSX PS/2
 X = -X
 Y =  Y
 Z = -Z
For the joystick mode too would come in handy some test.
Someone help me? Please :)
Ideally, the test program was in the form of a disk image (EX-DOS).

EDIT:
This may be an already existing program.
What can you recommend me ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.06. 11:42:38
Yes, that coordinate differences exist , and are caused by how and where we start counting the coordinates. No major problem.

For better test the Entermice I recommend you to use the Enterprise Graphical Interface or EGI (https://enterpriseforever.com/other-topics/enterprise-graphical-interface/msg48257/#msg48257). It was written on 1987 and has some limitations, but gives you a good idea of what you can expect of your interface.

The only problem is that on that era the Boxsoft interface only had one button. It can be tested on System var 189.

I have modified the original mouse driver (https://enterpriseforever.com/programming/universal-mouse-driver/msg49193/#msg49193) to deal with your interface, and now there is a new System Variable(190) that shows all the extra buttons and the Wheel. They can be tested with a simple Basic program:

First LOAD "MOUSE.XR". This can't be done inside the Basic program. It loads the driver as a system extension. But it doesn't work until you execute ":pb". Ignore the error it gives. I can make easily a version of the driver without the :pb initialisation stuff...

Then you must load a Basic program like this:


100 PROGRAM "mouse_tst.bas"
110 GRAPHICS
120 SET 189,4 ! 0=internal joy, 1=Joy1, 2=Joy2, 3=Boxsoft and 4=Entermice. Use Joy1 to test Entermice Joystick mode
125 SET 7,1 ! Key click off. It is annoying when using the internal Joystick and it autorepeats.
130 SET 180,101 ! Video channel to put mouse pointer on. Usually GRAPHICS is 101
140 SET 181,30 ! Position of coordinates on Status Line
150 SET 182,1 ! Show coordinates
160 SET 183,255 ! Colour of pointer
170 OPEN £1:"mouse:" ! Opens a channel to the mouse. Now you can see the pointer on the middle of the screen
180 ASK 188 A
190 ASK 190 B
200 PRINT "       ";A;"      ";B ! This prints the status of the main button, and the rest of buttons+wheel
210 GOTO 180

I can make you an auto-start disc image, but before I need to know your Enterprise configuration. Is it an English version or German? Do you have a SD-reader?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 11:53:45
Thanks. There's not a lot. I'll rewrite it myself :)
Today, I hope, the first tests of the firmware. It is no longer on the emulator :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.06. 13:38:00
On the Boxsoft interface manual (http://ep.homeserver.hu/PDF/Paintbox_and_Neos_mouse_instruction_manual.pdf) you can find more  examples useful of how to use the driver.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 18:35:54
The first test failed :(
I do not know yet, what I'm doing wrong.
The mouse pointer "escapes" to the top-left corner of the screen.

In the Arduino source I seen that are not sent the delta values, only after each mouse reading is summed delta and send the sum.
I was a little confused.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.06. 18:51:27
I can say you about the problems I had adapting the Arduino project to the Enterprise.

It uses an input-output register for the seven signals(four directions+two physical buttons+strobe). Then, after every host reading the MCU must mask the output lines. If not, the mouse pointer goes up-left because the host reads data of the last reading.

But congratulations, it means that the Enterprise is reading something. The pointer goes to the opposite when no mouse connected...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.06. 19:11:32
The Arduino script is very well made(even if the author says otherwise). Don't mess up with delta or other variables. Your problem has to be the reading phase.

At the end I 've only changed the polarity of the signals on the script and all begin to work.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 19:17:52
I think, I know. All the data bits are negated!
But it's I'll check tomorrow.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 21:10:15
If further tests come out better than today, and I counted correctly, it should EnterMice in the current configuration to work correctly even with the EP CPU clocked at 10 MHz. Measurements and calculations came out to me that reading occurs after 26 us, and interrupt service until set the data I managed to fit in 23 us (MCU clocked at 12MHz).
Code: ASM
  1. ;*** MSX service ***************************************************************
  2.                                         ; tacts limit 56 @12MHz (112 @24MHz)
  3.                                         ; data exhibit before 26 (52) tacts
  4.                                         ; tacts used
  5. msxservice:                             ; +2  wait for int
  6.         HDW_INT_START   1               ; +6  using set #1 of GPR
  7.         mov     a,r0                    ; +1    
  8.         clr     c                       ; +1
  9.         rrc     a                       ; +1  count msxData ptr
  10.         orl     a,#msxData              ; +1
  11.         mov     a,@r0                   ; +1  load msxData
  12.         jnc     msx_set                 ; +2  if odd
  13.         swap    a                       ; +1  then swap nibble
  14. msx_set:
  15.         anl     a,#0F0h                 ; +1  leave high nibble
  16.         xrl     a,#0F0h                 ; +1  inverting bits
  17.         mov     r7,a                    ; +1
  18.         mov     a,outBuff               ; +1
  19.         anl     a,#00Fh                 ; +1  reset msxD0..msxD3
  20.         orl     a,r7                    ; +1  store data
  21.         mov     outPort,a               ; +1  exhibit data  @23 tacts :)
  22.         mov     outBuff,a               ; +1
  23.         inc     r0                      ; +1
  24.         TMR_START       msxComTout      ; +6
  25.         HDW_INT_END                     ; +6 = 37
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.06. 21:22:42
I stare at the code, and I just found a stupid mistake in the 11th line :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.06. 22:43:29
On the Arduino script I modified that lines:


void sendMSX(char c)
// Optimized for Atmel328
// NOTE: Fixed pins!
{
while (digitalRead(JoyPin8)==LOW) {if (millis()>time) return;};
DDRD = ((DDRD & 195)|((~ (c>>2)) & 60));
while (digitalRead(JoyPin8)==HIGH) {if (millis()>time) return;};
DDRD = ((DDRD & 195)|((~ (c<<2)) & 60));
}

To:


void sendMSX(char c)
// Optimized for Atmel328
// NOTE: Fixed pins!
{
while (digitalRead(JoyPin8)==HIGH) {if (millis()>time) return;};
DDRD = ((DDRD & 195)|((~ (c>>2)) & 60));
while (digitalRead(JoyPin8)==LOW) {if (millis()>time) return;};
DDRD = ((DDRD & 195)|((~ (c<<2)) & 60));
}


And:

void JoyHigh()
// Optimized for Atmel328
// NOTE: Fixed pins!
{
     DDRD=(DDRD | 195);
}

To:

void JoyHigh()
// Optimized for Atmel328
// NOTE: Fixed pins!
{
     DDRD=(DDRD | 0xC3);
}

And it started to work properly.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.07. 20:17:49
Today was much better :)
Tested (https://youtu.be/PVqR1eLxyKw) with the original driver MOUSE.XR (not yet modified) in BoxSoft compatible mode.
Data bits are not inverted. There was only one mistake in the interrupt service :)
There are a few trinkets to refine.

The mouse can be disconnected during operation without shutting down the computer.
After reconnecting is ready for operation within approx. 2 seconds :)
You can also connect another mouse, and its type will be identified  (with the wheel or not).

Remained also to do a joystick mode. I still have to think about how he will exactly work, but compared to what already I did this little thing :)

All the PCBs already assembled. I have yet to mount edge connectors.
I also found and corrected a minor error in the PLD logic.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.07. 21:09:48
I like this kind of pictures.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.07. 22:52:05
I like too. I've been talking two years about mice and interfaces without a "video-proof". I should have done long ago one about my works....

Is a good trick that the Entermice can rearm the mouse like USB does. I remember resetting the PC as, if the PS/2 connector was moved,  you had to shut-off  and re-start the computer to have again a working mouse.

To watch the pointer moving on a different Enterprise than mine shakes something inside me....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.08. 16:48:47
Quote
The mouse can be disconnected during operation without shutting down the computer.
After reconnecting is ready for operation within approx. 2 seconds :)
You can also connect another mouse, and its type will be identified  (with the wheel or not).

It is too nice to be true ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.08. 20:06:36
I made a joystick emulation mode service on the model of Arduino code.
On the emulator (https://youtu.be/02VNwHjkO2g) it looks good.
Resolution (actually sensitivity) is set on dipswitch.
Today, I no longer have time to check the code on the target device.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.09. 11:06:20
Some tips for sensitivy testing:
-Simcity, it is with the original Neos joy mode litle slow, need higher sensitivy setting
-Krakout, it is great with the original Neos. More better playing than the real joy!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.09. 13:21:39
I think, better put him the links as he may not know where to look for the games.

His time is precious for us...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.09. 14:37:57
I have a better idea. I'll send to Zozo ready EnterMice for test and checks itself :)
I have the second tester. Do you agree Zozo ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.09. 14:54:17
I have a better idea. I'll send to Zozo ready EnterMice for test and checks itself :)
I have the second tester. Do you agree Zozo ?
Good idea :ds_icon_cheesygrin:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.09. 14:59:55
He can test it on his 10Mhz Enterprise.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.11. 11:09:00
Exactly five months ago, on May 11th I received an e-mail from gflorez with a question:
"I must ask you, are you interested in doing a series of mouse adaptors?"
It's like waving a red rag in front of the bull's nose ;)
By the way, my zodiac sign is Taurus.
Are you, gflorez, you're not accidentally toreador ? ;)

From this e-mail began project EnterMice (name I came up a little later).
It was created from scratch.
Only on the basis of ideas and very detailed descriptions of the operation,
for which many thanks for gflorez.

There are a few of my original concepts.
Starting from the shape of the plate, joysticks matrix, circuit to generate interrupts,
ending on written from scratch firmware that supports PS/2 (maybe better than on PC ;) ),
emulates a Neos/MSX mouse and a joystick.

A little statistics :)
The time spent on work on the project is 5 months on average approx. 1 hour per day
(not counting tests which has just officially start :) ).
This gives approx. 150 hours (times are approximate) at:
- project of the design (5h)
- electronic circuits design (25 h)
- project of PLD matrix (10 hours)
- simulations and tests of electronic circuits (10 hours)
- PCB design (20 hrs)
- execution of PCBs (48 h) - This part the Chinese did ;)
- preparation of orders and deliveries of components (5 hours)
- preparation of components for assembly and assembly of interfaces (25 hours)
- preparation of software to test a prototype (5 h)
- tests of a prototype (5 hours)
- project of the firmware (10 hours)
- writing and testing the firmware (30 h).

Left to do:
- individual test of each interface
- shipping :)

Well, EnterMice is ready :)
First few pieces to tests will travel tomorrow to gflorez and Zozo.
After approval ;) will go to the other.

The final EnterMice price is 41 EUR (plus the cost of shipping within Europe 5 EUR).
This is the price only of components, PCBs and costs that I had to incur on purchases (shipping, duties, taxes).
The rest, all my work which is inserted in the project, you have free.
Perfectly wonderful time.
I wish you also have fun.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: BruceTanner on 2015.October.11. 11:25:57
:smt041 :smt041 :smt041 :smt041 :smt041 :smt041 :smt041 :smt041 :smt041 :smt041
:bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow: :bow:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.11. 11:28:29
Congratulations!

Could the next one be a hardware snapshot extension to the EP or the EP+Cartridge SD ? :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.11. 16:26:19
Certainly I'm not a "matador"(it's the name here). I like more to see the bulls running alive on other more popular type of "fiesta", like the "encierros"(do you know the "San Fermines"?).

Searching similitude with animals I think I'm more like a mule... Slow intelligence but  strong headed....

It has been a short time to me the five months, I remember it was easy to convince you that the theory can be put into practice, and the lack of a mouse standard on the Enterprise scene .

I want to emphasize to all who have ordered or desire one Entermice adapter, the effort put on this project by Pear, its author. He can say he has spent exactly xxx hours of his time, but in reality every project is an obsession and creativity usually comes on the worst moment.... 

He has done all the steps, starting from converting to standard the strange signals of the Enterprise control ports, passing by the implementation of the PS/2 to MSX logic, the design of the circuits and the election of the chips involved, to the tedious cutting and soldering of the edge connectors. And all in five moths....

Don´t say him... but really, I think the Entermice is still very cheap at 41 Euro.....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.11. 19:07:58
Thank you very much! :smt038
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.12. 21:13:39
But even if I have a multi button joystick what is not compatible with the Kempston DB-9 layout (with the fire buttons, or at all) I can easily convert those only by wire, because of the 7 paralell input lines served by the EnterMice.
(...)
So, I can connect (from a hardware point of perspective) complex controllers to EnterMice's DB9 connectors while the 7 line is enough to me. And 3 fire buttons will (almost :)) be enough.
A small addition to the EnterMice - Sega controller adapter.

@Z80System:
On your interface will be added a pin with the Data Out signal (B3) from the serial port RS-423 of Enterprise.
You will be able to test it himself.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.12. 21:53:35
Quote
A small addition to the EnterMice - Sega controller adapter.

Wow ... that will be some (much) time till I can understood the circuit really ... but, if I understand your tables ...

Do you want to make the EP able to access all of the directions and buttons of the (even the 6! buttons type of) sega controllers with only a few discrete electronic parts ?

Does pulse-3 mean that I have to switch on/off the B3 3 times ?
Can I switch on/off as fast as I want ?
For what time will be the "Select=pulse 3" column on the outputs of the megadrive controller after the pulse-3 ?

Quote
On your interface will be added a pin with the Data Out signal (B3) from the serial port RS-423 of Enterprise.

Will not it interfere with the other functionalities of the EnterMice ? Like mouse itself, and such ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.12. 22:03:28
Do you want to make the EP able to access all of the directions and buttons of the (even the 6! buttons type of) sega controllers with only a few discrete electronic parts ?
Yes, exactly :)
Does pulse-3 mean that I have to switch on/off the B3 3 times ?
Can I switch on/off as fast as I want ?
For what time will be the "Select=pulse 3" column on the outputs of the megadrive controller after the pulse-3 ?
Unfortunatelly I don't have any Sega controller to test it.
Will not it interfere with the other functionalities of the EnterMice ? Like mouse itself, and such ?
No, it's independent solution.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tutus on 2015.October.12. 22:10:57
:smt038 :smt038 :smt038
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.12. 22:16:38
Quote
No, it's independent solution.

Oks it will be cool,

I hope I can do it with the help of pages like these:

https://www.cs.cmu.edu/~chuck/infopg/segasix.txt
https://applause.elfmimi.jp/md6bpad-e.html
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.12. 22:21:40
Now I ordered two Sega controllers on eBay.
When arrived will be test it :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.12. 22:27:56

Quote
Now I ordered two Sega controllers on eBay.
When arrived will be test it :)

Did those pages make you curious, or did you lose your fate in me ? :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.12. 22:32:58
Generally curious ;)
Additionally those controllers are very cheap. Only $6 for two controllers.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.19. 13:36:20
My two Entermice just arrived at work but my Enterprise is at home...

Looking at them in my hand they seem even more professional. I hope that soon every Enterprise owner can have one.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.19. 20:41:06
- It is working up to 10Mhz, with the original MOUSE.XR!
- It is working with SymbOS
- Very fine moving, much better than the original NEOS
I tested with one old ball mouse and one newer optical mouse, both work fine. Mouse hot plug also working :-)

Great work!!! Thanks!!!
:smt038 :smt038 :smt038
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.19. 20:51:58
No way! Immediately at the first time ?
Without any amendment ? Something is wrong ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Bagpuss22 on 2015.October.19. 22:17:35
No way! Immediately at the first time ?
Without any amendment ? Something is wrong ;)

By the sounds of it nothing is currently wrong!  Excellent work!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 00:00:16
Ii is true, the movement is simply glorious on both Entermice and Boxsoft mode.  The two main keys also work perfect.

 I have to do a video about it, maybe tomorrow.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 06:50:53
By the sounds of it nothing is currently wrong!  Excellent work!
Relax :)
There are a few bugs to improve.
GFlorez professional approach to testing :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 10:44:06
You can check the alternate buttons and wheel with the "MOUSETST.BAS" simple program and the universal mouse driver.


Put the two files on a disc or on the f: partition if you have an SD-reader. First load the driver:

LOAD "MOUSE.XR"

Execute this EXOS command and ignore the error it gives:

:PB

Then RUN "MOUSETST.BAS"

As the driver is interrupt driven, even if you press STOP the arrow will move on the opened graphics screen if you slide the mouse.


The alternate buttons and wheel work on the two mouse modes if a wheel mouse is detected. They can be viewed on the second number that is printed on the screen, system var 190. First one is var 188, main button status.

I think the wheel works. About the buttons, they are read, but complemented.

On system var no. 190 you have:

Bits 0 to 3: Z displacement 7 to -8.
Bits 4 to 6: spare buttons status: 1=pressed, 0=released. Wheel button is on bit 4.
Bit 7: secondary main button. Status like the spare buttons.

Also, you can test the joystick mode with the basic program setting the 189 system var to 1:

0: internal joystick. Space is fire.
1: joystick port 1.
2: joystick port 2.
3: Boxsoft mouse mode.
4: Entermice mouse mode.
5: Mouse Systems serial mode(a serial card expansion is needed). It is merged  with the internal joystick readings.
6: Future Microsoft serial mode. In development.


The driver has by default the system var no. 189 set to 4= Entermice, so add a line in the basic program to set it as you need: SET 189, x.

Or press STOP, set the variable and execute CONTINUE.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 11:52:44
One of the reasons why Entermice is different to Boxsoft is to avoid errors with some programs that read port 1 expecting a Joystick, not a mouse.

For example the port of Manicminer, that reads and mix the three joysticks and keyboard all at once. With a Boxsoft interface connected you must unplug the mouse to be able to play it with the internal joystick as, if not, the miner jumps forever.

Entermice reads the mouse on other unused lines and so Manicminer works perfect without being interfered.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 12:24:41
With disabled MOUSE.XR EnterMice is silent even on KB J lines. You can try :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.20. 12:58:41
With disabled MOUSE.XR EnterMice is silent even on KB J lines. You can try :)
This is why the green led not light at the power up? Mouse only activated when the first strobe sent out?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 13:10:06
You think on all....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 13:23:35
I've tested Joystick mode with the basic program, still not with a game, and it acts very smooth. I had to test the resolution.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 13:24:59
This is why the green led not light at the power up? Mouse only activated when the first strobe sent out?
This is just a bug :)
I already corrected it.
At evening I'll send to you new firmware with amendments.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 18:00:07
Meanwhile I have modified one of my Entermice:

Now the switches are visible.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 18:02:33
Nicely.
Although in my opinion there is no need for frequent switching.
Only between mouse and joystick mode.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 18:21:44
Yes, but I'm a very demanding beta-tester....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 18:35:54
OK, I did not say :D
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.20. 18:38:49
This is the original Boxsoft driver 1.1 that came with the  EGI disk.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 20:55:30
Tests in progress, and I have such a timid question.
How much you ultimately need EnterMice interfaces ?
A second batch I plan of 30 pieces.
It's enough ?

PS.
Zozo, can I ask you to translate into Hungarian topic ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.October.20. 21:26:37
Probably you could list the final names whose "order" is accepted now (and you have now enough EnterMice for them),
and the others will know, they have to sign now into the second batch.

Or we resign now, again, everybody ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.20. 21:32:22
From the first batch:
2x Mobsie
1x fatbob_gb
1x Jungsi
1x BruceTanner
1x Bagpuss22
2x szalai56
1x Matusa
2x Moldani
1x Ep128
1x dolargaan
1x lgb
1x Z80System
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.October.20. 23:34:47
Just a question: would it be cheaper (postal costs) to send more interfaces within one package? Eg for people lives not too far from each other, and can meet to hand the stuffs out :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.21. 06:23:18
In one package, at the same price fit 4 EnterMices.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: geco on 2015.October.21. 08:53:22
I would like 1 also, I hope once i will put together my EP config also :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.21. 18:27:41
Accidentally we discovered a fairly serious error in the design of the Enterprise.
Totally do not mind if nothing is connected to the ports Control 1 and Control 2.
However, that EnterMice uses them.
It's about interference KB0..KB9 ports from keyboard.
If at one time is pressed only one key, then there is nothing wrong with (first figure).
However, if you press two keys simultaneously in the same column, the signal from the selected line will be transferred also to the line of second key (figure two).
In the Enterprise missing diodes separating the rows of the keyboard :(
Electrically nothing will happen (LS145 decoder has open collector outputs), but causes errors when reading from the external ports Control 1 and Control 2.
It turned out that my security idea (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg48993/#msg48993) on the event of malfunction LS145 decoder, only worsens the situation.
I have to removed this fragment to "hide" these effects. However, in order to eliminate the cause should be within the Enterprise add diodes to each row of keys to press more than one key does not cause "collisions" (third figure).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 10:57:29
At the moment the mouse compatibility is high, but I think it can be improved tweaking some the Entermice firmware.

The first picture is the mice that works with both Entermice and  Arduino projects.

The second group only works with the Arduino. The Microsoft ones aren't even recognised by Entermice. The surface is, but the green light(mouse recognised) blinks slowly and it only moves the pointer alternately.

The Logitech trackball has the three spare buttons and wheel, and it has served me good to modify the driver.

But I'm very interested on make work the Microsoft Intellimouse as with this exactly mouse where introduced the three spare buttons and the command that activate them.



Edit: from the first picture only the trackball and the Memorex(Harry Potter logo) are optical.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 12:49:06
The surface was cut from one of this estrange keyboards and this one works, so the other can be discarded. Another Logitech optical mouse running.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 13:02:33
Try to increase the time mouseComTout.
Some mouses work slower tha the maximum specification.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 13:15:53
Ok, but first I have to learn how to compile it.

Connecting mice is easier...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 13:16:08
Blinking green LED means more than 3 times PS/2 mouse communication errors. After that mouse is reset.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 13:18:07
Ok, but first I have to learn how to compile it.
make32.bat :)
According to the manual.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 13:18:55
Nah, It will go to the bin. I have a lot of those keyboards with touch surface.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 13:25:35
And bin-file you upload to the MCU.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 13:30:43
Sorry, I was meaning I have to put that failing touch surface in the trash bin....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 13:51:35
LOL :D
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.22. 19:57:15
The Microsoft ones aren't even recognised by Entermice.
I corrected initialization of the Microsoft IntelliMouse.
Please check if new firmware is better.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.22. 22:04:39
Ok Pear, I will test it tomorrow.

_---------

To Endi from the Entermice Magyar thread:

Tim Box claimed he only sold about 100 Boxsoft interfaces. Watching from the actual future of that years, I think because it was unknown by the fragmented user base how good product with all its faults it was.

On the other side everybody know at that time the benefits of an Exdos interface without even seeing one working....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Prodatron on 2015.October.23. 14:46:28
Wow, good to see this progress here. I haven't been around here since some time unfortunately.

Is it still possible to be added to the order-list? I would like to take 3 of them.

Of course I want to support it in SymbOS. Will be back on the Enterprise in the middle of november again :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.23. 18:42:56
Now I can offer you my own one.
From the first batch I have not more. Unless someone resigns.
The next batch will be available in mid-December.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.30. 08:13:26
Tests underway, but I hope that coming to an end.
Now we just refine the joystick emulation mode. At this moment already the third version.
It is difficult to simultaneously provide fluid movements, adequate sensitivity and precision.
If we do not find any more bugs in the firmware and testers will be pleased with the joystick emulation, then I would begin shipping interfaces at next week.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.October.30. 08:55:25
Would it be possible to make a simple extension for connecting 4 joysticks to this?
There is no need at the moment for such thing (no simultaneous 4-player games) but maybe in near future;P
Just asking...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.30. 09:21:53
Technically yes. Why not ? But PCB will be bigger and need to think over construction.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.October.30. 09:31:18
Technically yes. Why not ? But PCB will be bigger and need to think over construction.
Oh...Sorry:(
I thought that it would need "just" a branched cable with for each joystick port (with a little pcb "magic") and some added code to the chip...

Nevermind then...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.30. 10:44:34
Not this time. Enterprise is in terms attach joysticks, to put it middly, unusual ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.30. 11:56:40
You can theoretically plug up to six one-button joysticks to the Enterprise directly, only adapting the ports. You don´t need Entermice to do that.

Of course you only can plug switch type ones(digital) without autofire or other electronic circuits. Only straight switches, because the commons are +5v and the directions and fire leads are 0V, opposite than standard.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.30. 12:10:18
But the keyboard grid can detect some ghost keys with all that devices connected so it is necessary to put diodes when connecting more than two joysticks. Internally also the Keyboard need diodes if used at the same time with the joysticks, but this has been discovered recently.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.October.30. 12:33:19
You can theoretically plug up to six one-button joysticks to the Enterprise directly, only adapting the ports. You don´t need Entermice to do that.
Is there some schematics for this and info on how to handle its input?

Sorry for off-topic
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.30. 14:00:52
Yes, there are schematics for the two "normal" controllers. This is for each port (http://enterprise.iko.hu/pinouts.htm) with J common:

(http://enterprise.iko.hu/cables/Joy.png)

But you have other two commons repeated on each port, K and L. I don't know if somebody has tried six joysticks before...

As I said before, to avoid ghost pulses with more than two joysticks, every joystick port on every direction and fire lead must be provided with a diode. Current goes from the commons(J,K and L) to the directions and fire leads, so the diodes must have the strip(negative) towards A4, A5, A6, B5 and B6.

The Edge connectors are of 2,5mm between contacts if I remember well. You must cut and adapt yourself, without turning down them, as there is also 0v and +5v on some pins.

There is an easy way of reading that extra buttons, like the "normal joysticks". An Out with the row(0 to 9) to Z80 port B5h, and an In,a from port B6h. Bits = 0 to 2 give you information of the same button but from three joysticks at the same time...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.October.31. 18:32:22
The Edge connectors are of 2,5mm between contacts if I remember well.
No! It is 2.54mm (0.1 inch).
It is also exist 2.5mm edge connector, used in East Germany and probably in other Easter countries at the cold war era.

Wrong surprise for a EP owner when bought 2.5mm connector instead 2.54. Me once got it... :oops:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.October.31. 20:04:47
Sorry, I prefer to be wrong than mistake others....


Another tip: ISA buses of old PC's main-boards have that connectors. You just have to un-weld them off the plate.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.October.31. 20:20:36
Yes, there are schematics for the two "normal" controllers. This is for each port (http://enterprise.iko.hu/pinouts.htm) with J common:

(http://enterprise.iko.hu/cables/Joy.png)

But you have other two commons repeated on each port, K and L. I don't know if somebody has tried six joysticks before...

As I said before, to avoid ghost pulses with more than two joysticks, every joystick port on every direction and fire lead must be provided with a diode. Current goes from the commons(J,K and L) to the directions and fire leads, so the diodes must have the strip(negative) towards A4, A5, A6, B5 and B6.

The Edge connectors are of 2,5mm between contacts if I remember well. You must cut and adapt yourself, without turning down them, as there is also 0v and +5v on some pins.

There is an easy way of reading that extra buttons, like the "normal joysticks". An Out with the row(0 to 9) to Z80 port B5h, and an In,a from port B6h. Bits = 0 to 2 give you information of the same button but from three joysticks at the same time...

But how do I connect and handle more than two joysticks?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.October.31. 20:28:18
Look at spares in this table (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/?action=dlattach;attach=13609).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.October.31. 22:20:33
But how to build a connector for more joysticks? I know nothing about electronics but with schematics I have someone I can ask for help in building one - like with cables for normal joysticks from the same schematic that gflorez posted and a rgb cable...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.01. 03:11:10
I will prepare the schematics for you. The Enterprise has two edge connectors like the one shown on the picture. And every port has three commons, so you can connect three joysticks to every port. I will put here the picture for three Joysticks, but I'm not very good with paint programs.... It will take a while.

May be on Monday.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.01. 08:27:53
Something like that (https://enterpriseforever.com/hardware/joystick-tripler/).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.November.01. 09:01:42
Thank you very much :ds_icon_cheesygrin:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.14. 19:03:09
The Microsoft ones aren't even recognised by Entermice.
(https://enterpriseforever.com/index.php?action=dlattach;topic=1211.0;attach=13895;image)
Shipment of the unlucky mouse delayed us a little bit :)
Today I checked. MS Optical Mouse works, but in its case, you can not use hot-plug.
After connecting the mouse to EnterMice during operation, you need momentarily short the RESET pin-header on the interface.
In addition, this mouse is very sensitive to the quality of the supply voltage.
Voltage drops and noise cause frequent mistakes in communication.
But with this problem, EnterMice able to cope well :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.15. 13:13:37
HI pear,

I am in for 2 adapters if you still make them. Will pay by  PayPal.  Thanks in advance.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.15. 13:20:52
Remains to check the last (hopefully) improve/fix the firmware.
If testers confirm that it's all OK, then I please contact to me via PM in order to arrange shipping and payment.
In the first place those who have made a reservation for the first batch.
In a few weeks, will be available the second batch of 30 pieces (there is still 20 available).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.15. 13:43:54
Thank you. I did not want to spam, but I have some trouble sending PMs.  (I do receive PMs, though) Please let me know when the 2nd batch is ready and I will send the payment.

Best regards,
Zsolt
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.15. 13:47:21
Before sending a PM you'll check the "Save a copy in my outbox" under a message.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.15. 14:04:12
Thanks again.  Amateur mistake :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.15. 15:17:12
Or you can add your nick-name in the " Add BCC (?)" box
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.18. 18:44:52
Now I ordered two Sega controllers on eBay.
When arrived will be test it :)
Material for the study successfully reached its destination.
Tests over the weekend.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.19. 13:32:22
I really hope for the best it will work out... I also bought a new original and two new old stock, better quality replicas...
The prices are crazy over ebay :(

Now there is no turning back, I am determined to dissect them and rewire if necessary.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.19. 14:03:46
I will be test the EnterMice for ability read all pad buttons.
For $ 6 I did not expect to get great, original pad, but I hope that at least it works.
I checked for the moment that inside pad is not empty :) Variously could be ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.19. 15:10:12
Once loaded the mouse driver, we will be able to see Entermice information only executing the ":mouse" command.

This is a recreation:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.19. 15:42:24
Wow! It looks great :) Thanks
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.November.19. 15:57:12
Can you upload this updated MOUSE.XR? Anyway I think it's version number need a upgrade :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.19. 16:01:28
Is only a recreation, I am sloooow...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 09:58:55
Below there are procedure to read all the buttons of the pad.
Perhaps that has some mistakes, but I wanted to show the idea.
The need to generate four pulses, similar to those which are generated to read data from the mouse.
It may be some way be read mouse and pads at one time ?
Code: [Select]
The period of these signals for MK3 was about 27.6 microseconds.  That
is the high or low time for the pulses was 13.8 microseconds.  In my
interfacing experiments I successfully used a signal with a 200
microsecond period, 100 microsecond high or low time.  I suspect that
there is some maximum period length associated with a time-out in the
custom chip, but I have not investigated what that is.
 
Serial DataOut line
       1 0 1 0 1 0 1 0
12V --+ +-+ +-+ +-+ +-----------------------------------
      |1|1|2|2|3|3|4|4
0V    |_| |_| |_| |_|

Pad SELECT line      
             H L P
5V ---+ +-+ +-+ +-+ +-----------------------------------
      | | | | | | | |
0V    |_| |_| |_| |_|

X button pressed:
5V ---+ +-+ +-+   +-------------------------------------
      | | | | |   |
0V    |_| |_| |___|

X button NOT pressed:
5V ---+ +-+ +-+ +---------------------------------------
      | | | | | |
0V    |_| |_| |_|
Code: ASM
  1. ; Input HL=0 joystick port 1, HL<>0 joystick port 2
  2. ; Output HL H = 1111 1ZYX, L = ASBC UDLR, bit=0 button is pressed
  3.         DI                                              ; F3            
  4.         PUSH    BC                                      ; C5
  5.         PUSH    DE                                      ; D5
  6.         LD      A,L                                     ; 7D
  7.         OR      H       ; 0=port 1, other=port 2        ; B4
  8.         LD      A,0                                     ; 3E 00
  9.         JR      Z,ReadPort1                             ; 28 02
  10.         LD      A,5                                     ; 3E 05
  11. ReadPort1:
  12.         LD      D,A     ; KBin offset                   ; 57
  13.         LD      HL,65535                                ; 21 FF FF
  14. ; two full pulses
  15.         LD      E,2                                     ; 1E 02
  16.         XOR     A                                       ; AF
  17. ; set DataOut high (0V) - set SELECT low (0V)
  18. PulseLoop:
  19.         INC     A                                       ; 3C
  20.         OUT     (183),A                                 ; D3 B7
  21.         LD      B,10                                    ; 06 0A
  22.         DJNZ    $       ; wait 30 us @ 4 MHz clock      ; 10 FE
  23. ; set DataOut low (+12V) - set SELECT high (5V)
  24.         DEC     A                                       ; 3D
  25.         OUT     (183),A                                 ; D3 B7
  26.         LD      B,10                                    ; 06 0A
  27.         DJNZ    $                                       ; 10 FE
  28.         DEC     E                                       ; 1D
  29.         JR      NZ,PulseLoop                            ; 20 EF
  30. ; at third pulse read high row of buttons        
  31. ; read btn A & Start
  32.         LD      A,D     ; load offset                   ; 7A
  33.         OUT     (181),A ; set KBout                     ; D3 B5
  34.         IN      A,(182) ; read KBin                     ; DB B6
  35.         AND     3       ; leave only bit 0 & 1          ; E6 03
  36.         RRA             ; shift bit 0 to CY             ; 1F
  37.         RL      L       ; shift CY to L                 ; CB 15
  38.         RRA             ; shift bit 1 to CY             ; 1F
  39.         RL      L       ; shift CY to L                 ; CB 15
  40. ; read low row of buttons          
  41.         LD      A,1                                     ; 3E 01
  42.         OUT     (183),A ; DataOut=1=0V, SELECT=0= 0V    ; D3 B7
  43.         LD      B,5     ; loop counter                  ; 06 05
  44.         LD      E,D                                     ; 5A
  45. ; read btn B & C
  46.         LD      A,E     ; load offset                   ; 7B
  47.         OUT     (181),A ; set KBout                     ; D3 B5
  48.         IN      A,(182) ; read KBin                     ; DB B6
  49.         AND     3       ; leave only bit 0 & 1          ; E6 03
  50.         RRA             ; shift bit 0 to CY (button B)  ; 1F
  51.         RL      L       ; shift CY to L                 ; CB 15
  52.         RRA             ; shift bit 1 to CY (button C)  ; 1F
  53.         RL      L       ; shift CY to L                 ; CB 15
  54.         INC     E                                       ; 1C
  55.         DEC     B                                       ; 05
  56. ; read directions
  57. ReadHighLoop:
  58.         LD      A,E     ; load offset                   ; 7B
  59.         OUT     (181),A ; set KBout                     ; D3 B5
  60.         IN      A,(182) ; read KBin                     ; DB B6
  61.         AND     1       ; leave only bit 0              ; E6 01
  62.         RRA             ; shift bit 0 to CY             ; 1F
  63.         RL      L       ; shift CY to L                 ; CB 15
  64.         INC     E                                       ; 1C
  65.         DJNZ    ReadHighLoop                            ; 10 F3
  66. ; L = ASBC UDLR
  67. ; start fourth pulse, read third row of buttons        
  68.         XOR     A                                       ; AF
  69.         OUT     (183),A ; DataOut=0=+12V, SELECT=1=+5V  ; D3 B7
  70.         LD      B,3     ; loop counter                  ; 06 03
  71.         LD      E,D                                     ; 5A
  72.         INC     E                                       ; 1C
  73. ; read X, Y, Z
  74. ReadLowLoop:
  75.         LD      A,E     ; load offset                   ; 7B
  76.         OUT     (181),A ; set KBout                     ; D3 B5
  77.         IN      A,(182) ; read KBin                     ; DB B6
  78.         AND     1       ; leave only bit 0              ; E6 01
  79.         RRA             ; shift bit 0 to CY             ; 1F
  80.         RL      H       ; shift CY to H                 ; CB 14
  81.         INC     E                                       ; 1C
  82.         DJNZ    ReadLowLoop                             ; 10 F3
  83. ; H = 1111 1ZYX
  84. ; set SELECT low - last pulse reset pad counter                                    
  85.         LD      A,1                                     ; 3E 01
  86.         OUT     (183),A                                 ; D3 B7
  87.         LD      B,10                                    ; 06 0A
  88.         DJNZ    $                                       ; 10 FE
  89. ; set SELECT high
  90.         DEC     A                                       ; 3D
  91.         OUT     (183),A                                 ; D3 B7
  92.        
  93.         POP     DE                                      ; D1
  94.         POP     BC                                      ; C1
  95.         EI                                              ; FB
  96.         RET                                             ; C9
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.20. 15:02:41
The code to read the mouse is easy and short, as is your code to read the pads, and can be included on the assembly of a game. It  must have a type of interrupt routine to read them in time.

But I don´t see the point of reading game pads inside the mouse driver other than for controlling the pointer. For that you don´t need six buttons.

On the other hand it is perfectly possible. I can give you the last assembler if you want to try. I am actually putting  "other" things in it.

I think is better for a game-pad demo if you do a hook on the EXOS interrupt. This can be easily injected from Basic. I did once a program that worked hooked. It maintained a clock on the status line between soft resets. Here (https://enterpriseforever.com/other-topics/enterprise-in-spanish/msg37450/#msg37450) is the listing, I have the program on tape somewhere...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.20. 17:58:15
The Basic program looks for the status line address, but you can know it directly if you know where is the Line Parameter Table.

I made this program without or few information...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 19:56:42
SEGA pad adapter is ready.
Scheme a little changed.
By default, after power on DataOut output is + 12V. SEGA pad by default has a line SELECT set to 5V.
Compared to the previous scheme adapter, now I turned SELECT signal, so that after power on is the default state.
Without additional program to control SELECT line, you can read directions and buttons B and C as Fire1 and Fire2.
The control program I will check tomorrow.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.20. 20:03:55
Will be cool.

Can we order these converters alongside the EnterMice, or will that not be the case ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 20:09:14
@Z80System: This is your set. Adapter for you as free. In return for a good idea :)
It is not hard to do. The parts are readily available. Piecing it took me a little over half an hour. Do not make me do wholesale :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.20. 20:34:58
Quote
This is your set.

Oh ... I thought it will be a more general thing ...

Not the sega converter itself, but the capability of EnterMice handling the sega thing ...
So if there would be games handling the sega thing, everybody with an EnterMice could be able to get a sega converter easilly ...

EnterMice is a more complex thing (with the mouse and even the joy emu) like some "button", but how it seems,
it will be available with enough instance by you, and it will "stand up" some kind of "standard".

In the mouse perspective, it uses an older standard, but sega controllers had no standard on the enterprise formerly ...
and EnterMice (because of the number of the instances available) could be able to stand that standard up ... :)

But (how I understand you) it will not ... too much ... will it ?



Quote
Adapter for you as free. In return for a good idea :)


Backing to the current instance of the sega converter: do as you wish, but (in this case) I definetly would be able to assembly an instance of it by myself, so it is not a requirement ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 21:01:04
I see some anxiety in your comment ?
Half a year is really not a lot of time to design, manufacture and test a completely new device.
At the moment it is ready 20 pieces interfaces.
It will definitely be another 30 new ones.
Will there be more ? I do not know.
That depends on whether there is demand.

SEGA adapter is a simple and effective interface extension.
There isn't, probably, an easier way.

Besides, this is not my last word.
Now I have device already tested mechanical, electrical and software.
Already I'm thinking about the next version of the interface.
I do not want to write yet about the details, but it is in these plans also support USB mouse.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.20. 21:28:58
Quote
I see some anxiety in your comment ?

No, you probably see only, that I cannot speak english well ... :)

Quote
At the moment it is ready 20 pieces interfaces.
It will definitely be another 30 new ones.

As far as I know, these are "big" numbers in the enterprise universe ... Probably we could not count enterprises with these numbers ... Or, at least, we could not count the double of it ...

In theory, there are ten tousands of the enterprises ... but nobody knows where those are ...

Quote
SEGA adapter is a simple and effective interface extension.
There isn't, probably, an easier way.

Maybe I lost the point now or in the previous posts ... Will all the EnterMices be extendable with the sega adapter,
or only my EnterMice is hacked to be extendable with the sega adapter ?

Quote
I do not want to write yet about the details, but it is in these plans also support USB mouse.

Wow ... I tried to make some research with the USB anno, and there was one or two libraries I could use for that with an MCU board,
but I did not find an appropriate premade MCU board, what is fast, little, has many GPIO and USB on it, and cheap, at once ... So I gave up that ...

But then, I remark you a thing ... this definetly has a few button on it ... :) :

http://www.xbox.com/en-US/xbox-one/accessories/controllers/elite-wireless-controller
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 21:43:54
As far as I know, these are "big" numbers in the enterprise universe ... Probably we could not count enterprises with these numbers ... Or, at least, we could not count the double of it ...
Not everyone needs to be willing to have EnterMice.
There are many "collectors" who keep the EP in boxes in the attic, just to have it.
Maybe I lost the point now or in the previous posts ... Will all the EnterMices be extendable with the sega adapter,
or only my EnterMice is hacked to be extendable with the sega adapter ?
Each interface EnterMice can use the adapter SEGA.
In the current batch, if someone is going to need, you need to add only one pin for connecting the SELECT signal.
The next batch of PCBs has already prepared a standard connector.
Wow ... I tried to make some research with the USB anno, and there was one or two libraries I could use for that with an MCU board,
but I did not find an appropriate premade MCU board, what is fast, little, has many GPIO and USB on it, and cheap, at once ... So I gave up that ...
I considered support USB using a normal MCU that is already in EnterMice.
Unfortunately, the protocol is too complex to handle it only by software.
There are MCU which are adapted to support USB by hardware. There is a large choice of MCU.
But then, I remark you a thing ... this definetly has a few button on it ... :) :
What will you do with so many buttons ? :shock:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.20. 21:57:24
We are mixing things. I think Pear is talking about a future USB mice interface, not strictly for controllers.

We must have hope that the base of Entermice owners will grow and grow, but first let's wait to the release....

I think, Pear has opened us a variety of posibilities. Nobody will need to know how works inside the interface to appreciate its benefits.

He is compromised with Ep development, mainly just because he enjoys doing it. But what he doesn't need is pesimism, better encouragements.

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.20. 22:07:30
Quote
What will you do with so many buttons ? :shock:

Probably nothing ... but I'm crazy in some way for the idea of an "ideal" EP configuration ... without the hardware imperfections of the original one, in its time ...

And (of course) I'm keep wondering and dreaming of some entertaining software using that ideal configuration ... :)

Maybe one time, there will be someone making a few of it ...

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.20. 22:11:32
We are mixing things. I think Pear is talking about a future USB mice interface, not strictly for controllers.
Why not ? Mouse or controller, that's all HID class devices (Human Interface Devices). The keyboard also.

Let's give the first batch of EnterMice. Can we ?

Probably nothing ... but I'm crazy in some way for the idea of an "ideal" EP configuration ... without the hardware imperfections of the original one, in its time ...
And (of course) I'm keep wondering and dreaming of some entertaining software using that ideal configuration ... :)
Maybe one time, there will be someone making a few of it ...
Do not forget that this is still an 8-bit computer.
Zozo can not tweak EP clock forever :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.20. 22:30:01
Quote
We are mixing things. I think Pear is talking about a future USB mice interface, not strictly for controllers.

Of course ... but in the USB realm, there are controllers, too ... :)

Quote
There are many "collectors" who keep the EP in boxes in the attic, just to have it.

Quote
We must have hope that the base of Entermice owners will grow and grow, but first let's wait to the release....

These are interesting thoughts ! Let it be ! :)

Quote
I think, Pear has opened us a variety of posibilities. Nobody will need to know how works inside the interface to appreciate its benefits.

Yes, and yes. (But I do not exactly understand the point ...)

Quote
He is compromised with Ep development, mainly just because he enjoys doing it. But what he doesn't need is pesimism, better encouragements.

Nobody has to listen to me ... :) When I had no a single EP, I wanted one config. When I had a config, I wanted a better one, with a nicer casing. When I had that, I wanted a base board with a better picture ... then I wanted joystick and better displays ... I always looking for a better EP config ... With the EnterMice, my EP will be much better ... but that will not be the end of the road, still ...

But it is not how everybody do ... so I'm just one of the faces of the EP ... Zozosoft (for example) an other thing, entirely ... As far as I know, he is involved more in the "everything of the EP", than only in the "perfecting the EP" line ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.20. 22:46:49
You ask me to release Entermice? I can't decide that....

I think they are ready. The driver can be expanded more later, but for now is completely operative. I'm working on three new details, but only to give it more options:

-Show version of Entermice hw and sw when "MOUSE" requested to EXOS.

-Making it compatible with HSOFT serial cad using a serial Microsoft mouse just for legacy users.

-And the most important, making the mouse usable on text modes.

But i think the really promising use of Entermice will be on games, converted or new releases. And of course SymbOS will bring us a new world of compatibility with other machimes. We don't need the driver for that, and I don't count joystick emulation for use on old games.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.20. 23:00:40
If I achieve creating a mouse text mode then it would be usable on Basic, WP or EXDOS only by loading the driver. Isn't it sciting?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.21. 10:27:30
Guys,

honestly I do not understand half of what is being discussed here (purely because it is overwhelmingly technical for me)

but I see that it is possible to make a nice SEGA adapter;
and as I am quite clumsy at soldering,  can I order the aforementioned SEGA adapters from anybody (would buy 4 pieces)

I know it sounds heretic, but I I have made reservations for the Entermice because of the Joystick Autofire funcion, not on merit of the PS/2 mouse port :)

Thanks in advance for the answer.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 10:41:35
I design the PCB for SEGA adapter (matched to casing like on photos over).
If I do not have to cut a dozen wires and solder them individually, I can offer ready-made adapters.
But this is just an idea yet :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.21. 10:46:01
Okay, I hope it will not be too difficult.

I heard some horror stories of burning C64s with SEGA Master System and Megadrive controllers connected,  so I would rather buy a few professional adapters like yours...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 11:09:42
If you connect a SEGA pad directly to the joystick port, it can actually end up being a disaster.
The SEGA pad has power connected to other pins than the standard Atari joystick.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 12:59:15
I checked. You can read all the buttons from SEGA pad - Start, A, B, C, X, Y, Z.
The program, which I showed earlier, however, has a problem and does not read the directions (without a running program directions are correct).
It is possible that there is a problem in communicating the results from the assembler procedure to BASIC.
Or just something I messed up :)
Software I leave to others, and at that time I'll deal with something more useful ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: ssr86 on 2015.November.21. 14:06:19
If you connect a SEGA pad directly to the joystick port, it can actually end up being a disaster.
What could happen exactly?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 14:17:14
I do not know I have not tried :)
Depending on the quality of pad are three possibilities:
1. pad breaking down (gets + 5V on the SELECT line with no powered cicuit);
2. will short-circuit in the joystick port;
3. or nothing will happen if the pad is well designed and producer foresaw this situation.
It is safe to assume the worst possibility.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 14:50:23
EnterMice is ready.
I sent PM with the information to all, who have booked interfaces with the first batch.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.21. 15:51:53
Enterlmice doesn't autofires, but is totally compatible with joysticks that have that feature. Is very easy to make a circuit for that.

Also, more new joystick buttons doesn't imply better playability on older games. They must be converted first.

For me the main goal of Entermice is to spread a mouse standard, it really works!

But it has opened other posibilities that will be explored on time....

I think is very early to talk about the limits of the interface. Please wait until you receive it. Load the EGI or SymbOS and you will ejoy it's smoth movement...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 16:27:53
Quote
Each interface EnterMice can use the adapter SEGA.

Okay, it is cool, I misunderstood this yesterday, because of this:
Quote
This is your set.

My bad, sorry for the missunderstanding.

But (how you can see from the post of Jolaes76, too) if there would be games using multibutton controllers (and the sega is probably the widest available multibutton thingy),
those who have entermice (probably) would like to give it a try ...

So EP lives in the emulator mostly ... but there are some active real-steal EPs in the wild, some hundred maybe, nobody knows,
and some of their owners are interested in hw gadgets and expansions, and they use things like your EnterMice, SzörG's SD cartridge or Saint's internal memory stuff.
So it is a very limited number of EPs, but If somebody already GOT an EnterMice instance, (I think only) probably they will get a sega conroller ASAP,
when (or if) a sega controller using game will be available ...

So, if you could make it possible the ordering the sega extension for the EnterMice, that would be the clean solution, because most of the people cannot even assembly that, and for those who can do it, it is simply easier to order one than assembling.

ONLY IF you would bother with this, maybe you could ask first the forum here, who would like to get that for the price you could bother with that.
And in that case I'm wrong, and only a few of the EnterMice owners will be interested in the sega converter, you can drop the bothering with it, still.


But, of course, if the sega converter is out of the scope of the "official" EnterMice and remains an optional extension of the EnterMice assembled by the EnterMice's owners,
that will not be the end of the world, still ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 16:34:34
You say, you have :)
I order the PCBs for adapters together with a next batch of PCBs to EnterMice.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 16:49:23
Cool. Do we sign for these now, or will that be a later time ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.21. 17:00:56
That was fast :)

Even if it does not directly support autofire, I am still interested in the Entermice.
For 2 good ol' EP128 machines  I will need 2 EnterMice adapters and 4 SEGA adapters...



Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 17:09:05

Quote
Even if it does not directly support autofire, I am still interested in the Entermice.

Yes, there are many sega compatible controllers with autofire on e-bay ... with many switches and potentiometers manipulating the signals of the fire, what switches EnterMice do not own ...

Quote
For 2 good ol' EP128 machines  I will need 2 EnterMice adapters and 4 SEGA adapters ...

But in this, I'm not sure ... maybe I'm wrong again, but probably EnterMice can handle only one sega controller, at once ...

Is not it true, pear ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 17:24:45
Quote
but probably EnterMice can handle only one sega controller, at once ...

But with directions and one fire button mode (without the other buttons) maybe two of them are possible ... pear can tell it ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 17:35:23
You can connect two adapters (for both joystick ports).
They will have a common signal SELECT, so you can read both pads simultaneously.
For starters I'll order 50 PCBs.
The process of manufacturing and shipping last a little time (about a month).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.21. 17:52:40
Great news!

We shall spread the word.
SEGA controllers are a good choice, they were legendary in their day, some of them almost indestructible...
It is no wonder they are still being sold in big numbers.
Many EP games are just destined to be played with such a good gamepad (expect for those which rely too much on NE, NW, SW, SE directions)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 18:02:42
Quote
You can connect two adapters (for both joystick ports).
They will have a common signal SELECT, so you can read both pads simultaneously.

Okay,
so with a one (or even two) fire button way two of the sega controllers will work simultaneously,
even with the currently available softwares and games.
What is great and is simply enough in the most of the usual cases.



But with the select line we can reach more buttons of each of the controller(s).
But currently there is only one z80 controllable select line available on the EnterMice, isn't it ?
(No, I'm not unsatisfied, just I would like to know the details.)

However ... if somebody really wants to do simultaneously two sega controllers with all of their buttons (nobody will :)) ... he could give select from (for example) the paralell port of the EP to the sega controllers ... or couldn't he ?
Maybe are the printer port lines 5V instead of 12V ?
Maybe could we wire the printer port signals more directly to the converter ? Of course, it is out of the scope of the EnterMice, I only ask.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 18:10:11
Why waste your printer port, when EnterMice is already connected to the serial port and has a free pin to use ?
It does not really matter whether there will be + 5V or + 12V.
Additional wire in the adapter responds only on connect to ground (0V).
IMO one common signal SELECT is enough for both pads.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 18:46:30
Quote
IMO one common signal SELECT is enough for both pads.

And why didn't you begin with that !? :)

Okay, you are absolutely right ! Why did I want to control the reading of the controllers independently ... really, it is not neccessary ...

So we will control both of the controllers simultaneously with one wire (if that wire can drive both of them electronically) ...
And they will change their output state simultaneously after (for example) a pulse-3 ... and after that, I can read both of them ... okay ...

Quote
Why waste your printer port, when EnterMice is already connected to the serial port and has a free pin to use ?
It does not really matter whether there will be + 5V or + 12V.

Because of the previous, these are not important anymore ... I just did not think of the simultaneous control, I wanted to control them apart from each other, like two distinct things ... but that is absolutely not important ... you are right ...

Quote
Additional wire in the adapter responds only on connect to ground (0V).

I do not understand what this means ...




So ... As far as I understood finally ... this will be a f*kin awesome thing ...
They will work with the legacy games like normal two button joysticks,
and someones can modify existing games or can write new ones using (even simultaneously two of) 6-8 button sega controllers ... :)!
And (if everything will go well) this will be available for everyone who have an EP.
And it will have a common HW design ... it seems not too important, but it is important very much !
Because there can be someone who can and will hack some hw interface for multi button controllers,
and/or can write or modify SW for it, but that will work only on that single piece of configuration ...

So this sega hack for EnterMice almost peripherical or almost seems unimportant, because EnterMice is a mouse interface with the top priority,
but because it seems to be the device every EP owner will have, now ... some programmers writing or modifying games for multi buttons can count on its sega controller driving hw capabilities ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 18:58:35
Additional wire in the adapter responds only on connect to ground (0V).
I do not understand what this means ...
The adapter is designed so that even if you do not connect a wire which control the SELECT line (absolutely to nothing), you will still be able to use the directions, and B and C buttons.
If you connect the control line to ground (0V), you'll get buttons A, Start and again Up, Down.
It's easy :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 19:13:00
Quote
If you connect the control line to ground (0V), you'll get buttons A, Start and again Up, Down.

That remains a question still,
what games pull the select to the ground by software (somehow hacking the port of the serial, even accidently) ... because that will break the normal legacy functionality of the sega controllers ...

I hope there will be a few only ... maybe zero ...



So now, I think somebody can begin to modify Earthlight to use a sega controller ... :)
(It has a 3D (six direction) movement + fire + misc functionality ...)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 19:17:16
Well, if there are games on the EP, which use the serial port ?
Software matter I leave another :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 19:25:19
Quote
Well, if there are games on the EP, which use the serial port ?

Using intentionally ... probably not ... but writing accidentally or because of a fail or a false initialisation or a conversion error or such ... maybe ... there are only 256 ports ... :)

Now it will turn out ... :) With select wire connected sega controllers ...

Maybe the select wire would be switchable/disconnectable/jumperable on every EnterMice because of it ? Of course, maybe it is not a real danger ... I do not know ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 19:30:33
I tried to choose the safest solution.
You can safely disconnect the SELECT line.
Even accidental short circuit of this wire to power does nothing.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.21. 19:31:32
Exactly, you will have soon the controllers ready, but have to wait a little more for developers begin to convert programs.

Games that pull accidentally the serial pins? You have a lot of imagination....

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 19:38:24
Quote
Exactly, you will have soon the controllers ready, but have to wait a little more for developers begin to convert programs.

Earthlight!   Earthlight!   Earthlight!    :smt026

Quote
Games that pull accidentally the serial pins? You have a lot of imagination....

okey dokey ...

(Or maybe I write softwares for a living ... :))
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 19:38:45
Not so much. Maybe some network game using original serial port ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.21. 19:44:04
Sorry, I am a little sharp sometimes.

I have to say: Entermice does excepcionally very well what it has been designed for and many more, said that, if the user want to imagine  it is a starship that is up to him....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.21. 19:46:43
Because really, the only thing that limits us is our own imagination.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 19:51:55
Quote
Sorry, I am a little sharp sometimes.

Far from it ... :)

Quote
I have to say: Entermice does excepcionally very well what it has been designed for and many more

Yes ... but ... maybe a little big in its height ... :ds_icon_cheesygrin:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.November.21. 20:13:26
Maybe some network game using original serial port ?
No any network games.
I don't know anything than the EXOS SERIAL: and NET: devices which is using the serial port.
And at the default no SERIAL/NET channel opened in BASIC or other programs.
This is the reason why the original Boxsoft interface using line from the serial connector. Using line from PRINTER are more simple (not need voltage conversion), but PRINTER channel opened in many programs, then port values continously overwrited by EXOS.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.November.21. 20:16:58
Quote
This is the reason why the original Boxsoft interface using line from the serial connector.

Sounds reasonably ... Imagined problem is solved ...

(Aren't there accidentally cleared ports in games, either ?)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.21. 20:31:37
Casualty in computing=chaos
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.22. 18:05:31
The first package packed and ready for shipment.

I would, by the way, thank testers - gflorez and Zozo :smt041
Thanks to them, you have refined joystick emulation mode, which might come in handy before coming the first programs that use a mouse natively.

I also thank Z80System for the inspiration to create the adapter SEGA. I would not myself invented it :smt023

Thanks guys :bow:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.23. 17:38:39
Delivery status (tracking links on PM)

Nick        Pcs Status
--------------------------------------------------
Mobsie       2  waiting to confirm order
fatbob_gb    1  delivered, enjoy :)
Jungsi       1  delivered, enjoy :)
BruceTanner  1  delivered, enjoy :)
Bagpuss22    1  delivered, enjoy :)
szalai56     2  delivered, enjoy :)
Matusa       1  delivered, enjoy :)
Moldani      2  delivered, enjoy :)
Ep128        1  delivered, enjoy :)
dolargaan    1  delivered, enjoy :)
lgb          1  delivered, enjoy :)
Z80System    1  delivered, enjoy :)
Prodatron    1  delivered, enjoy :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.25. 19:08:31
User Manual (http://wiki.enterpriseforever.com/index.php/EnterMice) under construction :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.25. 19:22:30
Nice!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: szipucsu on 2015.November.25. 23:01:43
Nice!
EnterNice :D
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.26. 12:46:51
Pear and GFlorez,

do not get me wrong, I am not a grammar Nazi, just would like to help make the text a bit more... hmmm... glorious :)
Once upon a time, I started out as an English teacher... so here is my quick revision of the article.

Congratulations on your hard work - both of you!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.26. 12:55:56
English is not my mother tongue.
I do not know everything.
But I know about electronics :ds_icon_cheesygrin:

Thanks for the text correction :smt023
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.26. 12:59:36
Anytime!

I am not a native speaker either but have a bad habit of reading wikis all the time :)

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.26. 13:05:25
Thanks Jolaes76 for your aid.

Only that I have done corrections up to this morning. From what time are  your corrections?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.26. 13:07:52
Ah, OK. It is a correction of my last correction...

Thanks!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.28. 11:06:53
What's new ?

I completed parts for the next batch EnterMice (30 pcs).

The supplier of most important element, unfortunately, turned out to be dishonest.
On the last delivery of Xilinx chips, almost half was broken (had to be new not used).
I've found a new supplier. I hope that will be better.

The new chips are powered by 3.3 V, which forced several changes in the PCB (additional elements to ensure proper supply of the XC9572XL).
The new supplier, for now, has a lower price, so the additional required elements will not affect the final price of the interface and remain unchanged.

New PCBs are ready. I'm waiting for delivery.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.November.28. 13:24:56
Why am I NOT surprised... :(

Recently, I have also noticed a negative trend of selling untested hardware by Chinese sellers on ebay.
Let us hope for the best the new batch will not fail.

BTW, I have a strong suspicion that these components pass through a strong, harmful electromagnetic field... maybe at customs check, airport etc...?  What is delivered by camel-riding, raft-pulling carriers never fails, anyway... although it might take 2 months to arrive.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.28. 14:14:11
In this case, it was clearly used chips (programmed and locked before reading).
Certainly wasn't new.
A good supplier can send your order by regular mail and the shipment arrives in two weeks.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.November.28. 14:22:21
In this case, it was clearly used chips (programmed and locked before reading).
Certainly wasn't new.
A good supplier can send your order by regular mail and the shipment arrives in two weeks.

The problem here that in case of CPLD failure (though I am not sure how common this problem is, if it worked at the time of the first Entermice "tests") it will be hard to find a replacement CPLD :( Technology seems to be too fast nowadays ... :-/ Eg same problem with EPNET, that Wiznet suggests newer stuff now than the w5300 ... but it's almost impossible to follow the evolution of hardware devices especially by hobby projects :(
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.28. 14:49:27
So far, despite the heavy tests of EnterMice, none CPLD wasn't damaged during operation.
It is known that can always happen accident.
Single piece of XC9572 are readily available.
It is more difficult to buy them in large quantities at a good price.

I was looking for CPLD chips from other manufacturers, but Xilinx is the cheapest.
Additionally, it has a free design software.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.November.28. 15:19:38
So far, despite the heavy tests of EnterMice, none CPLD wasn't damaged during operation.
It is known that can always happen accident.
Single piece of XC9572 are readily available.
It is more difficult to buy them in large quantities at a good price.

I was looking for CPLD chips from other manufacturers, but Xilinx is the cheapest.
Additionally, it has a free design software.

Interesting, I always thought that Xilinx is expensive :) but maybe it's true for FPGAs and not CPLDs. Eg low-end older FPGAs seems to be cheaper at Altera. What kind of software did you mean? ISE "webpack" stuff? I thought that Altera also has free software, something with "Q" sorry I can't remember the name, maybe Quartus, or what it was. I don't know if it's "free" anyway. But I don't know CPLDs too much so it's better to shut my mouth up :) I am more in planning start to work with FPGAs. Just I always to love to hear information on CPLDs, FPGAs from others, in the hope that it can help me to start to work with them in the (far? ....) future :) That's why I've asked only. Thanks.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.November.28. 21:27:28
Recently, I have also noticed a negative trend of selling untested hardware by Chinese sellers on ebay.
After many experience with Chinese IC sellers I think: exist a big chinese factories which are buy tons of electronic waste. Remove the ICs from old PCBs and refurbishing these.
The problem: not sell these as used, refurbished and untested components with their original label.
Make a fake new chips: remove the old labels, print a new one (with a best of the current type parameters), polish the pins, and sell as brand new.

Some examples:
-I bought 10 pcs 20MHz CMOS Z80 CPU. Tested on 10MHz, only one worked. Another ones are old slow NMOS CPUs. After reclamation the seller send another 10 CPU. Summary of the 20: 3 total dead, 16 are NMOS, and works at max 8MHz, only one are CMOS and works on 10MHz.
-4xWD1772PH 02-02. Real type are WD1772PH 00-02 (can't overclocked to 16MHz for HD disks)
-5xAMD 29F040. Realy type Macronix 29F040
-4x27C256-70. Real manufacturer are different than the labeled. Access time too slow, probably only -150. One are dead.
-2x27C160, one are dead

If you want a relaible components then buy from TME, Mouser or other similar reliable companies. But these not too cheap...
Buying from China are lottery game...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.November.28. 21:29:46
In this case, it was clearly used chips (programmed and locked before reading).
Certainly wasn't new.
Don't possible make a full erase on them? In my programmer have a separate Erase option.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: lgb on 2015.November.28. 22:05:16
Don't possible make a full erase on them? In my programmer have a separate Erase option.

I just guess here, that he meant: he could erase and re-program them, just it was a sign that they were not _new_ but used before ... If I correctly got the point ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.28. 22:09:33
If you want a relaible components then buy from TME, Mouser or other similar reliable companies. But these not too cheap...
Buying from China are lottery game...
Unfortunately, not everything can get in TME. Especially if you do not have the latest components. So is the lottery ...
Don't possible make a full erase on them? In my programmer have a separate Erase option.
Yes, it is Erase option. Except that from 4 macro cells, for example, you can erase only two, and the other is damaged.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.November.28. 22:22:27
Xilinx manual: "The device supports a read security feature which protects the design from being copied. A
secured device may still be erased and reprogrammed."
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.29. 08:49:21
I understand it. The programmer is able to erase chips.
However, if you are damaged chip, it can no longer be entirely erased.
Just that one macrocell is damaged and can not be such a chip reprogrammed.
I even tried to optimize the JEDEC file to not use damaged macrocells, but because I use all the pins in this chip, it did not manage to do it.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.November.30. 17:39:58
Refreshed delivery status (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg51009/#msg51009)
Mobsie, did you received information on PM ?
Only your interfaces are waiting for shipment.
If you resign the order, there are others willing.
Answer me, what do I do ?

In the way another 30 pieces of PCB.
They should arrive within three weeks.
They will be ready early in the new year.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.November.30. 17:51:08
May be somebody knows his email address? I know it is confidential, but the admin can contact him...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: edoz on 2015.December.01. 19:18:16
Wow ! That sounds like a nice device! Are they still available ? And what is the price ?
Thanks!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.01. 19:26:19
These types of questions, please send me as PM.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.01. 21:06:41
The initial list of reservations for the second batch:
1x gflorez
2x Prodatron
1x ssr86
1x Trefe
1x sanyike
1x geco
1x endi
2x Jolaes76
1x edoz

Is someone missed ? There are still 19 20 pieces.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: endi on 2015.December.01. 21:18:06
endi???
I dont want any hardware. I use only emulator :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.01. 21:19:54
Perhaps the translator me badly translated from Hungarian.
I deleted :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.December.01. 21:24:22
Is someone missed ? There are still 19 20 pieces.
One special version for me. (For Model 911 prototype.)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.01. 21:28:06
One special version for me. (For Model 911 prototype.)
By the way, whether it will be assembled, or in a kit for self-assembly?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2015.December.01. 21:38:52
By the way, whether it will be assembled, or in a kit for self-assembly?
Will be better if you assemble it. You have all required components and lot of experience :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.01. 21:42:43
In that case I assemble it, but without connectors. I'll pack them separately.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.December.01. 22:34:33
endi???
I dont want any hardware. I use only emulator :)


Why don't you look for a way to emulate a mouse on Ep128emu? I would love your Gracha editor managed with one....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2015.December.02. 20:37:16
I would like an other one, from the new batch, too.
And I would like 2 pair of the SEGA converters, too.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.December.03. 11:28:07
New information added to the Entermice wiki (http://wiki.enterpriseforever.com/index.php/EnterMice#How_to_use_the_wheel_and_the_spare_buttons_in_your_programs).

A machine code routine can now be used in Basic to easier manage spare buttons and wheel.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Ep128 on 2015.December.04. 19:29:44
Some other methods onto EnterMice usage... :-D (Lamp, fan...)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.December.04. 21:14:12
It is a good +5v power suply... that comes directly from the 7805 regulators,  but take care, it can draw too much current. First the heat-sink will serve to fry an egg but second, it can hang the Enterprise...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Ep128 on 2015.December.04. 23:41:59
It is a good +5v power suply... that comes directly from the 7805 regulators,  but take care, it can draw too much current. First the heat-sink will serve to fry an egg but second, it can hang the Enterprise...

I did not experience a problem, but I do not want to use it for this, I tried it only! :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.December.04. 23:43:19
Enjoy!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.05. 08:34:30
Ingenuity users always surprises me :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.08. 21:48:53
Вот это сюрприз (https://sites.google.com/site/enterprise128k/home/hardware/peripheral_hardware/entermice) :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: geco on 2015.December.09. 08:39:16
Вот это сюрприз (https://sites.google.com/site/enterprise128k/home/hardware/peripheral_hardware/entermice) :)
Is this page owned by Slashnet? :) Unfortunately I can read the Russian, but I do not understand. :oops:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: SlashNet on 2015.December.09. 08:40:47
Simply I try to fill with fresh content my small site.

(Просто пытаюсь наполнить свежей информацией свой маленький сайт на русском)

:oops:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: geco on 2015.December.09. 08:43:56
Simply I try to fill with fresh content my small site.

(Просто пытаюсь наполнить свежей информацией свой маленький сайт на русском)

:oops:
Looks good :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.10. 17:33:58
I received new chips Xilinx.
This time, pre-packaged, you will see that the new (but just in case I'll check one-by-one).
So it was not ideal, instead of 20 pieces in the pack was only 18.
I can not stand with the Chinese ;)

PCBs still on the way.

EDIT: I checked. All chips are good :smt026
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2015.December.12. 20:47:39
The Entermice wiki on Spanish (http://wiki.enterpriseforever.com/index.php/EnterMice_(Spanish)) has been finished. Minor errors can be found...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.12. 21:25:39
The Polish (http://wiki.enterpriseforever.com/index.php/EnterMice_(Polski)) version almost ready too.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.23. 11:03:16
Package of plates PCB goes little to slow.
I'm starting to worry, because arrived package, which was sent two weeks later with a prototype IDE/CF (https://enterpriseforever.com/hardware/enterprise-all-in-one-interface-1176/msg51479/#msg51479).
I'm not panicking, but I expect problems.
I'm sorry that you have to wait so long.
By the way, Merry Christmas :)

PS. If someone want to track this unlucky-package, this is the RF363623597SG (http://emonitoring.poczta-polska.pl/?numer=RF363623597SG&lang=en)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2015.December.30. 15:10:34
Glad to see the package arrived at Warsawa 2 hrs ago. We hope the items are intact :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2015.December.30. 18:38:56
After my intervention in the delivery company the package with PCB boards was found :)
Any day now should finally arrive.
Missing PLD chips also already went.
Everything is ready for assembly.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jungsi on 2016.January.04. 17:44:33
Maybe there is something I'am doing the wrong way :-)
I wanted to test the mouse with the Paintbox Software.
What I have done so far:
- loaded mouse.xr
- DIP-Switches: DS 1 = OFF; DS 2 = ON (Boxsoft should be the right one I think?)
- I have not initialised with ":PB" because of the Entermice manual Paintbox is doing this itself.
The mouse isn't working - internal joystick in Pianbox is ok
Whats working?
- Example: Bomb Jack with Joystick in Port 1 and using External Mode in Bombjack (great to use a
Competition Pro for playing :-) )
- Example: Symbos with mouse - DS 1 = OFF; DS2 = OFF
Maybe I'am using a "wrong" version of Painbox?
I'm loading all from a SD-Card (Paintbox in the utility directory on drive M)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.04. 18:31:12
Which version mouse.xr ? GFlorez did them a few :)
Have you tried DS1=ON, DS2=ON (native EnterMice mode in new driver) ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.January.04. 18:40:23
I'm not tried Paintbox myself.... sorry, but sometime ago Zozo said that the input device can be changed inside the program with the function keys:

F1=internal joystick
F2=Joystick 1
F2=Joystick 2
F3=Boxsoft mode
F4=EnterMice mode
F5=Serial Mouse Systems
F6-F8 for future expansions.

And for the driver, the link on the wiki points to the last version.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.January.04. 18:45:52
Also, take in account that the driver settings on System var 189(when using the driver) are independent from the hardware ones of the EnterMice.

They must match to work, obviously....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jungsi on 2016.January.04. 20:30:14
Thanks - I've used the one from the wiki.
Now it's working - combination:
DS1/2 on Boxsoft Mode and in Paintbox use F4 - EnterMice mode
Strange - but it's working :-)

When you use on both sides EnterMice-Mode Paintbox is not working.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.January.04. 20:39:34
DS1/2 on Boxsoft Mode and in Paintbox use F4 - EnterMice mode
Strange - but it's working :-)
It is because Gflorez wrote two F2 :ds_icon_cheesygrin:

The right list:
F1=internal joystick
F2=Joystick 1
F3=Joystick 2
F4=Boxsoft mode
F5=EnterMice mode
F6=Serial Mouse Systems
F7-F8 for future expansions.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.January.04. 20:56:07
Sorry... I was in a hurry in that moment....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.12. 17:04:40
Finally arrived :)
Too much holidays is not conducive to delivery speed.
Time to get to work.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.January.13. 10:34:22
Two weeks as much, isn't it?

You are fast......
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.13. 22:04:08
The first units will be ready after the weekend.
There is no need any longer wait :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.16. 14:23:21
I still have edge connectors to be cut and mount.
Tomorrow I'll kindle the red my programmer.
Tests and let's go.
Shipping from Monday :)
As before I'll send a PM with detailed information for anyone who ordered EnterMice.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.January.16. 14:33:50
Nice! EnterNice :ds_icon_cheesygrin:
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2016.January.16. 14:55:29
It's (like) a real factory ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.16. 15:21:52
Frankly, repetition the same tasks dozens of times is very boring :smt069
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2016.January.16. 15:25:28
Stock panels with software applications rule ... :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.16. 15:36:55
Well, I'm currently working as a programmer. Wry unions :smt102
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.17. 16:10:34
Interfaces assembled. I have to postpone tests, because in my garage is too cold. I have to move the equipment to the home and warm it up a little.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.19. 21:09:19
Tests done, I sent emails.
I have yet to do the Sega twisters.
@Jolaes76 & Z80System - I need a moment.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Jolaes76 on 2016.January.20. 01:52:57
You know, you remind me of the Japanese guy  -also a one-man factory-  who makes SCSI to SATA converters for old synthetisers (and computers) and sells them on ebay. "DinoMonster" and the sort.
BTW, no need to hurry, take your time for the tests. We already can see the finish line :)

Thanks a lot for your efforts so far.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: weirdocollector on 2016.January.25. 14:41:09
Hi pear,

I've just sent you a PM with my home address for shipping.

I'm sorry but your PM notification was sent to the Spam folder :(

Just let me know once you've shipped.

Thanks a lot again.

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.January.31. 17:22:32
Keyboard issue solved (https://enterpriseforever.com/hardware/keyboard-fixer/) :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.February.09. 10:48:21
If someone wants to, it is still available several pieces of EnterMice.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2016.February.28. 01:29:47
I'm just testing the entermice with the SEGA twister. (Not the full functionality, only plain one button games like Cybernoid I) It works like a charm. And sega contollers are very good for most of the EP games ...

As far as I remember, somebody wrote a joystick tester program, a really full featured and "graphical" one ...

Maybe that should be extended to test the full functionality of the sega thing, too ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.February.28. 09:10:40
I described the procedure of reading (https://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/msg50854/#msg50854) all the controller contacts.
In my version of the code is an error, because the reads only one state (if I remember "high") and 3-pulse.
Maybe who's willing, who will better use the SEGA controller in the game and write procedure of read better than I do.
For the author, if don't have EnterMice, I can do promotion :)
I know better on hardware than on assembler ;)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.February.28. 09:53:18
As far as I remember, somebody wrote a joystick tester program, a really full featured and "graphical" one ...

Maybe that should be extended to test the full functionality of the sega thing, too ...

You have EnterMice and the Sega adapters, why you not do a simple test program yourself?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2016.February.28. 10:29:29
Quote
I described the procedure of reading all the controller contacts.

Yes, that should be used ...

Quote
For the author, if don't have EnterMice, I can do promotion :)

I do not think Somebody (called balagesz) write such a good stuff like the above mentioned, and he have not got an EnterMice ...

Quote
You have EnterMice and the Sega adapters, why you not do a simple test program yourself?

I planned to write such a full tester, but balagesz wrote one on the October of 2015, and how I see it is a very good one.

That would be good, the full sega twister would be in this same program.

I mention it to balagesz now ...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Z80System on 2016.February.28. 10:31:29
By the way this is the program:

https://enterpriseforever.com/programozas/enterprise-billentyzet-es-joystick-teszt/

http://bsz.amigaspirit.hu/Enterprise/HIDtest/hidtest.com

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.February.28. 11:00:29
If balagesz is interested, in the price of 50 EUR I offer: EnterMice + pair Sega Twister (master and slave) + Keyboard fixer.
Shipping and PayPal fees I take.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.March.30. 13:00:06
Moldani need one more EnterMice, it is still available? (He is build Enterprise config to his summer house :-) )
   
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.March.30. 13:03:14
There is still a lot.
On whose address to send? To you ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.March.31. 08:13:30
On whose address to send? To you ?
Yes, to me.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.April.10. 11:10:20
Review (http://www.jungsi.de/entermice-enterprise/)

Thank you Jungsi :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.May.31. 13:17:04
Lacika want a EnterMice, it is still available?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.May.31. 13:22:19
Yes, is still available.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: dmacoco on 2016.June.04. 15:05:53
Hello, i'll be interested in an entermice interface.
How to buy it, with postage up to france ?

It's a very great dev for enterprise.
Regards, Didier
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.June.05. 13:40:38
I sent to you PM.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.June.18. 10:13:11
After a six-month battle with programmators, finally I was able to program the XC9572XL.
My super-hiper-mega-everything programmator had, and actually still has a bug in the software that does not allow to program the last two bits of the matrix.
I asked the producer to do a patch, but they ignored me.
In the meantime, I bought two cheap cable substitutes for programming Xillinx chips, but it was a complete failure. None of them work.
I sent a second request to the manufacturer. Again, no reaction.
Today I pissed off and hacked the software :oops: :evil: Now it works perfectly :ds_icon_cheesygrin: :cool:
Another EnterMice has longer with the new XL chips, because the 5V versions have me come to an end.
Just in time.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.June.18. 10:44:28
You are great. Just a little below than Leonardo Da Vinci.....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: sinclair200 on 2016.August.24. 01:20:20
Something like this. The attached preliminary sketch of the PCB.
Two slots for joysticks, socket PS/2 mouse and optional serial port Commodore (DIN6).

Approximate cost about 4 USD per one PCB (for 10 pieces). It may change, but not much.
I'm doing my PCBs in black - are about 30% more expensive than the cheapest green.

You could still buy a EnterMice?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2016.August.24. 09:01:28
I think he is wanted to ask: You could still sell a EnterMice? (Gflorez mentoined he is using google translate which sometimes made a funny results :-) )
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.August.24. 09:02:53
Easy, I understood ;)
Yes, I do.
Ask also gflorez, because perhaps they have more interfaces than he needs :)
Directly from Spain will be cheaper shipping.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.August.24. 16:03:56
Yes, I still have one spare EnterMice. But I am on Holidays till 31 of August.

Meanwhile you can read the EnterMice wiki (http://wiki.enterpriseforever.com/index.php/Main_Page#EnterMice).

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

Si, aun tengo un EnterMice de sobra. Pero hasta el 31 de Agosto estoy de vacaciones.

Mientras tanto puedes leer la wiki de EnterMice (http://wiki.enterpriseforever.com/index.php/Main_Page#EnterMice).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: sinclair200 on 2016.October.07. 17:49:09
Has already reached the entermice, it took very little and has been very well packaged.
This Pear is a beast .....

Now to find a suitable box ......


(https://dl.dropboxusercontent.com/u/13583266/Entermice/IMG_3137.JPG)
(https://dl.dropboxusercontent.com/u/13583266/Entermice/IMG_3138.JPG)
(https://dl.dropboxusercontent.com/u/13583266/Entermice/IMG_3139.JPG)

Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2016.October.09. 10:44:38
The second time I was dubbed as the beast (:evil: ??). I do not know if it's good ;)
Perhaps it is a question of translation from Spanish.
Is there any other translation of the phrase "Este pear es un fiera." ?
What exactly is the Spanish word "fiera" ?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2016.October.09. 12:28:24
It is for good. He means you are a genious....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.March.04. 13:26:33
I am impressed by this casing for EnterMice shown on your Enterprise club , I did not think it was possible.

Please, who is the artist? Can you put more pictures and explain how it can be done?

(https://enterpriseforever.com/ep-klub/enterprise-klub/?action=dlattach;attach=20501;image)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tutus on 2018.March.04. 15:37:57
This is mine.
Unfortunately, it is not good for me :(
It does not connect if the cover is on it.
Even in the basic state it is quite interesting (see the picture).
The connection is oblique.

(Was made by Péter Barta. This works perfectly on his machine... incomprehensible :( )

(http://www.enterpriseklub.hu/entermice.jpg)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.March.04. 19:29:57
This is because Pear studied some ways to better fit the adapter, with different inclinations and depths of the connectors.

The oblique connection is correct, but maybe your interface needs the connectors to be enlarged to reach deeper on the Enterprise sockets when cased. This has to be done with a soldering iron. I think that drawing them out 1mm will be enough, not needing to change the connectors.

Think that the adapters are hand made individually and can show some differences.

Also think that some Enterprises have a displacement of the main-board respect to the plastic holes of the case. I talk about it here (https://enterpriseforever.com/hardware/good-looking-edge-connector/msg62898/#msg62898)

Maybe you can try to align the connector's pins to the main-board fingers when plugging in.

-----

On the other hand, please, can you put some more pictures of the case?.

And, I own three EnterMice adapters(1 prototype and 2 from the second improved batch) and I am interested on some cases if they are available to sell....
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tutus on 2018.March.04. 20:15:49
(http://www.enterpriseklub.hu/entermice2.jpg)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.March.04. 20:57:58
Wonderful!  What a good finish!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.March.05. 07:26:23
This is mine.
Unfortunately, it is not good for me :(
It does not connect if the cover is on it.
Even in the basic state it is quite interesting (see the picture).
The connection is oblique.
Tutus, if you are able to handle the assembly yourself, I can send you spacers.
Since the second version, I install them as standard.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tutus on 2018.March.05. 09:46:38
Tutus, if you are able to handle the assembly yourself, I can send you spacers.
Since the second version, I install them as standard.
OK :)
What I ordered now is it so?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.March.05. 09:48:37
Yes indeed.
I'll packing the second set of spacers for your older card too :D
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2018.March.05. 09:51:22
I also need two sets :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.March.05. 09:55:59
Just check if the connector pins have not been shortened ?
If yes, you need new connectors too.
Let me know.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tutus on 2018.March.05. 09:59:21
Pear, you can add Zozo to my order. I'll give it to her :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.March.05. 10:03:36
No problem :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.April.20. 11:34:26
Hello

If I want to put mouse control in an old game (eg Ledmmings), what should I watch for?

Suppose you have the original jpy reader routine, see where it is going to jump, to the left, to where, to the right, etc.

Now, I get a relative movement at the mouse. So what do you need to pay attention to working well? Here I am thinking that if I make things a little simpler, it will work at the same time on joy mode and EnterMice mode (1.2 DIP OFF)


You must search the keyboard-joystick reading routine, near it you will find the movement routine, usually with -+1 coordinate additions. Usually the inputs are checked every 1/50 second, perfect to add the EnterMice reading routine by a CALL on some place of the code(probably altering a JP command).

You must first search for a place where to inject the mouse reading routine. There are some variations in complexity and length, according to the number of buttons you want to read, but for a game the best is the basic movement and two main buttons.

You will save some process time if you read the joystick bits at the same time as the EnterMice bit on the same B6h Z80 port. But the mouse has to be read 4 times, not only one.

You can read the descriptions of my strugglings modifying programs:

 https://enterpriseforever.com/programming/entermice-option-on-edcw/

https://enterpriseforever.com/programming/pasziansz-solitaire-from-hsoft-need-entermice-support/

Remember, the mouse can add movement from -+1 to -+128 coordinate units
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Povi on 2018.April.20. 14:08:20
Remember, the mouse can add movement from -+1 to -+128 coordinate units
What kind of unit is it? I assume they are needed to convert to pixel coordinates based on experimental way?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.April.20. 14:45:04
EnterMice returns two bytes for the movement, on two's complements (https://en.wikipedia.org/wiki/Two%27s_complement) for the Z80 processor. You can add them directly to the actual position, checking what happens to the flags to correct the coordinates if the addition is lower or  higher than your playing zone.

Two's complements is a convention to represent a whole signed number. The Z80 works with sign when the appropriate operant is selected. Bit 7 set indicates a negative bit, but you can't take the rest of the bits as the data, only in positive numbers happens this, because negative numbers start from 255(1111 1111) as -1  backwards up to 128(1000 0000) as -128.

But the magic is that adding a pair of two's complement numbers works...  if the result don't exceeds the +127 -128 range...
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.April.20. 18:13:10
I forgot to say, the Z80 also manages 16bit signed numbers, and in that case the range is form +32767  to -32768 on operations with register pairs.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.April.23. 15:47:12
Probably the program maintains the pointer coordinates on word variables(16 bits). To add the 8 bit increment to the 16 bit coordinate you must expand it to 16 bit. If the bit 7 is 0 then the high byte will be 0, but if it is set all the bits on the high byte have to be set, so it will have  a 255. The value remains the same.


Code: [Select]
                         High     Low

+23 = 00010111   ----> 00000000 00010111 still +23

-10 = 11110110   ----> 11111111 11110110 still -10
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.October.14. 12:43:46
I did cleanup my garage and found some more parts, from which I can put together about 20 EnterMices.
I ordered PCBs.
This will be the last chance for an assembled interface.
The price not changed.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.November.11. 14:06:16
Available now.
There are 22 pieces.
Half of them is already assembled, tested and ready for shipment.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2018.November.11. 18:03:35
Great!

I have made an announce (http://www.retrowiki.es/viewtopic.php?f=89&t=117&p=200101699#p200101699) on the Spanish RetroWiki page.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.November.11. 18:09:40
Thanks :)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.December.06. 18:37:20
It happened that one of the interfaces lost its memory :oops:  Exactly CPLD.
I attach JEDEC files to the CPLD chips in all versions that appear in Entermice.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2018.December.06. 18:43:17
It happened that one of the interfaces lost its memory :oops:
This is at the user who are report problem in EP Facebook group?
Quote
I attach JEDEC files to the CPLD chips in all versions that appear in Entermice.
Thanks! I can reprogram it, if anyone need it in Hungary.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.December.06. 18:46:20
Yes, this one. Today arrived.
I accidentally have a CPLD programmer at home and checked the chip right away.
I will full test the entire interface on the weekend.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2018.December.30. 09:11:47
The Xillinx chip was able to be programmed, but the interface still did not work properly.
CPLD is completely damaged. After replacing it, everything returned to normal.
I don't know why CPLD could have been damaged.
Power supply is correct, all other elements are functional.
Curiosity.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Povi on 2019.February.14. 21:30:06
Pear, did your Genius mouse arrived? I am very exciting, if it works at you :-)
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2019.February.15. 07:02:01
Finally it arrived yesterday.
I've got a big luck to shopping :( Two weeks of waiting :evil:
Testing at the weekend.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2019.February.17. 08:56:59
I can confirm. The Genius DX-110 mouse does not work with EnterMice. For now ;)
Sometimes only one button can be read. Nothing more.
I wonder what is the inaccuracy in the protocol used in this mouse.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2019.April.07. 11:46:02
The Xillinx chip was able to be programmed, but the interface still did not work properly.
CPLD is completely damaged. After replacing it, everything returned to normal.
I don't know why CPLD could have been damaged.
Power supply is correct, all other elements are functional.
Curiosity.
After a few days of use, the error repeated itself. Exactly the same.
The LDO stabilizer is probably defective.
Although it provides the correct voltage during normal operation, it can cause a overvoltage pulse when switching on the power.
I will change it and check again if it will be good this time.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2019.April.16. 11:55:27
I can confirm. The Genius DX-110 mouse does not work with EnterMice. For now ;)
You find a solution?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2019.April.16. 12:56:35
Not yet.
Too much work.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2019.May.15. 06:08:47
The Xillinx chip was able to be programmed, but the interface still did not work properly.
CPLD is completely damaged. After replacing it, everything returned to normal.
I don't know why CPLD could have been damaged.
Power supply is correct, all other elements are functional.
Curiosity.
One puzzle solved.
Poor contact on the supply from the edge connector.
The power supply is taken from two contacts from two connectors.
Both had a weak contact :shock:
Minimal chance of such a fault.
And yet it hit.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Tuby128 on 2022.January.10. 01:23:25
Now I know that the control 1 (joystick) port has 5 strobe and 3 read signal, which gives 15 bits input.
Long time ago I tested the Entermice only in basic with the JOY(1) command. That time it gave me the info of the direction, not the distance.

 The question is, does the Entermice use the other input signals as well to tell a distance? I am curious because after 15 min searching I did not find any information of the protocoll it uses.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2022.January.10. 15:17:20
EnterMice is downward compatible to the BoxSoft protocol.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2022.January.10. 17:00:06
And the Boxsoft protocol comes from the MSX mouse protocol.

If you want information, first of all read the EnterMice wiki (https://wiki.enterpriseforever.com/index.php?title=Main_Page#EnterMice).

Once read, you can follow with how the Boxsoft mouse interface was studied and cloned (https://enterpriseforever.com/input-devices/re-paintbox-mouse-xr/).

Then, you can end with how Pear created the EnterMice (http://enterpriseforever.com/hardware/entermice-joy-ps2-mouse-interface/) .

Once done, if you still have any question, I can answer all your remaining doubts.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2022.January.10. 17:07:35
Ok, ok, but if you only want to know strictly that.... the data received is a relative movement from the last reading on 8bit two's complements, first X coordinate, then Y, then software buttons, then the wheel.

So the program needs to maintain the actual coordinates of the pointer and add the received relative movement, usually every 1/50 sec.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2022.January.10. 17:22:00
A Basic program is very slow to read the Mouse every 1/50 sec.... so the Boxoft driver can be used.

It maintains a pointer driven by interrupts, so your Basic program only needs to ask some system variables to know the coordinates, the buttons pressed and the wheel status. All is explaineded on the EnterMice wiki. 
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2023.November.05. 10:07:52
I shared the project https://github.com/maciejgruszecki/EnterMice
You can build your own interface or improve the existing one.
Enjoy.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Zozosoft on 2023.November.05. 11:58:11
I shared the project https://github.com/maciejgruszecki/EnterMice
Thanks!!!
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: gflorez on 2023.November.05. 23:14:01
Pear, you are great.
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Allf on 2023.November.24. 07:00:48
Thanks for sharing!
I need help. If U2 is not 5V tolerant - then what should be the exact type of regulator U101?
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: pear on 2023.November.24. 15:59:36
Oops, I missed it. I'll fix it in my free time.
This is 3,3V linear stabilizer LT1117CST (SOT223-4).
Title: Re: EnterMice (Joy & PS/2 mouse interface)
Post by: Allf on 2023.November.24. 16:42:54
Thank you for the answer.