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

- Another company I am trying to contact is EDAC, a Canadian company that produces edge connectors. In fact they are the only guys that I know that still produce 60 pins right angle .1" spacing connectors those days. So lets keep our fingers crossed because this is an very critical component for this project.

Hi opcode,

 

How about Sullins products, from Digi-Key? They're about $8 each, with minimum order of 10, and 4 week lead-time. I'm not sure if that fits your requirements, though.

 

Thanks,

5-11under

Link to comment
Share on other sites

Anyway, I have decided to go ahead without the IC. In the unlikely event they change their mind in future and decide to reply with the documentation, I would create a 3rd prototype with the sound IC, but to be honest I am not holding my breath.

 

Any chance of sourcing the sound IC from someone else?

 

Also, I *think* I have a spare VCS adapter somewhere, I'll take a look for it and get back to you, whether or not it's got the board type you need.

 

The problem isn't getting the sound IC. As I said before, I have a source for those. The problem is documentation. Oki doesn't have documentation freely available in their website, and they are simply terrible replying to requests. Each rep I contact refers me to another and none of them actually answer anything. And with no documentation the ICs are useless because I have no way to know how to program them.

Link to comment
Share on other sites

- Another company I am trying to contact is EDAC, a Canadian company that produces edge connectors. In fact they are the only guys that I know that still produce 60 pins right angle .1" spacing connectors those days. So lets keep our fingers crossed because this is an very critical component for this project.

Hi opcode,

 

How about Sullins products, from Digi-Key? They're about $8 each, with minimum order of 10, and 4 week lead-time. I'm not sure if that fits your requirements, though.

 

Thanks,

5-11under

 

I checked and the only Sullins connector Digikey has currently in stock is $37 each, only 29 pieces available, and it has mount side holes.

What I need is 60 pins, .1" pitch, right angle (90 degrees), no mount side holes. EDAC has that exact connector. In fact they just replied, the only problem is that they require a minimum order of $150. I just hope their price is good and $150 can buy a lot of connectors. I bet I will be broken by the end of this project, unless I can get an investor. We will see in 3 weeks...

Link to comment
Share on other sites

In a surprising turn of events I got the MSM9842 full datasheet from Oki. :D

Now I need the ICs. I was given the option to get 25 ICs at a fairly high price of $8 each. If they work ok, I could get 175 more at the low price of $4. So I am going for it (and be a little more broken)... I will really need that investor now...

Oh boy, the CV is gonna speak now... :party: :music:

 

EDIT: Ok, I just checked the documentation and everything I need is here. This little IC rocks, yeah... :)

Edited by opcode
Link to comment
Share on other sites

I know you're probably opposed to this for a variety of reasons, but have you considered making all of US your investors, i.e., have us give you refundable deposits towards the future purchase of a device? This way we all get on the list early and you get the funding to get this going.

Link to comment
Share on other sites

I know you're probably opposed to this for a variety of reasons, but have you considered making all of US your investors, i.e., have us give you refundable deposits towards the future purchase of a device? This way we all get on the list early and you get the funding to get this going.

 

While that is very tempting, I have learned from my little experience that many things can go wrong in this kind of project (and by Murphy's Law we know that they usually go) and that would lead to all sort of problems for all parties involved. I have also seen very respectable people in the classic gaming scene got demoralized to the point of simply disappearing because of problems involving money in advance. So yeah, I thank you for suggesting that, and even trusting me to the point of making the offer, but I think I should find another solution. A single investor is usually preferable because in that case the person or group is more aware of the risks involved.

Link to comment
Share on other sites

Guys, I was checking the MSM9842 documentation and it is indeed pretty cool. I cannot think of a better solution considering cost and number of ICs involved. Basically we have a number of sampling frequencies to select from, ranging from 4kHz to 32Khz, ADPCM, ADPCM2, 8-bit PCM and even 16-bits PCM (which isn't that useful in our case, considering memory requirements and CPU utilization.)

It has a built-in low-pass filter, which should guarantee good quality sound, stereo playback and a 1024 bits FIFO. Since the CV isn't stereo I am going to mix both channels together so we get a dual channel solution for games that require more than a waveform a time. It also has a quite extensive list of commands and parameters, very flexible. You can select sampling frequency, mono/stereo, FIFO size, wave type (ADPCM, ADPCM2, PCM, etc), volume, etc.

Programs can feed the FIFO in bursts, then go do something else, then come back to push some more data and so on. I believe that for most games we could push data during the start of each NMI until the FIFO is full and then go take care of the rest of the game until next NMI happens. That would mean a 128 bytes max transfer per NMI, which is pretty reasonable. That would give us 7.6kHz maximum sampling frequency which is ok for 8-bit games (the closest Oki frequencies are 6.4kHz and 8kHz). I believe 8kHz sampling frequency would be possible if the FIFO is fed twice per NMI. 4kHz dual channel would also be possible with that. At 8kHz, we would need 4KB per second of sample.

About ADPCM, I believe the device uses Oki proprietary format. Oki offers a development kit for producing the waveforms, however I found a little program in the Japanese Oki website that converts regular MS wave files to ADPCM2 and Oki PCM. The only problem is that the original files must be in certain specific frequencies, the same as the MSM9842 uses. So another program can be required to first convert the wave files to the desired frequency then convert them to ADPCM2 using the Oki tool. That is cool because we will have a lot of sounds to test once the prototype is ready. Ok, now back to the schematics. :)

Link to comment
Share on other sites

Ok, so things are getting complicated. Right now I have 3 things with very high priority in my to-do list:

1) Get MSM9842 samples. Probably I will need to buy those, 25 ICs minimum. That would be almost $200 in ICs. After that I need to secure the remaining 175 ICs (I mean, find the money to buy them). Also, I tested the small tool Oki offers to convert wave to ADPCM2 (Oki's proprietary implementation of ADPCM) and seems to be working fine, so I believe we can skip the official development kit. Of course I won't be 100% until I have a prototype with the Oki chip working and I am able to test the files.

2) I need to place an order for the edge connectors. But first I need to find out how much they cost, and what is the minimum order, because EDAC doesn't have them in stock anymore. Big question mark here.

3) Produce a new prototype with the missing features. I believe the best option right now is to produce a prototype with all features (including the ones not present in the first prototype) but the MSM9842. The reason is that I want to validate all the features as soon as possible, and having a working prototype with most features could be used to persuade investors that the module is worth investing, that it isn't vaporware and that it can be done.

 

All that said, I am starting to find it hard to plan ahead without knowing how much interest exist on this project, because all the parts I will need to secure, etc.

So I think this is the time to start a reservation list for the module/Donkey Kong Arcade. I would prefer to do that later, closer to production, but I need to estimate production so probably now is the best time. As usual no money is required, I just ask you that you contact us only if I are really committed to purchase the module/game in the future. The other problem is to start a reservation list without a final price, but lets say for now that it should be in the $50~100 range for the module+game. If you very price sensitive, I please ask you to state that when you contact us, like "I will buy the module/game only if the price is no higher than $80".

Ok, so what is going to be included in the box you ask? Well, here is the list:

- Expansion module to be plugged in the CV expansion port.

- 24kB of expanded RAM (allows for more advanced games)

- 32kB of Save RAM (non-volatile memory to save any game data, like high score, save points, etc)

- 128kB of MegaRAM (allows even more advanced games, MSX MegaROM games)

- 128kB of flash BIOS (includes the old BIOS, new BIOS for supporting new devices, GUI)

- General Instruments sound generator AY-3-8910 (3 extra sound channels, more advanced sounds, no frequency limitations)

- Expansion Parallel interface (to connect new types of devices, special controllers, CV-2-CV, etc)

- 3 programmable push buttons (Pause, GUI call and a 3rd button not defined yet)

- Flash BIOS includes user interface for settings, save data management, and more. BIOS can be updated.

- Power LED indicator

- Donkey Kong Arcade/XPanded game cartridge

- 128kB version of the arcade game

- Persistent High Score table

- Sound type is yet undetermined, depending on if Oki ADPCM chip will be included or not

- Donkey Kong Arcade/XPanded manual

- Module manual

 

What isn't 100% decided/defined yet, though chances are pretty good:

- Oki ADPCM sound chip (voice and sampled sound during gameplay) (90%+ plus change of being included)

- Module custom plastic case (matches the CV design)

Of course price will be adjusted to reflect the inclusion or not of those items.

 

What should follow shortly after the module release?

- The MSX ports Knightmare and Goonies, with several improvements over the originals, including use of save RAM.

- The arcade ports Arkanoid and Pengo.

- Re-releases of Space Invaders Collection and Sky Jaguar, both module-ready (SIC is going to get a complete sound makeover)

 

So if you are interested what should you do? Please contact Bia (bia at opcodegames.com, replace at with @).

 

**** IMPORT: Please, please, do NOT post requests here. It's hard for us to keep track of requests posted in forums. Again, please DO NOT post your request here, you will be ignored. *****

 

You can also help: please let people that don't have access to this forum to know that the module is coming and how to reserve one. The more names we get, the easier it will be to produce the module and the lower the price.

 

EDIT: Save RAM is actually 32kB, not 128kB. Spec above has been corrected.

Edited by opcode
Link to comment
Share on other sites

Hi opcode,

 

Has the CF or SD slot (with ability to run one or more games from a card) been removed from the list, or is that a given?

 

Thanks,

5-11under

 

Removed. I lot of people here said that CF wasn't a very desirable feature because most of them already have the Atarimax cartridge. The other reason was cost, removing the CF reduced the IC count by 9 (or 30%), plus a connector, a few resistors and capacitors and specially PCB space. All of that was replaced by a non-volatile RAM, and will be used for saving game data mostly. Moreover, removing the CF reduces considerably the amount of work I will have with the BIOS XP, thus accelerating the availability of the module. Finally, the project simply seems more focused now, because the CF was always planned as a bonus, not something I really needed for my games. This kind of bells and whistles can wait for the standalone project.

EDIT: Oh, and one more thing: removing the CF reduces the complexity of the module case, which would save us money and trouble when the time is come to deal with that.

Edited by opcode
Link to comment
Share on other sites

Hi opcode,

 

Has the CF or SD slot (with ability to run one or more games from a card) been removed from the list, or is that a given?

 

Thanks,

5-11under

 

Removed. I lot of people here said that CF wasn't a very desirable feature because most of them already have the Atarimax cartridge. The other reason was cost, removing the CF reduced the IC count by 9 (or 30%), plus a connector, a few resistors and capacitors and specially PCB space. All of that was replaced by a non-volatile RAM, and will be used for saving game data mostly. Moreover, removing the CF reduces considerably the amount of work I will have with the BIOS XP, thus accelerating the availability of the module. Finally, the project simply seems more focused now, because the CF was always planned as a bonus, not something I really needed for my games. This kind of bells and whistles can wait for the standalone project.

EDIT: Oh, and one more thing: removing the CF reduces the complexity of the module case, which would save us money and trouble when the time is come to deal with that.

 

That makes sense,

5-11under

Link to comment
Share on other sites

A single investor is usually preferable because in that case the person or group is more aware of the risks involved.

(Feel free to completely, totally, entirely ignore this question)

Any idea yet what amount of capital you'll require? Not that I could come up with the funds, but somebody reading this might know somebody who knows somebody, who etc.

 

Best I can do right now is a $20 non-refundable deposit with a written acknowledgement that I may never see the money again and you might just spend it on lunch or beer. :D

Link to comment
Share on other sites

A single investor is usually preferable because in that case the person or group is more aware of the risks involved.

(Feel free to completely, totally, entirely ignore this question)

Any idea yet what amount of capital you'll require? Not that I could come up with the funds, but somebody reading this might know somebody who knows somebody, who etc.

 

Best I can do right now is a $20 non-refundable deposit with a written acknowledgement that I may never see the money again and you might just spend it on lunch or beer. :D

 

That is a hard question for several reasons. What I will try to do is to delay buying components as much as possible, so that closer to production I could create a consortium and raise as much money as possible to pay for everything. But there is some stuff I would be forced to pay in advance, otherwise production would be greatly delayed:

- PSGs. I already paid like $150 for 80 or so units

- Oki sample IC, $900 for 200 units

- Edge connectors, big question mark right now...

- Casing, now that would be a problem. I still don't know which method I am going to use, I need to check prices. I would prefer to use a custom case, and I see two options for that: build an injection mold, which would cost like $2000~$3000, but then cases would be very cheap after that, probably a few bucks per case. Or go moldless, which costs like $500~$1000 for the first case, then a couple of dozen bucks after that.

 

But then once we go into production money is gonna fly out of the wallet. I am estimating that the electronic part of each module is gonna cost around $40 (PCB + components). 100 units = $4,000. Then you add casing. Then you add costs for manufacturing each Donkey Kong cartridge (PCB, EPROM, case, label), then printing for all manuals. So I don't know, probably something like $8K~$10K for 100 packs isn't out of question. It is an ambitious project, isn't it? But you know, big challenges, huge rewards. If we make it, I would say nothing is impossible in classic gaming. :)

Link to comment
Share on other sites

A more video, this time Knightmare. I was playing in "Easy mode", only available in the CV version. It's too bad that the sound is really low in the video (you will need to turn the volume all the way up), because Knightamre uses the PSG included in the module for all its sounds. I was using a photo camera, probably the microphone isn't that good, though I didn't realise that until it was too late. But ok, I can produce a better video later.

 

Link to comment
Share on other sites

Ok, so now that the module specs are more/less set in stone, let me give some more low level detail on things, in case someone here wants to program for the thing in the future. Currently no emulator supports the module’s functionalities, but I have been in touch with Daniel Vik and BlueMSX should support it soon. I also plan to supply developers with prototype modules later this year, once we have a prototype with all functions included.

So let me start with memory mapping:

 

So how is the memory map for the plain vanilla ColecoVision? Something like this:

 

Memory range - function

0000~8191 - BIOS (2kB)

8192~24575 - Nothing (16kB)

24576~32767 - RAM (8kB)(actually just 1KB mirrored 8 times. Usual access range is 7000h~73FFh)

32768~65535 - Cartridge (32kB)

 

Pretty simple, eh? Well, things get a little more complex with the module:

 

0000~8191 - BIOS XP (2kB)

Even think the range is still the same, there is actually 128kB of flash memory mapped into that range. Memory is divided into 16 banks of 8kB, and the current bank can be selected thru the BIOS mapper. More about the BIOS mapper later.

 

8192~32767 - Expanded RAM (24kB)

Notice that the original 1kB has been also replaced, however no existing game I have tested so far is affected by that.

 

32768~65535 - Slot Selector (32kB)

Here is where things get a little more complicated. Even think it's a 32kB memory range, there are 192kB of memory mapped here, with 3 different memory types. What makes that possible is the “slot selector”. The slot selector controls 4 "virtual slots" (like virtual cartridge slots). Each slot can contain a different memory type. So slot 0 is the actual CV cartridge slot. Slot 1 is the MegaRAM and slot 2 is Save RAM. Slot 3 is unused.

But there is more. The slot selector divides its 32kB memory range into 4 "pages" of 8kB. For each page you can select which slot you want to map into it. So for example you can have ROM cartridge mapped to page 0, MegaRAM mapped to pages 1 and 2, and Save RAM mapped to page 3. That is a complete memory orgy! You just need to keep in mind that mapping a slot to a page will select the corresponding memory range in that slot. For example, in our previous example, since we are mapping cartridge to page 0, we are actually mapping the first 8kB of the cartridge to page 0. If we want to access the 2nd block of 8kB in the cartridge, then we need to map the cartridge slot to page 1. Got it?

Ok, so we have 3 slots, with cartridge, MegaRAM and SaveRAM mapped to them. Cartridge and SaveRAM are 32kB each, so that bonds well to the 4 pages scheme. However MegaRAM is 128kB actually. So how can you map that into just 4 pages?

Well, the answer is (you guess), we also have a mapper for the MegaRAM. And that MegaRAM mapper is quite flexible...

The MegaRAM mapper divides the 128kB memory into 16 banks of 8kB. And it also divides its own 32kB memory range into 4 "pages". And the mapper allows you to map any bank to any page! So you can have bank 7 mapped to page 0, bank 3 to page 1, bank 15 to page 2 and bank 0 to page 3. Now what happens when you mix this example with the slot selector example I gave previously? Can you guess which MegaRAM banks will be visible for the CPU?

Well, in our slot selector example, MegaRAM is mapped to pages 1 and 2. From our MegaRAM mapper example, page 1 has bank 3, and page 2 has bank 15, so those are the two visible banks for the CPU.

Yeah, a bit complex, but you get used to that after some experimentation. BTW, my first example had SaveRAM mapped to page 3. Actually the programmer should never map SaveRAM, because SaveRAM should be accessed only thru the BIOS. That is to make sure that no mistake is done while writing to the SaveRAM (SaveRAM uses a special format to store data, which can be confusing if dealt with directly). Furthermore, the SaveRAM is “write protected”, so simply writing to it won't actually change any data.

Access to the slot selector and MegaRAM mapper will be explained later.

Link to comment
Share on other sites

Where's the reserve list you were talking about? Y'know I want to be on that list!

 

Already sent mine here:

So if you are interested what should you do? Please contact Bia (bia at opcodegames.com, replace “ at “ with @).

 

I think the Module/DKA reservation deserves it's own thread, I almost missed it :)

Link to comment
Share on other sites

Where's the reserve list you were talking about? Y'know I want to be on that list!

 

Already sent mine here:

So if you are interested what should you do? Please contact Bia (bia at opcodegames.com, replace “ at “ with @).

 

I think the Module/DKA reservation deserves it's own thread, I almost missed it :)

 

Yeah, I think you are right. I will do that. I think I should just prepare something about the module and game first.

BTW, thanks for the support! :D

Link to comment
Share on other sites

Yeah, I think you are right. I will do that. I think I should just prepare something about the module and game first.

BTW, thanks for the support! :D

 

Well, the videos look great, very cool to see everything in action. Sent my email to Bia to put me down, but you had me sold on this already years ago when you first even mentioned it!

Link to comment
Share on other sites

Hi Eduardo... :)

 

About saving high scores on the new module.

 

Will the Module save high scores, even after turning off the Colecovision. ?

 

So what if the module is removed from the Colecovision, and may first be put in again,

let's say about a week or two. ?

 

Will the High scores then still be accessible. ?

 

And finally, how kept track of the many high scores,

because I have over 70 different games for Colecovision. ?

 

Ole Nielsen.

Link to comment
Share on other sites

Hi Eduardo... :)

 

About saving high scores on the new module.

 

Will the Module save high scores, even after turning off the Colecovision. ?

 

So what if the module is removed from the Colecovision, and may first be put in again,

let's say about a week or two. ?

 

Will the High scores then still be accessible. ?

 

And finally, how kept track of the many high scores,

because I have over 70 different games for Colecovision. ?

 

Ole Nielsen.

 

The NVRAM I am using is guaranteed to have a 100 years data retention. Or 1 million writes. I think that is good enough.

So, yeah, you can turn the console off, unplug the module, whatever, the high score will still be there.

Module-ready games (like DKA) will save high score automatically. Legacy games will require you to call the GUI (thru a push button on the module), then select save or load from the menu. Scores will be saved with the name of the current user (selectable or configurable via GUI), and the top 5 hi-scores will be kept for each game. Those high score tables can then be checked anytime using one of module push buttons, or from the GUI. Support for that will be implemented on a game basis and will offered initially for a dozen favorite games (like, you know, Donkey Kong, Zaxxon, Smurf, etc). Support for additional games will be offered with each BIOS update from time to time.

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