Multijointed Monster Maker Posted January 3, 2011 Share Posted January 3, 2011 I am currently designing a custom computer-on-chip game system, and I have some very important questions. 1) Where do I find FPGAs? I can't seem to find them anywhere. 2) What kind of media storage would I use to store the games on? 3) When I'm finished with the system, how would I program it? Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted January 4, 2011 Share Posted January 4, 2011 (edited) You can get Altera FPGAs from DigiKey. I suggest you start with a devkit, like the DE1 or DE2. Various Altera development boards: http://www.altera.com/education/univ/materials/boards/unv-dev-edu-boards.html All development boards: http://www.altera.com/products/devkits/kit-dev_platforms.jsp Edited January 4, 2011 by Chilly Willy Quote Link to comment Share on other sites More sharing options...
Multijointed Monster Maker Posted January 4, 2011 Author Share Posted January 4, 2011 Wow, those are really expensive! Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 4, 2011 Share Posted January 4, 2011 Most maybe, but not all. You could also try Xilinx. The development kits tend to cost a bit more, but the individual parts are a bit less (from the part categories I've looked for, anyway). A development kit sounds like your best solution at this point. There's alternate sources, too, besides the chip manufacturers, which might be good, if you can find a source that has an active forum, for instance. Sometimes there's also good deals on these kits... although I'm not aware of any at the moment. Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted January 4, 2011 Share Posted January 4, 2011 The student discount is your best bet for getting one at a lower price. Some of the boards are really freakin' expensive, which is why I pointed out the DE1 and DE2... they're about the only Altera boards anyone can afford, so most Cyclone-based projects (like MiniMig) tend to use one or the other. The Cyclone 1/2/3 FPGAs by themselves are fairly cheap. If you look at the prices for a single FPGA on DigiKey, they're not very expensive. It's the board and all the rest of the stuff that makes the thing as a whole more expensive. So if you wanted to play around with FPGAs and could jury rig a minimal interface on your own, perhaps you would just get the FPGA instead of one of the pre-built developer kits. Quote Link to comment Share on other sites More sharing options...
Keith Howell Posted January 9, 2011 Share Posted January 9, 2011 FPGAs use around 30 times the the number of transistors that a custom ASIC would use, so they cost more in silicon area. The development boards don't sell in vast numbers, so they don't get economies of scale. I don't use FPGA for functions I can already get off the shelf. For example, I can buy ROM, RAM and a 65C02 very cheaply. I use FPGA for specialised functions, glue logic and functional copies of chips that are no longer made (e.g. 6847, 6809, POKEY, ANTIC, GTIA etc). On the positive side, you can use one FPGA development board to develop many projects. Quote Link to comment Share on other sites More sharing options...
Multijointed Monster Maker Posted January 10, 2011 Author Share Posted January 10, 2011 (edited) What I'm trying to do is come up with the perfect early-90s style 2D game machine. CPU: 6309 @ 7.16 Mhz Memory: 64 kB work ram 64 kB video ram 8 kB sprite attributes 512 bytes color ram 4 kB audio ram video: resolution: 336 x 224 sprites: 224 112 per scanline sizes 16x16 to 16x256 join sprites together with join bit colors: 32768 256 at once 16 per 16x16 sprite block transparency audio: channels: 16 wavetable 256 samples per instrument cross channel frequency modulation dual echo/delay/feedback buffers output: 8-bit 56kHz stereo hardware features: DMA @ 3.58 Mbps (7.16 million pixels per second) affine graphics blitter @ 4.77 million pixels per second (7.16 / 3 * 2) RLE graphic decompressor @ 4.41 million pixels per second (7.16 / 13 * 8 ) active display V-RAM accessing These are not randomly thought out numbers. I drew pictures of circuitry, made memory map lists, and counted cycle usage of the video and audio chips to make sure these technical specifics are possible and actually make sense. Edited January 10, 2011 by Multijointed Monster Maker Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted January 10, 2011 Share Posted January 10, 2011 Sounds interesting. Did you mean 6809? That was big at the end of the 8-bit era... a very nice chip indeed. Does the graphics have two layers? That's important for platformers in particular. Otherwise, the graphics sound good. The audio might need a little more thought. Given how little memory you can devote to the samples, perhaps hardware ADPCM decompression would be appropriate. One thing I can think of now that would have helped systems back then would be hardware support for tracker format music. For example, maybe you could have hardware support for playing 8 channel/31 instrument MOD format files. Think of it like display lists for the sound instead of video. Maybe not MOD format directly, but something that you could convert a MOD into easily. Quote Link to comment Share on other sites More sharing options...
Multijointed Monster Maker Posted January 11, 2011 Author Share Posted January 11, 2011 Sounds interesting. Did you mean 6809? That was big at the end of the 8-bit era... a very nice chip indeed. 6309 is a slightly upgraded version of 6809. Does the graphics have two layers? That's important for platformers in particular. Otherwise, the graphics sound good. Well, actually it's based on Neo Geo's sprite system where every sprite is a tall stack of 16x16 tiles with separate attributes per 16x16 tiles, with a joining bit that places next sprite 16 pixels to the right of the last one. To create a background, join 22 16x256 sprites together and the background coordinates are controlled by the coordinates of the left most sprite, since the rest just follow the coordinates of the last. There can be up to 112 sprites per line, so there can be up to 5 layers. The audio might need a little more thought. Given how little memory you can devote to the samples, perhaps hardware ADPCM decompression would be appropriate. One thing I can think of now that would have helped systems back then would be hardware support for tracker format music. For example, maybe you could have hardware support for playing 8 channel/31 instrument MOD format files. Think of it like display lists for the sound instead of video. Maybe not MOD format directly, but something that you could convert a MOD into easily. It's just enough memory for each channel to have it's own 8-bit 256 sample instrument. Quote Link to comment Share on other sites More sharing options...
Keatah Posted January 13, 2011 Share Posted January 13, 2011 (edited) just to show what is possible with fpga stuff look here -- http://www.applelogic.org/ Edited January 13, 2011 by Keatah Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted January 13, 2011 Share Posted January 13, 2011 Sounds interesting. Did you mean 6809? That was big at the end of the 8-bit era... a very nice chip indeed. 6309 is a slightly upgraded version of 6809. Thanks, I should probably look up some datasheets on it. And did you notice the quoting is having trouble getting the author right? Odd... Does the graphics have two layers? That's important for platformers in particular. Otherwise, the graphics sound good. Well, actually it's based on Neo Geo's sprite system where every sprite is a tall stack of 16x16 tiles with separate attributes per 16x16 tiles, with a joining bit that places next sprite 16 pixels to the right of the last one. To create a background, join 22 16x256 sprites together and the background coordinates are controlled by the coordinates of the left most sprite, since the rest just follow the coordinates of the last. There can be up to 112 sprites per line, so there can be up to 5 layers. That sounds really good. The audio might need a little more thought. Given how little memory you can devote to the samples, perhaps hardware ADPCM decompression would be appropriate. One thing I can think of now that would have helped systems back then would be hardware support for tracker format music. For example, maybe you could have hardware support for playing 8 channel/31 instrument MOD format files. Think of it like display lists for the sound instead of video. Maybe not MOD format directly, but something that you could convert a MOD into easily. It's just enough memory for each channel to have it's own 8-bit 256 sample instrument. But 256 samples really isn't very good. You either need really short instruments (no base drums), or really low sample rates. Having 2:1 or 4:1 ADPCM for the channels means you can have higher sample rates and/or better sounding base instruments. The hardware support for music isn't really needed, but would be nice. Quote Link to comment Share on other sites More sharing options...
Multijointed Monster Maker Posted January 14, 2011 Author Share Posted January 14, 2011 And did you notice the quoting is having trouble getting the author right? Odd... He He!!! But 256 samples really isn't very good. You either need really short instruments (no base drums), or really low sample rates. Having 2:1 or 4:1 ADPCM for the channels means you can have higher sample rates and/or better sounding base instruments. The hardware support for music isn't really needed, but would be nice. I wanted to keep the waveforms simple, but use frequency modulation + detuning + reverberation to make instruments more lush sounding. I probably will allow channels to modulate the echo delay parameters so you can create phasing/flanging sounds too. Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted January 14, 2011 Share Posted January 14, 2011 And did you notice the quoting is having trouble getting the author right? Odd... He He!!! Hmm - I'm almost positive there's something wrong, but I can't put my finger on it... But 256 samples really isn't very good. You either need really short instruments (no base drums), or really low sample rates. Having 2:1 or 4:1 ADPCM for the channels means you can have higher sample rates and/or better sounding base instruments. The hardware support for music isn't really needed, but would be nice. I wanted to keep the waveforms simple, but use frequency modulation + detuning + reverberation to make instruments more lush sounding. I probably will allow channels to modulate the echo delay parameters so you can create phasing/flanging sounds too. Well, it'll will be interesting to hear how it sounds. Certainly nicer than any existing 8 bit sound chip. Quote Link to comment Share on other sites More sharing options...
carmel_andrews Posted January 14, 2011 Share Posted January 14, 2011 I am guessing that a 6309 is somewhat comparable to an '816 (65816, WDC version)...given the clock speed you mentioned If not, why not use a 20 mhz version of the '816 (which has a 6502 native mode built in) and emulate some other processors via fpga (i.e 6809, z80, TMS etc etc) Quote Link to comment Share on other sites More sharing options...
Multijointed Monster Maker Posted January 14, 2011 Author Share Posted January 14, 2011 I am guessing that a 6309 is somewhat comparable to an '816 (65816, WDC version)...given the clock speed you mentioned If not, why not use a 20 mhz version of the '816 (which has a 6502 native mode built in) and emulate some other processors via fpga (i.e 6809, z80, TMS etc etc) I cheated a little bit. A hardware 7.16 Mhz 6309 doesn't really exist, but a 3.58 Mhz 6309 does. A 7.16 Mhz version was supposed to be released, but Motorola and Hitachi had a lawsuit over the chip and it was discontinued early. At least with emulation via FPGA, you can clock it to higher speeds than it originally was. If I can't find a 6309 FPGA core, than I'll go with a 6809 core instead. I prefer the 6309 to the 65816. It's design is a bit more flexible. After programming an SNES for a long time, the 65816 starts to give you a headache. Quote Link to comment Share on other sites More sharing options...
candle Posted January 22, 2011 Share Posted January 22, 2011 (edited) if i may suggest you something, then altera de1 gives a lot of flexiblility for the price - i would say "power without the price" altera de2 board is full-blown system you could implement almost any design you desire (any 8, most 16bit, or simplier 32 bit design) currently i'm using this setup for development: er... don't mind the phones :/ Edited January 22, 2011 by candle Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.