| Console Development: Hardware | Software | Devtendo | NES Mappers
-
  | The Game Obscurities: Hardware | Games | The Game King
News




Sections


Main

The Devtendo!

Introduction | Quick System Overview | The History! | The Future! | Schematics | Additional Pictures

It's what's on the inside that counts! Honest! Heh, seriously, I'll put it in a nice stylish case some day, but it works, and being the developer that I am, I'd rather hack up an old Polystation III case than craft a nice fitted one, haha. That way, I can spend my time coding and working on more snazzy gizmos.

The Devtendo is my answer to game development for the Nintendo NES. It is an incredibly powerful device which gives the PC complete control over the NES. From the PC, cartridges can be written, dumped, and debugged. Saved games can be backed up and written back. The PC can fully communicate and control the NES remotely!

News

News

[2008-05-06 07:33] Devtendo Software/More Released
It's been almost four years, and I decided it was about time to dig this all up and release it. It's collected quite a bit of dust on my hard drive and will need a little tweaking to get it working again, but it's almost all there.

The Devtendo hardware requires both the communication software for the NES and PC. The package just released includes the full source code. It will need a few tweaks as some stuff is hard coded, but otherwise is good to go.

NES cartridges can be read/written with it, and the software supports many different mappers. In addition, I built a Game Boy adaptor, so the software even supports GB carts fed through the NES!

You should now have everything you need to make and use your own Devtendo (with a few tweaks)!  [View]

[2008-05-06 05:47] Devtendo Schematics Released
I'm finally getting around to sorting through my old unreleased dev stuff and putting it up here! A special thanks goes out to the people who emailed me about this stuff, without them I probably would've never gotten around to releasing it, and it would've all bit-rotted on my hard drive :)

On that note, let's start the releases with a bang! The Devtendo Schematics!

They should work just fine, but as it's been so long, I can't remember if I made any changes while building it. It's only a list of the chips/connectors and their connections, but the other small components should be quite straight forward. Good luck!  [View]

[2004-09-08 17:41] Additional Devtendo Pictures Posted
I just dug up an old scan of the original Devtendo board from several months ago when I had just built it. It shows how it has progressed and such. As well, I've added a close up of the current board for comparison.  [View]

[2004-08-29 17:41] The Devtendo NES Development System Revealed!
I recently purchased a digital camera, and as a result, I'm able to show the world the prototype of The Devtendo, my Nintendo NES Development System!  [View]

Quick System Overview

The Devtendo has a small 2K BIOS loaded into the $4800-4FFF memory space on the NES, memory which is normally unused. To communicate with the PC, there are four registers, two read and two write, mapped into the $4400-47FF memory space.

The two write only registers for the NES can be read by the PC, and the two write only registers for the PC can be read by the NES. Thus, each end has two read and two write registers. These registers could be used for anything, but the BIOS uses one of each for handshaking, and one for data.

If more than 2K of space is needed for communication code, plugins can be uploaded to the NES' WRAM. Although the NES only has 2K of WRAM onboard, the plugins can be unloaded and new ones loaded, thus allowing for as much code as needed. The plugins are handy as native code can be run to perform additional tasks. However, they rarely would need to be used, as the PC can read/write the NES' memory and registers as well, so nearly anything a plugin can do, the PC code can as well.

Since the PC can remotely read and write all of the NES' memory and registers. As a matter of fact, one could technically write a game almost entirely under Windows or any other PC environment, which simply communicates with the NES using the Devtendo, reading and writing the NES' registers, and using the PC for all of the game logic! Native code can also be uploaded to the NES' RAM (as well as special modified cartridges of course), so the game could have the speed critical code running on the console. Woah! I'm getting ahead of myself here. To sum it up, the Devtendo can do virtually anything with the NES!


The History

The first NES development device I built (other than EPROM devcarts), was a simple cable which connected the NES' second controller port to the PC, along with a special RAM cart to upload code to. It worked nicely, and required no modification to the NES itself. However, it was rather slow (about 1KByte per second -- note, I used to just say "1K", but too many people seem to be confused by this!). I made a second version with the use of a parallel to serial shift IC, and was able to get it up to 9KBytes (or 72Kbits in cheat-speak, heh) per second. With a buffer and some more circuitry, I could surely get 20KB/s at least, but that still wasn't fast enough for me. I wanted to replace the use of emulators with development on hardware.

It would be possible to make a special cartridge that connects to the PC which can be uploaded to with great speed while sitting in the NES. However, if I did that, the development would be limited to that cartridge, and if I wanted to develop for an alternate mapper chip, I'd need to build an entirely new device! Inspired by Kevin Horton's CopyNES, I decided that the only way to have an efficient, versatile development system for the NES, I needed to mod the console itself.

The result of modding the actual console to be a development system gives the ability to quickly and easily whip up RAM/Flash carts for any mapper without any major circuitry. Simple NROM RAM carts require no extra chips to build! All I need to do is remove the ROMs and wire in so SRAMs! More complex carts require and additional 1-2 small ICs, which cost only about $0.30 each!

As well, when developing new cartridge hardware (or even expansion port hardware!) for the NES, it can be fully verified and debugged very easily. For example, when building a devcart, it can be quickly checked with tests if the /CE, /WE, /OE are correct, the address lines correct, the data lines correct, as well as the mapper functioning correctly. It's also relatively easy to reverse engineer obscure mappers on strange carts!

Additional pictures of the hardware are available here.

The Future

The next version of the Devtendo will transfer data as much faster speeds. The current version working through the parallel port can transfer data at about 40KB/s (320Kbit/s). With a buffer added, it could get up to at least 80KB/s, likely much more. I suppose also though, I could start using USB or such, although the NES is what's really limiting the transfer rate, not the parallel port, so it would only really add a nice modern stylishness factor.

Links

 

Document and Information By Brian Provinciano
August 28th, 2004
Updated May 6th, 2008

BriPro.com ©1999-2008 Brian Provinciano. All rights reserved.

No text, images, or any other content from this site may be copied or reproduced elsewhere without permission.