Jump to content
IGNORED

Please help with the ColecoVision Opgrade Module


opcode

Help decide what the Opgrade Module should be  

122 members have voted

  1. 1. Please choose the statement(s) which best describe your view about what the OM should be:

    • OM is a pluggable module for the CV with minimum functionality, lowest possible price
      26
    • OM is a pluggable module with advanced functionality, like A/V outputs
      44
    • OM is a standalone device that can plays all the CV games, and also have the OM functionality
      61
    • Who cares about expansion modules?
      4
    • I have a better idea...
      3

  • Please sign in to vote in this poll.

Recommended Posts

That's a good point, certainly. If there's excessive cost, overhead, work or chance of an additional failure point, then it's not worth it. With that said, giving every game the option to have relatively free (from a processing and memory standpoint) classic style synthesized speech, if only to announce the score or be an additional source of sound effects on minimal usage, and the cost is "only" an additional $10 to $20, I'd say it's very, very worth it (again, coming from my biased perspective as a fan of the sound).

 

The way I see your project is this. You have one shot to get this right, meaning however you make it is going to be THE standard going forward, be it your device or a hypothetical future clone that someone makes a few decades on. So whatever you put into it is what it's going to be forever. If you can add "important" bells and whistles for minimal extra cost, now is the one and only time to do it. In other words, since logically there can't be a rev 2 because you can't fracture the base any more than one time, if a feature is deemed worthy, it has to go in now. If it goes in now, it guarantees software support. Since the module or stand alone is required anyway, it's not like you'll have haves and have nots if the features go in now. The difference is of course if first YOU deem it worth the extra effort and then if there's sufficient demand to make it cost effective/worthwhile from a secondary standpoint.

 

Certainly modern day efforts like the VecVox/AtariVox indicate some of the current interest in this type of thing, though those are at the disadvantage of being a one-off add-on. The advantage with including something similar in your project is that you're making the platform for it standard, so it's not a one-off, but a feature that would get supported anyway because it's already there.

 

(long-winded, but hopefully I made my point clear enough)

Link to comment
Share on other sites

I got a couple of MSM6295's, which are ADPCM devices with 4 channels, very common with arcade games during the 80s. Capcom CPS arcade boards used it, so if you have listened to SF II sound before you have heard the MSM6295 (with the YM2151, which is already in the OM. The YM2151 creates the music, while the MSM6295 is responsible for drums and almost all sound FX)

... However... I am not use if I should use it. The IC itself is going to costs some $10 or so, plus it needs memory, up to 256KB. Plus extra glue logic, plus extra PCB space... Personally I would love to have it, but I don't know if most people here would agree to pay the extra price...

It depends what you would intend to do with it. Let me put it in a way that everyone here can understand: Would an ADPCM device be absolutely necessary to do the voices in Wizard of Wor? :)

 

PSGs and FMs are tone chips. That means they can only produce a tone in a given frequency without further CPU intervention. And as you probably know, the Z80 (or any other CPU from the 80s for the matter), isn't fast enough to keep feeding a sound generator or DAC to produce a sample and at the same time keep with game logic. So in other words, in other for the Z80 to reproduce PCM sound or similar it needs to stop doing anything else.

With that said, a few kinds of ICs produced during the 80s can help with PCM/sample playback with little CPU intervention. Speech synth is a kind, but they are very limited, and frankly, their speech quality sucks (even though they have this retro coolness aura, with their robot like voices). Usually speech synth ICs come with pre-defined voices, and can produce only pre-defined phonemes.

PCM and ADPCM chips are the other solution. Usually they have some sample memory and can playback a sample with minimal CPU intervention (the CPU just need to indicate a sample # or a start address). They are a lot more versatile than speech synths because they can do not only speech but any other sound FX imaginable. The disadvantage is that they need memory for sample storage and they eat that memory pretty quickly. ADPCM is better than PCM when memory is a concern because it uses a kind of compression, usually requiring half of the memory necessary for PCM. At 8KHz sampling rate (which is adequate for most voices and sound FXs), 256KB of sample RAM is enough for 64s of sampled sound, or about a minute. Speech synth doesn't have such requirements, as voice is stored as phonemes, usually a byte or so per phoneme. But then, in my opinion, speech synth gets old pretty fast... And it fits better with Ataris than with the CV, because as I said speech synth is so 70s... :P

Link to comment
Share on other sites

I got a couple of MSM6295's, which are ADPCM devices with 4 channels, very common with arcade games during the 80s. Capcom CPS arcade boards used it, so if you have listened to SF II sound before you have heard the MSM6295 (with the YM2151, which is already in the OM. The YM2151 creates the music, while the MSM6295 is responsible for drums and almost all sound FX)

... However... I am not use if I should use it. The IC itself is going to costs some $10 or so, plus it needs memory, up to 256KB. Plus extra glue logic, plus extra PCB space... Personally I would love to have it, but I don't know if most people here would agree to pay the extra price...

It depends what you would intend to do with it. Let me put it in a way that everyone here can understand: Would an ADPCM device be absolutely necessary to do the voices in Wizard of Wor? :)

 

PSGs and FMs are tone chips. That means they can only produce a tone in a given frequency without further CPU intervention. And as you probably know, the Z80 (or any other CPU from the 80s for the matter), isn't fast enough to keep feeding a sound generator or DAC to produce a sample and at the same time keep with game logic. So in other words, in other for the Z80 to reproduce PCM sound or similar it needs to stop doing anything else.

Okay, here's a totally hypothetical question for you: In a one-chip-CV solution where the speed of the main CPU can be improved by 150%, would feeding a PSG chip with voice sample data become possible? Just curious. :)

Link to comment
Share on other sites

 

Okay, here's a totally hypothetical question for you: In a one-chip-CV solution where the speed of the main CPU can be improved by 150%, would feeding a PSG chip with voice sample data become possible? Just curious. :)

 

The problem isn't exactly speed, but timing. The CPU must feed the sound device within precise intervals, and unless we are talking about dozens of MHz you may not be able to do that and still do some other processing in between. We would need a timer (because the VDP NMI is 60Hz, a hundred times slower than what would be necessary), and we would need a very fast CPU to be interrupted, feed the sound device and still do some other processing while it waits for the next interruption.

As an example, the MSX Turbo-R had a CPU at 28MHz, and it had a DAC, and it had a timer, and even so I never saw it playing samples while doing anything else. The MegaDrive (Genesis) had a 68000 CPU, timer and DAC, and it could playback samples during gameplay, but that was because it had a dedicated Z80 as sound CPU.

A possibility would be to create a playback device using a timer, FIFO and a DAC. The CPU would feed the FIFO during NMI then the timer would take the data out of the FIFO and feed the DAC on regular intervals. The problem is that we would need to use PCM in this case, which requires more memory (more cartridge space), and the final cost of the solution would be about the same as a custom ADPCM device.

What we could do is to replace the PSG that I was planning with the ADPCM, but in this case we would loose the I/O ports. Of course that can be recreated using a couple of 74 ICs, just like the original PC parallel port did, but anyway... Or we could have all sound ICs, but that will affect price.

Link to comment
Share on other sites

That's a good point, certainly. If there's excessive cost, overhead, work or chance of an additional failure point, then it's not worth it. With that said, giving every game the option to have relatively free (from a processing and memory standpoint) classic style synthesized speech, if only to announce the score or be an additional source of sound effects on minimal usage, and the cost is "only" an additional $10 to $20, I'd say it's very, very worth it (again, coming from my biased perspective as a fan of the sound).

 

I am also a fan of sound, I am sure Pixelboy can attest that. I am sure most of the time he simply cannot understand why I am so obsessed with sound ICs. :)

But on the other hand I think price is also important, and I understand that sound is secondary for most people (for me sound is as much if not more important than graphics, because sound can create atmosphere, change player’s mood, etc, which is harder to accomplish with graphics).

 

The way I see your project is this. You have one shot to get this right, meaning however you make it is going to be THE standard going forward, be it your device or a hypothetical future clone that someone makes a few decades on. So whatever you put into it is what it's going to be forever. If you can add "important" bells and whistles for minimal extra cost, now is the one and only time to do it. In other words, since logically there can't be a rev 2 because you can't fracture the base any more than one time, if a feature is deemed worthy, it has to go in now. If it goes in now, it guarantees software support. Since the module or stand alone is required anyway, it's not like you'll have haves and have nots if the features go in now. The difference is of course if first YOU deem it worth the extra effort and then if there's sufficient demand to make it cost effective/worthwhile from a secondary standpoint.

 

I completely agree. But then we might end aiming too high for this thing if we aren't careful. I mean, I am trying to have some compromise here between features and price and such. Believe me, I would completely love to have an ADPCM device on this thing, I would use it as soon as with DKA, because the original DK uses sample playback for half of its sounds, and the other half is produced by analog circuits, so an ADPCM would reproduce all those sounds perfectly, as it would reproduce all Space Invaders sounds perfectly, and all Wizard of Wor voices and so on. But then we need some compromise, just like we compromise when we program for the plain vanilla CV, otherwise we would end adding stuff “ad infinitum”…

As I said, if I was going to use an ADPCM device I would go with the (Oki)MSM6295 and 64KB of SRAM. I would also need some glue logic and two bus drivers to control SRAM access (the MSM6295 was created to use ROMs). The Z80 would be normally isolated from the SRAM, then it would request SRAM access thru the "slot selector" (which is already in the OM). The slot selector would then block 6295 access to the SRAM and release access to the Z80. The Z80 would fill the SRAM with samples, then release the SRAM for the 6295 again (thru the slot selector). Since the 6295 is a 4 channels solution it can playback 4 samples at the same time, like drums, sound FXs and voices. I believe 64KB of SRAM (two 32KB SRAM ICs) would be enough, since the Z80 can constantly change the SRAM data. The Capcom CPS games use 256KB of sample data, but it is because they use ROM, and samples cannot be changed.

Please check the diagram...

post-1432-125122637948_thumb.png

Link to comment
Share on other sites

I am also a fan of sound, I am sure Pixelboy can attest that. I am sure most of the time he simply cannot understand why I am so obsessed with sound ICs. :)

I attest. I attest. ;)

 

But I do understand (and agree) that sound is more important than graphics in terms of setting up a proper gaming atmosphere. I mean, would Donkey Kong be as much fun if the sound output was either cheap, or altogether absent?

Link to comment
Share on other sites

I finally got 4 YM2151s (aka OPM) and their companions YM3012. The YM2151 was probably the best FM sound chip available during the 80s. Only the DX7 keyboard could beat it in terms of sound quality. It was the most used sound chip in arcade games during the second half of the 80s. Only two computers used the OPM, the Sharp X68000 and the Yamaha CX line of MSX computers. In fact I believe the YM2151 was created for the Yamaha MSX, as the CX line came with the OPM in 1984, the same year the OPM was created. Interestingly, even though the OPM was the first single chip FM Yamaha created (the DX7 keyboard used two ICs), it was also the best one. The two other consumer FM lines, the OPN and OPL were both inferiors. OPL had more channels but used only 2 operators per channel (versus 4 in the OPM, and 6 in the DX7 keyboard). The OPN was also 4 operators, but had fewer channels (usually 3 to 6, versus 8 in the OPM). The OPM was also used in some semi-professional keyboard and modules, like the DX100, DX21, DX27 and the FB-01 module. Korg also used the OPM in a few keyboards.

No home console used the YM2151... yet. The Genesis used one of the OPNs, not as good as the OPM, only 6 channels and a few missing features.

The YM2151 is capable of generating 8 channels of FM sound, 4 operators per channel, many algorithms, stereo sound.

For a demonstration of the OPM power I suggest listening to the music of such arcade games like Salamander, Contra and Thunder Cross, which used the YM2151 exclusively. Castlevania X68000 is another good option. Or for the ultimate OPM experience, I suggest Gradius III (the arcade game), which featured the OPM with a few sampled drums and choirs.

I just cannot wait to listen to the CV playing one of those beasts... :)

BTW, I also got 4 MSM6295, the ADPCM playback chip...

post-1432-12512620572_thumb.jpg

post-1432-125126207152_thumb.jpg

Edited by opcode
Link to comment
Share on other sites

I just cannot wait to listen to the CV playing one of those beasts... icon_smile.gif

 

Hi Opcode...

 

I can tell you that I even have a electronic keyboard from Yamaha Model: PSS 480 Music Station.

 

I bought it for many years ago.

 

And as you describe, the sound from Yamaha is top notch.

 

It's a very lifelike sound, and I think the drums are sampled. icon_mrgreen.gif

 

------------------------------------------------------------

 

How much of a good thing will you put in the OM. ?

 

Or will you save it to a later stand alone CV2. ?

Edited by ten-four
Link to comment
Share on other sites

I can tell you that I even have a electronic keyboard from Yamaha Model: PSS 480 Music Station.

 

I bought it for many years ago.

 

And as you describe, the sound from Yamaha is top notch.

 

It's a very lifelike sound, and I think the drums are sampled.

 

I am sure the PSS 480 is only 2 operators per channel, OPL class.

To get a good idea of the OPM sound quality, I suggest listening to Thunder Cross (which uses the YM2151 exclusively for everything):

http://www.youtube.com/watch?v=fHtVBVYHLS8

Or Gradius III, which gets a little help from a PCM chip for drums:

Or Castlevania X68000:

 

As an update, I am currently working on the standalone CV+OM. Here is what I have added so far:

- System CPU, Z80 running @ 7.14MHz or 3.58MHz, selectable by software.

- Memory wait state (durant M1 cycle) can now be disabled, giving a 20% performance burst. Default is wait state enabled.

- VDP NMI can now be disabled by I/O port, solving an old problem

- Spinner can be disabled by I/O port, solving another problem

- 24KB of main RAM

- BIOS is 128KB, flash memory

- VDP is now V9958, with 128KB of VRAM, expansible to 192KB. Many new features, but backward compatible.

- Sony video encoder can output composite, S-video and RGB

- And of course there is a lot of glue logic to control all these stuff

 

What is still missing (Opgrade Module):

- Slot selector (selects between cartridge, MegaRAM and possibly sample RAM)

- MegaRAM (128KB, emulates cartridge)

- YM2151 (sound)

- PSG and I/O port (sound)

- MSM6295 (sound, as suggested)

- IDE with CF

- Stereo sound output

 

What is missing (legacy CV):

- Cartridge slot

- Joystick ports

- Reset circuit

- Power

- CV PSG (SN76489)

- Expansion port (should become internal)

 

My plan now is to finish including the legacy stuff and produce a first prototype. In fact I already have all the main ICs. Today I got the new Z80s (8MHz, CMOS), the cartridge slot, the CPU oscillator (14MHz, which is divided by 2 and 4), and the VDP crystal (21MHz), in addition to several smaller ICs.

For some reason I haven't received the first prototype PCB yet (pluggable OM). I should call the PCB manufacturer tomorrow and check with them. The PCB was supposely shipped on August 18th. Anyway unless they have some good excuse, I am not happy. 3 weeks for a single PCB is just too much...

 

Eduardo

post-1432-125133541542_thumb.jpg

Edited by opcode
Link to comment
Share on other sites

Ok, so I checked with the PCB company and my PCB is supposedly in transit... 3 weeks is kind of a long time for a single PCB. And not very practical for prototyping purposes... :(

 

Hi Opcode.

 

I hope the PCB shows up soon. I'd be inclined to have the manufacturer track it down for you.

 

In looking over your list I can see that the standalone CV/OM will have a wealth of features. Would you consider adding HDMI output to it?

Link to comment
Share on other sites

Now that I am working on the power regulator component of the CV2 I just noticed that the V9958 consumes as much as 250mA!!! I was going to use a 7805 as the voltage regulator but that can output "only" 1A. Does anyone suggest another solution? I think something like 3A should be used. I am planning to use a 9V regular power supply.

Link to comment
Share on other sites

Now that I am working on the power regulator component of the CV2 I just noticed that the V9958 consumes as much as 250mA!!! I was going to use a 7805 as the voltage regulator but that can output "only" 1A. Does anyone suggest another solution? I think something like 3A should be used. I am planning to use a 9V regular power supply.

 

 

Maybe you could use this LM.

Link to comment
Share on other sites

Now that I am working on the power regulator component of the CV2 I just noticed that the V9958 consumes as much as 250mA!!! I was going to use a 7805 as the voltage regulator but that can output "only" 1A. Does anyone suggest another solution? I think something like 3A should be used. I am planning to use a 9V regular power supply.

 

 

Maybe you could use this LM.

 

Hi Ole,

 

Thanks a lot! Actually I had already found this (which btw is the same as the one you pointed me): :)

http://www.st.com/stonline/products/literature/ds/2165/lm123.pdf

 

And this heat sink to go with it:

http://media.digikey.com/pdf/Data%20Sheets/Aavid%20Thermal%20Technologies%20PDFs/513102B02500.pdf

 

Are you good with electronics? Perhaps you could help me...

BTW, I checked the Z80, YM2151, YM3012, MSM6295 and CXA1645 and they give us another 200mA of power current. The YM2151 is specially power hungry.

SRAM and flash memory get another 100mA, the PSG AY-3-8910 needs 70mA. So I suspect the CV2 could peak 1.5A, perhaps 2A

 

Eduardo

Edited by opcode
Link to comment
Share on other sites

Are you good with electronics? Perhaps you could help me...

 

Hello again Eduardo... icon_smile.gif

 

I've worked with some electronics, especially back in the 70's and 80's.

It was mostly old radios and TVs as I parted.

 

But it was most complete kits from a previous Danish firm called Jostykit.

(Light show - Stroboscope - Power Supply - VU Meters).

Jostykit made also this Pong in 1979. icon_mrgreen.gif

 

But it was not so in detail.

I am not good to figure out details such as how many mA various chips using. (Sorry) icon_sad.gif

Link to comment
Share on other sites

Perhaps some of you with an ADAM could help me...

The ADAM uses zener diodes to protect the joystick ports from electrostatic discharge. Would some of you check which diode is used, please? You should see 2 groups of 3 diodes near each joystick port. I need the exact value. I don't have an ADAM so I cannot check myself. Joysticks are the last missing bit in my schematics.

 

Thanks!!

Link to comment
Share on other sites

Perhaps some of you with an ADAM could help me...

The ADAM uses zener diodes to protect the joystick ports from electrostatic discharge. Would some of you check which diode is used, please? You should see 2 groups of 3 diodes near each joystick port. I need the exact value. I don't have an ADAM so I cannot check myself. Joysticks are the last missing bit in my schematics.

 

Thanks!!

 

 

Hi Eduardo... icon_smile.gif

 

Maybe you can use something from here?. ADAM Schematic.

Link to comment
Share on other sites

4.7V is a good guess, but I would like to be sure. The ADAM schematics aren't clear enough.

I cannot believe that I will need to buy an ADAM just for that... But then, I always wanted an ADAM... Perhaps after the CV2 I should try to design the EVE computer... :)

 

EDIT: It just occurred me a few minutes ago: with the V9958 it would be possible to create or port vector games. The V9958 is bitmapped and capable of drawing lines by hardware. Quite fast... Coupled with the 7MHz Z80 it would be possible to recreate games like Tempest or Star Wars... or something completely new...

Edited by opcode
Link to comment
Share on other sites

Is there any particular reason your circuit has to match the ADAM? Do any of the external peripherals rely on the joystick ESD protection being configured in a particular way?

 

No particular reason, I just want to use something that has already been tried. But if you tell me you are sure that the 4.7V zener diodes should work, then I could go with that... Anyway that is a small detail...

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