PDA

View Full Version : The UniBios & IR-Maze thread.



Razoola
01-20-2006, 03:13 PM
Ok, thanks to the help of Michele Nassivera who has taken some time to get a Universe Bios rigged up to a MV-1C I now have the info to wire a IR Maze kit to _ANY_ MVS with joysticks ports. This is a first port of call, once everything is confirmed working it should be very easy to get a kit wired up to an AES also.

I must point out first that still no one has given any feedback on if IR maze even works with v2.2. and no one has yet tried this to confirm that it works. Also the Unibios only communicates with the trackball and button parts of the P.C.B, everything related to the lights and air etc is simply not controlled.

Ok, on to the info...

The JAMMA section of the IR MAZE kit simply plugs into the MVS as it would on a MC-1B or 1C so that part is easy. The next step is the hard part but if you know how to use a soldering iron to make a lead then even this is easy. Basically there is a 8 pin connector on the IR P.C.B kit that normally plugs into the MV-1B or 1C. You wire this as follows.





CON1

pin 1 - NC
pin 2 - NC
pin 3 - pin 9 of 2up joystick port
pin 4 - pin 2 of 2up joystick port
pin 5 - pin 10 of 2up joystick port
pin 6 - pin 9 of 1up joystick port
pin 7 - pin 2 of 1up joystick port
pin 8 - pin 10 of 1up joystick port

NOTE
- Pin 1 is ground and may need connecting to any of the two (or both) joystick port grounds (pin 1 of both joystick ports) if the P.C.B dosn't take ground from the JAMMA.
- Pins 3,4,5 probably don't need wiring up either but I just mention them because if they did, this is where they would need to go.

Basically this is all that would be needed. All you need to do now is start the game and enable the trackball cheat and it should all work (fingers crossed).

The next step to get this working on an AES is simply in theory. First you simply take all the JAMMA 1up and 2up joystick and buttons and wire them into the correct joystick ports. You will of course also need to wire the ground. Lastly I don't know what power the P.C.B runs on but of course youll need to get power into it from somewhere.

It should be quite easy to make a custom P.C.B and trackball so the actual IR maze kit is not needed. Its a simple case of those 6 lines selecting what info is returned to the joystick inputs. I'm hoping someone will do this becuse it would be very easy to get a trackball working through 1 joystick port only instead of two that this IRmaze kit requires by default.

I'm hoping some people are going to try this and give feedback.

Raz

Verythrax
01-20-2006, 03:18 PM
Excuse if I didn't get everything but... Playing IR with a conventional Neo Stick is a no no?

Kpj
01-20-2006, 03:20 PM
Raz,

Thanks for the update/info. I'll try IM on the AES shortly (via Phantom1)

Kpj

Razoola
01-20-2006, 03:47 PM
Excuse if I didn't get everything but... Playing IR with a conventional Neo Stick is a no no?

There is an option in 2.2 to play it with a joystick too. I added joystick and trackball support.

Raz

MKL
01-21-2006, 09:22 AM
If I understand correctly you will always need some trackball interface, either the official one or a home-made one (following the schematics you posted time ago?). If one has a MV-1B or MV-1C with Unibios 2.2 and the official IM interface it will be plug and play. If one has a different motherboard he'll have to do that extra wiring from the interface to the controller ports. Correct?

Razoola
01-21-2006, 10:52 AM
If I understand correctly you will always need some trackball interface, either the official one or a home-made one (following the schematics you posted time ago?). If one has a MV-1B or MV-1C with Unibios 2.2 and the official IM interface it will be plug and play. If one has a different motherboard he'll have to do that extra wiring from the interface to the controller ports. Correct?

Yes you are correct on all counts. Thinking about it, with the extra wiring you probably dont even have to wire up the ones which goto the 2up joystick port either. The ones for the 1up joystick port are needed though. I'll update the first post to mention this.

Actually one _could_ wire up a trackball without the need of an interface. The problem would be that there would be no room for buttons unless you took the 8bit X and 8bit Y values and made them 7 bits each instead, that would allow for 2 buttons at the exspence of some trackball control smoothness. Then you could wire 7 bit X + 1 button + 1up start + 1up select to player 1 joystick port and 7 bit Y + 1 button + 2up start + 2up select to player 2 joystick port. This would then work once I added support for it to be wired like that in the bios.

Basically the control pins of the 8 pin connector are either high or low so the actual interface isn't really that advanced, its simply a switch to control what bits are going to the joystick port. As there are 3 lines per port, in effect the joystick port can handle 8 different presets. A trackball and buttons only requires 3.

If someone was to make one it could even be multi purpose as I'm sure some people would like to use it to make a mahjong controller also which basically works on the same principle... And the game paddle (pop n bounce)... And the 4 player joystick (kizuna) for that matter.

Raz

werejag
01-21-2006, 08:22 PM
this seems interesting Razoola , i didnt understand your chart anywhere else i can look to see if i could build one?

Razoola
01-22-2006, 04:42 AM
this seems interesting Razoola , i didnt understand your chart anywhere else i can look to see if i could build one?

The chart is simply a lead to be built for an original IR maze kit to work on a MVS with joystick ports.

Raz

MKL
01-22-2006, 10:47 AM
It should be quite easy to make a custom P.C.B and trackball so the actual IR maze kit is not needed. Its a simple case of those 6 lines selecting what info is returned to the joystick inputs. I'm hoping someone will do this becuse it would be very easy to get a trackball working through 1 joystick port only instead of two that this IRmaze kit requires by default.


On the official interface I see 8 lines coming out of the FPGA and going to the Jamma connector to the pins that are normally used for P1 up/down/left/right/A/B/C/D (= P1 joy port). And the 4 buttons (but only 1 actually used?) of the official cab are on the pins normall used for P2 A/B/C/D (= P2 joy port). Wouldn't a home-made interface be supposed to do the same as the FPGA but using standard logic gates? If so, what joy port pin(s) would be used for the button(s) if the button pins on the same port are already used by 4 of the 8 trackball lines? Probably I'm confused...

Razoola
01-22-2006, 12:41 PM
On the official interface I see 8 lines coming out of the FPGA and going to the Jamma connector to the pins that are normally used for P1 up/down/left/right/A/B/C/D (= P1 joy port). And the 4 buttons (but only 1 actually used?) of the official cab are on the pins normall used for P2 A/B/C/D (= P2 joy port). Wouldn't a home-made interface be supposed to do the same as the FPGA but using standard logic gates? If so, what joy port pin(s) would be used for the button(s) if the button pins on the same port are already used by 4 of the 8 trackball lines? Probably I'm confused...

Yes IR maze only uses 1 button but it can handle 4 like you say. If you copied the current interface exactly you would need to wire to 1up and 2up ports (1up for trackball 2up for buttons).

If your going to build a custom controller pcb though I would more advise not to copy exactly what the IR controller does but rather do it so everying for the trackball and buttons goes through one controller port only. This would allow for using the controller not just for IR maze but for the other types of controllers like I mentioned before (2 sticks in one joy port for 4 player game). It would also look alot neater. I would need to update the unibios to accept this configuration but that part is easy to do.

If you picture in your head 8 banks of 8 buttons. Then a switch that has 8 possible positions, thats one position for each bank. Basically only one bank of 8 buttons is sent to the controller inputs (the one that corrosponds to the switch position). As soon as the switch position is changed the new bank corrosponding to the new position is sent only.

The switch is basically 3 lines from the 1up joystick port (each are either low or high). That give you 8 possible settings from all low to all high (0 to 7). What the Bios does is set the required switch for the bank it wants to read, wait a short time and finally read the joystick inputs.

I sopose all this is getting ahead of ourselves though, I still need to know if it works with the current IR controller.

Raz

Razoola
02-01-2006, 10:41 AM
bump

JMKurtz
02-01-2006, 10:53 AM
Ahh, an IM thread - nice :) I've stuck the thread for you.

Has Kenny reported his testings yet? If not, and if he can't get you the info, I'll hook mine up and give it a go.

Jeff

Razoola
02-01-2006, 11:09 AM
Ahh, an IM thread - nice :) I've stuck the thread for you.

Has Kenny reported his testings yet? If not, and if he can't get you the info, I'll hook mine up and give it a go.

Jeff

No he hasen't said anything yet. MKL is going to look at this also, hes just waiting on his v2.2 unibios to arrive still.

I'm sure things will get intresting soon with this thread.

Raz

Razoola
02-02-2006, 12:14 AM
NeoTurfMasta has just confirmed in another thread that IR Maze can be played with Joystick. So far so good.

Raz

NeoTurfMasta
02-02-2006, 12:14 AM
Whoops, sorry I just saw this thread.

I can confirm that the IM cart works fine on my 1-b bios-swapped board. Played with joysticks and BC speed buttons without any problems.

Razoola
02-02-2006, 12:16 AM
Whoops, sorry I just saw this thread.

I can confirm that the IM cart works fine on my 1-b bios-swapped board. Played with joysticks and BC speed buttons without any problems.

Yes, this is good news. You don't have the IR kit so you can try with the trackball also?

Raz

NeoTurfMasta
02-02-2006, 12:28 AM
its in pieces... I have that jamma track ball adapter laying around close by, but I havent seen my actual track ball set in a long ass time. Its in a box somewhere, but it would probably be quicker if someone had theirs on hand. RevQuixo, I'm looking at you....?

Kpj
02-02-2006, 11:29 AM
No he hasen't said anything yet. MKL is going to look at this also, hes just waiting on his v2.2 unibios to arrive still.

I'm sure things will get intresting soon with this thread.

Raz

I'll have my AES up & running today with the 2.2 & IM MVS cart.

Kpj
02-02-2006, 12:07 PM
Well, I have great news :)

IM works great on an AES (Uni-Bios 2.2 is installed) with a standard controller/joystick. Obviously, the cheat "Enable Joystick Play" is activated.

Buttons B&C speed up the stick. All directions work perfectly.

I'll have this running for a bit, so if any of you have questions on it's functionality, post a message & I'll have a look.

Kpj

EDIT = Once I find my trackball/controller board, I'll try testing it with the AES

Razoola
02-02-2006, 12:39 PM
I sopose my main question would be how playable is it using a joystick first off. I mean, is it to hard to control etc?

Raz

Kpj
02-02-2006, 12:47 PM
I sopose my main question would be how playable is it using a joystick first off. I mean, is it to hard to control etc?

Raz

It's not bad at all. the diagonal motion is "steppy" since you must go up & then right or left (similar to Thrash Rally). The speed is fine, especially with both boost buttons (B & C).

I imagine the trackball would be a smoother. I've never used it in this way.

Kpj

MKL
02-02-2006, 01:08 PM
The main problem with playing with a joystick is that the maze is full of slanted paths that aren't 45° angled:

http://caesar.logiqx.com/snaps/emus/multi/kawaks/irrmaze_4.png

If they were 45° a diagonal joystick movement would be as smooth as a horizontal or vertical one. With differently angled paths you have to constantly adjust the joystick direction which results in a zigzag motion that is obviously slower than using a trackball.

I haven't tested it with the trackball yet. My trackball interface doesn't have its connectors anymore so rigging everything up will take some time, sorry...

Razoola
02-02-2006, 02:58 PM
The main problem with playing with a joystick is that the maze is full of slanted paths that aren't 45° angled:

http://caesar.logiqx.com/snaps/emus/multi/kawaks/irrmaze_4.png

If they were 45° a diagonal joystick movement would be as smooth as a horizontal or vertical one. With differently angled paths you have to constantly adjust the joystick direction which results in a zigzag motion that is obviously slower than using a trackball.

I haven't tested it with the trackball yet. My trackball interface doesn't have its connectors anymore so rigging everything up will take some time, sorry...

You got the 2.2 bios back now then?

I think you only need to worry about the trackball side of the controller as the unibios does not attempt to control the air and such.

Raz

MKL
02-02-2006, 03:33 PM
Yes, in fact I removed all that parts from the interface, the fact is that I removed the output Jamma connector as well, so I'll have to do some hardwiring:

http://img145.imageshack.us/img145/4677/s20218503xr.th.jpg (http://img145.imageshack.us/my.php?image=s20218503xr.jpg)
http://img84.imageshack.us/img84/7819/s20224037vt.th.jpg (http://img84.imageshack.us/my.php?image=s20224037vt.jpg)
http://img84.imageshack.us/img84/5851/s20224044dp.th.jpg (http://img84.imageshack.us/my.php?image=s20224044dp.jpg)

Razoola
02-02-2006, 03:58 PM
Yes, in fact I removed all that parts from the interface, the fact is that I removed the output Jamma connector as well, so I'll have to do some hardwiring:[/IMG][/URL]

Ok. btw, it may be worth making sure it works on the MVS with unibios before attemping to get it working on the AES.

MKL
02-06-2006, 06:26 PM
I tried the trackball on a 4-slot today and it didn't work. The 8-pin harness was connected to the joy ports as shown in the pic:

http://img142.imageshack.us/img142/7912/im8pinharness6vc.png
Note that the pin functions are reversed on the interface (ground is pin 1 on the mobo but pin 2 on the interface, etc.), in the 1st post Raz uses the pinout on the mobo.

As I suspected, when the trackball is connected to the P1 input pins (on the jamma connector) a joystick plugged into the P1 joy port doesn't work. This is a problem because you have to use normal controls to enable the trackball cheat. To solve this I made the connection from the interface to the mobo disconnectable, however after the cheat is on and the trackball interface connected back to the mobo the trackball doesn't respond. The trackball is the official one that came with the IM kit and I know it works (I tested it on a Forgotten Worlds PCB).

I'll try again on the MV-1C (a mobo that, like the MV-1B, has trackball support) once I've made a harness for it. I'm not sure whether to leave pin 2 (= pin 7 on the interface) disconnected or not though.

Razoola
02-07-2006, 06:21 AM
Thanks for the update. I think the best bet is to confirm its working on the MV-1B or 1C first and work from there.

In fact you can try the patches I gave you in that email some time ago and confirm the lines are setting high on the 4 slot joystick ports.

Raz

MKL
02-07-2006, 09:02 AM
In fact you can try the patches I gave you in that email some time ago and confirm the lines are setting high on the 4 slot joystick ports.

With the MV-1C the results were:

0x01 pin 8 = high
0x02 pin 7 = high
0x04 pin 6 = high
0x08 pin 5 = high
0x10 pin 4 = high
0x20 pin 3 = high
(pin numbers as on the connector on the MV-1C)

With the 4-slot the results are:

0x01 P1 joy port pin 9 = high
0x02 P1 joy port pin 9 = high
0x04 all pins = low*
0x08 P1 joy port pin 9 = high
0x10 P1 joy port pin 9 = high
0x20 P1 joy port pin 9 = high

*but pin 9 was 0.28v as opposed to 0.14v of the other low values.

Razoola
02-07-2006, 10:40 AM
Hmmm, thats not right, I get differnet to that on my MV-1FZ

0x01 P1 joy port pin 10 = high
0x02 P1 joy port pin 02 = high
0x04 P1 joy port pin 09 = high
0x08 P2 joy port pin 10 = high
0x10 P2 joy port pin 02 = high
0x20 P2 joy port pin 09 = high

Are you sure your checking the correct pins in the joy port? When I say pin 2 for example that means the 2nd pin from the left on the top row of 8 pins.

I'm taking the reading from pin 8 to each pin I mention, for example after a 0x01 patch I put one section of multimeter on pin 8 and the other on pin 10 and get the high reading.

If anyone else want to try this the 6 patches to do with unibios are 0x01, 0x02, 0x03, 0x04, 0x08, 0x10 and 0x20. You patch one of these 6 to address 0x380001 and then use multimeter to read pins.

Raz

MKL
02-07-2006, 12:32 PM
I'm checking the right pins but I forgot that Neo sticks have button D connected to both pin 4 (the actual D pin) and pin 9, that's why pin 9 was always high. After removing the wire connecting pin 9 to the D button all the 6 pins are always low.

I'll try this on a 2-slot later.

Razoola
02-07-2006, 01:03 PM
I think I can see whats happening. I actually realise that maybe those pins do not go high, instead they become open to ground (this may be the wrong way to explain it)

For example after patching 0x01 pin 10 only gives a high reading if testing against pin 8, if I test against ground (pin1) I only get the low reading. If I patch 0x00 then I don't get the high reading between pin 8 and 10. Its almost like this pin can actually be controlled to be open as ground I get the same result using any of the other normal button pins in the joy port. Does this make sence?

Raz

MKL
02-07-2006, 01:37 PM
Ahh, I was checking against ground (as I did with the MV-1C). When testing against +5v I get the same result that you posted.

Razoola
02-07-2006, 01:59 PM
This means it works slightly different through the joystick ports then and some small circuit will be needed to replicate what the MV-1B and 1C does?

Raz

MKL
02-07-2006, 07:28 PM
I've finally tried with the MV-1C and the trackball works!

It really makes a world of difference when you play it with the trackball although it's still quite difficult, but at least I could get past the robot stage... :)

bulletnyourass
02-07-2006, 09:22 PM
If only there was a way to play this on the AES with some sort of 3rd party add on or homemade trackball setup. I was looking at the IR Conversion on Ebay. Do any of you know if it's possible to use a 3rd party trackball of some sort to work on the AES?

Phillip

Razoola
02-07-2006, 11:43 PM
I've finally tried with the MV-1C and the trackball works!

It really makes a world of difference when you play it with the trackball although it's still quite difficult, but at least I could get past the robot stage... :)


Excellent, so far so good.

Whats needed now is to get it working on older MVS and AES. Did you see my other post about the difference between the pins on the joy port compared to the 1B / 1C? How hard will it be to make a small circuit to fix that?

Raz

MKL
02-08-2006, 01:33 PM
Got it to work on the 4-slot by connecting the trackball interface harness to the inputs of the hex inverters (74LS06) just before the joy ports. Basically I'm bypassing the LS06. This means it'll work on all the other boards with joy ports, including AES.

Razoola
02-08-2006, 02:41 PM
Got it to work on the 4-slot by connecting the trackball interface harness to the inputs of the hex inverters (74LS06) just before the joy ports. Basically I'm bypassing the LS06. This means it'll work on all the other boards with joy ports, including AES.

Thats amasing :)

I have actually adjusted the unibios so the trackball is enabled by default. It's only disabled if you enable the joystick control cheat. This will solve the problem of trying to set the cheat up.

I think what really needs to be done is to get a controller working directly from the joystick ports. I have had a look though the bios and have worked out that a custom controller board would only need to understand 5 switches from a possible 8.

000 = trackball X or spinner
001 = trackball Y or mahjong controller.
010 = mahjong controller, 2nd stick
100 = mahjong controller
011 = Always has p1 joystick & buttons

The last 3 are easy because its simply 8 lines that can be easily wired. Im not sure about the first because I don't know how a Spinner wires up off hand but if its the same as a trackball Axis then thats simple also. The 2nd will need a jumper on the pcb to choose wether that bank is trackball or mahjong.

A simple diagram of what I mean...

Raz



Gnd St Sl O1 O2 O3 O4 O5 O6 O7 O8 1 2 3
o o o o o o o o o o o o o o
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | ------------------------------
| | | | |
| | | | C |
| | | | |
| | | ------------------------------
| | | |||| |||| |||| | |
| | | |||| |||| |||| ------- |
| | | |||| |||| |||| | D | |
| | | |||| |||| |||| ------- |
| | | |||| |||| |||| |||| | |
| | | |||| |||| |||| |||| - -
| | | |||| |||| |||| |||| B A
| | | |||| |||| |||| |||| - -
| | | |||| |||| |||| |||| | |
| | | oooo oooo oooo oooo o o
o o o oooo oooo oooo oooo o o
Gnd St Sl Joy1 MAH3 MAH2 MAH1 Y X

A = Convert trackball X1 and X2 into 8 bit value (8 lines)
will also convert spinner in the same way maybe?

B = Convert trackball Y1 and Y2 into 8 bit value (8 lines).

C = bank controller, decides which bank goes to neogeo based
on data sent (3 lines in);

000 = TrackX / Spinner
001 = MAH1 or TrackY
010 = MAH2 / 2nd stick
100 = MAH3
110 = JOY1

D Jumper to choose which goes to bank, MAH1 or TrackY.


What this basically means is that using this controller board one could build a NeoGeo UBER controller. On it would be Joystick plus 4 buttons, full mahjong buttons, trackball and spinner. You could also use the same pcb to make smaller controllers (say mahjong or trackball only).

Raz

MKL
02-10-2006, 01:29 PM
I guess there is some PIC (or other microcontroller) programming involved in that?

Little update: the interface harness actually only needs the P1 connections, as you said.

edit: but I think you'll always need to use both joy ports as the IM button is wired to the P2 inputs...

Razoola
02-11-2006, 05:05 AM
I guess there is some PIC (or other microcontroller) programming involved in that?

Little update: the interface harness actually only needs the P1 connections, as you said.

edit: but I think you'll always need to use both joy ports as the IM button is wired to the P2 inputs...

With a custom built controller it could all work from one controller only, there would be no need to use player 2. I'm not sure if it would need a programmable micro controller but it would probably be the easyest way. I'm no expert at electronics so I would not personally know how to design/build the PCB. Making a PCB however does have many benefits over modding to use the original IR controller PCB. I'll List all I can think of now.

- Only one joystick port would be needed
- Passthrough so a normal joystick can still plug in at the same time
- PCB could be used to make a Mahjong Controller
- PCB could be used to make a 2way stick (2 joysticks in one joystick port)
- PCB could be used to make a paddle.
- Unibios control would he easy as one could still use a joystick

I soppose this raises the issue of the best way forward. From what you have done so far its going to be possible to rig it to an AES like you say with a little modding. My question is this. What is the best way to do a mod. I was thinking of a 3rd joystick type port on the AES (not the same shape as the normal ports). This new port would carry the needed 3 lines (1up only) and power for the PCB. Doing this will surely work as you have already confirmed on the 4SLOT. The main problem is using the controller with the unibios. Its difficult because it would need to work from both joystick and trackball (this would not be a problem with a custom controller).

I could make the unibios use the 2up controller for control, the only problem would be directions. For this reason one would need the ability to use a joystick in the 2up port while the trackball is still plugged in. The other option is to simply have trackball support enabled by default and forfit using the unibios cheats and stuff while using a trackball.

Thinking about it there are several ways to do it, one could even reverse the trackball controls so the trackball axis goto 2up and buttons goto 1up, this would remove the unibios having to use the 2up controller as long as you also wired up the up,down,left and right buttons in the 1up port. The only downside here is doing this is fine for AES but it would mean the PCB controller could no longer use the JAMMA on MVS and thus in turn make the system only work on systems with joystick ports (maybe this is not a bad thing if you want the controller PCB hidden away in a controller).

These things need to be decided before going forward because in reality the unibios will only beable to support one kind of trackball. It has to be decided whats way is going to be the best.

My own personal preferance is to build the custom PCB though I have no idea how to build it. Doing this will allow many people to enjoy the game because I'm sure the IR kits are hard to find. Maybe Im simply thinking to hard about the best way to do it, surely the easyest method is to simply enable the trackball by default if this game is used and to forfit unibios cheats.

Raz

MKL
02-12-2006, 07:23 PM
I soppose this raises the issue of the best way forward. From what you have done so far its going to be possible to rig it to an AES like you say with a little modding. My question is this. What is the best way to do a mod. I was thinking of a 3rd joystick type port on the AES (not the same shape as the normal ports). This new port would carry the needed 3 lines (1up only) and power for the PCB. Doing this will surely work as you have already confirmed on the 4SLOT. The main problem is using the controller with the unibios. Its difficult because it would need to work from both joystick and trackball (this would not be a problem with a custom controller).

I don't understand why the AES should be different from MVS boards with ports. Why would an additional port be needed for the 3 lines and power when you could get all that from the standard ports? As of now the trackball w/ official interface could easily be hooked up through the ports of an AES. Not to mention that if a third port really was necessary I doubt AES owners would be enthusiastic about altering the aesthetics of their systems.


I could make the unibios use the 2up controller for control, the only problem would be directions. For this reason one would need the ability to use a joystick in the 2up port while the trackball is still plugged in. The other option is to simply have trackball support enabled by default and forfit using the unibios cheats and stuff while using a trackball.

Or one could access the in-game menu (select and start buttons would have to be available on the trackball controller), disconnect the interface on the fly and set up the cheat options with a joystick, then plug back the interface & trackball. A bit of a hassle but doable after all... I'm not even sure what kind of cheats could be come up with. Invincibility maybe, but wouldn't it defeat the purpose of the game?


Thinking about it there are several ways to do it, one could even reverse the trackball controls so the trackball axis goto 2up and buttons goto 1up, this would remove the unibios having to use the 2up controller as long as you also wired up the up,down,left and right buttons in the 1up port. The only downside here is doing this is fine for AES but it would mean the PCB controller could no longer use the JAMMA on MVS and thus in turn make the system only work on systems with joystick ports (maybe this is not a bad thing if you want the controller PCB hidden away in a controller).

Hmm... I don't follow you here. I thought the MVS boards without controller ports couldn't possibly be used with IM/trackball.


These things need to be decided before going forward because in reality the unibios will only beable to support one kind of trackball. It has to be decided whats way is going to be the best.

My own personal preferance is to build the custom PCB though I have no idea how to build it. Doing this will allow many people to enjoy the game because I'm sure the IR kits are hard to find. Maybe Im simply thinking to hard about the best way to do it, surely the easyest method is to simply enable the trackball by default if this game is used and to forfit unibios cheats.

I don't think I have the resources for building it either. Maybe Jeff Kurtz could be of help here? I would like to hear from him on this matter. I agree that a homebrew interface would be great because anyone could potentially build it and enjoy the game. However, it doesn't sound like it's the easiest thing to build so the question is: how many people will actually be able to build it? And on the other hand I'm not too happy that the original interface would no longer be usable? Is this really unavoidable? Maybe two separate unibios versions could be made available, one for the custom (if it'll ever be made) and one for the official interface? Also, it would be nice if someone had info about the availability of the IM cart: is it rare? Is it found as a loose cart more often than with the kit (esp. the interface)?

RevQuixo
02-12-2006, 08:24 PM
its in pieces... I have that jamma track ball adapter laying around close by, but I havent seen my actual track ball set in a long ass time. Its in a box somewhere, but it would probably be quicker if someone had theirs on hand. RevQuixo, I'm looking at you....?

The only way I'd be able to help out is if I get both a Uni-Bios and the joystick port adapter for the IR interface board to the joystick ports of my MV-1

Raz, if you could whip up a joystick port adapter I would be more than willing to buy it and the uni-bios for for testing. I'm useless with soldering alas. :(

I'd love to be able to jettison the MV-1B it means I can use everything on one board.

Razoola
02-13-2006, 12:02 AM
MKL...

I thought we discovered that the 3 outputs in each joystick port do not work in the same was as expected compared to the MC1B and 1C. On the joystick port they open to ground, on the MV1B and 1C they are high or low. From this some modification is needed internally enless you already know how to fix this externally? Also does pin 8 of the joystick port give enough power to run the controller?

Yea unplugging the trackball and then using a standard stick for cheats and then putting the trackball back in is one way of doing it. One just needs to be careful of the D button wiring if the joyport is going to be altered in any way.

If a custom controller is made it could be possible to use 2 different types as long as a method was built into it to detect it (IE a set value return on a certin bank).

By the way, remember I said that that 3 lines that come from the 2up joystick side may not be needed and you confirmed it? I think its also possible that 2 of the lines from the 1up side are also not needed and only the first line is. Can you confirm this?

I think the best way forward at present then is to base everything off the current IRmaze controller if your not sure how to build one either. I always understood that the cart with controller was always quite hard to find.

Raz

Razoola
02-13-2006, 12:04 AM
The only way I'd be able to help out is if I get both a Uni-Bios and the joystick port adapter for the IR interface board to the joystick ports of my MV-1

Raz, if you could whip up a joystick port adapter I would be more than willing to buy it and the uni-bios for for testing. I'm useless with soldering alas. :(

I'd love to be able to jettison the MV-1B it means I can use everything on one board.

I think its not at that stage yet because MKL has already pointed out it cannot wire into the joystick ports directly as the needed pins work slightly differently.

Raz

MKL
02-15-2006, 08:43 AM
MKL...

I thought we discovered that the 3 outputs in each joystick port do not work in the same was as expected compared to the MC1B and 1C. On the joystick port they open to ground, on the MV1B and 1C they are high or low. From this some modification is needed internally enless you already know how to fix this externally? Also does pin 8 of the joystick port give enough power to run the controller?

This is the little mod I've done to my 4-slot to have high/low values on the joy ports like you have on the dedicated connector of the MV-1B/1C:

http://img223.imageshack.us/img223/5559/s20224453nq.jpg

It can be done on any other mobo with joy ports, including the AES. If it would cause the mahjong controller not to work anymore it would be easy to add the removed parts (hex inverter and resistors) inside the controller itself. But it should also be possible to leave the board unmodded and do an external fix.
As for powering the trackball and its interface from the ports, I think it's possible. On the interface there is only the FPGA and another chip that need power, and another couple of chips on the trackball PCBs. If the wiring from the ports to the interface is kept short and if you get power from both ports I think there will be no problems.


By the way, remember I said that that 3 lines that come from the 2up joystick side may not be needed and you confirmed it? I think its also possible that 2 of the lines from the 1up side are also not needed and only the first line is. Can you confirm this?

Yes, only the 1st line is needed.

Razoola
02-15-2006, 08:59 AM
This is the little mod I've done to my 4-slot to have high/low values on the joy ports like you have on the dedicated connector of the MV-1B/1C:

http://img223.imageshack.us/img223/5559/s20224453nq.jpg

It can be done on any other mobo with joy ports, including the AES. If it would cause the mahjong controller not to work anymore it would be easy to add the removed parts (hex inverter and resistors) inside the controller itself. But it should also be possible to leave the board unmodded and do an external fix.
As for powering the trackball and its interface from the ports, I think it's possible. On the interface there is only the FPGA and another chip that need power, and another couple of chips on the trackball PCBs. If the wiring from the ports to the interface is kept short and if you get power from both ports I think there will be no problems.



Yes, only the 1st line is needed.

Nice one.

I have a concern about the MOD you have done. I could be way off here but I have a worry about the way button 'D' is normally wired and what would be the concequences of that when plugging in a normal joystick into a modded port like you show.

As only one line is needed wouldent it be easier to leave the MVS/AES alone and add an inverter on that one line only externally in the cable?

Also I have not confirmed this but maybe you can. Pin 8 of the joystick port is high and I don't think its wired up as a input (never checked). Maybe +5v can be taken from here with no modding needed to power the PCB? ground of course would go to Pin 1.

Raz

JMKurtz
02-15-2006, 09:10 AM
You guys have made some very good progress since the last time I read this thread.

I haven't looked as my IM kit is still boxed away, but what is that FPGA used for on the controller board? Is that just for the air jets/etc, or is it used for I/O with the trackball?

Jeff

MKL
02-15-2006, 09:19 AM
Nice one.

I have a concern about the MOD you have done. I could be way off here but I have a worry about the way button 'D' is normally wired and what would be the concequences of that when plugging in a normal joystick into a modded port like you show.

Yes, pressing the D button would cause one of the output pins of the LS174 (next to the LS06) to short to ground. This wouldn't happen on my sticks as the D button is only wired to pin 4 on the joystick port (the wire to pin 9 is snipped).


As only one line is needed wouldent it be easier to leave the MVS/AES alone and add an inverter on that one line only externally in the cable?

I'll look into that but then it could be a problem to hook it up to the MV-1B and 1C.


Also I have not confirmed this but maybe you can. Pin 8 of the joystick port is high and I don't think its wired up as a input (never checked). Maybe +5v can be taken from here with no modding needed to power the PCB? ground of course would go to Pin 1.

Pin 8 is a +5v pin so it can be used to power things.

Razoola
02-15-2006, 10:08 AM
As only one line is needed wouldent it be easier to leave the MVS/AES alone and add an inverter on that one line only externally in the cable?


I'll look into that but then it could be a problem to hook it up to the MV-1B and 1C.


Is it not possible to have the inverter built into a new lead without modding the controller PCB? Then you can keep the original 8 line lead (with no mod on it) for the MV-1B / 1C.

Raz

MKL
02-15-2006, 11:31 AM
Is it not possible to have the inverter built into a new lead without modding the controller PCB? Then you can keep the original 8 line lead (with no mod on it) for the MV-1B / 1C.

You mean like a short extension that you add or remove depending on what logic state you need for that line? Sure, it could be done.



You guys have made some very good progress since the last time I read this thread.

But your help would be much needed here: what do you think about the possibility of building the custom interface that Raz pointed out?


I haven't looked as my IM kit is still boxed away, but what is that FPGA used for on the controller board? Is that just for the air jets/etc, or is it used for I/O with the trackball?

It's used for everything but most of the other components on the interface are for the air jets etc. so I'm going to trim down the PCB to make it as small as possible.

Razoola
02-15-2006, 12:47 PM
You mean like a short extension that you add or remove depending on what logic state you need for that line? Sure, it could be done.


Yes it could be something like that or permanantly built into the lead/controller if your only ever going to plug it into the joystck ports.

I think its best to do it so the trackball works off joystick ports which have not been modded in any way. That way the game would work off any AES/MVS with out the need of modding that system first.

I'm quite intrested in seeing just how small you can make that PCB.

Raz

werejag
06-25-2006, 09:54 PM
anymore progress?

Razoola
06-25-2006, 11:45 PM
Not that I know of.

Raz

werejag
07-29-2006, 02:14 AM
monthly post to say im interested in a homebrew interface for IM

Razoola
07-29-2006, 02:44 AM
No more progress that I know of.

Raz

toodles
09-15-2006, 04:45 AM
But your help would be much needed here: what do you think about the possibility of building the custom interface that Raz pointed out?

Doesn't sound that hard. The banking system Raz wants should be easy; interpreting the trackball and spinner into 8 bit values sounds like the hardest part. I'm reading up on the 6 pin molex connectors arcade trackballs use to figure out how to use it.

Raz, can you put in a uber-stick test into the next uni-bios? I can certainly try to build any or all of these, but there is no way for me to test that it's working properly. Regular stick, mahjong controller, trackball, dual/quad stick, all of it, preferably simultaneously and with a setting to choose different specific controllers.

Thanks for the brain candy guys. Between this thread and some mame code, I think I actually figured out how to make a mahjong controller.

Razoola
09-15-2006, 10:47 AM
I would not really want to put such an option in a release build, that said however I can certinally provide you with a custom version so it would display the stuff you need.

Raz

toodles
09-18-2006, 12:31 AM
Well, I can't find any simple 8 bit, tri-state buffers on a single chip, but I can find 8 bit tranceivers, but they all are enabled on low, not high. So, I'm thinking a single 74HCT138 to decode the three line bank select. Each one of the output pins (that were being used in that controller) would go to a single 74HCT245 that controls that bank. That takes care of part C in Raz's diagram. I can throw something together in Eagle if anyone thinks it'll help, but I'm not sure if there's a need.

Does every game poll all 8 banks? With what kind of frequency? I'm assuming once per vblank, but wanted to be sure. I also wanted to be sure that a normal game using just the stick and four buttons would still work fine if it only answered to bank 011. If it always polls all eight banks each frame, that also gives me a known good time to reset the trackball counter between checks.

Can you give me any idea what values IR Maze is considering? Very slow up, very slow down, very fast up, very fast right, etc. The way the arcade trackballs seem to work, it would seem that it probably sends an signed value, not an unsigned one, since the connector has one line horizontal direction, one for vertical direction, and one each horizontal and vertical speed (the ticks of the wheel). Hardware to adjust the 'sensitivity' of the trackball would be rough, so if I can match what the machine is expecting, it'd be easiest. Same information for spinner speed would be cool, but I assume it is the same ranges as the trackball.

werejag
09-18-2006, 04:15 AM
looked at maxim-ic.com ? they have some nice specialty chips

Razoola
09-18-2006, 10:14 AM
Well, I can't find any simple 8 bit, tri-state buffers on a single chip, but I can find 8 bit tranceivers, but they all are enabled on low, not high. So, I'm thinking a single 74HCT138 to decode the three line bank select. Each one of the output pins (that were being used in that controller) would go to a single 74HCT245 that controls that bank. That takes care of part C in Raz's diagram. I can throw something together in Eagle if anyone thinks it'll help, but I'm not sure if there's a need.

Does every game poll all 8 banks? With what kind of frequency? I'm assuming once per vblank, but wanted to be sure. I also wanted to be sure that a normal game using just the stick and four buttons would still work fine if it only answered to bank 011. If it always polls all eight banks each frame, that also gives me a known good time to reset the trackball counter between checks.

Can you give me any idea what values IR Maze is considering? Very slow up, very slow down, very fast up, very fast right, etc. The way the arcade trackballs seem to work, it would seem that it probably sends an signed value, not an unsigned one, since the connector has one line horizontal direction, one for vertical direction, and one each horizontal and vertical speed (the ticks of the wheel). Hardware to adjust the 'sensitivity' of the trackball would be rough, so if I can match what the machine is expecting, it'd be easiest. Same information for spinner speed would be cool, but I assume it is the same ranges as the trackball.

The banks are read very fast... What happens is the game selects a bank, then waits in a loop and finally reads the vaules returnen. The wait loop is a few hundred CPU cycles with the CPU at 12MHZ. For an example here is the waitloop the normal bios uses.

C184F4 6100 000A BSR *+0xC [0xC18500]
C184F8 6100 0006 BSR *+0x8 [0xC18500]
C184FC 6100 0002 BSR *+0x4 [0xC18500]
C18500 4E71 NOP
C18502 4E71 NOP
C18504 4E71 NOP
C18506 4E71 NOP
C18508 4E71 NOP
C1850A 4E71 NOP
C1850C 4E75 RTS

Raz

toodles
09-18-2006, 02:24 PM
Output transition time for the HCT138 (Bank select): 19 ns
Output transition time to enable the HCT245: 49 ns
If that's accurate, then we are looking at it responding in less than a single cpu instruction's worth of time. :) The speed isn't a concern, but the frequency is. Is every bank checked every time by every game? How frequently is it checked? Can you give some example values for the trackball at various speeds?


Whatever circuit is made will have to count the number of speed ticks from the trackball, and reset the counter every so often at regular intervals. I'm hoping that every one of the 8 banks are checked every vblank, so I can have the bank after the trackball Y bank reset the speed counter, and similarly with the X speed counter.

Razoola
09-18-2006, 03:26 PM
All banks are not checked, it depends on the game. I can't really give any sample values because I don't currently have a trakball myself. Normally the trackball x and y axis are read once per frame though.

I dont understand why the counter needs to be reset?

Raz

toodles
09-18-2006, 04:03 PM
The trackball spins the slotted wheel between a LED and receiver. The light goes through the slots, sending the line low when light hits the receiver, and high when the light is blocked. The faster the ball is spun, the faster (higher frequency) the 'clicks'. So, if you want to know how fast the trackball is going for the next frame, you reset the counter to 0, let the clicks kick up the counter, and then check at the end of the frame, and repeat. If the ball is going at a constant speed, let's say 100 clicks, then there will be 100 clicks on every frame. If we don't reset the counter, the counter will be constantly accelerating, even though the ball is at a constant speed. 100, 200, 300, 400, etc.etc. speed = distance/time. Counting the clicks gives us the distance, but only by resetting the counter at regular periods can we get the time.

Can you tell me what values are sent by the joystick hack to IRMaze, with and without the BC buttons pressed?

Razoola
09-18-2006, 11:34 PM
Values written are 01,02,03.

The problem here is the trackball hardware sends the values and the NG hardware converts them. I miss out this conversion and only use end results so I don't know the actual values given by the trackball.

Looking at the code it only seems to change the banks between 00 and 01, it does not read other banks after so you could not use that to reset the counters. Why not simply reset the counter an x ammount of time after the bank is selected?

Raz

Nightmare Tony
01-10-2010, 12:19 AM
am interested. Got an IR cart and 1C for it but no extra sub board. Been too busy to try and get it going with a trackball. Sigh. Will be watching out here...

TheNewGuy
05-12-2010, 03:54 PM
i have windjammers for my neogeo BUT the time limit and the point limit is WAY to short is there any bios that will help me extend the GREAT game i mean its over WAY to fat:hammer:

Xian Xi
05-12-2010, 03:55 PM
Set it to Japan.

TheNewGuy
05-12-2010, 04:21 PM
that did nothing

Xian Xi
05-12-2010, 05:43 PM
Sorry, Japan is for a higher score limit. If you want to change time limit go into your soft dip settings via your test button. If you have an AES you need a unibios and set it to arcade mode then change the softdips or use the cheat menu.

TheNewGuy
05-14-2010, 03:32 AM
Sorry, Japan is for a higher score limit. If you want to change time limit go into your soft dip settings via your test button. If you have an AES you need a unibios and set it to arcade mode then change the softdips or use the cheat menu.

that is what i want a higher score limit past 15 and a higher time limit whats the latest uni-bios?

Xian Xi
05-14-2010, 04:38 AM
that is what i want a higher score limit past 15 and a higher time limit whats the latest uni-bios?

Post in this thread (http://www.neo-geo.com/forums/showthread.php?t=187260) for any Unibios questions. This thread is specifically for Irritating Maze.

distropia
02-23-2011, 05:34 PM
Any advance?

It's more than 4 years since the thread was created and we don't have any homebrew interface sketch yet.

Neo Alec
02-23-2011, 08:46 PM
I read through this whole thread recently and was surprised to find it was never resolved. I thought someone had achieved trackball support through this method already. I guess it's too complicated to expect to just buy any old arcade trackball and expect to have a way of wiring it up.

Hewitson
02-23-2011, 10:01 PM
It probably is, I'd expect different trackballs would have different interfaces and sensitivity levels.. However it shouldn't be difficult to make an interface for one particular model of trackball eg the Happ ones.

Mendel
12-10-2012, 11:58 AM
Received unibios 3.1 and it is all about awesome. I can even enter into the ingame menu with start+a+b+c. I didnīt know that would work, I was worried I would have to make and wire a select button :)

Pedrobear
10-31-2014, 11:58 AM
Bump worthy?


https://www.youtube.com/watch?v=sS1Ec9I584s

Razoola
10-31-2014, 12:18 PM
For sure!

bulletnyourass
11-04-2014, 09:03 AM
People have been talking about having a Neo trackball for years. Glad to see someone has done it. Very impressive work.

Phillip