Bacteria's project: "Project Unity"

Discuss all hardware and software modifications
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

Tried to get my NeoGeo board working, getting garbled graphics, so asked on Neo-Geo.com forum if they can help: thread is HERE

If I can't get the image on the screen working then I will have to miss the NeoGeo from my Alpha Omega project, the boards and games are too expensive to replace.
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

NeoGeo board seems dead, RAM issues. Nevermind.


Decided to try again at proper diagonals for the Intellivision controller before incorporating the pad of diodes I made before into a controller case section for this project; you may remember that because the Intellivision uses multiple contacts on its matrix, to get 16 way on the controller and also the 12 keypad buttons and shoulder buttons too, using a d-pad doesn't produce diagonals in gameplay like it does on other consoles.

The only way without using logic chips is mechanically. I remembered that the GP2x uses an 8 way digital joystick; opened it up to get the orientation as good as can, here is what it looks like inside:

Image

Here is the datasheet HERE

May or may not work but it should be ok, as the contacts are separate and unique, one contact plus grounding, as per usual. This means I can physically wire up the diagonals as separate contacts, which will yield proper diagonals.
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

Ok, tried the GP2x digital joystick, had lots of trouble trying to work out the 2nd ground for the 2nd set of 4 contacts, didn't seem to work. I should have kept the joystick on the GP2x board and cut it out through the motherboard.

Not really an issue, the GP2x stick was notorious for being inexact as although the internal contacts look ideal, the way they get struck with the internal pins in reality means some of the directions get more coverage than others, so in other words it can be a bit hit and miss on accuracy; this is why the GP2x MKII version had the joystick rotated for the diagonals to be the left, right, up and down; still wasn't ideal but was "playable".

Tried making a mechanical version, home made, would work from what I started to make experimentally but would need to be made smaller - rather than bothering, decided not to go for a home-made 8 way digital "joystick" but to go for the better solution - so bought some IC chips off Ebay, some AND and some XOR logic gates.

The issue is that the left, right, up and down each use a different pin, fine, and if you press for example up and right both these contacts are fine - good. The issue however is if you only press up or right the other contact needs to be ground, however if up and right are pressed (ie diagonal) you don't want ground as the 2nd contact but a different pin entirely; this gives a true diagonal in the Intellivision.

This means in practice that I need an AND to say "If up AND right are pressed at the same time then use pin 6", and an XOR gate to say "If up OR right are pressed (ie not at the same time) then use pin 1 (ground) however if both are pressed at the same time, do nothing".

I'll let you know how this goes and if it works. If it works, perfect, if not, then i'll either put up with NEE instead of NE for a proper directional diagonal, or try a home-made 8 way digital joystick.

It's worth the effort and delay it might have in making the 3rd controller section for the Alpha Omega system - the Intellivision, especially as it should make more games playable on that console than the alternative.
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

Got my AND and also XOR logic IC chips today for the Intellivision; will be interesting to see if I can get them to work or fail, as is quite usual for me! Will be nice if it works!

Also, as NeoGeo is out now and it would cost too much to get a new board, etc; you may remember I was mentioning about modding the Xbox (original) I have to softmod it - I only intend to play original Xbox games on it, however would like to play MAME and NeoGeo on the Xbox. Softmodding an Xbox is not easy and is a fair bit of hassle if you are new to it so I gave up reading the instructions in the end; however, bought a DVD off ebay (it was listed so as not to get attention) which is supposed to contain all the programs and guides needed for this process, so in time, i'll let you know how it goes. The way I see it is that i'm only going to use it for NeoGeo (SNK went into liquidation years ago) and MAME (old original '80's games so not "current") so no issues with that. From what I understand, softmodding your Xbox basically reverts it back to being a PC which is after all what an Xbox is. I'll give it a go anyway!
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

One nice update - got my AND logic IC chip gate working, need to make it prettier; and also do an XOR logic gate too.

I'm going to make this into a video, as there are a number of uses for using logic IC chips, for example, screen controls without dedicated buttons, region free mod for TurboGrafx, maybe also how i'll separate all the connections to the controller wiring in my project, etc.

Lots of work to do yet, when done, hopefully the video i'll make for this will help others too.

Posted on an electronics forum as well as PCengineFX forum for help as I got stumped for a while working it all out.

This will help in getting proper diagonals in the Intellivision controller.
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

These were the sources of the information I needed to get the AND gate working BTW:

(link given by the electronics forum)
the electronics forum (Electronics Point)
PCengineFX forum

(just in case you're interested in this too). It was rather confusing, after some experimentation and head scratching got it working.

Problem though is this - normally a button contact needs two things to work as we all know - the button contact and also ground; when both contacts are made the button makes circuit and "works". The logic gate chips (74HC08) work differently; one of the tact switch button contacts is to the 5v off the chip (you need to feed 5v into the chip) and the other contact into the logic line; you also need to use a pull-down resistor on both tact buttons too to ground (that's the part that I didn't know). The circuit works by adjusting the voltages depending on your button presses and deciding if they are "high" or "low" to determine the logic output. I'll explain more later, to keep it easy to follow. What this means in practice, is there is no issue using a dedicated d-pad for Intellivision and getting proper diagonals, however would be very messy trying to use a d-pad when used for usual d-pad activity - you're likely to get shorts for example and nothing working. More experimentation needed, more delay, however a good video will come out of this process when done.
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

The above is for voltages not data logic, I need logic for data lines; so i'm stumped again. I'd like to get the Intellivision to move proper diagonals if I can! It might also be useful for separating the many controller lines if they end up conflicting, so I have a dual use for this if it can work.

The below is a diagram I made which hopefully communicates what I need; anyone know how to achieve this and what I need and how to wire it?

Image
I am the Bacman
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

So, just so you don't think Ol' Bac has been at the wine gums again, here's what I mean:

On a controller joystick, it is mechanical inside; you have a central shaft (the joystick) which is inserted through two semi-circles of metal or plastic which move in relation to the X and Y axis the joystick makes. These sections are connected to pots or wheels (on the official N64 one) which then vary the signal data along the wires to tell the controller the minute differences since the last reference so it knows what the user has instructed the joystick to do.

For digital buttons we don't need analogue signals, either a signal is on or off. What I need to do though is have two wires next to each other in the up, down, left and right positions, one for ground and one for the direction. For the diagonals, i'll use three wires, denoting the two directions (eg up and right) and the other "grounding" which will provide a proper diagonal. It would be possible to make 16 directional joystick this way, but that might be pushing my skills on working with the tolerances available (if you can have 16 way then you can replicate all the directions on an Intellivision of course). The main shaft will be covered in metal to make contacts against the wire contacts and allow them to connect to each other to denote a direction.

This is a mechanical approach to the problem and will work, providing I can work with such small components in the way I need to and also get the contact area for a direction reliable and proportional to its neighbours.

I don't think anyone has done this in the past, so will be a nice little "unique" guide if it works out ok.

In this pic you see three joysticks: official N64 one (on right) with the internals opened up and the white backing plate cut through to expose the shaft area - it would be usable, just, although quite big it would also be easier to mod in some ways. The on on the top left in the clear casing was from a generic PlayStation joystick, no idea what the brand was; nice thing with this one is it's intact and ready, I just need to cut the base part off (it's springed and ready), downside is its quite tall overall, maybe too tall; and on the bottom left is a GameCube joystick; very small, this one self centres because of a spring loaded backing that keeps the black plate in place, if I used this one the joystick would not be centred so probably not ideal.

Image

So, i'll need to make a decision on which one to use and give it a go for modding. For the purpose of testing, i'll use LED's of course, so I know what connects is working as it should.
I am the Bacman
User avatar
CRTGAMER
Next-Gen
Posts: 11933
Joined: Tue Jan 05, 2010 11:59 am
Location: Southern California

Re: Bacteria's project: Alpha Omega

Post by CRTGAMER »

Right now you have a modular drop-in for the Analog controller, removed for the digital control only systems. Maybe go with different drop-in analog sticks for various systems? A concern of different pot ranges of the different consoles.
Image
CRT vs LCD - Hardware Mods - HDAdvance - Custom Controllers - Game Storage - Wii Gamecube and other Guides:
CRTGAMER Guides in Board Guides Index: http://www.racketboy.com/forum/viewtopi ... 5#p1109425

Image
Image
User avatar
bacteria
Next-Gen
Posts: 1524
Joined: Fri Jun 20, 2008 7:05 am
Location: Hampshire, England

Re: Bacteria's project: Alpha Omega

Post by bacteria »

No, this unit will only be for Intellivision, all other consoles i'm aware of work 8 way on d-pad no issues. Consoles that use joysticks use similar pots, so no issue.
I am the Bacman
Post Reply