New to SBC projects
- BigDumbDinosaur
- Posts: 9426
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
GARTHWILSON wrote:
I would still like to find the '521 and '138 in ABT, if anyone knows a source.
x86? We ain't got no x86. We don't NEED no stinking x86!
GARTHWILSON wrote:
If you do that with (E)EPROM though, you'll have to make a programming adapter to mix them around such that the (E)EPROM will get read properly when put in the target system.
So, you still need to get some kind of code running, but you can update it on the fly. Daryl kindly offered to program-by-post, or you could single-step a small bootstrap.
BigEd wrote:
Daryl confirms that a suitable modern EEPROM can be programmed in-system. For example, this $5 Atmel 8K EEPROM has a single 5v supply and an internal write buffer. Check Daryl's schematics: it's the same pinout as an SRAM, you just use \WE to write it (a jumper is convenient)
The datasheet explains this under the "detecting the end of the write cycle using data polling" section. As I recall, data bit 7 is inverted during a read access while a write cycle is in progress. This affects every address location. You write a data byte, then read it back and compare the result. If they match, the write cycle is complete, otherwise keep reading it until it does match. There are also page mode writes, but the end of cycle detection still applies.
Daryl
I think the mimimig (mini Amiga) uses an FPGA to generate video through a discrete resistor DAC.
I found it was a little involved to generate video so I looked to third party solutions and wondered what everyone thought about using these products with a 65C02 or 65c816 SBC.
http://www.sparkfun.com/commerce/produc ... ts_id=8541
http://www.sparkfun.com/commerce/produc ... ts_id=8540
Here is a video on Youtube:
http://www.youtube.com/watch?v=zNLXGV1f5PQ
The specs are here (click on features):
http://www.4dsystems.com.au/prod.php?id=15
http://www.4dsystems.com.au/
http://tinyvga.com/
http://www.microvga.com
I was reading about the Beagle Board and heard that people were using Adruino to interface with it. It is essentially a computer but on the other hand, it could be a video card for the 65C816. With its memory card slot, it could hold libraries of advanced routines and I read that the VGA-Picaso MD1 can store up to 2 Gigabytes worth of icons and graphics.
720p Video on OMAP3 Beagle Board running Android by Ingenient
http://www.youtube.com/watch?v=BdnDpH3543Q
I possibly want to go forward with ordering a 65C02 or several 65C816 this summer.
I found it was a little involved to generate video so I looked to third party solutions and wondered what everyone thought about using these products with a 65C02 or 65c816 SBC.
http://www.sparkfun.com/commerce/produc ... ts_id=8541
http://www.sparkfun.com/commerce/produc ... ts_id=8540
Here is a video on Youtube:
http://www.youtube.com/watch?v=zNLXGV1f5PQ
The specs are here (click on features):
http://www.4dsystems.com.au/prod.php?id=15
http://www.4dsystems.com.au/
http://tinyvga.com/
http://www.microvga.com
I was reading about the Beagle Board and heard that people were using Adruino to interface with it. It is essentially a computer but on the other hand, it could be a video card for the 65C816. With its memory card slot, it could hold libraries of advanced routines and I read that the VGA-Picaso MD1 can store up to 2 Gigabytes worth of icons and graphics.
720p Video on OMAP3 Beagle Board running Android by Ingenient
http://www.youtube.com/watch?v=BdnDpH3543Q
I possibly want to go forward with ordering a 65C02 or several 65C816 this summer.
I'm not sure why an FPGA would be difficult for video generation. You have to get your timing signals right, and that's usually the toughest part of it all, but otherwise, it should be quite simple to get something working.
I was able to get about four cores of the Intellasys S24-thumbdrive unit to generate stable (monochrome, since it only had two DACs I could use) 640x480 VGA resolution right to an analog VGA monitor. It took about 24 man hours to get working.
I can't imagine why it'd take getting an FPGA working with a basic video interface any longer than this.
ALSO, note that the Amiga's video hardware is not for the feint of heart anyway. Unless you have experience coding for the Atari 800 series of computers, its video architecture will not be obvious to you. You have a rather large number of DMA channels to set up for the video bitplane pointers, a number of DMA channels for the blitter, a number of DMA channels for the sprites, and then you need interrupts enabled so you can reset the bitplane pointers on each VSYNC. (Not updating these pointers is one of the tricks that Amiga software used to pull off 60fps animation back when the CPU only ran at 7MHz.)
However, the Amiga's video hardware is doggone SIMPLE compared to the configuration needed to get a VGA chipset initialized correctly.
Still, nothing would prevent the implementation of something simpler to use, like perhaps a subset of the TI VDU chip, the Commodore 64's VIC-II chip, or even the C128's VDC chip.
I was able to get about four cores of the Intellasys S24-thumbdrive unit to generate stable (monochrome, since it only had two DACs I could use) 640x480 VGA resolution right to an analog VGA monitor. It took about 24 man hours to get working.
I can't imagine why it'd take getting an FPGA working with a basic video interface any longer than this.
ALSO, note that the Amiga's video hardware is not for the feint of heart anyway. Unless you have experience coding for the Atari 800 series of computers, its video architecture will not be obvious to you. You have a rather large number of DMA channels to set up for the video bitplane pointers, a number of DMA channels for the blitter, a number of DMA channels for the sprites, and then you need interrupts enabled so you can reset the bitplane pointers on each VSYNC. (Not updating these pointers is one of the tricks that Amiga software used to pull off 60fps animation back when the CPU only ran at 7MHz.)
However, the Amiga's video hardware is doggone SIMPLE compared to the configuration needed to get a VGA chipset initialized correctly.
Still, nothing would prevent the implementation of something simpler to use, like perhaps a subset of the TI VDU chip, the Commodore 64's VIC-II chip, or even the C128's VDC chip.
-
Nightmaretony
- In Memoriam
- Posts: 618
- Joined: 27 Jun 2003
- Location: Meadowbrook
- Contact:
http://elm-chan.org/works/crtc/report.html
CPLD video display controller.
The FPGA needs the data bootstrapped into it, hence the Arduino or AVR tyhpe. This one, not so much....
CPLD video display controller.
The FPGA needs the data bootstrapped into it, hence the Arduino or AVR tyhpe. This one, not so much....
"My biggest dream in life? Building black plywood Habitrails"
You can just use a serial EEPROM to bootstrap the FPGA too. Also, I believe there are EEPROM-based FPGAs on the market too, though they're not nearly as popular as the RAM-based units. (And, I presume, a lot more expensive too.)
Still, you can pack a lot more functionality in an FPGA than you can a CPLD, which allows you to have a VIC-class video interface. With a CPLD, you're either going to end up with an Apple-II type display interface (some would say it's too simple to be useful) or an Amiga/Atari-type display (which relies on periodic software intervention to keep the unit working properly).
Still, you can pack a lot more functionality in an FPGA than you can a CPLD, which allows you to have a VIC-class video interface. With a CPLD, you're either going to end up with an Apple-II type display interface (some would say it's too simple to be useful) or an Amiga/Atari-type display (which relies on periodic software intervention to keep the unit working properly).
-
Nightmaretony
- In Memoriam
- Posts: 618
- Joined: 27 Jun 2003
- Location: Meadowbrook
- Contact:
The Chan is asynchronous in design but is a simple bit map. Sprites possibly CAN be done with a CPLD, through clever logic design. I like it due to its simplicity all around.
The FPGA requires the bootstrap every wakeup, plain and simple. I didnt know that there were eeprom serial load types, how popular are they and are they easy to get and all?
the Xilinx 9500 series equations would work across their platforms bigtime and if you depend o a serial eeprom load, how portable if that part goes obsolete and you have to redesign with a cpu loader type of fpga?
The FPGA requires the bootstrap every wakeup, plain and simple. I didnt know that there were eeprom serial load types, how popular are they and are they easy to get and all?
the Xilinx 9500 series equations would work across their platforms bigtime and if you depend o a serial eeprom load, how portable if that part goes obsolete and you have to redesign with a cpu loader type of fpga?
"My biggest dream in life? Building black plywood Habitrails"
Nightmaretony wrote:
The FPGA requires the bootstrap every wakeup, plain and simple.
NOTE: EEPROM-backed FPGAs are not the same thing as RAM-backed FPGAs bootstrapped from an external EEPROM unit. Do not get these two confused!!!
Quote:
I didnt know that there were eeprom serial load types, how popular are they and are they easy to get and all?
Quote:
Xilinx 9500 series equations would work across their platforms bigtime and if you depend o a serial eeprom load, how portable if that part goes obsolete and you have to redesign with a cpu loader type of fpga?
-
Nightmaretony
- In Memoriam
- Posts: 618
- Joined: 27 Jun 2003
- Location: Meadowbrook
- Contact:
Nightmaretony wrote:
the Xilinx 9500 series equations would work across their platforms bigtime and if you depend o a serial eeprom load, how portable if that part goes obsolete and you have to redesign with a cpu loader type of fpga?
And, besides, if you have to redesign with a different FPGA, it's probably a reroute anyway.
BigEd wrote:
Quick question, if you're in the know: how long does it take before the fpga is functional? A few tens of milliseconds, or a few seconds?
(Presumably it's linear, so a million-gate FPGA would take 5x longer than a 200k gate one)
(Presumably it's linear, so a million-gate FPGA would take 5x longer than a 200k gate one)
Generally, the way to work around the startup time is to have the FPGA control the reset lines of the rest of the system
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
As per kc5jta, pretty much every FPGA can boot from standard SPI eeproms provided they're big enough. It's not the fastest boot
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?