Jump to content

Recommended Posts

So now that Thomas and Omega have done the previously thought impossible feat(s) of adding Trak-Ball support to 2600 Centipede, Millipede, and Reactor, do you guys still think it would be impossible to do the same to 2600 Crystal Castles without substantially rewriting the source code to support an additional support chip like the DPC/ARM?

Share this post


Link to post
Share on other sites

I only had a very brief look at Crystal Castles and found no free time in the kernel. So I would expect a major rewrite. And as soon as DPC/ARM is required, a complete rewrite would be most likely much more effective.

Share this post


Link to post
Share on other sites

I too looked at briefly. It didn't seem practical unless you alternated drawing the playfield on say even frames and then all the objects on odd. But i didn't look to long. I didn't want to try that approach either. Too much flicker.

Share this post


Link to post
Share on other sites

I just re-read this. The original game does this also, and I think it's to help the player beat their score. It uses your last score to decide where to start so it won't allow you another whack at 60000 if you died before that on your last score. I think it works fine like it is. :)

Yeah I figured out the formula for the maximum starting score. Take the score earned in the previous game session, and round down to the nearest integer multiple of 15,000. Subtract 15,000 from the result. That is your new starting point score. So every game play session you need to score a minimum of 15k points without a game over in order to resume a new game from the same starting score as your previous attempt. The lowest possible maximum score is 30,000, meaning you can start at 30,000 points even if your previous score attempt was zero. I have no idea what the upper bounds on the starting starting score is. You also earn an extra life every 15k points as well.

 

After I scored 129,000 points, I pasued for a breather. I was able to restart a game on 105,000. Then I totally started sucking badly and failed to earn 15k and restarted my next successive rounds on 90,000 and 75,000. I think at some point I just shut off the system and called it a night. Being "in the zone" is apparently a real thing with arcade style games. I can have a great game for one session then suck terribly at it on subsequent attempts. This is especially true with pinball games, real or simulation. I might have for instance five plays that fail to break 100,000, then score several millions like it's some sort of fluke.

 

I think what separates pro players from the amateurs is the ability to immediately find their "zone" and never lose it. Sometimes I'll completely lose focus of my surroundings for a bit only to look up at the score and say "holy crap, that's huge" then immediately lose my remaining balls / lives. I guess it's a psyche thing. :P

Share this post


Link to post
Share on other sites

Would you really have to roll the ball in a specified direction to autodetect? Without actually having to prove it, I can speculate that polling the port at a fast enough rate would allow you to detect specific patterns. If it were just a matter of detecting CX-22 (decoded) vs CX-80 (raw Gray), you might be able to figure it out. Not sure about that scheme that dumps Gray code, but puts the bits in a different place...

 

With the CX-22 flavor, the telltale would be that (for one axis) one bit changed values more than once while the other bit didn't change. Direction stays static while the clock bit goes through several cycles. This would happen with a very small movement of the ball. Whether or not you could poll those ports that intently while maintaining some sort of image on the screen, I don't know.

Okay, I booted the TESTCART.BIN on my Harmony cart tonight. I can confirm that whatever my CX-80 (which thinks it is a CX-22) is putting out is definitely NOT Gray code. Pity really. I was toying with the idea of wiring a 9-pin Dsub into a USB trackball encoder to use my CX-80 with MAME... :sad:

 

2-bit Gray code goes something like this:

01

11

10

00

 

My "CX-22" behavior:

When I rotate the trackball RIGHT, the UP direction does dark and the DOWN direction flickers.

When I rotate the trackball LEFT, the UP direction goes live and the DOWN direction flickers.

When I rotate the trackball DOWN, the LEFT direction goes dark and the RIGHT direction flickers.

When I rotate the trackball UP, the LEFT direction goes live and the RIGHT direction flickers.

 

So the trackball "CX-22" code it sends to the console looks like

00

01

00

01

 

going in one direction, and

10

11

10

11

 

going in the other direction. Thus no amount of rewiring will convert a CX-22 to a CX-80 and visa-versa. Dumb logic won't work to convert it either. You need smart logic that specifically remembers the last state. The cool thing about the CX-22 code, however, is that rapidly spinning the trackball at exactly three times the sample rate will not make the cursor move in reverse like true Gray code will.

 

The trackball works flawless in the homebrew ROMs in TB mode and I can actuate all 8 directions in the test ROM while in JS mode by rotating the trackball in the cardinal directions. So I don't quite understand why the Harmony menu doesn't work well in JS mode when test cart shows the directions operating properly.

 

But I'll take the advice of using SELECT and RESET to navigate. I just hope it doesn't skip the target due to contact bounce. Both my SELECT and RESET switches sparkle on my 2600 when I actuate them. I have a set of NOS replacement switches from best; I just haven't gotten around to installing them yet. :P

Share this post


Link to post
Share on other sites

Glad you're having fun with Millipede. :) I never played it before converting it. I really got was amazed how crazy the action gets. The original programmer did a great job IMHO to squeeze all of that in. It was really tough to find enough free cycles...

 

 

 

I'm hoping someday someone will post some high scores using a ST Mouse or Amiga Mouse. I don't know if Millipede will start freezing up with those roms at really high scores (~160,000 points).

I was amazed as well.

I thought I had seen it all, but it just keeps getting harder and more enemies all at the same time!

That is why I mentioned although the Trak-Ball makes it easier, it doesn't hurt the game's ability to induce a heart attack.

  • Like 1

Share this post


Link to post
Share on other sites

[...]

 

Thus no amount of rewiring will convert a CX-22 to a CX-80 and visa-versa. Dumb logic won't work to convert it either. You need smart logic that specifically remembers the last state. The cool thing about the CX-22 code, however, is that rapidly spinning the trackball at exactly three times the sample rate will not make the cursor move in reverse like true Gray code will.

Actually, "CX-22" style to "CX-80" style output conversion could be done without any additional logic at all. The Gray code signal is what natively spits out of the encoders, so you can bypass/ignore/throw away some of the CX-22 circuitry and wind up with a Gray code output.

 

If you're handy with a soldering iron, you could dig the conditioned, straight encoder signals out of there and use the CX-80 ROMs and navigate the Harmony menu (with some amount of patience). A relatively easy thing to do would be to just surface those signals on a second cable along with the power, ground and fire button connections. You'll be the envy of all of the Atarinerd kids in your neighborhood with your high falutin' Tri-Mode Trak-Ball. :)

Edited by BigO

Share this post


Link to post
Share on other sites

Actually, "CX-22" style to "CX-80" style output conversion could be done without any additional logic at all. The Gray code signal is what natively spits out of the encoders, so you can bypass/ignore/throw away some of the CX-22 circuitry and wind up with a Gray code output.

 

If you're handy with a soldering iron, you could dig the conditioned, straight encoder signals out of there and use the CX-80 ROMs and navigate the Harmony menu (with some amount of patience). A relatively easy thing to do would be to just surface those signals on a second cable along with the power, ground and fire button connections. You'll be the envy of all of the Atarinerd kids in your neighborhood with your high falutin' Tri-Mode Trak-Ball. :)

Yes, I am aware of that. I was referring to building an adapter for it. But I don't have a lot of motivation to mod the hell out of it when all the new hacks that support CX-80 also support CX-22. Although it would be fun to add a USB/MAME encoder. I also ordered an 8-ball from pooldawgs to mod it out! :cool:

https://www.pooldawg.com/action-single-pool-and-billiard-balls

 

2.25" regulation billiard balls will fit, right? :dunce:

Share this post


Link to post
Share on other sites

For those who are interested, I have added a controller (TB or Amiga mouse) detection ROM to the first post. This would be combined with the hacked ROMs for all three types. After successful detection, the correct ROM would be loaded and started.

 

Please give it a try with your controllers and report back any errors you find. Try to fool the detection! icon_smile.gif

 

Notes:

  1. Pressing fire would load the correct ROM, here it only reloads the detection ROM icon_smile.gif
  2. Alternatively you can use SELECT and RESET switches, just in case the detection fails
  • Like 3

Share this post


Link to post
Share on other sites

Yes, I am aware of that. I was referring to building an adapter for it. But I don't have a lot of motivation to mod the hell out of it when all the new hacks that support CX-80 also support CX-22.

Ah. Okay. I didn't get the "adapter" concept. Didn't mean to step on any toes.

 

I appear to be missing the point and answering questions that weren't asked lately.

Back to doing things at the workbench instead of talking about them.</TrackballOvershare>

 

Thanks again to the programmers who have put in all of this work for our benefits.

  • Like 1

Share this post


Link to post
Share on other sites

I just think it could be misleading since most CX-80s think they're CX-22s. Custom buys the wrong cart / downloads the wrong ROM and thinks their trackball is broken or something. Not every everyone who collects or plays homebrew checks the forums or has a Harmony cart to test their hardware devices with.

Share this post


Link to post
Share on other sites

Yes, I have mentioned this in the past. The more accurate labels would be Atari Trakball, Atari ST mouse and Amiga mouse. Put a disclaimer next to the Atari Trakball listing to check if it has a switch on the bottom. No switch on a CX-80 means you need the ST mouse version. No switch on the CX-22 means you are out of luck.

 

Auto-select obviously makes this irrelevant.

 

Mitch

  • Like 1

Share this post


Link to post
Share on other sites

Mitch, I understand and agree with what you are saying. Clarity is good. I have personally never laid eyes on any of this hardware and adapted the terminology as presented in the forum pages here. I appreciate you bringing this to light and hope something changes with the terminology.

Edited by BigO

Share this post


Link to post
Share on other sites

I just think it could be misleading since most CX-80s think they're CX-22s. Custom buys the wrong cart / downloads the wrong ROM and thinks their trackball is broken or something. Not every everyone who collects or plays homebrew checks the forums or has a Harmony cart to test their hardware devices with.

I haven't a single clue about how anything I said or did would or could mislead anyone in any way.

 

We're evidently having two entirely separate conversations at the same time. I'm out.

Edited by BigO

Share this post


Link to post
Share on other sites

:( Everyone seems to forget to mention there is a CX22 Trak-Ball version of "Colony 7" in this thread, and the original post has Trak-Ball versions of "The Challenge of Nexar" (which I liked as a kid).

Colony 7 is an excellent homebrew of an Arcade game that probably inspired Imagic's Atlantis!

  • Like 1

Share this post


Link to post
Share on other sites

[...] Put a disclaimer next to the Atari Trakball listing to check if it has a switch on the bottom. No switch on a CX-80 means you need the ST mouse version [...]

In these very old posts in the stella mailing list Eckhard Stolberg says that the ST-compatible-CX80 still has a working mode switch and can work in joystick mode like the previous models.

 

http://www.biglist.com/lists/stella/archives/199902/msg00002.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00007.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00008.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00012.html

 

This is all the info I could find about it.

If someone who own one of these could confirm that and maybe post some pictures of the board would be great...

 

 

Share this post


Link to post
Share on other sites

I have a Commodore 1351 Mouse that when powering the 2600 with the right button down acts as a joystick.

I wonder which trackball the mouse part is?

If anyone know please post.

If I find a rom that works with the mouse I'll say which version.

 

I would always choose a trackball over a mouse, though, and have had/used a trackball pointing device since the mid-90's.

Share this post


Link to post
Share on other sites

In these very old posts in the stella mailing list Eckhard Stolberg says that the ST-compatible-CX80 still has a working mode switch and can work in joystick mode like the previous models.

 

http://www.biglist.com/lists/stella/archives/199902/msg00002.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00007.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00008.html

 

http://www.biglist.com/lists/stella/archives/199902/msg00012.html

 

This is all the info I could find about it.

If someone who own one of these could confirm that and maybe post some pictures of the board would be great...

 

 

 

Good info. I had not heard of the ST mouse version of the CX-80 having the switch still active before. It's weird that the second button did not work though.

 

Mitch

Share this post


Link to post
Share on other sites

I haven't a single clue about how anything I said or did would or could mislead anyone in any way.

 

We're evidently having two entirely separate conversations at the same time. I'm out.

Sorry. I was probably quoting the wrong post so I removed the quote.

 

I meant labeling the ROMs as CX-80 as if they were compatible with all CX-80s when CX-80s clearly behave like CX-22s can be misleading. Part of this blame can be placed on Atari for making incompatible hardware revisions to the danged controllers.

 

Yes, I have mentioned this in the past. The more accurate labels would be Atari Trakball, Atari ST mouse and Amiga mouse. Put a disclaimer next to the Atari Trakball listing to check if it has a switch on the bottom. No switch on a CX-80 means you need the ST mouse version. No switch on the CX-22 means you are out of luck.

 

Auto-select obviously makes this irrelevant.

 

Mitch

 

So switchless CX-22 is joystick only (useless without modding), and CX-80 with switches is CX-22 or joystick. I wasn't aware that CX-80 trackballs existed without the switch, but somebody obviously had a CX-80 that acted like an ST or these ROMS would never have been labeled as CX-80. Now based on some message board posts that predate the world-wide-web as we know it, some CX-80s with switches do in fact act like ST mice. Let's just say that unknown CX-80s have an identity crisis until they have been properly identified.

  • Like 1

Share this post


Link to post
Share on other sites

[...] I can actuate all 8 directions in the test ROM while in JS mode by rotating the trackball in the cardinal directions. So I don't quite understand why the Harmony menu doesn't work well in JS mode when test cart shows the directions operating properly[...]

What happens when you move the trackball slowly in joystick mode? Does it send a continuos signal on the corresponding joystick direction or a series of pulses? If the latter, and based on Thomas' explanation about how Harmony menu reads the joystick, I can see it causing problems:

When you move the trackabll slowly (which includes the acceleration and deceleration phases when you start or stop the movement), a train of pulses are sent --> The harmony menu reads them as the joystick being repeatedly moved and released --> the cursor moves fast.

When you move the trackball fast --> the cursor moves slowly like if you were holding the joystick in one direction.

Share this post


Link to post
Share on other sites

What happens when you move the trackball slowly in joystick mode? Does it send a continuos signal on the corresponding joystick direction or a series of pulses? If the latter, and based on Thomas' explanation about how Harmony menu reads the joystick, I can see it causing problems:

When you move the trackabll slowly (which includes the acceleration and deceleration phases when you start or stop the movement), a train of pulses are sent --> The harmony menu reads them as the joystick being repeatedly moved and released --> the cursor moves fast.

When you move the trackball fast --> the cursor moves slowly like if you were holding the joystick in one direction.

Ah, so the trackball is basically creating a partial "duty cycle" by toggling the input? I could see that causing issues.

 

But the trackball is rapidly toggling between two menu items when rotated, even in JS mode. I assume rapid fire on the joystick would just scroll at lightning speed, not toggle between two items.

Share this post


Link to post
Share on other sites

What type is your Trak-Ball?

 

If it uses CX22 encoding, then it does not create gray code like the DC does (and the CX80 too). Its probably not even detected as a DC, so it acts like a joystick. Then it creates down with up on and off or only up on and off. Down is checked first, so the menu interprets this as down and up alternating.

Edited by Thomas Jentzsch

Share this post


Link to post
Share on other sites

What type is your Trak-Ball?

 

If it uses CX22 encoding, then it does not create gray code like the DC does (and the CX80 too). Its probably not even detected as a DC, so it acts like a joystick. Then it creates down with up on and off or only up on and off. Down is checked first, so the menu interprets this as down and up alternating.

My CX-80 thinks it is a CX-22. UP or LEFT indicates direction of travel and DOWN or RIGHT alternates with each pulse. Vertical movement on the trackball is on the horizontal joystick axis and visa versa.

 

I am attempting to navigate the Harmony menu with the switch in JS position. TESTCART.BIN indicates I am getting normal joystick behavior with the switch in JS position so the mode select switch is functioning properly (rolling the trackball north, south, east, or west pushes the joystick in the proper direction), but Harmony menu itself still acts screwy, even with the trackball in JS mode.

Share this post


Link to post
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.

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...