Jump to content
IGNORED

Stelladaptor 2600 to USB Interface


Albert

Recommended Posts

We tried to keep the costs down while designing the device. A lot of time, effort, and money went into the prototyping and production. I personally feel that $30 is an exceptional price given the small quantities and the time it takes for myself and AtariAge to support the product.

 

There are lots of hacks out there that you can do yourself to build a USB joystick adapter, and we're not forcing anyone to buy this. But, I haven't seen anything that will support paddles or driving controllers, and that's where the key design features of the Stelladaptor came in.

 

We designed it in such a way that emulator developers can easily support the device and I think it will make big waves for classic gamers. Stelladaptor has automatic controller detection which will change the data sent in the USB packets on-the-fly. Our manual has technical information about the USB data for easier developer support.

 

As with everything I design, I only design it if I myself personally would want to use it. I take great pride in my work and I know AtariAge takes great pride in manufacturing and distributing my products.

 

Being a hobby, it's not an easy task to balance money and time, but we're trying. Now, if someone wants to come along and pay us wads of cash so we don't have to worry about paying rent and buying food, then maybe we could just give the units away.

 

Joe

Link to comment
Share on other sites

Is there anyway we could get a progress report on the macstella if someone were chosen to test drive it?? Or can we get an update weather it works with OS9.x or OSX?

 

MacStella is currently at v. 1.2, and it runs under OS 9 and OS X. It's main drawbacks are:

Lack of support for illegal opcodes used in a number of homebrew games

Partial Pitfall II support (music is partly missing)

Lack of support for more than one paddle

Lack of any sort of keypad support

Poor performance when your monitor is set to >256 colors (a big problem in OS X, unless you have a 1GHz+ G4)

 

 

Back to the topic at hand...

 

I think the price is very reasonable. It's cheaper than going out, finding the parts, figuring out the technical end of things, and building one from scratch, that's for sure.

 

I built and sold arcade spinners for a short time, and any sort of project like this takes tons of time (and more money than you ever expect it to) just to get the first one working, much less figure out how to manufacture a bunch of them. Even if they make a little money selling them, the R&D costs and time will almost certainly never be recouped.

 

So thanks for going through all the work to make these. And also thanks for the responses to my earlier post.

 

I'm a little surprised about the trackball though, I've built a trackball using arcade parts and a gutted USB mouse, and it worked like a charm. But perhaps there's more overhead involved with the circuitry in the Atari trackball going through a USB device, then just wiring it directly.

Link to comment
Share on other sites

Trakballs are not supported, basically because the resolution required is very fine compared to the relative "slowness" of USB.

Is it really that slow? I suppose you are using USB 1.1 because it is probably (much?) cheaper, but how about 2.0, would that work?

 

BTW: Great job! :thumbsup:

Link to comment
Share on other sites

There are lots of hacks out there that you can do yourself to build a USB joystick adapter, and we're not forcing anyone to buy this. But, I haven't seen anything that will support paddles or driving controllers, and that's where the key design features of the Stelladaptor came in.

 

This is what I was gonna say. There are quite a lot of 9 pin joystick -> PC adapters already out there, but this is the first one I've seen that will also support paddles. I've been tempted to get something like this for a while from eBay etc, but haven't bitten. Guess now I will :)

 

Hopefully this will work with the C64 emulators (CCS64, Vice) properly, then I can really try those C64 classics when I need to emulate. Might even be a way for people to play the paddle needed C64 carts (Seawolf, Super Smash etc) on emulation too! Has anyone tried testing that yet btw? :P

 

Guess I will put myself down for an order once someone answers the Q ;)

 

Oh one other thing... presume it comes with a USB cable to connect the adapter to your PC?

Link to comment
Share on other sites

Trakballs are not supported, basically because the resolution required is very fine compared to the relative "slowness" of USB.

Is it really that slow? I suppose you are using USB 1.1 because it is probably (much?) cheaper, but how about 2.0, would that work?

I had no idea trackballs (at least the 2600 trackball) generated any more data than two driving controllers. There are certainly high resolution USB mice and other such devices out there....

 

But, you can obtain USB trackballs quite easily and some are probably better made than the Atari one (I like my Logitech trackball...) The buttons are another issue, but I have my Hot Rod SE for that :D

 

To whomever was asking about the C64 stuff, if this thing is actually a HID compliant device it should be trivial to get it working under Windows or Linux at least (assuming CCS and Vice use DirectInput and/or SDL.) Driving controller = mouse with one axis, paddle = analog joystick axis, everything else = buttons that can be mapped to keystrokes or whatever.

 

I kinda look forward to playing Pacman, Galaga, Mappy et al. in MAME using an Atari stick for the first time ;) Of course my thumb may regret that later.

Link to comment
Share on other sites

I had no idea trackballs (at least the 2600 trackball) generated any more data than two driving controllers.  

:idea: They usually generate a lot more data.

 

The DC produces only 16 signal changes during a full 360° turn, so you need to check it only once/frame (though you may loose on very rapid twists >22.5°/frame).

 

The trakball resolution is way higher (though I don't now it exactly). Therefore you have to check it multiple times/frame (just like the paddles). E.g. my Missile Command TB hack checks ~40 times/frame for each direction.

 

If you open a trakball or and Atari/Amiga mouse, you can count the holes in the light blocking wheels. My Amiga mouse has about 30 of them and you can spin the wheel multiple times each second.

Link to comment
Share on other sites

Well, that's still in line with what a mouse generates, no?

 

When I was setting my linux box up to use 2 mice at once (long story...) at one point I did a hex dump of /dev/mouse with a USB mouse hooked up and it started throwing dozens of bytes when I so much as blew air at the mouse. Serial mice typically operate at no more than 9600bps, and USB1.1 is 1200000bps by comparison.

 

I could understand if the stelladaptor's using a PIC that can't handle a rapidly changing signal though. Only so much you can do with 30 bucks for a niche item like this.

Link to comment
Share on other sites

Well, that's still in line with what a mouse generates, no?

Yup.

 

I could understand if the stelladaptor's using a PIC that can't handle a rapidly changing signal though.  Only so much you can do with 30 bucks for a niche item like this.

Makes sense.

 

Though I have no idea about hardware (PIC?). :)

Link to comment
Share on other sites

@Rob: Yes, there is +5V at pin 7. It's current-limited, though, since the Stelladaptor is powered by the USB port.

 

@Thomas: We are using USB 1.1. We're not THAT high tech yet for USB 2.0 (my machine doesn't support it :)

 

@MayhemUK & @Raindog: Yes, as Raindog mentioned, the device is HID-class USB game controller compatible, so if the emulator software supports that (using DirectInput or whatever), the joystick will work without change. The paddle should also work without change. The driving controller is actually NOT treated like a "mouse" like someone said - it is four joystick positions that represent a 2-bit Grey code, so emulators will need to be modified to support this (like z26 will be when the new version is released at PC5). More information on the USB specs of the device and what data is transmits are in the Stelladaptor manual.

 

@Everyone: Thomas gave the explanation to why Trakballs produce a lot of data. If Eckhard Stolberg is on the forum, he can explain, too, as we were discussing adding Trakball support when I was working on the hardware. Aside from the resolution issue, which would be to slow for the emulator to properly process it (@raindog, the PIC is fast enough for it, I assume, it's running at 24MHz), we couldn't figure out a reliable way to have the Stelladaptor auto-detect the controller along with all the others. And, adding a switch or button was not part of the design - I wanted this to be as simple and easy to use as possible (e.g., Plug and Play). Now, if we come up with new design features in the future, the Stelladaptors can always be upgraded by sending them back to AA, but we haven't come that far and haven't decided on that, but it IS possible.

 

Hope that helps.

 

Joe

Link to comment
Share on other sites

MacStella really needs to be updated, the current version is a Carbon app and does not support the HID Manager.  It's also based on an older version of the Stella source and could really use an update there also.  :)

 

..Al

I'm working on it :)

 

I switched from OS/2 to Mac last year when a friend gave me a 450 G3. I've recently downloaded the 1.3 source and have been reading up on programming for the Mac. Anybody have any pointers to send my way?

 

here's my OS/2 port if your interested in seeing what I've done before. It's a couple versions behind because my compiler for OS/2 didn't support some of the code the later Stella releases used.

Link to comment
Share on other sites

Though I have no idea about hardware (PIC?). :)

Peripheral Interface Controller, is how it should be expanded in this case, I think. (There's also Programmable Interrupt Controller, but that's a motherboard component.) I'm not a hardware guy either, but I know a lot of them. Programming PICs and other microcontrollers is kinda similar in some ways to programming the 2600, and might present a challenge to those who have already mastered 2600 programming ;)

 

http://www.seattlerobotics.org/encoder/may...97/picchip.html

 

You can even get a microcontroller that lets you program it in (compiled) BASIC, though obviously it's quite a lot slower.

 

http://www.parallax.com/html_pages/product...asic_stamps.asp

 

If I could solder, I'd probably be dangerous.

Link to comment
Share on other sites

@Thomas: We are using USB 1.1. We're not THAT high tech yet for USB 2.0 (my machine doesn't support it :)

I still would use my old P120 if it hadn't died last summer. :)

 

@Everyone: Thomas gave the explanation to why Trakballs produce a lot of data. If Eckhard Stolberg is on the forum, he can explain, too, as we were discussing adding Trakball support when I was working on the hardware. Aside from the resolution issue, which would be to slow for the emulator to properly process it (@raindog, the PIC is fast enough for it, I assume, it's running at 24MHz),...

So this is basically a software problem, right? Maybe this could be solved in the future.

 

...we couldn't figure out a reliable way to have the Stelladaptor auto-detect the controller along with all the others.  

Hm, the trakball uses (exactly/almost) the same encoding as the DC (just faster). Is that the problem? :ponder:

And wouldn't the faster speed help to make the difference? :?

Link to comment
Share on other sites

@pmpddytim: We made 250 units for our first run.

 

@Jess: If the later 9-pin controllers are 2600-compatible, then yes, they will work. The pinouts need to be compatible with what the Stelladaptor is looking for. Future support could be added depending on if we can come up with a clever way to do auto-detection of that particular controller.

 

@Thomas: From what I understand, it is a software/emulation problem. Reading the data from the trackball and sending it over the USB interface is not an issue. Also, we spent a lot of time designing the product for joystick, paddle, and driving controller and didn't want "feature creep". We wanted to make sure we had a solid, bug-free device - trackballs can also be supported fairly well by mice (especially the larger Trakball mouse), so it wasn't a completely necessary feature for the product. The joystick, paddle, and DC were.

 

Here are some quotes with an earlier private e-mail with Eckhard Stolberg regarding Trakballs. This might help to clarify. But, wouldn't it be better to focus on the things the Stelladaptor CAN do? The product is already done right now :)

 

The Trak-Ball in joystick mode only send the normal "joystick pushed right" message, as long as the ball is spinning right. In Trak-Ball mode it works like a normal PC mouse. There are two types of Trak-Balls. One is compatible with the ST mouse. This is basically like a 2-axis version of the driving controller, but with a much higher resolution. The other type has a

different protocol, which I don't quite remember.

 

and

 

I think Thomas' hacks of Missile Command read a new value every 8 scanlines, and you can still spin the ball fast enough to confuse the handling routine. But even if your adapter was fast enough to produce that

many values, there would still be problems with the PC being fast

enough to handle that many updates for a "joystick" and with

synchronising all the reads with the emulator. For the driving

controller this isn't a problem, because you only need a new value

once per frame and the emulator already syncs with the display.

 

The Stelladaptor sends a USB data packet every 10mS if it detects a change in movement of the controller.

 

Joe

Link to comment
Share on other sites

Wow - this sounds fantastic!! I'll be buying a couple for sure.

 

Here's a question:

 

Can you use the Driving Controller to play Tempest on MAME??? That would be awesome!!! If not, I know that it's a software issue and that MAME would have to be updated to support it.

 

Great job to Joe, Albert, the staff at Pixels Past and everyone else involved in finally bringing a product like this to the mainstream!! It's much appreciated!

 

Thanks,

Link to comment
Share on other sites

Can you use the Driving Controller to play Tempest on MAME??? That would be awesome!!! If not, I know that it's a software issue and that MAME would have to be updated to support it.  

 

Currently MAME doesn't support the Driving Contoller data from Stelladaptor, but it should be trivial for developers to update MAME. It works great with the upcoming version of z26 with Indy 500 :)

 

Great job to Joe, Albert, the staff at Pixels Past and everyone else involved in finally bringing a product like this to the mainstream!! It's much appreciated!  

 

Thanks! We hope you like it :)

 

Joe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...