Jump to content
IGNORED

Concerto firmware thread


batari

Recommended Posts

9 hours ago, Swami said:

I'm not sure where the cutoff is for 2600 complexity or if we will get Encore level compatibility, but with 0.95 Space Rocks and Draconian did not load, along with other complex 2600 games. For 7800, Milli and Molly loads and has some sort of sound effects but is all scrambled, Pac Man Collection 40th Anniv has no sound, but BBCQ still plays with POKEY sound.

As said, the ARM-based 2600 games aren't implemented in Concerto mode yet (they do work in Encore mode.)

 

Millie and Molly needs a slight modification to work (modified demo version posted here.) This is temporary and will be fixed in firmware so the unmodified version will work eventually. There is also a modification to bypass the POKEY detection, but it isn't perfect as it also bypasses POKEY reset so it sometimes takes a moment to begin playing the music.

 

Pac Man collection I think uses the Yamaha YM2151 sound chip, which is not yet implemented, though HOKEY hardware may be able to handle that. A YM replacement should be created anyway for homebrews, as although YM2151 chips aren't hard to find, unlike POKEY (which outputs analog sound), YM chips do not.

 

While POKEY chips only need two resistors on a PCB, YM chips need a ton of support hardware to produce usable analog sound. In my opinion that makes the actual chips themselves unsuitable for homebrew game PCBs.

 

That said, HOKEY isn't intended to be a drop-in replacement for the YM chip, as there is no shortage of the actual chips. Instead it would be designed to support not just the chip functions but also the support hardware needed to make the YM chip actually produce usable sound, so it could be viable for homebrew games as well.

 

However, Bupchip's sound is far superior to the YM chip or any flavor of POKEY, so I'd think people should be more excited about Bupchip. HOKEY hardware should be able to support some version of Bupboop and allow for sound quality that these old devices can't even dream of matching.

Millie And Molly (Demo) (20200528) Concerto mod.a78

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

38 minutes ago, tep392 said:

Is there a similar pack for 2600 games?  Do the 2600 bins need a header of some sort?

 

2 minutes ago, Mitch said:

Romhunter has one for all retail releases and protos.

Here's a link to where the current version is always hosted on AtariMania.

 

http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

It's the CPU revision difference that caused this console to have the concerto run properly or not. Both CPU's are in perfect working order but only one of them is willing to play nice with the Concerto. Image attached.

 

DSCF1032.thumb.JPG.92a7d20ad07df70cdf73de0574eecbea.JPG

 

I also doubled checked the SRAM sitiation (Hitachi VS Sony at the same speed) and it

made no difference, both sets of SRAM worked as they should. The CPU was the only

deciding factor with this console.

  • Like 8
Link to comment
Share on other sites

32 minutes ago, DrVenkman said:

That is bizarre - those CPU's are identical. Same part numbers, same chip fab, and date-coded only 4 weeks apart - both bog-standard SALLY's. 

 

Yep and they are both perfectly working chips that all other cartridges both 2600 and 7800 work exactly as they should with, new and old. The only difference I've ever seen between either of them is one will play nice with the concerto and one will not. I'll even make a video to show it sometime if anyone is interested. The reason I left the CPU till last was cause I didn't think there was much of a chance that it would be the cause. I really thought it was gonna be a RAM issue but in the end it was the CPU. Really wish it would have been a more cut and dry issue with obvious reason for error between what works and what doesn't as that could benefit others a lot more than what has been concluded.

 

 Now I'm curious to see if anyone with multiple consoles who have the ability to switch out IC's could repeat the process of switching out the CPU between machines that are known to work and not work with the concerto. It they also turn out to be directly effected by the SALLY and nothing else that would be interesting. 

  • Like 2
Link to comment
Share on other sites

2 minutes ago, Shawn said:

 Now I'm curious to see if anyone with multiple consoles who have the ability to switch out IC's could repeat the process of switching out the CPU between machines that are known to work and not work with the concerto. It they also turn out to be directly effected by the SALLY and nothing else that would be interesting. 

That would be a good test to run. My daily-driver 7800 is a 1987 A1 serial number machine with a soldered SALLY, also NCR made but from 1985. My other 7800 is an early machine (fully socketed all the way around) with a Syntertek made SALLY from 1983. If this becomes academically-interesting enough, I might desolder the SALLY in my daily-driver and install a socket. I've got SALLY's around here from NCR, Rockwell, Synertek and even MOS believe it or not (from a parts 5200). 

Link to comment
Share on other sites

 

1 hour ago, Shawn said:

It's the CPU revision difference that caused this console to have the concerto run properly or not. Both CPU's are in perfect working order but only one of them is willing to play nice with the Concerto. Image attached.

 

DSCF1032.thumb.JPG.92a7d20ad07df70cdf73de0574eecbea.JPG

 

I also doubled checked the SRAM sitiation (Hitachi VS Sony at the same speed) and it

made no difference, both sets of SRAM worked as they should. The CPU was the only

deciding factor with this console.

Very interesting discovery! Now I want to get my hands on a CPU that has issues. Unfortunately all of mine seem A-OK.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Shawn said:

Now I'm curious to see if anyone with multiple consoles who have the ability to switch out IC's could repeat the process of switching out the CPU between machines that are known to work and not work with the concerto. It they also turn out to be directly effected by the SALLY and nothing else that would be interesting. 

 

I swamped the NCR CPU in my 7800 with the Rockwell one in my 800xl.   The Concerto seems to work fine with the Rockwell CPU, but not the NCR one (menu works... game loader does not).  My NCR CPU is close in date to your non-working one  (my non-working NCR cpu has date code 8405).

 

  • Like 3
Link to comment
Share on other sites

38 minutes ago, splendidnut said:

 

I swamped the NCR CPU in my 7800 with the Rockwell one in my 800xl.   The Concerto seems to work fine with the Rockwell CPU, but not the NCR one (menu works... game loader does not).  My NCR CPU is close in date to your non-working one  (my non-working NCR cpu has date code 8405).

 

This is exactly what happened in my situation as well. Looks like we might be getting close to blaming the SALLY for concerto incompatibility. I think that is a win. Glad you where able to reproduce the same results I did with a compatible and incompatible CPU. I'm assuming the other CPU works perfectly with everything but the Concerto correct?

Link to comment
Share on other sites

2 hours ago, batari said:

 

Very interesting discovery! Now I want to get my hands on a CPU that has issues. Unfortunately all of mine seem A-OK.

 

I'd trade you if you like. I was gonna buy another 7800 but was worried it would have an incompatible CPU. From now on I will be checking the CPU is compatible with the Concerto when I have the ability to do so.

  • Like 2
Link to comment
Share on other sites

I anyone that has one of these CPU's on their board, could try a VersaBoard POKEY game, I would greatly appreciate it.  I know this is sort of, off topic, but Al told me that he has people say the Versa doesn't work for some people.  So I would be interested in results as well, as I have never heard of anyone telling me that before and the board is rather old now.

 

I haven't tried mine yet, kind of a cluster fuck around here.  But when I do, I have many naked systems to try on.  Almost done with a total ZIF monster, for quick chip tests.

Link to comment
Share on other sites

10 minutes ago, CPUWIZ said:

I anyone that has one of these CPU's on their board, could try a VersaBoard POKEY game, I would greatly appreciate it.  I know this is sort of, off topic, but Al told me that he has people say the Versa doesn't work for some people.  So I would be interested in results as well, as I have never heard of anyone telling me that before and the board is rather old now.

 

I haven't tried mine yet, kind of a cluster fuck around here.  But when I do, I have many naked systems to try on.  Almost done with a total ZIF monster, for quick chip tests.

 

99.9 percent sure the versa with pokey worked just fine with the incompatible CPU. I don't have one on hand right now as I was pestered for a repro cart at the time I had no other PCB's and sold my very last versa board with some random proto repro'd on it. Someone else will need to confirm to subside my self doubt and horrid memory. 

Link to comment
Share on other sites

1 hour ago, splendidnut said:

I swamped the NCR CPU in my 7800 with the Rockwell one in my 800xl.   The Concerto seems to work fine with the Rockwell CPU, but not the NCR one (menu works... game loader does not).  My NCR CPU is close in date to your non-working one  (my non-working NCR cpu has date code 8405).

Interesting that the CPU was running fine in the 800xl, which runs at the same base frequency at the 7800. Do you have a way to run the acid800 tests on your 800xl with this CPU? While the test is mainly for punishing emulators, the CPU specific tests could turn up something interesting. (though I'm leaning toward this being some kind of timing based difference.)

 

  • Like 1
Link to comment
Share on other sites

I just tried out my least previous Concerto compatible 7800 A1 series 7800. It either does not load the Arkanoid demo in Trbor's Pro Pack or crashes after choosing the joypad. I ran the utility cart, which once failed to load and once crashed after the internal RAM check, although the RAM check all passed. Also, external RAM passed. Cart integrity test showed three out of four blocks with dots rather than the block at the verey end of the F0 line, although I got the same with my best 7800. Everything else seems typical of my best 7800. Also, with the Diagnostic cart, I got a frowny face with X4 under it???

  • Like 1
Link to comment
Share on other sites

5 hours ago, Swami said:

Also, with the Diagnostic cart, I got a frowny face with X4 under it???

Thanks to the information provided by John Harvey for the below details...

 

=============================================================

Error codes

While disassembling the code, I found some of the error codes.
Note that the error code is sent to the "Yuk face" routine as a hex code on the Y-register, which
is then translated.  $0 thru $9 translate to 0 thru 9, and $A translates to "X".

 

Here is the list that I've accumulated:

 

01 - Failure to debounce either the reset switch or select switch
02 - RAM $0480 - $04FF error
03 - Diagnostic cart is running on a 2600 (cannot store to $2000)
04 - Status flags or stack error
05 - Failure of a PIA Timer
06 - Control port failure; occurs if not using proper diagnostic plugs or if the SWCHA ports are
     broken
07 - INPT failure; occurs if not using proper diagnostic plugs or if there is a failure in one of
     the INPT registers on the PIA
08 - diagnostic plug failure (if I remember right, this has to do with not having the 47 k-ohm
     resistors on the plugs.  I will re-investigate later.
11 - RAM $0140 - $01FF error
12 - RAM $0040 - $00FF error
14 - $FFF9 error-- Either the left nibble at $FFF9 does not contain a valid bank size (i.e. > 48K)
     or the right nibble isn't 7.

 

Error codes in the code that I haven't figured out (yet):

 

1) Numeric codes:
X0, X1, X2, X3, and X4 -- I found these codes in the following code segment:

 

;;;;;;;;; START CODE ;;;;;;;;;;;;;;;;;;

LF884:
     LDA    $F88B,Y  ; $B9,$8B,$F8
     TAY             ; $A8
     JMP    $F026

 

LF88B: ; SIX error codes used by F884.
     dc.b   $A4      ; will display "X4"

     dc.b   $A1      ; will display "X1
     dc.b   $A2      ; will display "X2
     dc.b   $A0      ; will display "X0
     dc.b   $A3      ; will display "X3
     dc.b   $03      ; will display "03

 

;;;;;;;;;;; END CODE ;;;;;;;;;;;;;;;;;;


Note that there are also other errors that are not caught with an "error code".  For example,
on the first screen where it says "7800 PRO SYSTEM DIAGNOSTIC TEST VERSION    1:00",
you can also somehow trigger text that says "       BAD!!!!!".
This is found at $EB87, the third chunk of character map data, to be stored at $191E.

=============================================================

@Mitch too provided some insight and results experience with "X4" as well:

 

X4 - I got this error when I installed the standard NTSC OS in a PAL machine. I also
     got it once when I hit a console button at the color adjustment screen.

=============================================================

 

The Diagnostic Cart is a part of Trebors 7800 ROM PROPack.  Posting the image here for convenience as well for anyone else that would like to leverage it:

Diagnostic Test Cartridge (19xx) (Atari).a78

 

Want your own copy?  Best Electronics has it... image.png.1011d863935e6f85a4b2c59bfe63d385.png 

 

@Swami Did you opt for the Universal NTSC/PAL BIOS with built-in Asteroids mod ("7800 Euro Operating System Upgrade") for your Best 7800 console?  The cartridge itself will not run at all on such a unit (I have both the cart and a Best Electronics mod with OS upgrade), but just the ROM image itself on a 'flash cart', I have not tried.

  • Like 2
Link to comment
Share on other sites

13 hours ago, Shawn said:

This is exactly what happened in my situation as well. Looks like we might be getting close to blaming the SALLY for concerto incompatibility. I think that is a win. Glad you where able to reproduce the same results I did with a compatible and incompatible CPU. I'm assuming the other CPU works perfectly with everything but the Concerto correct?

 

Yeah, everything else seems to run perfectly on it.  Granted, I don't have that many homebrew or odd-ball carts to try; all the common 7800 games run on it, the Harmony cart runs good (even better than either of my 2600s).  Rikki and Vikki runs fine on it.  This is the first time I've had issues with this 7800.

 

12 hours ago, RevEng said:

Interesting that the CPU was running fine in the 800xl, which runs at the same base frequency at the 7800. Do you have a way to run the acid800 tests on your 800xl with this CPU? While the test is mainly for punishing emulators, the CPU specific tests could turn up something interesting. (though I'm leaning toward this being some kind of timing based difference.)

 

 

Ran the acid800 tests on the 800xl... everything passed.  So I'm also leaning towards some weird timing difference.

 

  • Like 3
Link to comment
Share on other sites

9 minutes ago, splendidnut said:

 

Yeah, everything else seems to run perfectly on it.  Granted, I don't have that many homebrew or odd-ball carts to try; all the common 7800 games run on it, the Harmony cart runs good (even better than either of my 2600s).  Rikki and Vikki runs fine on it.  This is the first time I've had issues with this 7800.

 

 

Ran the acid800 tests on the 800xl... everything passed.  So I'm also leaning towards some weird timing difference.

 

A logic analyzer (and the knowledge to use it!) might be useful here to look at a bunch of signals at once. As an aside, I wonder if this sort of thing is due to a noisy clock signal, especially since - if I understand correctly (*) - SALLY in the 7800 does not run at a constant speed; the clock changes back to 1.19 Mhz when accessing TIA or RIOT registers. If there’s a “messy” transition, it might cause spurious timing problems with external devices.

 

 

(*) As a hobbyist and amateur tech/modder/solder jockey, and very, very little assembly language knowledge and ZERO 7800 programming experience, I could be wrong. 

Link to comment
Share on other sites

Got mine!!!

 

ok so here's some initial testing results:


my primary 7800 is an A1 serial, with a UAV mod. 


1. that flashing colors/whole screen/epilepsy test is headache inducing.

 

2. Boots fine every time. No menu corruption (concerto .93)

 

3. same kinds of issues with SD cards as others. Went through a few older variety 2gb Sandisk, 4gb Verbatim, with no dice, before I settled on a fairly new 32gb Lexar MicroSD in an adapter. That one works fine. 
 

4. The only game it won't run on mine is Pitfall II. Every other game I tried worked just fine. Including BBCQ and DKXM old demos with pokey - sound is great!

 

5. Barnstorming the first time I tried it had a weird offset graphics thing, where the propeller of the plane was in the middle of the plane in stead of the nose, and the geese looked squashed, like ducks. But that only happened once, the first time. Every time since it has been fine. But also - it is not paying attention to difficulty switches. It is stuck on "A" or more difficult, regardless of how it is set - but when I run the genuine carts, they work Correctly.

Link to comment
Share on other sites

5 hours ago, Trebor said:

Thanks to the information provided by John Harvey for the below details...

 

=============================================================

Error codes

While disassembling the code, I found some of the error codes.
Note that the error code is sent to the "Yuk face" routine as a hex code on the Y-register, which
is then translated.  $0 thru $9 translate to 0 thru 9, and $A translates to "X".

 

Here is the list that I've accumulated:

 

01 - Failure to debounce either the reset switch or select switch
02 - RAM $0480 - $04FF error
03 - Diagnostic cart is running on a 2600 (cannot store to $2000)
04 - Status flags or stack error
05 - Failure of a PIA Timer
06 - Control port failure; occurs if not using proper diagnostic plugs or if the SWCHA ports are
     broken
07 - INPT failure; occurs if not using proper diagnostic plugs or if there is a failure in one of
     the INPT registers on the PIA
08 - diagnostic plug failure (if I remember right, this has to do with not having the 47 k-ohm
     resistors on the plugs.  I will re-investigate later.
11 - RAM $0140 - $01FF error
12 - RAM $0040 - $00FF error
14 - $FFF9 error-- Either the left nibble at $FFF9 does not contain a valid bank size (i.e. > 48K)
     or the right nibble isn't 7.

 

Error codes in the code that I haven't figured out (yet):

 

1) Numeric codes:
X0, X1, X2, X3, and X4 -- I found these codes in the following code segment:

 

;;;;;;;;; START CODE ;;;;;;;;;;;;;;;;;;

LF884:
     LDA    $F88B,Y  ; $B9,$8B,$F8
     TAY             ; $A8
     JMP    $F026

 

LF88B: ; SIX error codes used by F884.
     dc.b   $A4      ; will display "X4"

     dc.b   $A1      ; will display "X1
     dc.b   $A2      ; will display "X2
     dc.b   $A0      ; will display "X0
     dc.b   $A3      ; will display "X3
     dc.b   $03      ; will display "03

 

;;;;;;;;;;; END CODE ;;;;;;;;;;;;;;;;;;


Note that there are also other errors that are not caught with an "error code".  For example,
on the first screen where it says "7800 PRO SYSTEM DIAGNOSTIC TEST VERSION    1:00",
you can also somehow trigger text that says "       BAD!!!!!".
This is found at $EB87, the third chunk of character map data, to be stored at $191E.

=============================================================

@Mitch too provided some insight and results experience with "X4" as well:

 

X4 - I got this error when I installed the standard NTSC OS in a PAL machine. I also
     got it once when I hit a console button at the color adjustment screen.

=============================================================

 

The Diagnostic Cart is a part of Trebors 7800 ROM PROPack.  Posting the image here for convenience as well for anyone else that would like to leverage it:

Diagnostic Test Cartridge (19xx) (Atari).a78 32.13 kB · 0 downloads

 

Want your own copy?  Best Electronics has it... image.png.1011d863935e6f85a4b2c59bfe63d385.png 

 

@Swami Did you opt for the Universal NTSC/PAL BIOS with built-in Asteroids mod ("7800 Euro Operating System Upgrade") for your Best 7800 console?  The cartridge itself will not run at all on such a unit (I have both the cart and a Best Electronics mod with OS upgrade), but just the ROM image itself on a 'flash cart', I have not tried.

Sorry, by "best" I meant the most compatible of my three 7800s. It's just a random X series 7800 I bought off of eBay.

  • Like 1
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...