Monday, May 18, 2015

Under the Cover

Now that we've explored the case, it's time to delve into the innards.

Below is a hi-res picture of the motherboard of the Deluxe Color Computer. You'll immediately notice that it has lots of wires -- undoubtedly modifications to adjust its operation after the board run in order to fix issues.



Since there isn't a service manual in existence for this machine, any attempt to understand its design must start with a survey of the integrated circuits that it contains. I'll enumerate them here:

  • U1 - SC77527P
  • U2 - SC77526P
  • U3 - RC4559N
  • U4 - MC6847P (This particular part DOES have lowercase characters -- I verified this)
  • U5 - MC1489P
  • U6 - MC1372P
  • U7 - MC1488P
  • U8 - S6551P
  • U9 - SN74LS273N
  • U10 - RF Modulator
  • U11 - GI AY-3-8913
  • U12 - SN74LS161AN
  • U13 - MC6821P
  • U14 - SN74LS221N
  • U15 - SN74LS32N
  • U16 - SN74LS86ND
  • U17 - SN74LS09N
  • U18 - SN74LS22NS
  • U19 - SN74LS04N
  • U20 - SN74LS260N
  • U21 - MC6822P
  • U22 - F74244PC
  • U23 - SN74LS273N
  • U24 - 27128 (16K ROM, currently DWDOS for CoCo 2 that I installed)
  • U25 - MC68B09EP
  • U26 - 6349-IN
  • U27 - SN74LS74AN
  • U28 - SN74LS161AN
  • U29 - SN74LS161AN
  • U30 - SN74LS783N
  • U31 - SN74LS244N
  • U32 - N82S153N
  • U33 - SN74LS157N
  • U34 - SN74LS14N
  • U35-U42 - TANDY 8040655
  • U43 - SN74LS12N
  • U44 - SN74LS393ND
There is an additional IC near U20 that is glued upside down on the board with wires coming from it. I have not identified that IC up to now.

The power supply is located on the middle left side of the case,  just as it is on the 64K Color Computer. The keyboard connector accepts the ribbon style mylar cable that is common on the CoCo 2 and CoCo 3. And of course, the 40 pin expansion connector is right where it should be.

Recall from the previous post that a 9 pin serial connector is mounted on the back, as is composite audio and video.

There's quite a bit to digest here, and I'll be out of town a few days on business, so there will be a stretch of time before I can make another post. So have fun and let the comments ensue!






47 comments:

  1. Interesting that the 6847 has lowercase in the onboard ROM. I know they Motorola would produce them with a customers ROM data.

    ReplyDelete
  2. Was there a "Deluxe CoCo" version of the ROMs? Or was it the same as the CoCo1/CoCo2 Color BASIC and Extended Color BASIC?

    ReplyDelete
    Replies
    1. Oh, and is the ROM image available?

      Delete
    2. Deluxe Basic had many new features. The ROM included Disk Basic and with no disk controller installed used the upper 32K of RAM as a storage device. It also had support for the sound chip.

      Delete
    3. The unit I'm showing not come with a ROM in it. The EPROM you see in the photo is a 27C128 that I placed in with DWDOS so that I could boot NitrOS-9. The other Deluxe unit that I have does contain a daughterboard with four 24-pin 8K ROM sockets, but only two of the four were populated (one had Color BASIC, the other had Extended BASIC). Greg Zumwalt told me that he was contracted to perform the Deluxe BASIC extensions but did not complete them.

      Delete
    4. Aw, geez. Are the ROMs lost forever? Please say it ain't so. :_(

      Delete
    5. Deluxe Basic was written by Microsoft. It was complete and released to production

      Delete
    6. I doubt that any of the copies are in existence. I wrote part of the new Basic and gave the routines to MS to integrate.

      Delete
  3. Is the AY-3-8913 directly addressable on the bus? Or is it hidden behind a PIC like on the SSC?

    ReplyDelete
    Replies
    1. I've got disk images from Microware that contain source code for modules for the Deluxe CoCo OS-9 port. I'll try to post them here. A cursory glance through them shows that the 6551 is mapped at $FF3C-$FF3F. I suspect the sound chip is not far from there.

      Delete
    2. Found them. Download the ZIP and you can use the 'os9' command from ToolShed to inspect the two disk images.

      http://www.boisypitre.com/deluxe.zip

      Delete
  4. Was there any built-in software to access the 6551 serial port? Was PRINT #-2 redirected to that port?

    ReplyDelete
    Replies
    1. There was a command called TERM that started a terminal program

      Delete
  5. Did the lowercase characters have to be enabled like in the T1? Or were they just there in place of the inverse characters?

    ReplyDelete
    Replies
    1. Well, the manual said you could enter BASIC commands in lowercase on the Deluxe CoCo, so I expect LC must have been the default?

      Delete
    2. No, the inverse characters were default. You had to bring the VDG into mode to show lowercase characters, just like the VDG T1. However, on this version of the VDG, putting it into this mode causes some interesting visual artifacts -- the lower case characters are missing pixels. I'll get it running and take a picture when I get back home.

      Delete
  6. do we *know* how the AY chip is accessed ??

    ReplyDelete
  7. I wonder if the description on page 16 of this PDF (16 relative to the file, no the printed page number) is more or less a page from the Deluxe CoCo?
    https://www.dropbox.com/s/xl91f8to1q55mj3/FullTurn.pdf

    ReplyDelete
    Replies
    1. I don't see a specific reference to the Deluxe. It mostly looks like an article describing how the sound chip works, etc.

      Delete
  8. How many of these chips are no longer available? It would be interesting to recreate this...

    ReplyDelete
    Replies
    1. This is what I find confusing. They are generally generic parts (for the time) yet most can still be found today. Most parts are the same as a CoCo after it yet apparently Tandy couldn't get enough of the parts to go into production.

      Judging by the number of parts, the size of the PCB and the fact that they went with a more cost reduced CoCo2 later, it looks to me more like the Deluxe CoCo was cancelled because it exceeded Tandy's budget for the CoCo.

      Delete
    2. Nick, the VDG was the chip in short supply at the time. Since both the Deluxe and the CoCo 2 needed the chip, the available chips went to the CoCo 2 and so the Deluxe was axed. This was told to me by Mark.

      Delete
    3. So, when the VDG became available, they decided to make a cost reduced CoCo2 and ditch the better Deluxe CoCo?

      Tandy wasn't the only company using that VDG so it wasn't as if it was specially produced for them. Maybe they weren't keen to pay the full price.

      Something doesn't sound right.

      Delete
    4. I'm only guessing here, but I expect that given the Christmas sales season, product had to be committed to production on a certain time table. If the VDG was in short supply as Mark indicated to me, Tandy was in the position to make a Solomonic choice: let one live and the other die, or split the baby and let both live. My intuition tells me that the CoCo 2 won because it was cheaper to manufacture than the Deluxe CoCo, and more profit could be made selling that machine.

      But ultimately Mark can shed more light on this. It's an educated guess and some conjecture on my part.

      Delete
    5. This could be true but it was a decision that delayed the release of an upgraded CoCo for many years.

      I can only fathom that there was a plan for the CoCo3 in the near future using the then under development RMS chipset. When this failed to eventuate, the CoCo3 with GIME chip was commissioned.

      These delays would have been caused by Motorola but the Deluxe CoCo cancellation would have been more likely hinged on cost.

      Delete
    6. It was a simple choice by Management. Use the chip production for the Coco 2 that you know you can sell all of them or take a chance on a now model that is untested in the market place. Upper Management was not willing to take any risks. There were no other sources for this IC. Tandy bought the entire rub of chips for the year.

      Delete
    7. That makes sense. The low end market was the CoCo's main arena and I can understand the risks in investing in something that may have a smaller market share and cost more to produce.

      It also then makes sense that Tandy looked for another way to make an upgraded CoCo and still keep the costs down... hence the CoCo3.

      The CoCo3 is a great CoCo upgrade and well designed. I just wish the sound chip from the Deluxe was also included.

      Delete
    8. No one really used the sound hardware in the CoCo3 correctly and that included Tandy. A 6 bit dac and a programmable interrupt generator could have done 3 voices of PCM very easily. That's basically just one load, 2 adds, 2 shifts, a store and an address check on the 3 frequency samples. Set the interrupts at 1kHz and that set aside an 8K block of memory to hold your samples and you have a very nice synthesizer.

      I take the full blame for not having that resource available in the CoCo 3. But I really didn't understand how to really do it until I got into designing the MPC.

      Delete
    9. Might be a bit trickier than that. For starters, including such a routine into your application would leave little to no time for the application itself.

      The method employed in a game to provide sound simultaneously with game code execution is to use interrupts to trigger the sound playback. Generally, my routines put out a 2 channel sound at around 8Khz. It could be bumped up but that eats into CPU cycles needed for the game itself. A balance needs to be found.

      There really is no substitute for a dedicated sound chip to offload much of the sound generation. That's where computers like the C64 and Atari 800's have the edge with their dedicated sound circuits and hardware sprites. These two features alone save so much CPU load and leave more available for the game or application.

      Delete
    10. Oh, and I should point out, 1Khz is very low fidelity.

      Delete
    11. A 1K sample rate will yield a B above middle C Which should produce acceptable music. If we are talking fidelity A DAC will render much better sound than the oscillator's in the Deluxe sound chip. In a 2MHz 6809 I think you afford the 10% overhead. Granted you do have to write good code to get there but that was the case with all that generations computers. And just for note fidelity is a function of sample size not sample rate.

      Delete
    12. I hope you back up these claims with actual coding experience on the CoCo. Have you got examples to point us to? There are some really talented people here who know the hardware very well that will be scratching their heads after hearing that.

      What you need to take into account is that sound is not the only thing being produced within a realtime multi-tasking arcade game environment.

      And from my experiences, 1Khz is way too low for multi-channel realtime sound generation.

      Delete
    13. I'm talking samples here... where a gunshot sounds like a gunshot and an explosion sounds like an explosion.

      Not beeps and squawks or sound that freezes animation on the screen.

      Delete
    14. With all due respect, you do know who you are talking with.
      I designed the CoCo 3 so I have a pretty good idea what
      It ‘s capable of. I have not coded in 6809 in many years
      But I do write a lot of PIC code these days so I have no doubt
      of what I’m saying. Gunshot, Explosion, on a PCM system are
      You kidding? I do grant you that you would have to give up the
      Joystick to do this. But you can do it. A 1K sample rate is just fine
      For music and sound effects. Granted it’s insufficient for voice
      But we are not talking about voice.

      Have any of your talented folks ever written a sampling synthesizer?

      Delete
    15. Ever seen CoCoTracker? A four voice Amiga MOD file player that plays samples at 10KHz each. It uses every available CPU cycle for music generation and sounds fantastic.

      If you're not talking voice then you're not talking sound samples but computer generated tones which eat up CPU cycles.

      It can be used in games for background music (such as Steve Bjork's Super Pitfall) but sampled sound is better for realistic sound effects and have less CPU overhead (data has been preprocessed) but they eat up more RAM.

      It still is no match for a dedicated sound chip like the C64's SID chip. Just look at any C64 game and compare the sound to any CoCo game.

      Delete
    16. Forgot to put in the link:

      https://www.youtube.com/watch?v=49uB068i3ZU

      Delete
  9. 3 minutes on Ebay and I found...

    The Sound chip:
    http://www.ebay.com.au/itm/AY-3-8913-NEW-GENUINE-by-GI-DIP-24-/170917212314?pt=LH_DefaultDomain_0&hash=item27cb75b09a

    The UART:
    http://www.ebay.com.au/itm/1x-UM6551-IC-UART-DIP-28-/121340850690?pt=LH_DefaultDomain_0&hash=item1c407a7202

    ReplyDelete
    Replies
    1. The Cocos 1 thru 3 had superior sound compared to the Apples and Commos in one sense -- with the 6-bit DAC they could do sampled sounds like breathing, gunshots, speech etc. The other machines had to fake these by careful manipulation of the AY or whatever sound chip. Of course playing those samples chewed up precious CPU cycles, but only our Cocos could talk. FWIW, I wrote some music playing code for COcos that never gort published, bujt could do 6-part stereo. Regret I did not put these into UltiMusE-III.

      Delete
  10. This comment has been removed by the author.

    ReplyDelete
  11. 3rd try is a charm?

    Copied from my Facebook post

    I opened up one of the OS-9 DSK files Boisy posted.
    The source code defines the AY address as follows:
    SoundAdr set $FF38
    SWrtData set SoundAdr
    SRdData set SoundAdr+1
    SWrtReg set SoundAdr+1

    That looks odd because the read and write are normally done at the same address and the register select is normally the first address. But that depends entirely on the implementation.

    Here is what I would have expected:
    SoundAdr set $FF38
    SWrtData set SoundAdr+1
    SRdData set SoundAdr+1
    SWrtReg set SoundAdr

    ReplyDelete
  12. Copied from my Facebook post (with formatting corrected)

    And here is the code that appears to define the ACIA (serial) port:

    CPUType set Color
    COCOType set Original
    ClocType set 0
    PwrLnFrq set Hz60 Set frequency for U.S.
    DPort set $FF40
    ifeq COCOType-Delux
    ACIAType set ACIA6551
    A.T2 set $FF3C 6551 Acia Internal
    A.T3 set $FF68 6551 AciaPak
    else
    A.T2 set $FF68 6551 ACIA external
    endc

    The Deluxe CoCo's 6551 appears to be addressed at $FF3C

    ReplyDelete
    Replies
    1. Here is the Dragon 64/Tano Dragon setup:

      CPUType set Dragon
      ClocType set 0
      PwrLnFrq set Hz50 Set for appropriate Line Frequency
      ACIAType set ACIA6551
      DPort set $FF40
      A.T2 set $FF04 6551 ACIA

      It appears to have the 6551 at $FF40

      Delete
  13. Cool! Why was this AY-3-8913 sound chip never added to the CoCo 3, if they wanted it in the Deluxe CoCo?!

    ReplyDelete
    Replies
    1. With Tandy, is was all about reducing cost to keep profits up. Still, the added functionality of a sound chip would have raised the CoCo3's profile if all software could utilize the enhanced sound.

      Sometimes, you have to take 1 step backwards to go 2 steps forward and Tandy were not prepared to risk that.

      Delete
  14. Search the first disk for the word blue, you might find something interesting.

    ReplyDelete
  15. One of the CoCo's biggest problems didn't have anything to do with technology, or for that matter, management looking to save a buck, but, intentionally keeping the CoCo below the standards of the PCs it was selling (for alot more money). So, keeping the CoCo cost effective was needed to meet the price. At the end of the day, the CoCo's driving design mandate was price. Naturally, the engineers who designed it had access to continually better hardware, but had to deal with cost constraints. From what I see, they were just too good at their jobs, and were producing near or at the quality of the PCs of the day, and Tandy wanted nothing to do with providing equal specs from a $200 machine. It's sad, because the CoCo developers were just really good at what they did, but were held back by price constraints as well as just not out-doing the PCs. PC architecture was horrible back in those days, so it wasn't difficult for the CoCo designers to reach parity with much more expensive, but poorly designed PCs. Seeing as we have the designer of the CoCo 3 participating in the discussion, perhaps he could shed more light on what drove development and what management obstacles were there.

    ReplyDelete