Jump to content
IGNORED

Unicorn Boards and Harmony Cart Menus - Single-chip 2600 Compatibility?


atari2atari

Recommended Posts

Greetings, Atarians!

 

Some tales from the workbench, and a request for assistance. First, the story and some background, and then the question(s). :)

 

 

I recently modded a single-chip ATARI 2600 Junior to accommodate a built-in game ROM, as it was designed. Quite simply, if NO cartridge is placed in the console and it is turned on, the console plays the built-in game.

 

 

These so-called "unicorn boards" have been covered in a few historical threads here on AtariAge - -

 

http://www.atariage....2600jr-unicorn/ (2011, thread on compatibility with HARMONY cartridge)

 

http://www.atariage....-unique-2600jr/ (2010, a general thread on the unicorn board)

 

and, DigitalPress link to the schematics for the single-chip unit - - http://www.digitpres...s/index.htm#vcs (choose the Atari 2100 "JAN" single chip link in the list)

 

 

Here's my shots from the before-after install. I also added a simple transistor/resistor video mod while I was in there (just mono, no stereo mod, because I didn't want to start pulling pins on the chip needed for AUD0 and AUD1 !)

 

 

The motherboard, before adding the built-in ROM, but after installing the video mod

 

post-27961-0-59174800-1333938299_thumb.jpg

 

Blank area of the board where the ROM was to be installed at the factory

 

post-27961-0-35152400-1333938555_thumb.jpg

 

Detail of the board revision number

 

post-27961-0-44447200-1333938575_thumb.jpg

 

I installed a 24-pin socket to receive the ROM

 

post-27961-0-97075200-1333938605_thumb.jpg

 

I chose PITFALL! as my installed ROM, and placed it in ANOTHER machine-tooled 24-pin IC socket, which would allow me to stack IC sockets on the motherboard for some form of modularity, in case I wanted to swap installed games on the "unicorn." 4k ROMs are apparently the maximum that the board can take. (See the schematics at DigitalPress and the threads referenced above)

 

I could think of NO better 4k ROM than PITFALL!, a brilliant use of every ounce of available space!

 

post-27961-0-30438200-1333938794_thumb.jpg

 

Socketed in, and all ready to go!

 

post-27961-0-79951800-1333938823_thumb.jpg

 

post-27961-0-05527900-1333938832_thumb.jpg

 

Buttoning it all up . . .

 

post-27961-0-54073500-1333938852_thumb.jpg

 

I use some serious "strain relief" in my direct, "corded" video mods to prevent ANY chance of the cord getting pulled and wrecking the electronic work inside!

 

post-27961-0-61674600-1333938896_thumb.jpg

 

 

And, it works! Brilliantly! It plays PITFALL! if there is no cartridge plugged in, and for SOME games, when you load a cartridge, it disables the on-board ROM and you can play the game!

 

More on that compatibility later - - it's a GIANT topic, and one I also have questions on, and you'll see more posts soon in the general 2600 forum area, and questions on the light/heavy sixers with built-in games, too. There is still some work to be done in order to maximize compatibility, and wire in a "kill-switch" that disables the ROM totally to do so. You'll see this topic again, no doubt!

 

 

This, however, is a HARMONY CARTRIDGE question.

 

Still with me? :D

 

 

So, I popped in my HARMONY cart, and despite what I had read about needing to short certain pins on the cartridge slot in order to get it to work, it DOES boot up.

 

The menu is skewed, however, and not easily readable! I can navigate the menu, go to sub-menus, and actually even select and launch ROMs . . . but I can't really read what I am doing, and have to operate by memory!

 

post-27961-0-87886500-1333939198_thumb.jpg

 

post-27961-0-15445900-1333939206_thumb.jpg

 

post-27961-0-39988300-1333939211_thumb.jpg

 

Once a game is launched, there is no more graphical distortion, and everything plays as expected, for at least the half a dozen games I tried from the illegible menu.

 

post-27961-0-89186400-1333939301_thumb.jpg

 

 

Another possible clue to the answers, maybe - - I am using a HARMONY pre-production cart that I traded with another member to get - -

 

post-27961-0-71099700-1333939394_thumb.jpg

 

 

 

The SPECIFIC question - -

 

 

- What do I do to the motherboard in order to regain what is apparently a graphical issue with this HARMONY cart that I have (the pre-production one) as well as any other HARMONY cart (important!)

 

 

 

Thanks for reading all of that, and I welcome any and all suggestions, questions, and ideas!

 

-a2a

Link to comment
Share on other sites

Apparently, this console uses a single chip, and from the pictures, it's clear that the single chip that replaces the 6507, TIA and RIOT is not 100% compatible. From the screenshots, it appears that the incompatibility is with the HMOVE timing that the menu relies on. It appears that It's only off by one pixel per line, but that's enough to distort the menu.

 

Since this is almost certainly something with the chip in the console itself, it's not clear if we can fix the firmware to work as expected. That the consoles are rare makes it unlikely I'll ever obtain one to test so chances are I will never know the true nature of the issue.

Link to comment
Share on other sites

Thanks, batari!

 

That helps me to understand that at least it's not the nature of the pre-production HARMONY cart I am using, and probably lies in an issue with the nature of the single-chip.

 

It also helps that it is not a bus contention issue with the installed on-board ROM. I guess that a bus contention would just simply result in a no-boot situation!

 

 

I appreciate the insight - - good observation, it IS off by one pixel on each line as it descends!

 

I wonder what other games are dependent on HMOVE in this manner, and would also distort?

 

 

I'll keep you posted as I move forward. Next I need to design a switch to disable the on-board ROM to allow certain other games to boot. Classic sensitive carts like DECATHALON and SPACE SHUTTLE are a non-starter on this unit right now, due to bus contention with the installed game, I imagine.

 

THANKS!!

 

-a2a

Link to comment
Share on other sites

Could this be used for some purpose like a cart dumper? Coule you have a dumper rom on board?

Also, what happens if you plug a cart in live while playing pitfall? (assuming you would even try it) and if you did, what happens if you plugged in Pitfall...

Link to comment
Share on other sites

Thanks for reading and responding, Pioneer!

 

 

With the way the motherboard is wired, you can have either a 4k or a 2k ROM on-board. No bank-switched ROMs, as I understand.

 

I am not certain what the specs are on a cart dumper ROM, such as how large it is.

 

Also, if the ROM is not a general manufactured mask ROM, but an EPROM instead, which I suspect any dumper ROM would be, then you need to place an inverter into the circuit on the board so you can properly activate the EPROM - - EPROM integrated circuits are turned "on" in a different way than mask ROMs, which an inverter would accommodate. Right now, with the default factory wiring, the motherboard can only accommodate mask ROMs.

 

 

I have not tried plugging in a cart while playing the on-board ROM - - I'll give it a go. I imagine that you just get bus contention, and have to restart.

 

-a2a

Link to comment
Share on other sites

Thanks for reading and responding, Pioneer!

 

 

With the way the motherboard is wired, you can have either a 4k or a 2k ROM on-board. No bank-switched ROMs, as I understand.

 

I am not certain what the specs are on a cart dumper ROM, such as how large it is.

 

Also, if the ROM is not a general manufactured mask ROM, but an EPROM instead, which I suspect any dumper ROM would be, then you need to place an inverter into the circuit on the board so you can properly activate the EPROM - - EPROM integrated circuits are turned "on" in a different way than mask ROMs, which an inverter would accommodate. Right now, with the default factory wiring, the motherboard can only accommodate mask ROMs.

 

 

I have not tried plugging in a cart while playing the on-board ROM - - I'll give it a go. I imagine that you just get bus contention, and have to restart.

 

-a2a

I think the current versions of dumpers are small, under 2k and they actually copy the program to RAM and execute there so they are running when the cart to be read is inserted.

You could sandwich the inverter circuitry between 2 sockets with bent pins...

And while I don't think anything will happen, but I'm sure plugging carts in live is not "Good" and I would feel bad it smoke started coming out.

Link to comment
Share on other sites

I think the current versions of dumpers are small, under 2k and they actually copy the program to RAM and execute there so they are running when the cart to be read is inserted.

 

I will look into what's available for ROMs of dumpers - - it's a great suggestion! I was also considering a SYNTHCART ROM as a candidate, too.

 

This project is part of a larger one for me that includes trying to install ROMs into light and heavy sixers, as well, using the installation location that was designed into the boards, but not used in the final production models.

 

I may just keep this single-chip "unicorn" somewhat pristine, though, and not alter it much more than another switch to disable the on-board ROM and try to increase compatibility with other cartridge games.

 

I'll likely try a dumper with a light sixer unit, however!

 

The "trick" with a built-in ROM with a dumping program and this setup or any other built-in ROM setup would be finding a way to get the built-in ROM to read what was in the cartridge slot WITHOUT having a bus contention.

 

It will take some work to determine how that would funtion. I confess that at first pass, I am not certain it is do-able.

 

You could sandwich the inverter circuitry between 2 sockets with bent pins...

 

No need, there is a spot for it on the motherboard, or it could go direct to the required pin(s) on the EPROM :)

 

And while I don't think anything will happen, but I'm sure plugging carts in live is not "Good" and I would feel bad it smoke started coming out.

 

I'm sure it isn't either, but in the name of experimentation I think it's worth doing at least once. I have not tried plugging in a cartridge while the on-board ROM is running, I should try it at least once. I'm sure it will just be the usual scrambled Atari 2600 screen, like pulling a cart out while the power is on, and no permanent damage to either the on-board or cartridge ROM typically happens.

 

Don't worry, I won't hold you responsible if it catches on fire and explodes! :D

 

However, I might try it first on the light sixer that I have with a built-in ROM installed in it, too!

 

-a2a

Edited by atari2atari
Link to comment
Share on other sites

I'm sure it isn't either, but in the name of experimentation I think it's worth doing at least once. I have not tried plugging in a cartridge while the on-board ROM is running, I should try it at least once. I'm sure it will just be the usual scrambled Atari 2600 screen, like pulling a cart out while the power is on, and no permanent damage to either the on-board or cartridge ROM typically happens.

 

Don't worry, I won't hold you responsible if it catches on fire and explodes! :D

 

However, I might try it first on the light sixer that I have with a built-in ROM installed in it, too!

 

-a2a

I would try it first with another Pitfall! cart. Then if no smoke or garbage another cart.

What I meant about putting the inverter between 2 sockets is you could keep the Jr. intact for stock roms, or eproms in the adapter socket.

Link to comment
Share on other sites

 

I wonder what other games are dependent on HMOVE in this manner, and would also distort?

 

Some homebrews (e.g. Halo) use early HMOVEs to avoid the HMOVE blanks showing up.

 

For Harmony, I suppose an early HMOVE which ends at cycle 74 is the problem.

 

Ah, thank you, Thomas!

 

I will try out HALO 2600 and see if I can get the same "staggering pixel" effect.

 

I am curious to see what all the compatibility issues with these single-chip ATARI 2600 units are, such as different games!

 

It would be interesting if Atari had inadvertently designed a single-chip solution that did not support ALL of the known programming functions!

 

 

I will say that I have observed some VERY interesting behaviour on the left-hand side of the screen in the "HMOVE zone" (my personal term for it, probably inappropriate) during games of PITFALL II running off a native cartridge. I've never seen patterns like that before during a game of PITFALL II. The game plays just fine, but there is SOMETHING new going on there in the margin . . . !

 

Tonight when I am back at the house I will take some pictures or try and do a video capture of the screen.

 

-a2a

Link to comment
Share on other sites

Tonight when I am back at the house I will take some pictures or try and do a video capture of the screen.

 

You know what I need? I need a REAL video capture card, not a FLIP camera!

 

You'd think a professional IT guy would have a few video capture cards around, but apparently it's all just OUTPUT cards . . . I'll add it to the list.

 

 

Anyways, APOLOGIES in advance - - it is, well, just like filming a TV with a hand-held camera. :roll:

 

I added an excellent (or annoying, depending on your view) remix of the PITFALL II music to entertain you.

 

Note the extra pixel action on the left-hand side of the screen - - I zoom into it a few times for detail. And then compare it to the LACK of extra pixels on a standard four-switch (also video modded for composite output)

 

http://youtu.be/t1oiDT9SKMQ

 

 

 

I think I will re-record this when I get a better capture card and try to redeem myself . . .

 

-a2a

Link to comment
Share on other sites

For Harmony, I suppose an early HMOVE which ends at cycle 74 is the problem.

 

The harmony menu uses the HMOVE at cycle 74 to shift the sprites left by 8 pixels. I don't think there is a way to do this without using an early HMOVE?

 

Chris

Link to comment
Share on other sites

For Harmony, I suppose an early HMOVE which ends at cycle 74 is the problem.

The harmony menu uses the HMOVE at cycle 74 to shift the sprites left by 8 pixels. I don't think there is a way to do this without using an early HMOVE?

It's the most efficient way. Weird code often results from heavy optimizing. :)

Link to comment
Share on other sites

Note the extra pixel action on the left-hand side of the screen - - I zoom into it a few times for detail. And then compare it to the LACK of extra pixels on a standard four-switch (also video modded for composite output)

It seems all related to problems with HMOVE and the HMOVE blanks on the left side. The later seem not to hide the first 8 pixel completely as they do on original hardware.

Link to comment
Share on other sites

The music is the ‘bi bi ba tekkno remix’ of PITFALL II, from Remix.Kwed.Org, by arranger ‘chosc’ - - to find that tune, go to the Remix.Kwed.Org site, search for ‘pitfall’, and it should pop up. There is an option to download it on the right. Some of the other remixes are fun, too!

 

A general search on the 'toobs for 'pitfall remix' will also reveal some VERY interesting projects, I found! Be careful where you click . . . ;)

 

-a2a

Link to comment
Share on other sites

You're welcome!

 

Oh, by the way, Thomas, I did try popping in a cartridge while the on-board ROM was running, and as usual I got a bus contention and scrambled screen! Nothing interesting to report there . . .

 

 

 

Well, I consider this thread "closed" and the question answered.

 

Summary - -

 

- The single-chip ATARI 2600 (aka ATARI 2100 "JAN") appears to (mis-)handle standard programming language for the 2600

 

- It is therefore incompatible with at least the HARMONY cartridge and there are some graphical glitches that have been observed with PITFALL II

 

- Other game incompatibilities are not known yet, but it appears that anything that depends on HMOVE in a "creative" rather than "classical" manner can cause it

 

- As an aside, if you want to know if your ATARI 2600 Jr might be a "unicorn," pop in the HARMONY cart or a copy of PITFALL II and watch for the graphical issues as reported in this thread and the video above!

 

 

Thanks, everyone!

 

-a2a

Link to comment
Share on other sites

- Other game incompatibilities are not known yet, but it appears that anything that depends on HMOVE in a "creative" rather than "classical" manner can cause it

Have you tried Kool Aid Man?

 

- As an aside, if you want to know if your ATARI 2600 Jr might be a "unicorn," pop in the HARMONY cart or a copy of PITFALL II and watch for the graphical issues as reported in this thread and the video above!

I don't think it is that simple. My own Chinese PAL Jr. behaves different on HMOVE but displays the Harmony menu nicely.

Link to comment
Share on other sites

I would like to put Yar's Revenge in a six switch.

Is the only requirement to disable the built-in ROM grounding of cartridge pin 12?

Does something else have to be added because Yar's is a 4K ROM?

 

I look forward to your future projects.

Link to comment
Share on other sites

Have you tried Kool Aid Man?

 

I just did - - no go! KOOL AID MAN on the native cartridge does not boot! Well, it does, but it just freezes on the opening title screen.

 

- As an aside, if you want to know if your ATARI 2600 Jr might be a "unicorn," pop in the HARMONY cart or a copy of PITFALL II and watch for the graphical issues as reported in this thread and the video above!

I don't think it is that simple. My own Chinese PAL Jr. behaves different on HMOVE but displays the Harmony menu nicely.

 

Hmm, noted! I'd be interested in knowing more about your Chinese PAL Jr.!

 

 

 

I would like to put Yar's Revenge in a six switch.

Is the only requirement to disable the built-in ROM grounding of cartridge pin 12?

Does something else have to be added because Yar's is a 4K ROM?

 

I look forward to your future projects.

 

No, that is not the only requirement, there is additional wiring needed to accommodate a 4k ROM in a Light or Heavy Sixer, but I am still figuring it out, so I could not tell you yet! :)

 

It's a project in process, and yes, I will be posting up my results and asking for help with installing games in the Light Sixer "as it was designed" !

 

I think I will get some time this weekend to share with everyone where I am at with it . . . but here's some pictures to tantalize you!

 

 

post-27961-0-64276800-1334204989_thumb.jpg

 

post-27961-0-37908900-1334204999_thumb.jpg

 

post-27961-0-07982000-1334205005_thumb.jpg

 

post-27961-0-04774900-1334205019_thumb.jpg

 

post-27961-0-53625900-1334205027_thumb.jpg

 

 

Coming along nicely! This is, of course, building on the work of others - -

 

 

http://www.atariage....ost__p__1301781

 

http://www.atariage....rd-differences/

 

 

However, both of those projects/discussions got VERY close or hinted at solutions . . . and then never finished and/or documented clearly what they did!

 

 

-a2a

  • Like 1
Link to comment
Share on other sites

I just did - - no go! KOOL AID MAN on the native cartridge does not boot! Well, it does, but it just freezes on the opening title screen.

One of the difficulty switches is used for a pause feature on Kool Aide Man. When the switch is in the pause position on startup, the game freezes on the title screen. If you flip the switch, the game should start normally.

 

The difference that might appear on your console is the score display. On some consoles (like Thomas Chinese Jr.) the score digits overlap. This constantly triggers the collision detection which results in Kool Aide Man constantly bouncing back and forth in the top left corner of the screen. This makes the game unplayable.

 

Hmm, noted! I'd be interested in knowing more about your Chinese PAL Jr.!

On all (?) 2600 Jr. consoles (NTSC and PAL) that are made in China after late 1989 the signal timing in the TIA for the shifting pulses for the movable objects seems to be a little off from older versions of the TIA. Therefore when a game starts the shifting process in such a way that some of the shifting pulses happen during the visible part of the screen, the movable objects might be positioned slightly differently. This affects all PAL 7800 consoles too, BTW.

 

Something similar seems to be going on in your "unicorn" console too. You can see tis in your Pitfall II video. The game doesn't do an HMOVE in every line, so not all lines start with an eight pixel blank. Pitfall II tries to hide it with displaying a black eight pixel wide copy of missile 1 in those lines where it doesn't do an HMOVE. On your 2600 these missiles are shifted one pixel to the right. If you run Pitfall II in Stella and disable missile 1 with ALT-V, you can see that there are gaps in exactly the same scanlines where the one pixel shifts are in your video.

 

Other games worth testing for compatibility would be the starfield effect in Cosmic Ark, the tile screen in He-Man and the cobra head in G.I.Joe / Action Force.

Link to comment
Share on other sites

If there are several different TIA (plus anything else?) revisions / timings, shouldn't Stella and other emulator offer these configurations as well in order to help developers to optimize the games properly? (see 6581 vs 8580 in C-64 emulation etc.)...

Link to comment
Share on other sites

If there are several different TIA (plus anything else?) revisions / timings, shouldn't Stella and other emulator offer these configurations as well in order to help developers to optimize the games properly? (see 6581 vs 8580 in C-64 emulation etc.)...

The problem is, that those differences are not fully explored and often happen under very weird circumstances. So with every new trick you try, you will first have to test on real hardwareS(!) and then maybe adapt the emulator.

 

And even with the already known tricks it is tough enough to keep Stella up to date (see Meltdown).

Link to comment
Share on other sites

If there are several different TIA (plus anything else?) revisions / timings, shouldn't Stella and other emulator offer these configurations as well in order to help developers to optimize the games properly? (see 6581 vs 8580 in C-64 emulation etc.)...

 

In theory you're right. In practice, we have to (a) find all the consoles and do the research, and (b) find time to actually implement this in Stella. Of course the desirable end goal would be to have switches in Stella to emulate every different type of TIA chip. But there's a lot more going on behind the scenes than just flipping a switch in the UI and having Stella emulate a variant TIA :)

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