Jump to content
IGNORED

Are you going to buy a Harmony cart for the Atari 2600?


The Harmony Cartridge  

262 members have voted

  1. 1. Are you going to buy a Harmony cart?

    • Yes!
      186
    • No.
      11
    • Maybe, if it doesn
      65

  • Please sign in to vote in this poll.

Recommended Posts

So it autodetects the controller type?

Yup, like the Krokodile Cart does too.

Hmm, how does it do this? Technically, the KrokCart doesn't autodetect the controller type; it looks up the info in a stella.pro file. I don't really consider this 'autodetection', since you still have to keep that properties file up-to-date. If you've found a way to autodetect controller type without a lookup table (ie, by inspecting the ROM code itself), I'd be very interested in adding it to Stella.

Link to comment
Share on other sites

So it autodetects the controller type?

Yup, like the Krokodile Cart does too.

Hmm, how does it do this? Technically, the KrokCart doesn't autodetect the controller type; it looks up the info in a stella.pro file. I don't really consider this 'autodetection', since you still have to keep that properties file up-to-date. If you've found a way to autodetect controller type without a lookup table (ie, by inspecting the ROM code itself), I'd be very interested in adding it to Stella.

The detection code I have seen does not rely on reading ROM code, but reading the state of the controller port. This is something that can't be emulated (except possibly with something like a Stelladaptor.)

 

It is possible to detect if a paddle is plugged into the console on real hardware on powerup, and possible to detect a driving controller once it is rotated.

Link to comment
Share on other sites

Will Harmony cart really run every Atari 2600 game made? Any compatibility issue?

 

Yes, it should support every cart up to 32K in size, including carts such as Pitfall II (with music), and supercharger games.

 

Chris

 

Hell, if it will support Supercharger games on a 7800, I am definately getting one! :D

Link to comment
Share on other sites

So it autodetects the controller type?

Yup, like the Krokodile Cart does too.

Hmm, how does it do this? Technically, the KrokCart doesn't autodetect the controller type; it looks up the info in a stella.pro file. I don't really consider this 'autodetection', since you still have to keep that properties file up-to-date. If you've found a way to autodetect controller type without a lookup table (ie, by inspecting the ROM code itself), I'd be very interested in adding it to Stella.

The detection code I have seen does not rely on reading ROM code, but reading the state of the controller port. This is something that can't be emulated (except possibly with something like a Stelladaptor.)

 

It is possible to detect if a paddle is plugged into the console on real hardware on powerup, and possible to detect a driving controller once it is rotated.

Replying to my own post to state that it should be possible to detect if a binary reads the paddle.

 

There may be a few ways this may work.

 

A5 08, A5 38, 24 08, or 24 38 are typical byte pairs that may indicate paddle 0 is being read.

 

Alternatively (or in addition) a paddle game needs code to discharge the cap. The code will usually have a 4-byte signature that could be one of the following, I think:

 

A9 80 85 01

A2 80 86 01

A0 80 84 01

A9 82 85 01

A2 82 86 01

A0 82 84 01

Link to comment
Share on other sites

So it autodetects the controller type?

Yup, like the Krokodile Cart does too.

Hmm, how does it do this? Technically, the KrokCart doesn't autodetect the controller type; it looks up the info in a stella.pro file. I don't really consider this 'autodetection', since you still have to keep that properties file up-to-date. If you've found a way to autodetect controller type without a lookup table (ie, by inspecting the ROM code itself), I'd be very interested in adding it to Stella.

 

I was really referring to the menu engine on powerup. It has to allow navigation through the menu regardless of which controller is hooked up. For Chimera we were intending to allow menu navigation solely through the select and reset switches in case you didn't have joysticks plugged in. We were going to trap the switches on up rather than on down so we could have combinations. Like hold down reset and then toggle select could be page back, or hold down select and toggle reset could be page forward.

 

Once you select a game if it knows you don't have the right controller presumably it could have an interstitial warning message to prompt the user to put in whatever controller it needs.

Link to comment
Share on other sites

I was really referring to the menu engine on powerup.

Me too. ;)

 

It has to allow navigation through the menu regardless of which controller is hooked up.

Yup, that's what it does.

 

For Chimera we were intending to allow menu navigation solely through the select and reset switches in case you didn't have joysticks plugged in. We were going to trap the switches on up rather than on down so we could have combinations. Like hold down reset and then toggle select could be page back, or hold down select and toggle reset could be page forward.

Some similar we have here too.

 

Once you select a game if it knows you don't have the right controller presumably it could have an interstitial warning message to prompt the user to put in whatever controller it needs.

That's a nice idea, but it would only work with some controller autodetection or a database, right?

Link to comment
Share on other sites

That's a nice idea, but it would only work with some controller autodetection or a database, right?

 

Yeah. That's a fringe benefit if it can be done. Of course, it's not a tragedy to have to swap controllers because that's what you have to do when you swap physical carts. It's just that you always need a convenient way to navigate through the menu system otherwise people are going to have to plug in a joystick all the time just to pick games. It might be cool for single players to just always keep a joystick connected to the other port for that purpose I suppose. It just seems like the best lowest common denominator is to really get a clean debounce routine going on the console switches and work out the combos and the "key repeat" delays etc... Maybe make it so that if you hold down both switches for over a second that constitutes "enter" kind of like when you hold your finger on the iPhone it brings up the context menu.

Link to comment
Share on other sites

It's just that you always need a convenient way to navigate through the menu system otherwise people are going to have to plug in a joystick all the time just to pick games.

With controller autodetection, we should be able to overcome this problem.

 

It might be cool for single players to just always keep a joystick connected to the other port for that purpose I suppose.

That is another good idea the menu code should support. So far we only check the left port.

 

It just seems like the best lowest common denominator is to really get a clean debounce routine going on the console switches and work out the combos and the "key repeat" delays etc... Maybe make it so that if you hold down both switches for over a second that constitutes "enter" kind of like when you hold your finger on the iPhone it brings up the context menu.

Something like that, yes. Though not related to the iPhone at all. :)

Link to comment
Share on other sites

...As for the GPIO, it's fully utilized, but you can use the SPI bus or repurpose some of the pins to the SPI bus if you ensure the devices currently on the bus are deselected.

I don't know how far final board design is, but is there any chance you can breakout the SPI bus somewhere on the board so one could "easily" add a pinheader?

 

While driving home I put together the fact that Harmony has an SPI bus with the fact that controls that plug into an Wiimote are SPI as well.

 

Anybody up for 4 player joystick-based Atari 2600 homebrew?

Edited by RevEng
Link to comment
Share on other sites

...As for the GPIO, it's fully utilized, but you can use the SPI bus or repurpose some of the pins to the SPI bus if you ensure the devices currently on the bus are deselected.

I don't know how far final board design is, but is there any chance you can breakout the SPI bus somewhere on the board so one could "easily" add a pinheader?

 

While driving home I put together the fact that Harmony has an SPI bus with the fact that controls that plug into an Wiimote are SPI as well.

Already done. The SPI bus is available at a 12-pin, though-hole header and at the unused SPI EEPROM footprint. All bus signals are available as well as extra signal that can be used as a chip select for your device.
Link to comment
Share on other sites

I was really referring to the menu engine on powerup. It has to allow navigation through the menu regardless of which controller is hooked up. For Chimera we were intending to allow menu navigation solely through the select and reset switches in case you didn't have joysticks plugged in. We were going to trap the switches on up rather than on down so we could have combinations. Like hold down reset and then toggle select could be page back, or hold down select and toggle reset could be page forward.

 

Once you select a game if it knows you don't have the right controller presumably it could have an interstitial warning message to prompt the user to put in whatever controller it needs.

 

Maybe a little late in the game, but would it be possible to add a few buttons to the actual cart for navigating the menus?

Link to comment
Share on other sites

This is a video of the Harmony in action. I've loaded the SD card with approximately 3,000 binaries. Note that unlike the KC, the binaries may be of mixed type, and unlike the CC2, you don't need a configuration file - the bankswitch type is auto-detected. Just drop the files on the SD and go! You can also force a particular bankswitch type by changing the file extension.

 

This video is taken with an older capture card. It looks better on a real television.

 

The video is an .avi file, but AA won't let me upload it, so I changed the extension to .mpg. If you have trouble, download and change the extension.

looks cool I most likely will prob buy one depending the price.

$50 has been suggested in the past, when parts can be ordered in quantity. It may debut a little higher if we make a limited version before official unlimited release.

 

I would be inteested in an Atari 2600 Harmony FLASH cart if the price is @ $50. Please keep us informed of Harmony FLASH cart progress.

Link to comment
Share on other sites

I would be inteested in an Atari 2600 Harmony FLASH cart if the price is @ $50. Please keep us informed of Harmony FLASH cart progress.

 

An SD card is flash memory, so just keep the SD card inserted permanently and you have your flash cart :)

 

Chris

Link to comment
Share on other sites

Here's a video showing both text frames so that the full text effect can be seen.

 

 

Joystick nav used.

Looks good. I guess I never mentioned that you can hold down the joystick button to skip 10 menu pages at a time :) The previous demo shows me doing that.

Link to comment
Share on other sites

So cool seeing Pitfall II run on the 2600 without the physical cart. That's something I never thought I'd see. Must have been a lot of work. I think the only other time that's been done was in an FPGA implementation of the 2600 (a flashback sort of thing) that kind of came and went without turning into anything.

 

Is the DPC support generalizable or is it all hardwired for Pitfall II?

Edited by mos6507
Link to comment
Share on other sites

So cool seeing Pitfall II run on the 2600 without the physical cart. That's something I never thought I'd see. Must have been a lot of work. I think the only other time that's been done was in an FPGA implementation of the 2600 (a flashback sort of thing) that kind of came and went without turning into anything.

 

Is the DPC support generalizable or is it all hardwired for Pitfall II?

A little of both. It can be used for other games, but Pitfall II does not use all features of the DPC and those were not implemented.

 

That is, nybble swap, byte reversal, shifting, and the draw line function. The byte manipulation would be easy to add if someone wanted to use them. The draw line probably wouldn't, as it's not really clear how it works even after viewing the patent, and one would need to do experiments with a real DPC chip to test it.

 

Other than that, you could write your own DPC game using the queues for your graphics and have in-game music using the music fetchers.

 

Anyway, I'd be surprised if Pitfall II was done before. Can you find a link or discussion about this?

Link to comment
Share on other sites

Other than that, you could write your own DPC game using the queues for your graphics and have in-game music using the music fetchers.

 

How did you do the music stuff? Delicon was going to try to use the PWMs. I don't know if the ARM you're using has those.

 

Anyway, I'd be surprised if Pitfall II was done before. Can you find a link or discussion about this?

 

I think it was discussed here, I dunno, about 5 years ago. There were a few concurrent attempts to do FPGA 2600s leading up to Flashback, some commercial, some open-source. That was one of them. I didn't see it in action, so it's hearsay.

 

 

You do realize what you have to do next, don't you?

 

Record Harmony running Pitfall II+ on real hardware!

Link to comment
Share on other sites

Other than that, you could write your own DPC game using the queues for your graphics and have in-game music using the music fetchers.

 

How did you do the music stuff? Delicon was going to try to use the PWMs. I don't know if the ARM you're using has those.

This chip does have PWMs but they were not needed. I used the interval timer running at 20 kHz. It was polled and when it changed I added a value from a table to each of three 32-bit registers. The value was chosen so it would toggle the high bit of each register at the right frequency for the music, and these high bits were read and combined into a value to read from the music fetcher that the 2600 would write to AUDVx.
Anyway, I'd be surprised if Pitfall II was done before. Can you find a link or discussion about this?

 

I think it was discussed here, I dunno, about 5 years ago. There were a few concurrent attempts to do FPGA 2600s leading up to Flashback, some commercial, some open-source. That was one of them. I didn't see it in action, so it's hearsay.

 

 

You do realize what you have to do next, don't you?

 

Record Harmony running Pitfall II+ on real hardware!

I demonstrated an early board running Pitfall II+ at NWCGE 2008. Don't know if anyone realized what it was though, as it was unnamed at that point, it was a hacked board with a glob of hot glue to keep some components in place, and no SD card support yet.

Link to comment
Share on other sites

I demonstrated an early board running Pitfall II+ at NWCGE 2008. Don't know if anyone realized what it was though, as it was unnamed at that point, it was a hacked board with a glob of hot glue to keep some components in place, and no SD card support yet.

 

Cool. Would very much like to see that on Youtube.

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