Jump to content

Cupcakus

Members
  • Content Count

    1,088
  • Joined

  • Last visited

Posts posted by Cupcakus


  1. Well first of all :-) I am working on the first 4 player game to use 4 joyticks at the same time. My idea was to create a 4 player game all the time, but originally I was going to have the players switching controllers around... then it came to me to build this switch. Now that I have everything set to go I plan to release the switches as a package with the game. Kind of like the controller that came in Star Raiders. It shouldn't affect the price all that much, but it will probably be the most expensive homebrew ever sold, just due to the fact you have to buy the switch with it.

     

    I will also sell the switches cheap by themselves as well as free plans to make your own, so other developers can encorporate them into their own 4 player game ideas.

     

    Prototying is super easy, production is going to be a pain. :-) As far as Beta testing the game, that's a problem. The game is looking like it's going to at least be 8k. Which puts the Supercharger out as a testing device... plus, no Emulators are capable of emulating the switch... I'm going to have to get with some of the emulator developers to work it in.

     

    But don't fret... In about 3 to 4 months I will *hopefully* will have the best party game the 2600 ever laid eyes on.


  2. One other advantage of this design that you can read the joystick inputs just like you normally would. That might help getting support from other programmers as well. Also, since all joysticks are read from the same port, you could probably write a generalised routine and save some ROM space.

    Ciao, Eckhard Stolberg

     

    I'm waiting for parts to test what I think is my "slow" idea. The IC above lets you poll 8 different sticks through the same port which you may be able to do all of them during the same frame... My what I *think* is going to be slow switch works exactly the same way, but because I'm only splitting it to 4 sticks the unused port can be set to all output, eliminating the need for the IC. So for example

     

    Port 2

    0001 - Player 1 stick on

    0010 - Player 2 stick on

    0100 - Player 3 stick on

    1000 - Player 4 stick on

     

    You can then, inside the program, read all four joysticks as normal input, by simply enabling the one you want to read. This however seems slower to me than my original idea. It will definetly be just as fast as the above circuit that's for sure, which gives me high hopes... Maybe I won't have to design a faster version.


  3. The advantage that it has over your design is that it would also allow diagonal movement. Also you could add support for a second joystick button through the input on the second controller, and then use Genesis joypads or Amstrad joysticks. Also you could probably toggle between the joysticks through a simple "INC SWCHA" instruction. And if you haven't factored in the cables and plugs into your calculation, then maybe building the more advanced adapter isn't that much more expensive than your design.

     

    Mine will support diagonal movement eventually. The low-performance design I'm using for my game supports all movements, but it can only poll one stick per frame. The low performance one requires only cheap wires... no circuitry or IC's, which means my cost is only for the cables, which should make it very inexpensive to reproduce.

     

    7200 Support is not my top priority at all... I don't even own one... While it would be nice to have it support both consoles, the 2600 is my main objective.

     

    I have already factored in DB9 cables and plugs.... I'll have to see how much Genesis cables are going to cost. The 74LS138 design you're talking about is an over complicated design of my low performance adapter. Basically all the joysticks are coming into one port on this multitap. So you have to change the SWCHA output to enable another joystick, and then read that Joystick. That is slowwwwww, the 74LS138 is a really fast chip however, and may help matters.

     

    My high performance design is much faster as you can read two joysticks each time you poll, so the SWCHA bit only has to be changed once to read the other two sticks. The circuit above has to change it 8 times, once for each stick. While my design only supports 4 sticks, it should be well over twice as fast which should make upcoming killer games like true 4 player Guantlet and such, easily possible.


  4. Is the Atari cable standard DB9? Will a PC DB9F cable fit in the atari joystick port. Can someone let me know, I have no Atari's here at the office to see :-)

     

    Thanks!


  5. Player 1 pushes up.  Signal heads to the multitap and passes straight through with no translation ("rewiring").

    Player 2 pushes up.  Signal heads to the multitap where the signal is then translated from normal "up" to "up+down" (or any desired combination).  Signal is then passed on as up+down to the VCS, leaving the game to simply determine what to do with an up+down signal.  The only other thing you'd have to do is possibly interlace polling between ports so that the game only recieves one signal from each real port at a time.  (i.e. poll VCS stick during the first VBL to recieve signals from multitap sticks 1 and 3, then poll again during the next VBL to obtain data from sticks 2 and 4).  With a little fancy footwork you could even poll twice per VBL for double the sampling rate.

     

    I tried this at first and it doesn't work in theory. The data bus for each controller's directional data is only four bits wide, (IE: Four switches in the joystick). So the only impossible combinations for the joystick are Up+Down and Left+Right. So take this example.

     

    Normal Controller Output

    Up 0001

    Down 0010

    Left 0100

    Right 1000

     

    Multitapped Controller on Same Port

    Up 0011

    Down 1100

    Left ?1110

    Right ?0111

     

    We can use 1100 and 0011 because those are impossible combinations on a regular joystick but there are no other impossible combinations... What's worse is if player 1 presses Up and player two presses left you'll get 1111 which could mean anything, P2 right + P1 Right produces the same result. The only way to determine which stick to read is to tell the multitap to turn one of the two joysticks on the port on and the other off, then you can read everything from the on joystick and not worry about the off joystick contaminating the data. Switch the on Joystick every VBlank and you've got a working solution. The only way to tell the multitap to turn on and off the joysticks is to set at least one line to output. Make sense now? I'm not very good at explaining these things :-)


  6. Basically here is how it works technically.

     

    We'll use only the left controller port for this example. (Left nibble of SWCHA)

     

    I set D7 of SWCHA to output, which when a 1 is written to, causes +5v to emit from the D7 pin.

     

    The switch has 4 simple transistors for each input on each controller. If D7 is +5v then the transistor lets Player 3's inputs into D7 D6 and D5 of SWCHA. If D7 is 0, then the transistor allows current to flow from Player 1's controller. It's a brutally simple circuit. I originally was looking for a cheap IC that did this, but I realised the circuit is so simple, why not just do it myself with cheapo Radio Shack stuff. The player 2 and 4 switch is the same. And it does take a little bit of wiring. But much cheaper than manufacturing a PCB

     

    And because now the inputs are only 3 bits wide, I had to change how you check for inputs.

     

    U X100

    D X010

    L X001

    R X110

    P3 Fire --> The switch doesn't support this yet.

    The X is the output bit

     

    The results are unreliable unless you give at least a blank of time between resetting D7, so the movement has to be interlaced between frames, which makes super fast games hard to accomplish. I'll post my circuit in the next couple days...

     

    Now the trick is making it affordable. The radio shack parts are like $2.50, the problem is the Atari ports and cables, I used ports from a junk atari I had, does anyone know where i can get super cheap ports and cables compatible with the 2600?

     

    PS. I said fancy coding because it didn't work until I interlaced it... I'm sure a code wiz could make it work faster, but I couldn't.


  7. Yes in-deed that is what it does. I'ts not very reliable at the moment though, it's hard to get the atari to sync with it. I'll spend a few days refining it and then I'll post the results.


  8. The images I posted above are from the hard level... It's not that hard to ditch the humans.. With the button pressed ET runs much much faster than the humans.

     

    I doubt its possible however with difficulty set to pro, where the humans move light speed.


  9. About a week or so ago, I posted a question to the list.... wondering what I should do with my four player game... I couldn't figure out if the 4 players should just trade off the regular joysticks when it wasn't their turn... or if I should use the 4 paddle controllers and limit the excitement of the game due to each player only having one axis of movement.

     

    It came to me in a dream....

     

    I designed a four port extention for the 2600... It allows four players to play simultaniously! It cost me about $3.00 to make the prototype and with some fancy code work I got four controllers working at once... I'll post pictures as soon as I find where I packed my camera. Reading every joystick is not super fast so a big 4 player fast action game won't work, but it will work for just about everything else. My test went very smooth with four Combat tank sprites.

     

    I plan to package it with the game when all is said and done...

     

    If anyone might want to write their own 4p game, let me know and when I get some time between everything else, I'll get a site up showing how to build the extension and code for it.


  10. Rich I looked at all of your posts and I cant find at all where you posted about where you found the parts to restore your sixer. Can you post that info if it is a public source.

     

    I've got some sixers I want to fix up myself, but I don't know where to buy new parts.


  11. You have to find the place somewhere in the Green areas (With the pits) that makes an alien ship Icon appear. once there, press fire to call the ship. A timer will start and you have that much time to be standing at the landing site in the forest. When the timer expires the ship will land and pick you up if you are in the right place.

×
×
  • Create New...