Electronics Question on Flash(ing) Memory

Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by infiniteneslives »

bazz wrote:
infiniteneslives wrote:
*Using a micro-controller to receive data serially in any fashion will be slower than if the mcu can get data in byte chunks from what ever is handling the USB comms. The less time the mcu has to handle recieving data, the more time it can devote to pumping data into the flash.
Get the data in byte chunks. What is this called? I am investigating High-Speed USB support with microcontrollers, and I started learning about USB specification, for instance Bulk transfer and - isochronous - is faster but not guaranteed, bulk is always guaranteed. I figured to go with Bulk for my first time around. Now I feel as to try isochronous. However, I don't very much understand the difference between serial transfer and receiving in byte chunks as you suggest. I don't even know where to start.
That's about as much as I can give you, parallel vice serial. Find a USB device, that will communicate to your mcu in parallel 'byte wide' interface, vice serially. Or use a beefy (overly expensive) mcu which has built in USB interface, that will allow data to come in, without tying up the mcu. (EDIT: I will point out though, that by taking this approach there is little regard to the cost of the device. You're saying I'd rather pay 2-4 times as much so I can wait a few seconds vice a min.)

I don't know about this bulk/isochronous stuff, but you want reliable data regardless of what you're doing.

As for the 'EPROM Emulator', not sure what your plans are. But if you're trying to get a mcu to act as a ROM for the SNES, I'd stop right there. Too much data, to fast, and too random for the SNES. Just use memory to 'emulate' memory...
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by tepples »

infiniteneslives wrote:I will point out though, that by taking this approach there is little regard to the cost of the device. You're saying I'd rather pay 2-4 times as much so I can wait a few seconds vice a min.
That depends on how many times one plans to push Build and Run, especially while tracking down an accidental reliance on emulator inaccuracy, and how much one makes per hour.
As for the 'EPROM Emulator', not sure what your plans are. But if you're trying to get a mcu to act as a ROM for the SNES, I'd stop right there. Too much data, to fast, and too random for the SNES. Just use memory to 'emulate' memory...
That's what an "EPROM emulator" does. Kev made one, for instance.

This question comes from Phineas in Colorado: Does the Super NES CPU let the cart bus float while in reset, or is it still driven?


And who got the Phineas reference?
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by infiniteneslives »

As for the 'EPROM Emulator', not sure what your plans are. But if you're trying to get a mcu to act as a ROM for the SNES, I'd stop right there. Too much data, to fast, and too random for the SNES. Just use memory to 'emulate' memory...
That's what an "EPROM emulator" does. Kev made one, for instance.
Well kev's using RAM to act as ROM. Not an mcu to act as ROM. There is a significant difference between the two. That was I why suggesting when I said memory to 'emulate' memory. Bazz's flash/ram device would be similar, just not termed 'EPROM emulator' IMO as it's more of a flash/ram cart, so that's where I got confused I guess.

Bazz, if you want my uncandid advice, I'd point out that you need to walk before you can run. Start off with the simplest, easiest, and cheap entry option you can find. Something that doesn't require you to really 'know' much about USB. Perhaps something like arduino with provided USB libraries and everything. Sure it may be slow as molasses to start, but there is quite a bit you can do to make it acceptable in speed. If you're able to get something like that *working* you'll have a much better idea of what you need to get yourself into to program something in a few seconds. If you try to start off with the most complicated, highest speed option you can find to kick off your project I'd imagine your doomed for failure based on what I'm gathering from this conversation.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by bazz »

Guys/Gals check this out:

http://www.cypress.com/?id=193

I've been looking into it, and it sounds very useful and interesting.
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by infiniteneslives »

Looks legit. With a specialized part like that though, I make sure you can figure out nearly everything you need to know/learn from the datasheet. You probably won't find a lot of forum/internet help on a specialized part like that, so it's just you and the datasheet, and the cypress website.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Electronics Question on Flash(ing) Memory

Post by bazz »

I'm currently accessing Cypress forums. Asking how/if the Cypress can effectively read/write a parallel flash.

I kind of have it figured out subconsciously. It's good to ask and learn more.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Electronics Question on Flash(ing) Memory

Post by lidnariq »

That Cypress part is the same one used in the Saleae Logic and its knockoffs. It contains a comparatively slow 8051 core (relative to USB data rates) and a bit of glue logic that allows for bulk 8- or 16- bit DMA in either direction over USB2.0 at up to 24MB/s without any involvement from the microcontroller.

What it won't do is attain "USB2.0 high speed" speeds at any kind of nontrivial process, such as polling FLASH to see if it's done. (What it can do is provide or measure data either isochronously or in response to an external trigger) A megabyte or two per second should be doable, though.

(BUT: the flash can't be programmed that fast anyway. Getting the host side that fast won't help until you program RAM)
Post Reply