It is currently Sat Oct 21, 2017 12:42 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 103 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
 Post subject: Re: FPGA project
PostPosted: Wed Nov 10, 2010 6:50 am 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
kevtris wrote:
I figure this is the best shot I have at making some kind of "FPGA thing" to sell. The hard part about it is the FPGA alone costs $42 on it, and there's not much I can do about getting that lowered. There might be a quantity discount but there doesn't seem to be.

I've been planning on producing some form of commercial FPGA-based retro product for the past 5 years. But my ambitions always outstrip the current technology / price-point trade-off that would make it commercially viable. Hence the reason I have nothing at all to show for years of "tinkering" except a bunch of relatively simple projects.

If you're considering a SNES, I'd humbly suggest you not worry about the hardware at all for now and start developing on the most powerful hardware you can lay your hands on. For one, it'll make your development job easier. And two, by the time it's ready technology will be cheaper; you can always sit on it for a bit if not. A good design will be relatively portable across hardware targets.


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Wed Nov 10, 2010 7:56 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19114
Location: NE Indiana, USA (NTSC)
tcdev wrote:
I'm working on finishing up a Tandy Coco 1/2 design [...] I just need to add SD card support for IDE emulation

If you add CF card support, you have IDE with no need for emulation.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 10, 2010 9:06 am 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2257
Not to be mean but Cloud9 and Coco3 have Cf card devices, serial connections from PC->Coco, Hard drive and CF IDE-like environments and much more. Not that you doing it is a waste, it just already exists and since we have the SuperIDE with the flash card slot, too, I will say it's awesome.


And Genesis FPGA is done? Wow, thats awesome. I love the preservation of all this hardware on new materials. :D If I had money I'd totally pick it up.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 10, 2010 10:15 am 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 500
Location: Indianapolis
tepples wrote:
Lock-On technology FTW.

It'd be cool if the game select screen looked like this, which I drew last night:

Image

Sure beats the typical menu of a 12345-in-1 pirate multicart.


Why is "JALECO" in the B's?


I really like that idea for a game menu, that's pretty nice :-)

I am not sure how the menuing is going to work yet; I figured I'd just have an overlay that the host CPU can slap on top of the active video using a 10% or 25% transparency. But the cart label idea is pretty cool I have to say.

_________________
/* this is a comment */


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Wed Nov 10, 2010 10:26 am 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 500
Location: Indianapolis
tcdev wrote:
kevtris wrote:
I figure this is the best shot I have at making some kind of "FPGA thing" to sell. The hard part about it is the FPGA alone costs $42 on it, and there's not much I can do about getting that lowered. There might be a quantity discount but there doesn't seem to be.

I've been planning on producing some form of commercial FPGA-based retro product for the past 5 years. But my ambitions always outstrip the current technology / price-point trade-off that would make it commercially viable. Hence the reason I have nothing at all to show for years of "tinkering" except a bunch of relatively simple projects.

If you're considering a SNES, I'd humbly suggest you not worry about the hardware at all for now and start developing on the most powerful hardware you can lay your hands on. For one, it'll make your development job easier. And two, by the time it's ready technology will be cheaper; you can always sit on it for a bit if not. A good design will be relatively portable across hardware targets.


meh. I already have the hardware designed, built and debugged for the most part. The target is fixed. Be that as it may, its abilities are pretty decent and should be plenty for SNES. 16Mbytes of RAM is plenty for the RAM/ROM emulation and the synchronous SRAM is plenty for a screen buffer, SPC700, and PPU RAM. It should be able to handle some of the expansion chips like the DSPs... probably not enough oomph for SA-1 but the SDD1 might be doable.

---
minor update:

I "finished" the NES core I think also. It supports 211 different mappers right now (that alone's around 5500 lines of verilog, cartridge audio (yes even VRC7) adds another 2500 or so. All expansion audio is implemented now (VRC6, VRC7, MMC5, FME7, N106, FDS, drip mapper audio).

The entire NES+mappers+etc took almost 700K bytes of verilog code in 68 files that I banged out in the last 2 months.

It plays all the NES games I can feed it, all the Vs. games I can feed it (yes, the gun games work with a regular zapper), and it plays NSFs with an on-screen display doohickey.

So, now that the NES part is done, the next part is the host controller that will read the USB controllers, SD card, and all that fun stuff. I don't anticipate too many problems here, I'm very familiar with SD and the USB host mode stuff doesn't seem terribly difficult with the particular CPU I chose.

Once the CPU is running I will be able to enable the DVI video sender and see if that works too.

Tomorrow my programming dongle will be here, and the CPU is already installed and I think it works. it doesn't get hot anyways so it's probably hooked up at least mostly correct. Won't be able to test until I get the programmer.

_________________
/* this is a comment */


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Wed Nov 10, 2010 1:04 pm 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
tepples wrote:
If you add CF card support, you have IDE with no need for emulation.

I already have CF support. I just want to be able to run this on the DE1 which only has SD card.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 10, 2010 1:12 pm 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
65024U wrote:
Not to be mean but Cloud9 and Coco3 have Cf card devices, serial connections from PC->Coco, Hard drive and CF IDE-like environments and much more. Not that you doing it is a waste, it just already exists and since we have the SuperIDE with the flash card slot, too, I will say it's awesome.

I'm well versed in the Coco scene and all the products that are available.

I'm not looking to produce a product that connects to a real Coco. I'm developing an all-in-one FPGA emulation that actually emulates some of those Cloud9 products on-chip. For instance, I already emulate the SuperIDE controller, with full HDBDOS support via CF. I'm just looking to (also) use the SD card as an IDE peripheral, to use on the DE1 for example.

I have also had Drivewire running on the emulation, but only when using an external 6809. There is no cycle-accurate 6809 core available (yet), so the hand-crafted bit-bash routines in Drivewire won't quite work. Gary Becker got around that on his Coco3FPGA emulation by (IIUC) re-coding parts of the routines. As far as I'm concerned, that's cheating. I want to be able to use the "original" software.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 10, 2010 2:04 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2257
Yeah, 6809 shouldn't be hard to cycle-emulate. It's pretty easy how instructions go together and no special ones as it seems with great documentation. Good luck with that man! A Coco FPGA would be great, too. Even with a psuedo 256 color mode? :P


I want one of these magical (and a bit expensive) FPGA thingamabobs now! lulz. Maybe I will just let all this talent make this stuff so I can buy.....yeah, that sounds better. ;) I love the random internet smart people. XD


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Wed Nov 10, 2010 2:14 pm 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
kevtris wrote:
meh. I already have the hardware designed, built and debugged for the most part. The target is fixed. Be that as it may, its abilities are pretty decent and should be plenty for SNES. 16Mbytes of RAM is plenty for the RAM/ROM emulation and the synchronous SRAM is plenty for a screen buffer, SPC700, and PPU RAM. It should be able to handle some of the expansion chips like the DSPs... probably not enough oomph for SA-1 but the SDD1 might be doable.

I don't know much about the SNES hardware myself. I do know that someone is working on the 65816 core for Apple IIGS emulation. No idea how far he has gotten with it though.

kevtris wrote:
I "finished" the NES core I think also.

It plays all the NES games I can feed it, all the Vs. games I can feed it (yes, the gun games work with a regular zapper), and it plays NSFs with an on-screen display doohickey.

I've always been impressed with your NES efforts since I discovered your project several years ago. I can only imagine the number of hours you have invested in this. Kudos to you.

Aside from time, the biggest problem I have is that my emulation interests are far too broad. So I start one project, and then get diverted to something else when I get to the "hard slog" part of the project. Hence the reason I have started a bunch of different cores which are "proof of concept".

kevtris wrote:
So, now that the NES part is done, the next part is the host controller that will read the USB controllers, SD card, and all that fun stuff. I don't anticipate too many problems here, I'm very familiar with SD and the USB host mode stuff doesn't seem terribly difficult with the particular CPU I chose.

Once the CPU is running I will be able to enable the DVI video sender and see if that works too.

One of the main reasons I'm interested in FPGA emulation is the ability to (easily) interface modern peripherals such as USB & SD. The one point of contention I have is that IMHO using an external CPU is "cheating" to some extent. I know that it's by far the most sensible and practical approach, but something about it just gnaws away at me. It's just the way I am.

I'm going to assume you're not using an OXU210HP USB host chip! :wink: Uggh! I'm currently about to start work on an embedded host stack and that is anything but simple. To be fair, it's meant to be a fully featured EHCI root port, and for our purposes it's probably way overkill. The cool thing is that it is on an FPGA board that I can ultimately "play" with for my retro emulations.

Did you choose a TI chip for the DVI transmitter?


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Thu Nov 11, 2010 8:28 am 
Offline
User avatar

Joined: Sat Oct 29, 2005 2:09 am
Posts: 500
Location: Indianapolis
Quote:
Aside from time, the biggest problem I have is that my emulation interests are far too broad. So I start one project, and then get diverted to something else when I get to the "hard slog" part of the project. Hence the reason I have started a bunch of different cores which are "proof of concept".

kevtris wrote:
So, now that the NES part is done, the next part is the host controller that will read the USB controllers, SD card, and all that fun stuff. I don't anticipate too many problems here, I'm very familiar with SD and the USB host mode stuff doesn't seem terribly difficult with the particular CPU I chose.

Once the CPU is running I will be able to enable the DVI video sender and see if that works too.

One of the main reasons I'm interested in FPGA emulation is the ability to (easily) interface modern peripherals such as USB & SD. The one point of contention I have is that IMHO using an external CPU is "cheating" to some extent. I know that it's by far the most sensible and practical approach, but something about it just gnaws away at me. It's just the way I am.

I'm going to assume you're not using an OXU210HP USB host chip! :wink: Uggh! I'm currently about to start work on an embedded host stack and that is anything but simple. To be fair, it's meant to be a fully featured EHCI root port, and for our purposes it's probably way overkill. The cool thing is that it is on an FPGA board that I can ultimately "play" with for my retro emulations.

Did you choose a TI chip for the DVI transmitter?


Yeah it is cheating a bit, but it's kinda hard for the FPGA to load its own fusemaps off the SD card! I want to be able to reload the FPGA on the fly with different consoles and what not, so that mandates an external CPU.

The chip is pretty nice, it's a vinculum 2 and it costs around $5 in single quantities. For that, you get two USB host/peripheral ports, a 32 bit CPU, some RAM, timers, UARTs, and all that other usual microcontroller stuff. The best part is the C compiler is free, they have libraries you can use for USB and FATxx and stuff (not that I need it, I already have a complete 6502 based SD+FAT solution but without the FPGA running there's no way to use it) and the programming dongle only costs $16 or so.

On that FPGA synth I did, there was a 2nd 6502 that ran the user interface. It worked really well (6502 did FAT and SD and other stuff too) and the DMA unit built into the SD card part made music loading very fast and easy, but writing all that code in asm sucked. Life is short, time isn't infinite, so this time I really want to try writing the host controller stuff in C on a more modern CPU.

The NES core right now has an 8K on-chip BIOS that has a simple monitor and ROM/NSF loading and such, but I will eventually move most of the loading part over to the vinculum 2 CPU.

As for my DVI transmitter, yes it's a TFP410 made by TI. Hopefully that programming dongle comes today so I can get started on finishing up the timing and video modules then start on system control! And I cross my fingers that SD card, the pushbuttons and 7-seg display and USB stuff and DVI stuff will work :-)

_________________
/* this is a comment */


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Thu Nov 11, 2010 2:24 pm 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
kevtris wrote:
The chip is pretty nice, it's a vinculum 2 and it costs around $5 in single quantities. For that, you get two USB host/peripheral ports, a 32 bit CPU, some RAM, timers, UARTs, and all that other usual microcontroller stuff.

Nice, I'll look into it. I was also eyeing off the NXP & STM parts at one point for the same purposes.

kevtris wrote:
On that FPGA synth I did, there was a 2nd 6502 that ran the user interface. It worked really well (6502 did FAT and SD and other stuff too) and the DMA unit built into the SD card part made music loading very fast and easy, but writing all that code in asm sucked.

I "borrowed" a 6502-based OSD module from another project (Vector06C?) for a few of my projects, though I didn't end up using it for anything useful.

kevtris wrote:
As for my DVI transmitter, yes it's a TFP410 made by TI.

Ah yes, know it well. Quite simple to set-up. I wrote a small state-machine that drives the opencores I2C master to initialise the chip directly from the FPGA without the need for a processor, though I assume you've connected it to your external processor...


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Thu Nov 11, 2010 2:34 pm 
Offline

Joined: Tue Nov 25, 2008 1:51 am
Posts: 21
kevtris wrote:
On that FPGA synth I did, there was a 2nd 6502 that ran the user interface. It worked really well (6502 did FAT and SD and other stuff too) and the DMA unit built into the SD card part made music loading very fast and easy, but writing all that code in asm sucked.

Now that you mention it, I was wondering if the above-mentioned module was freely available?

The reason I ask is that I'm currently "stalled" on my Coco 1/2 project on the SD part. I need to emulate an IDE device using an SD card. My original plan was to complete an SD read/write back-end written in HDL that my colleague had started time time ago. It is using the 1-bit (non-SPI) mode.

I'm getting a little impatient and have considered using a small soft-core processor instead to do the work. I have C-source to do bit-bash SPI SD accesses that runs on the NIOS, but that's not suitable for my purposes. Something like what you've done would be ideal. So if it is open, could you please point me to it. If not, no problem.

The early Minimig design had a Z80 doing this stuff, but IIRC it was too difficult to extract just the parts I needed from the design. It was also a little "temperamental" with different SD cards from memory.


Top
 Profile  
 
 Post subject: Re: FPGA project
PostPosted: Fri Nov 12, 2010 1:18 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6291
Location: Seattle
tcdev wrote:
I need to emulate an IDE device using an SD card.


I'm probably being horrifically dense and missing something, but why not use compactflash? It already is an IDE device.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 12, 2010 1:35 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10066
Location: Rio de Janeiro - Brazil
How come everyone here likes CompactFlash so much when it appears that the much more common (and cheaper!) SD cards don't look so hard to work with? The Harmony Cartridge (the Atari 2600 equivalent to the PowerPak) for example, uses SD cards for storage.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 12, 2010 6:00 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19114
Location: NE Indiana, USA (NTSC)
tokumaru wrote:
How come everyone here likes CompactFlash so much when it appears that the much more common (and cheaper!) SD cards don't look so hard to work with?

Until recently, the SD Association didn't publish a non-confidential specification for building a card reader; one first had to join the SD Association. And even now that the simplified spec is available, SD support still "may require a license from the SD Card Association, SD Group, SD-3C, LLC or other third parties." CF, on the other hand, can be accessed as if it were an ATA hard drive, all nice and patent-free. It also takes a bit more glue logic on the reader to make SD's 1-bit or 4-bit protocol work as fast as a CF 8-bit transfer.

Quote:
The Harmony Cartridge (the Atari 2600 equivalent to the PowerPak) for example, uses SD cards for storage.

As does the EverDrive for Sega Genesis.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 103 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group