Megadrive: Custom-Cartridge including extra capabilities
Moderator: Mask of Destiny
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
Megadrive: Custom-Cartridge including extra capabilities
Hello all,
there has been some discussion surrounding the topic of there being a more powerful MD cartridge with extra capabilities for a while now.
[Features]
1. large amount of ROM available for Game ROM
2. extra Math hardware to give the MD extra processing power
3. additional Audio channels
I thought that I would pull things together and start the ball rolling.
First question would be what extra capabilities one would want on a custom-cart?
[Questions]
1. what is the available amount of current available when running on the various models of the Megadrive?
...more later...
<ToDo: add the rest of the info, plan, etc.>
there has been some discussion surrounding the topic of there being a more powerful MD cartridge with extra capabilities for a while now.
[Features]
1. large amount of ROM available for Game ROM
2. extra Math hardware to give the MD extra processing power
3. additional Audio channels
I thought that I would pull things together and start the ball rolling.
First question would be what extra capabilities one would want on a custom-cart?
[Questions]
1. what is the available amount of current available when running on the various models of the Megadrive?
...more later...
<ToDo: add the rest of the info, plan, etc.>
Last edited by MintyTheCat on Tue Nov 18, 2014 5:36 pm, edited 2 times in total.
UMDK Fanboy
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
One thing you mentioned in the other thread is important - whatever is done MUST be low power. The cart slot doesn't source much power.
Another point - if this is going to be at least an SVP open-source replacement sort of thing, you need at least enough ram to hold a frame of data or two. The SVP includes 128KB of DRAM for that. I'd suggest 1 or 2 MB of ram to hold not just the output frame, but also input textures and/or vertexes.
Having a 16-bit codec hooked to the audio inputs on the cart port would be great for extended audio. The codec could be independent (for a plain DSP design), or part of the DSP or MCU (for a more featured chip). This goes along with the increased ram size to allow putting compressed samples or songs into ram.
Sure, textures and samples and songs could be left in rom, but then you have slow accesses to rom that hold off the 68000 every time you want to access something. Better to have the DSP/MCU convert to/from ram for higher speeds and no/little contention with the 68000.
Another point - if this is going to be at least an SVP open-source replacement sort of thing, you need at least enough ram to hold a frame of data or two. The SVP includes 128KB of DRAM for that. I'd suggest 1 or 2 MB of ram to hold not just the output frame, but also input textures and/or vertexes.
Having a 16-bit codec hooked to the audio inputs on the cart port would be great for extended audio. The codec could be independent (for a plain DSP design), or part of the DSP or MCU (for a more featured chip). This goes along with the increased ram size to allow putting compressed samples or songs into ram.
Sure, textures and samples and songs could be left in rom, but then you have slow accesses to rom that hold off the 68000 every time you want to access something. Better to have the DSP/MCU convert to/from ram for higher speeds and no/little contention with the 68000.
-
- Interested
- Posts: 24
- Joined: Wed Feb 03, 2010 12:53 am
- Location: Grimsby, England
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
Hi,
whilst many questions need to be raised I cannot help but think that many of you chaps are concentrating on the low-level details before working on the requirements.
I shall update the Thread with some ideas for requirements but please feel free to put forward capabilities that a cart should provide.
Some basics:
1: Maths processing: the 68K is pretty useless at multiplication and division (I never use div and mul personally on the 68K). Being able to pass a table of coordinates and have the 'Math Hardware' calculate all the new coordinates and to handle angles, etc would be an improvement.
Scaling and Graphic transformation would be useful and would mean that the WRAM or ROM memory address of the source is given for the graphics to be scaled and then expect the scaled graphics to appear at another address somewhere would be a way to use that facility.
Math processing, graphic scaling and transformation are all 'Math activities' in my book.
When you work with DSPs you try to turn as much as you can the data into 'work' for the DSP to process which lends itself to equations and tables. This could be applied to MD Games using the cart.
2: Audio/Music: what would be cool to add musically? A large Wave-Table Synthesiser, PCM? What would be cool? Rule out Physical modelling for now. More FM Channels is more than doable and it is pretty cheap too.
So, if anyone has ideas about what to add at this stage to the Requirements that they feel would be cool and useful as capabilities please let us know.
Let us consider such topics as clock-frequencies and power usage in the Specification - for now we need to work on the WHAT as opposed to the HOW, ok?
Cheers,
Minty.
whilst many questions need to be raised I cannot help but think that many of you chaps are concentrating on the low-level details before working on the requirements.
I shall update the Thread with some ideas for requirements but please feel free to put forward capabilities that a cart should provide.
Some basics:
1: Maths processing: the 68K is pretty useless at multiplication and division (I never use div and mul personally on the 68K). Being able to pass a table of coordinates and have the 'Math Hardware' calculate all the new coordinates and to handle angles, etc would be an improvement.
Scaling and Graphic transformation would be useful and would mean that the WRAM or ROM memory address of the source is given for the graphics to be scaled and then expect the scaled graphics to appear at another address somewhere would be a way to use that facility.
Math processing, graphic scaling and transformation are all 'Math activities' in my book.
When you work with DSPs you try to turn as much as you can the data into 'work' for the DSP to process which lends itself to equations and tables. This could be applied to MD Games using the cart.
2: Audio/Music: what would be cool to add musically? A large Wave-Table Synthesiser, PCM? What would be cool? Rule out Physical modelling for now. More FM Channels is more than doable and it is pretty cheap too.
So, if anyone has ideas about what to add at this stage to the Requirements that they feel would be cool and useful as capabilities please let us know.
Let us consider such topics as clock-frequencies and power usage in the Specification - for now we need to work on the WHAT as opposed to the HOW, ok?
Cheers,
Minty.
UMDK Fanboy
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
Yes, and I would not like to have to use an extra power supply connected to the cart either so a Power figure would need to be found for an unexpanded Megadrive.Chilly Willy wrote:One thing you mentioned in the other thread is important - whatever is done MUST be low power. The cart slot doesn't source much power.
Another point - if this is going to be at least an SVP open-source replacement sort of thing, you need at least enough ram to hold a frame of data or two. The SVP includes 128KB of DRAM for that. I'd suggest 1 or 2 MB of ram to hold not just the output frame, but also input textures and/or vertexes.
Having a 16-bit codec hooked to the audio inputs on the cart port would be great for extended audio. The codec could be independent (for a plain DSP design), or part of the DSP or MCU (for a more featured chip). This goes along with the increased ram size to allow putting compressed samples or songs into ram.
Sure, textures and samples and songs could be left in rom, but then you have slow accesses to rom that hold off the 68000 every time you want to access something. Better to have the DSP/MCU convert to/from ram for higher speeds and no/little contention with the 68000.
Memory is substantially cheaper 20+ years on. When the Specification is undertaken it will be necessary to consider the types of memory to use and how much of each. It may be a good idea to consider developing a cart that is expandable which would allow a small amount of Game ROM to be used or indeed a larger amount depending on the Game's needs.
These days there are many Audio and Video CODEC ICs around and some are not at all expensive (assuming licenses are inclusive). there should be a happy partition between how much time a Games Console spends handling Audio, Video, decompression, sprite handling, etc. Although it will vary for each Game one could not really expect too much time of the main Processor to be consumed by the Audio Hardware.
All in all, it is useful to consider more modern approaches to MD Game Hardware I feel.
UMDK Fanboy
Hello
I have read the original thread and this one. And love the ideas being thrown around and would really like to see a real piece of hardware come about.
There has been much discussion on audio for this cartridge. Just my two cents but what about a time period appropriate and Sega like choice? I know it might be becoming harder to find but what about the Yamaha YMF278? It has 6 channel FM plus 24 channel PCM. Or a more modern Yamaha YMU762 (MA3) I know this is a mobile chip and again I am not sure if it is in production but specs look nice 16 channel, four operator FM plus 8 channel PCM or ADPCM.
It would also be nice to see this device compatible with the 32X as to use any hardware audio and hopefully much extended ROM memory abilities.
Thanks and have a great day everyone.
I have read the original thread and this one. And love the ideas being thrown around and would really like to see a real piece of hardware come about.
There has been much discussion on audio for this cartridge. Just my two cents but what about a time period appropriate and Sega like choice? I know it might be becoming harder to find but what about the Yamaha YMF278? It has 6 channel FM plus 24 channel PCM. Or a more modern Yamaha YMU762 (MA3) I know this is a mobile chip and again I am not sure if it is in production but specs look nice 16 channel, four operator FM plus 8 channel PCM or ADPCM.
It would also be nice to see this device compatible with the 32X as to use any hardware audio and hopefully much extended ROM memory abilities.
Thanks and have a great day everyone.
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
Ok, chaps, I need some ideas for useful math oriented operations that should be included in the custom-cart.
Ideas thus far:
1. Floating-Point support - 68K has none.
2. Multiply and Divide operations - 68K is laughably poor at this - 176 cycles is it?
3. Vector and Matrix operations.
4. Trigonometry.
Useful operations for working with the Megadrive:
1. Decompression of Graphic data.
2. Sprite-Attribute Table Entry formatted results.
3. Manipulations involving Tile-Sets and Tile-Maps formatted to MD native format from given source format(s)/etc.
Any ideas, anyone?
Cheers,
Minty.
Ideas thus far:
1. Floating-Point support - 68K has none.
2. Multiply and Divide operations - 68K is laughably poor at this - 176 cycles is it?
3. Vector and Matrix operations.
4. Trigonometry.
Useful operations for working with the Megadrive:
1. Decompression of Graphic data.
2. Sprite-Attribute Table Entry formatted results.
3. Manipulations involving Tile-Sets and Tile-Maps formatted to MD native format from given source format(s)/etc.
Any ideas, anyone?
Cheers,
Minty.
UMDK Fanboy
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
That is a very good thing to add - good idea.ob1 wrote:What about a framebuffer ? The pseudo-SVP would translate everything to a tile-rendered scene.
Just like the original SVP come to that.
I have not programmed the 32X - are there any links to descriptions as to how the Framebuffer is to be used or how it works?
UMDK Fanboy
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 89
- Joined: Mon Feb 24, 2014 6:04 pm
- Location: Kapuskasing, Ontario, Canada
- Contact:
I recently made some current consumption measurements on the NTSC Virtua Racing cart.
viewtopic.php?t=1931
This should, in my opinion, be the maximum amount of current one should design for at the cartridge port for a new and powerful cart. Just for fun, I also measured the current consumed by a Mega Everdrive and it was significantly higher than VR - voltage regulators are getting heavily taxed...
Other problems to look at are:
-Cost - forget about an FPGA because they're simply too expensive to make any serious mass produced cart
-5V tolerance - there are flash carts (and even new physical releases) out there which operate 3.3V parts out of spec, you NEED level converters to interface to modern parts
-RAM - without an FPGA to implement an SDRAM controller you're likely using SRAM and affordability quickly rolls off after 512KB
Overall, sounds like a very interesting challenge!
viewtopic.php?t=1931
This should, in my opinion, be the maximum amount of current one should design for at the cartridge port for a new and powerful cart. Just for fun, I also measured the current consumed by a Mega Everdrive and it was significantly higher than VR - voltage regulators are getting heavily taxed...
Other problems to look at are:
-Cost - forget about an FPGA because they're simply too expensive to make any serious mass produced cart
-5V tolerance - there are flash carts (and even new physical releases) out there which operate 3.3V parts out of spec, you NEED level converters to interface to modern parts
-RAM - without an FPGA to implement an SDRAM controller you're likely using SRAM and affordability quickly rolls off after 512KB
Overall, sounds like a very interesting challenge!
What does db stand for? Well that's an excellent question...
http://www.db-electronics.ca
http://www.db-electronics.ca
-
- Very interested
- Posts: 484
- Joined: Sat Mar 05, 2011 11:11 pm
- Location: Berlin, Germany
I agree, for Developers to use a custom-cart it would have to be affordable and have useful resources all the while staying within the constraints of the Megadrive for factors such as allowable current when used with the various Megadrive models.db-electronics wrote: I think the purpose of this discussion is to find an affordable solution to increased processing power in a releasable and manufacturable physical cart.
But indeed progress is being made
![Smile :)](./images/smilies/icon_smile.gif)
UMDK Fanboy
-
- Very interested
- Posts: 89
- Joined: Mon Feb 24, 2014 6:04 pm
- Location: Kapuskasing, Ontario, Canada
- Contact:
There are two things at play here: cost and performance.
Cost - a cart as we are beginning to describe needs to be an affordable physical means of releasing a game. To be very clear, I don't mean this in the sense of a soft release but in the sense of a hard release - cartridge with shell and case and so on. I'm not ready to pay more than about US$100 for a physical Genesis release so I use that number as my own personal guideline. As a public discussion, it's important we determine what cost is acceptable. I'm very familiar with electronics and plastics manufacturing - I just know this cost is achievable with the right hardware and plastics providers.
Performance - MintyTheCat has already included a "wishlist" of sorts at the beginning of this thread which important performance indicators such as:
Cost - a cart as we are beginning to describe needs to be an affordable physical means of releasing a game. To be very clear, I don't mean this in the sense of a soft release but in the sense of a hard release - cartridge with shell and case and so on. I'm not ready to pay more than about US$100 for a physical Genesis release so I use that number as my own personal guideline. As a public discussion, it's important we determine what cost is acceptable. I'm very familiar with electronics and plastics manufacturing - I just know this cost is achievable with the right hardware and plastics providers.
Performance - MintyTheCat has already included a "wishlist" of sorts at the beginning of this thread which important performance indicators such as:
- Floating Point Support
- Multiply and Divide
- Vector and Matrix Operations
- Trigonometry
What does db stand for? Well that's an excellent question...
http://www.db-electronics.ca
http://www.db-electronics.ca
-
- Very interested
- Posts: 710
- Joined: Sat Feb 18, 2012 2:44 am
Just so I understand the scope of the project better: the idea is to build a cart with a lot of helper functions? There's not, for example, an additional CPU on the cart?
As for having a frame buffer, isn't there a problem with copying the whole frame buffer to the VDP because DMA is too slow to do the whole screen in 1/60th (or even 1/30th) of a frame?
As for having a frame buffer, isn't there a problem with copying the whole frame buffer to the VDP because DMA is too slow to do the whole screen in 1/60th (or even 1/30th) of a frame?