Can anyone suggest a system on a chip?
Moderators: Chuckt, Garth, bitfogav
-
- I practically live here!
- Posts: 1127
- Joined: Sun Mar 28, 2010 1:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
Can anyone suggest a system on a chip?
Can anyone suggest a system on a chip?
I'm looking into building a home hobbyist computer from available parts. I wish it to be "Commodore like" but not replicating the same thing. I liked some of Commodore's philosophy but I wish to build something better. I liked the ease of use but I wish to go beyond what was made and I may have to use FPGAs to create video.
I've become interested in microcontrollers for this reason and I'm (1) looking for a system on a chip. I'm also (2) looking for a video chip that can be used to make movable object blocks or sprites.
I'm looking for inexpensive parts to learn on that won't break my budget.
I can build a 65C02 cmputer, a 65C618 computer or look for another processor.
I've also looked into the Beagleboard, Fuzebox emulator and NCS 2056T breadboard computer. I've looked into various video chips. Until I find the right one, I may just use two different LCD displays.
I'm looking into building a home hobbyist computer from available parts. I wish it to be "Commodore like" but not replicating the same thing. I liked some of Commodore's philosophy but I wish to build something better. I liked the ease of use but I wish to go beyond what was made and I may have to use FPGAs to create video.
I've become interested in microcontrollers for this reason and I'm (1) looking for a system on a chip. I'm also (2) looking for a video chip that can be used to make movable object blocks or sprites.
I'm looking for inexpensive parts to learn on that won't break my budget.
I can build a 65C02 cmputer, a 65C618 computer or look for another processor.
I've also looked into the Beagleboard, Fuzebox emulator and NCS 2056T breadboard computer. I've looked into various video chips. Until I find the right one, I may just use two different LCD displays.
- brad
- Site Admin
- Posts: 2578
- Joined: Fri Mar 26, 2010 10:30 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
That's quite a project
If you are looking for a ready made chip, then I guess you could rip one out of an old console or system (such as the super nintendo or amiga perhaps?) Or you could even go further back in time and use the atari 2600 video chip.
So I guess I would suggest having a look around and see if you can find datasheets for these different chips and see how you can interface them with your circuit.
If you wanted to go down the path of making one yourself then by far the simplest method would be to use a microcontroller with an ad725 (which is an RGB to video chip)
That is what the uzebox project is based around:
http://belogic.com/uzebox/
Specifications
CPU: ATmega644 microcontroller
Total RAM: 4K
Program Memory: 64K
Speed: 28.61818Mhz (Overclocked)
Colors: 256 simultaneous colors arranged in a 3:3:2 color space (Red:3 bits, Green:3 bits, Blue: 2 bits)
Resolution: Up to 240x224 pixels (tiles-only and tiles-and-sprites modes)
Sprites: Up to 32 simultaneous sprites on screen at any time
Video output: NTSC Composite and S-Video
Sound: 4 channels wavetable, 8-bit mono, mixed at ~15Khz and output via PWM
Inputs: Two NES/SNES compatible joypad inputs
Options: MIDI-in interface and s-video output
If you are looking for a ready made chip, then I guess you could rip one out of an old console or system (such as the super nintendo or amiga perhaps?) Or you could even go further back in time and use the atari 2600 video chip.
So I guess I would suggest having a look around and see if you can find datasheets for these different chips and see how you can interface them with your circuit.
If you wanted to go down the path of making one yourself then by far the simplest method would be to use a microcontroller with an ad725 (which is an RGB to video chip)
That is what the uzebox project is based around:
http://belogic.com/uzebox/
Specifications
CPU: ATmega644 microcontroller
Total RAM: 4K
Program Memory: 64K
Speed: 28.61818Mhz (Overclocked)
Colors: 256 simultaneous colors arranged in a 3:3:2 color space (Red:3 bits, Green:3 bits, Blue: 2 bits)
Resolution: Up to 240x224 pixels (tiles-only and tiles-and-sprites modes)
Sprites: Up to 32 simultaneous sprites on screen at any time
Video output: NTSC Composite and S-Video
Sound: 4 channels wavetable, 8-bit mono, mixed at ~15Khz and output via PWM
Inputs: Two NES/SNES compatible joypad inputs
Options: MIDI-in interface and s-video output
-
- I practically live here!
- Posts: 1127
- Joined: Sun Mar 28, 2010 1:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
Or Legos:sdudley wrote:Forget the chip...
Just build one that runs on marbles!
http://woodgears.ca/marbleadd/
:D
http://www.youtube.com/watch?v=SYi9sJkS19Q
The MAXII CPLD can do some good graphics:
http://www.youtube.com/watch?v=k_E6goZTesM
-
- I practically live here!
- Posts: 1127
- Joined: Sun Mar 28, 2010 1:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
Thank you for the information on the AD725 chip. I missed it being there.
I'm really overestimating my ability as these things are really hard or involved for some people.
It all looks cool for a $5 dollar chip.
http://avga.prometheus4.com/
I would like to get my hands on this but the company doesn't really want to talk to me and I would have to find it at Digikey or some place that is willing to sell it to me (cash is king) with a datasheet:
http://www.youtube.com/watch?v=A5eU8pHpy-c
It is the same company building parts for the Amiga X1000 that is supposed to come out this summer.
I'm really overestimating my ability as these things are really hard or involved for some people.
It all looks cool for a $5 dollar chip.
http://avga.prometheus4.com/
I would like to get my hands on this but the company doesn't really want to talk to me and I would have to find it at Digikey or some place that is willing to sell it to me (cash is king) with a datasheet:
http://www.youtube.com/watch?v=A5eU8pHpy-c
It is the same company building parts for the Amiga X1000 that is supposed to come out this summer.
- brad
- Site Admin
- Posts: 2578
- Joined: Fri Mar 26, 2010 10:30 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
I have never seen that AVR system before. I have experimented with creating video patterns and know how hard it is - your timing must be spot on, you need to count clock cycles and make sure that you use exactly the same amount no matter what routine you call in your code. I take my hat off to guys who can create not only graphics but games!
-
- I practically live here!
- Posts: 1127
- Joined: Sun Mar 28, 2010 1:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
I found the chip. They are using a cheaper Sparkfun board:
http://www.sparkfun.com/commerce/produc ... ts_id=9428
The more expensive board is sold by XMOS and it has more cores and more mips.
https://www.xmos.com/products/developme ... opment-kit
Xmos has three or four versions and one uses USB while one or more uses a JTAG interface. I'm not sure why people are opting for the Sparkfun board when they can get more (cores) features for the same price without having to buy the JTAG connector.
Some of the users on Xcores.org say that it is horrible with video but there is a core out there that lets you use two backgrounds and 32 sprites using a graphics engine that is written by someone. They are having a hard time to get the right oscillator to make NTSC.
It is starting to get expensive for me.
http://www.sparkfun.com/commerce/produc ... ts_id=9428
The more expensive board is sold by XMOS and it has more cores and more mips.
https://www.xmos.com/products/developme ... opment-kit
Xmos has three or four versions and one uses USB while one or more uses a JTAG interface. I'm not sure why people are opting for the Sparkfun board when they can get more (cores) features for the same price without having to buy the JTAG connector.
Some of the users on Xcores.org say that it is horrible with video but there is a core out there that lets you use two backgrounds and 32 sprites using a graphics engine that is written by someone. They are having a hard time to get the right oscillator to make NTSC.
It is starting to get expensive for me.
-
- I practically live here!
- Posts: 1127
- Joined: Sun Mar 28, 2010 1:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
I think I read somewhere the ad725 only does monochrome but I have to start learning somewhere. The problem is the timing for televisions which I will have to figure out.brad wrote:It is certainly a cool project to work towards though. Why not just start off with something like the ad725, send out some 1's and 0's to the RGB lines and see if you can make something come up on the screen?
I guess the more difficult the task, the more that you will learn :)
Right now, I'm just trying to figure out how to connect an Eprom to a 65C02. I haven't figured it out yet. I know I'll need an Eprom programmer and someone said this William programmer is cheap and it does Pic Micros too:
http://www.sivava.com/EPROM_Programmer_5.html
I know this goes beyond what the purpose of your forum is but I'm not trying to get anyone to adopt what I'm doing but I will probably use a (Eprom) DS1210 or a FM1808DS by RAMTRON but I don't think it will work with the low cost William programmer and I don't want to buy a $200 Eprom programmer.
And it would be interesting to interface a 65C816S (processor) to one of these:
http://www.friendlyarm.net/forum/topic/1115
(Disclosure: some of the users are having problems because the voltage is dropping below 4.5 volts and that makes the display drivers not operate properly.)
- brad
- Site Admin
- Posts: 2578
- Joined: Fri Mar 26, 2010 10:30 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
As for the programmer just bear in mind that the brand (I am pretty sure) that you are referring to is WILLEM. I actually have one of those and they do work very well. They are quite cheap (infact check out this one on ebay for $16 including postage)
http://cgi.ebay.com/PCB35-Willem-EPROM- ... 3a5b4fe957
If you are looking to interface a rom to the 65c02 then I would recommend just a nice standard 27256 (32Kb)
Since the 65c02 has a 16bit address bus you will certainly not want to fill it with just rom - you will need space for ram, I/O etc...
The AD725 certainly does do colour
Check out this pic of a two chip video game system designed around the AD725:
Also, you may find this site quite helpful (to do with the 65c02) You just need to find out the addressing requirements for the processor in regards to where it starts looking to run code from at powerup (I.E. what address it starts at)
http://patpend.net/technical/6502/6502ref.html
http://cgi.ebay.com/PCB35-Willem-EPROM- ... 3a5b4fe957
If you are looking to interface a rom to the 65c02 then I would recommend just a nice standard 27256 (32Kb)
Since the 65c02 has a 16bit address bus you will certainly not want to fill it with just rom - you will need space for ram, I/O etc...
The AD725 certainly does do colour
Check out this pic of a two chip video game system designed around the AD725:
Also, you may find this site quite helpful (to do with the 65c02) You just need to find out the addressing requirements for the processor in regards to where it starts looking to run code from at powerup (I.E. what address it starts at)
http://patpend.net/technical/6502/6502ref.html
Who is online
Users browsing this forum: No registered users and 5 guests