Developer Cartridge

4 views
Skip to first unread message

Derek Lomas

unread,
Apr 4, 2010, 5:58:11 PM4/4/10
to playpo...@googlegroups.com
Some ideas from the blog... 

comments?

---------- Forwarded message ----------
From: Disqus <notification...@disqus.net>
Date: Sun, Apr 4, 2010 at 4:16 PM
Subject: [playpower] Re: Learning Game Lists
To: cont...@playpower.org


======

Bruce McFarling wrote:

I think there is a framing problem in the design of the developer cartridge ... NES emulators are designed to help people play image files ripped off of NES game cartridges. But the target here is open development. So a cartridge might be designed that is easier to port programs into from other 6502 systems, and *easier to program ON the $10 computer itself*.

That last point goes to the point that Dr. Mike Reddy makes ... the current design of the "developer cart" is focused on the game-production model, where the focus is on commercializing the software, and game programmers were very willing to invest a lot of effort working within the limitations of the NES because in the mid-1980's it was so hard to reproduce cartridges. But we *want* it to be possible to "grow in place" ... otherwise we are broadcasting, rather than planting seeds of development.

Further, with no experience programming the NES but some programming the C64 ... if you want to port C64 and Apple II programs ... *you need more RAM*. Given lots and lots of banked ROM, 32K RAM might be workable - 2K RAM just is nowhere near enough.

And the target ought to be to have the cartridge be field programmable *using the $10 computer itself*. Then, given the simplicity of the cartridge interface, anything that the $10 computer can do, a micro-controller chip being controlled from a PC can do.

So, start from the $10 system perspective. There is an 8K saved-ram memory map that comes out to the cartridge. The 6502 is happiest with memory mapped IO. So taking the top little bit of that address space for memory mapped I/O leaves a 4K "clean" address space at the bottom ... that is 12 bits of the 19 bits of the 512K flash ROM, by writing into addresses from $6000~$6FFF.

7bits of an 8-bit latch can hold the data for address lines A12-A18, with the top bit low as write enable (this can be wired-or'ed with the R/W line with a diode for the /WE line of the chip). The top 5 bits of those 7 bits can be the address lines provided when ROM bank0 is accessed.

With a 32Kx8it Static RAM, a 4K (minus a few bytes at the very top for the I/O) can be provided with three bits of a second latch. That leaves five free bits, with is the ROM1 bank register.

There is a single 6502 bus chip with two 8-bit registers and enough additional serial processing power to drive an SPI bus fast enough for SD access, so basically this is a three-chip cart ... the ROM, the RAM, the InterfaceAdapter chip ... plus an SD socket.

Now, how to program the cart with a development system? You just need an interface to connect to the 8K RAM address space, so the cartridge programmer is a Famicom cartridge port with a microcontroller that does the programming ... that of course does not have to be designed with an eye to being as frugal as possible, since the cartridge itself can be programmed in the field using a correctly set up SD card and the $10 computer itself.


Site URL: http://twitter.com/BruceMcF
IP address: 71.66.98.245
Link to comment: http://playpower.org/blog/2009/11/learning-game-lists/#comment-43195415

-----
Options: You can moderate through email. Respond in the body with "Delete". Respond in the body to post a reply comment.

Or use the moderate panel: http://disqus.com/comments/moderate/
To turn off notifications, go to: http://disqus.com/account/notifications/

Reply all
Reply to author
Forward
0 new messages