It is currently Thu Apr 17, 2014 2:30 pm

All times are UTC - 7 hours




Post new topic Reply to topic  [ 199 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 14  Next
Author Message
 Post subject:
PostPosted: Tue Apr 10, 2012 8:14 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 6483
Location: Rio de Janeiro - Brazil
Adding more bits to the PRG bank indices would probably be easy (it could go up to 2MB if all 8 bits written to the data register were used) if the CPLD can handle it, but not CHR, since all 8 bits are already used to index 256 1KB banks.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 10, 2012 9:38 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
Okay well I did a little more research on the different options. The more I dig the more appealing the 2 CPLDs on one board becomes...

I could make a rockstar board that would be much more capable that used non-5V part with level shifting that would give 256 LUTs (~Mcells) and a boat load of other possible features and capabilities way beyond MMC3 due to the power of Lattice's Mach XO2 devices. The cool thing is it would only cost about $1 more than the double xilinx 5v tolerant board. The real draw back is it would be a lot larger risk for me because I'd have to invest in the parts, PCBs, and assembly ALL upfront because of part cost breaks and difficulty of assembly. The board is a novel idea, but I don't think any one is really ready to develop a game that could come close to utilizing everything the board could offer. It also over complicates the project I think as well.

The double xilinx board is could be very versatile and I'd really only have to upfront the PCB cost. I can buy the parts in small quantities and assemble them myself no prob.

The board would also be expandable to a point because the 36 Mcell and 72MCell CPLDs are pin compatible. So It could be used for various mapper configurations like some of the following options:

*ONE 36Mcell device: For something as simple as an advanced discrete logic (something like the "advanced UNROM" board by only using a single 36Mcell CPLD for a few dollars under $10. Or even some simple more custom setups for something like Tepples' Action 53 if demands exceed standard BNROM. The would be less of an obstacle to design and produce such "advanced discrete mappers" because I'd have them on stand by.

*ONE 36 Mcell and ONE 72Mcell CPLD: I need to test and verify this but I'm hoping that the MMC3 will fit in a configuration like this. If I can pull this off the $10 goal is easily achievable. Not much extra room here for added features to the MMC3. This would be the stock MMC3 setup hopefully.

*ONE 72Mcell CPLD: Might save cost if someone were to produce a MMC3 game but didn't use all of the features of the MMC3. It could still be MMC3 compatible game but if one were to use CHR RAM you could minimize the logic or make your own custom modifications to MMC3 to reduce production cost. This would also allow for the board to be arranged as MMC1, with a little space to spare if one wanted to improve upon the MMC1.

*TWO 72Mcell CPLDs: The MMC3 will definitely fit here and only cost ~$12. But this should also allow for more complex mappers. Maybe something like my Tengen RAMBO-1 idea. MMC2/4 like features who knows. The point is there would be a possibility to have more advanced features on the same PCB which is what's critical to keep quantities high enough to reduce the end cost.

Worst case I spend a few hundred dollars and end up with a bunch of highly configurable PCBs that no one is interested in buying. I'll just start making homebrew/hacked games for my self to add to my personal library once I get my 3D printer running :) I don't have an issue taking on the risk in this scenario because there isn't much to lose.

Of course the more options that are allowed for the more complex the PCB becomes and could end up becoming too much bother. I don't want there to be 20 some different jumpers that have to be soldered in order to configure it for a given board. But I should be able to do quite a bit from within the CPLDs alone and the signals that will double up between the two chips.


So the question that remains is what memory packages to support. I assume most people prefer that it supports standard EPROMs for CHR-ROM and PRG-ROM. I do like the PLCC package for flash though. I'm thinking I'll require there to be support for 0.6" DIP EPROMs/FLASH. And if it's not too difficult I'll try to support 32-PLCC in addition.

As for SRAM I'm inclined to use 0.3" 28-DIP for CHR-RAM and WRAM. Partially because I've got a stock pile of them myself. But they are also one of the cheaper packages that are available as new stock. Would people have a hard time without their 0.6" SRAM? There are some other surface mount options that are appealing due to cost and board space. But they aren't as easy to align adjacent to EPROMs in a fashion like the repropaks, which makes PCB layout simple.

As for the CIC it'll support the CIClone pinout with NTSC jumper. I may also support pinout for the original CIC. I know it partially goes against the goal of not hacking up old boards. But if I support original CICs then it might keep some people from destroying a whole board, and they could just pull the CIC from a crap game and use the case. At least they wouldn't be inclined to hack up good games for the PCB and mapper.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 10, 2012 10:08 pm 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 268
I will ask again - how big this market? Why? Just think, how computers been made in "before CPLD" epoche. Answer is - CUSTOM CHIP. If community will swallow 1000+ IC's it's possible to order custom chip. And keep in mind, that you have to programm and verify CPLD.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 10, 2012 10:37 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
80sFREAK wrote:
I will ask again - how big this market? Why? Just think, how computers been made in "before CPLD" epoche. Answer is - CUSTOM CHIP. If community will swallow 1000+ IC's it's possible to order custom chip. And keep in mind, that you have to programm and verify CPLD.


I think we've answered the question on how big the market is as best we can really. 1000 carts aren't going to fly off the shelf any time soon with a custom mapper or even the standard MMC3 at this point (EDIT: when you can get a case, CIC, PCB, and mapper from a donor for a few dollars). If you want to cough up the cash to remake the MMC3 as an asic go for it. But personally I'd rather invest my money in something that worst case, is still valuable to me if no one buys. If things went well with this and people started releasing a lot of great games that implemented the MMC3 or some other design chip assuming everyone could agree on one mapper (never going to happen IMO) then the idea of reproducing them as an asic could be a good idea. But even with something as standard as the CIClone I wouldn't imagine that it would be beneficial for bunnyboy to invest in a asic remake.

It's hard to beat the cost and configurability of programmable logic. Configuring and verifing the CPLD is moot if you already have to program and verify the ROMs as I see it. It would only take an hour or so to program and verify 100 CPLDs. You can always pay some one else to do it anyways. And with and asic you'd end up paying someone to verify it anyways.

ASICs have no appeal to me. I'd rather spend twice the cash and have a handful of CPLDs I can reconfigure and play around with all day long especially some all powerful Mach XO2 devices :). Plus I don't have much experience in asic design. I can't imagine dumping a large chunk of change into something that might not even work because I goofed something up as a noob in ASIC design.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 10, 2012 11:57 pm 
Offline

Joined: Thu Oct 27, 2005 1:44 pm
Posts: 449
Location: CA
infiniteneslives wrote:
As for SRAM I'm inclined to use 0.3" 28-DIP for CHR-RAM and WRAM. Partially because I've got a stock pile of them myself. But they are also one of the cheaper packages that are available as new stock. Would people have a hard time without their 0.6" SRAM?

If you are making the boards for repros you absolutely must have good reliable battery backed WRAM. Would have to check if the common .3" SRAMs are low power?

I haven't heard of custom chips in only 1000+ quantities. Typically it is more like 10000-50000 with massive start up costs. No way someone is going to make only 1000 chips for a price that beats these $4-8 CPLDs. Only one repro (MMC1+) and one homebrew (UNROM) has hit the 1000+ level anyways.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 12:42 am 
Offline
Site Admin
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 1680
Location: Mountain View, CA, USA
I can't really help or assist in any way with the hardware bits, infiniteneslives, but I can assure you that I would be quite interested in a board that supports the following:

* MMC3-compliant (heh, funny to say that) register layout
* 72-pin or 60-pin (I have both models of NES and a Famicom)
* Battery-backed RAM (SRAM/WRAM/ilikelettersRAM) or equivalent
* Scanline counter
* Uses EEPROMs or equivalent (e.g. flash) for PRG (and/or CHR)
* Includes ZIF sockets (not sure if this is possible given the front-loaders' limited cartridge height)
* If CPLD/FPGA/etc.-based, please make sure there is some way to upgrade the logic/firmware in case bugs are found

Hrm, I think that about does it.

I can't speak for others, but you could expect me to pay up to US$100 for such a device. I've been wanting something like this since, uh, 1999 or so. Yep still waiting... ;-)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 3:10 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
bunnyboy wrote:
infiniteneslives wrote:
As for SRAM I'm inclined to use 0.3" 28-DIP for CHR-RAM and WRAM. Partially because I've got a stock pile of them myself. But they are also one of the cheaper packages that are available as new stock. Would people have a hard time without their 0.6" SRAM?

If you are making the boards for repros you absolutely must have good reliable battery backed WRAM. Would have to check if the common .3" SRAMs are low power?


Yeah I was thinking about that after my post... They are pretty much junk for low power. There are some decent SOIC's though, but I think it's better to stay through hole unless I sold em soldered on. But really I think 0.6" is best for the WRAM like you're saying to support battery backing. It would be simple enough to support 0.3" and 0.6" though. Then the cheaper 0.3" could be used if there wasn't any battery backing.

The CPLD separation is a little more difficult than I expected. The dang CHR bankswitching sucks up a ton of logic. It was pretty easy to split everything between TWO 72Mcell devices raising the cost ~$1. But trying to split it between a 36 and 72Mcell devices to cut the cost will require something to be thrown out. I'm trying smaller ROM sizes that would support repros but still haven't came up with a great solution...

Either way the $1 doesn't change things much. I can still get em out the door for around $10. So now I need to plan up the schematic and configurations possible via jumpers. Then it's just a matter up making up some PCBs and droping the cash for the first run of boards. I'll take input on the memory situation but PCB layout plays a sizable role in what I can or can't support. It'll probably end up with DIPs all around, something like 0.6" EPROM PRG-ROM, 0.6" CHR-ROM, 0.3" CHR-RAM (32KB), and 0.3"/0.6" WRAM with battery backing. If I can manage I'll slip in 32-PLCC flash for PRG-ROM to help support homebrew development.

koitsu wrote:
I can't speak for others, but you could expect me to pay up to US$100 for such a device. I've been wanting something like this since, uh, 1999 or so. Yep still waiting... ;-)


Is there some reason your set on socketed EEPROMs? I'm guessing it is so you can easily upload your recent build for testing. I know you've been looking for something like this since I started work on the NESDEV1. That project is really my solution to what you're looking for. It meets pretty much everything you're looking for but the Flash on board is PLCC and socketed. But you don't really need the Flash, the main memories are SRAM programmed via USB. I've still got some work to complete so that everything is updatable via USB for updates. Cost is a little iffy right now, but it shouldn't be far from $100. The real factor is assembly costs which I haven't quoted out yet. I'm planning to have the project polished off this year.

A lot of the things you're asking for could be met with this MMC3 repro though. Things that are a bit of a challenge are ZIF sockets and programmable CPLDs. But an alternative solution may be the Kazzo if I were to release supporting software to allow for flashing memories and the CPLDs. No guarantees on that, but it is something I'd like to do in the future.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 7:20 am 
Offline
Site Admin
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 1680
Location: Mountain View, CA, USA
infiniteneslives wrote:
Is there some reason your set on socketed EEPROMs? I'm guessing it is so you can easily upload your recent build for testing. I know you've been looking for something like this since I started work on the NESDEV1. That project is really my solution to what you're looking for. It meets pretty much everything you're looking for but the Flash on board is PLCC and socketed. But you don't really need the Flash, the main memories are SRAM programmed via USB. I've still got some work to complete so that everything is updatable via USB for updates. Cost is a little iffy right now, but it shouldn't be far from $100. The real factor is assembly costs which I haven't quoted out yet. I'm planning to have the project polished off this year.

A lot of the things you're asking for could be met with this MMC3 repro though. Things that are a bit of a challenge are ZIF sockets and programmable CPLDs. But an alternative solution may be the Kazzo if I were to release supporting software to allow for flashing memories and the CPLDs. No guarantees on that, but it is something I'd like to do in the future.


No, there's no reason I'm set on EEPROMs and ZIF sockets. In fact, if I had my way, I'd say scrap both and just use "something else" -- but that's outside of my skillset level (I'm not an EE guy).

The reason I listed them off as a pre-req is that 90% of the time people around here say "why do you need anything other than an EPROM?" followed by points given that EEPROMs make the job easier (which I agree), and then the discussion ends. Nobody seems to ever go past that (proposing things like what you just did -- "main memories and SRAM programmed with USB"). It's tunnel vision on the part of many people. Sorry if that sounds demeaning or insulting, but it's just something I've seen repeatedly non-stop over the years.

Anyway, that aside -- if programming can be done with this PCB natively via USB, then even better, that makes *my* life easier. Just please be sure to keep in mind that if the programming software requires drivers (very likely) that they exist for XP 32-bit, Windows 7 32-bit, and Windows 7 64-bit. If they don't exist for all 3, then you'll find nobody will be purchasing said product/board (including me, though my pre-reqs are XP 32-bit and 7 64-bit). Just something to keep in mind. :-)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 7:23 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 11699
Location: NE Indiana, USA (NTSC)
The problem with making drivers for Windows 7 64-bit is that the developer has to pay a CA every year just to get them digitally signed. Otherwise, the user has to press F8 every startup and select Test Mode. I've checked into KMCS CAs, and a lot of them don't even allow individuals (as opposed to corporations or LLCs) to sign up. Or is this something that can and should be done in user mode?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 8:50 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
Okay well I'm not planning for this project to include USB programability. But the NESDEV1 and kazzo do. My firmwares just use HID drivers which are trivial and I use on windows. I run them on windows 7 (64bit) and XP (32bit) all day long. So consider that issue solved.

Yeah EPROMs are a PITA to develop/test a game, I can't see how any homebrewer couldn't agree. But EEPROMs make the design of a devcart simple, which is what I'm guessing they were basing their argument off of. With the NESDEV1 you don't even need to cycle the NES power or remove the cart. Just click write on your PC and hit reset once it's done. Having something like this MMC3 repro board programmable by using the kazzo wouldn't be too bad. You'd have to swap the cartridge out between the console and kazzo each time. Which is about the same amount of work as the powerpak. I just have to release my own firmware and host software for the kazzo because the current stuff has driver issues, is slow, and difficult to work with IMO.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 10:08 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 6483
Location: Rio de Janeiro - Brazil
I wouldn't use any dev cart that uses memory with limited write cycles for constant development, I would just use it to test milestone builds, or code that uses obscure details not properly implemented in emulators, and for this I can already use the PowerPak, so I don't see the point in a cart that uses Flash or EEPROMs for PRG and CHR.

If a cart can be programmed though USB, it should have RAM for PRG and CHR, so that it can completely replace an emulator (except for the sometimes needed debug features) during development. That I would be interested in.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 12:42 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
tokumaru wrote:
If a cart can be programmed though USB, it should have RAM for PRG and CHR, so that it can completely replace an emulator (except for the sometimes needed debug features) during development. That I would be interested in.


Agreed, that's why I implemented it that way in the NESDEV1. The extra flash that's there is to provide more PRG space (cheaply) and allow for testing things like saving game data on flash vice battery backed SRAM if one choose to go that route they would be able to test those features.

If someone got hard core and used up their write cycle limit on a cart like this MMC3 repro they'll have to replace the memories or get a new board. Not much that can be done about that. You could always throw in some rarer 0.6" SRAMs in it though and battery back them I guess. But I'm not too concerned about write cycle limits with this project.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 2:23 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 6483
Location: Rio de Janeiro - Brazil
I assumed that these MMC3 boards were meant for production carts, rather than development ones.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 2:32 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1559
Location: Boise, Idaho
tokumaru wrote:
I assumed that these MMC3 boards were meant for production carts, rather than development ones.


You're right they are meant for production carts mostly. Some of the previous discussion was edging on getting off topic, so we may be getting each other confused on what we're referring to. But for someone who likes EPROM style development, or doesn't have money for $100+ devboard/powerpak these would be a better option than hacking up a donor and dealing with mis-matched pinouts and such.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 11, 2012 3:18 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 6483
Location: Rio de Janeiro - Brazil
infiniteneslives wrote:
But for someone who likes EPROM style development, or doesn't have money for $100+ devboard/powerpak these would be a better option than hacking up a donor and dealing with mis-matched pinouts and such.

But then you'll have to use regular DIP ROMs, so that people can easily use their own sockets and chips, otherwise they'll have to spend a significant amount of money on hardware to reprogram the cart, completely invalidating the fact that it's cheaper than a PowerPak. That's if they already have an EPROM programmer though... The fact is that if you don't already own a cart programmer or EPROM programmer, the PowerPak will be cheaper than other solutions.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 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