| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

FrontPage

This version was saved 14 years, 4 months ago View current version     Revert to this version     Page history
Saved by Noah Vawter
on November 3, 2009 at 2:01:00 pm
 

New Work:       CMUGRL Top10 Influential Educational Games      Keyboard Reverse-Engineering     SUBOR Pins       SUBOR Cartridges

 

Welcome to our Wiki! 

 

If you are interested in helping develop new games for the 8-bit "$10 computer" this is the place to start. 

 

Our current challenge is to discover how to read the keyboard of the SUBOR $10 home computer.  This is a reverse-engineering effort with contributors across the globe.  We're splitting it into several tasks, so sign up for one to help!

 

  1. Dump the Cartridge ROMs that are included with the SUBOR.  There is more information on them here and here.
    1. You will need either an EPROM burner/reader or the CopyNES from retrozone.
    2. This may be a lead to a simple AVR-based EPROM/Flash Dumper/Writer:  AVR EPROM Dumper
    3. You will need to reverse engineer the pinout.  This NES<->SUBOR adaptor will help.
    4. Then we may need to make our own adaptor to read the cartridges, save them to disk, and publish them.
  2. It will also be useful to understand the hardware interface of the VT02 chip to the keyboard.
    1. This page begins documenting some of the various hardware pins of the SUBOR chipset.
  3. Disassemble the Code on the ROMs and discover where the keyboard-reading code is. 
    1. We will be posting some tools to help with this soon on our Google Code Archive.
    2. The manual for the VT02, the NOAC on the SUBOR, will help.  Get it here:  VT02 Data Sheet RevisionA5_ENG__1.pdf
    3. The following page is where we're keeping notes on reverse-engineering the keyboard.
  4. Make a custom cartridge the proves the keyboard routines work.
    1. You can buy a SUBOR to work with from the Maker Shed here:  Maker Shed SUBOR.
    2. You can debug the code using the PlayPower JavaScript in-browser SUBOR emulator, which is based on the JSNES in-browser NES emulator.  For fastest running, use google Chrome browser.
  5. Hand off the code to developers to make a typing program to help impoverished people learn to type!

 

 

 

 

News

Are you a Playpower volunteer? We've started a new volunteer directory so you can share your background and skills with the rest of the Playpower artists and developers.  If you are working on a project, you can use the free blog space to share your progress and get comments. 

 

About the $10 Computer

Playpower is creating new software for a $10 computer that already exists and is being sold in street markets around the world. These computers are typically packaged with a full keyboard, mouse, game controllers, and a cartridge filled with software like typing games and BASIC programming. The computer is located inside the keyboard, which connects directly to a family's television as a screen.  The computer is based on the 8-bit 6502 chip, which was used in the famous Apple IIe computer and the Nintendo Entertainment System (NES).  In fact, the computers are technically a clone of the Nintendo Famicom, which is why they are referred to as "FamiClones". This computer hardware is now in the public domain, due to expired patents.  As a result, millions of these devices are being produced every year by dozens of manufacturers, under a variety of brand names.  You can even obtain them in the USA through Makershed.com.

 

Playpower's Goals

  • In countries like India and Ghana, skills as simple as learning to type can mean the difference between earning $1/day as a menial laborer and $1/hour in a back-office.  We want to faciliate these kinds of economic transformations through affordable, effective and fun learning games. 
  • By freely providing our source code directly to the FamiClone manufacturers, Playpower hopes to leverage their global distribution network to introduce quality educational software to millions of children around the world. 
  • We're trying to legally license the source code of 8-bit abandonware educational games (such as Number Munchers, Lemonade Stand, etc).  We're developing a porting process to enable these games to run on the existing FamiClones
  • By organizing and translating development materials, and through the creation of new development tools, we're trying to make it easier for diverse groups of people to create new games and educational software for "the world's most affordable home computer."
  • We believe that 8-bit computers, simple as they are, can be very effective at introducing computing cultures to children in emerging economies because of their low-cost and wide distribution.  After all, 8-bit computers were highly effective at introducing generations of Americans and Japanese to games and programming!  Because these devices enable their users to learn programming in BASIC, these computers could provide a powerful experience that could act as a stepping stone to far more advanced computer use. 
  • Playpower is all about content: open-source educational content for low-cost computer platforms.   In the future we may focus on multiple low-cost computers, but right now we are focused on creating content for the 8-bit famiclones. 
  • We are not trying to design a new computer.  We're trying to maximize the educational value of what's already available in the market.

 

Programming New Games for the $10 Computer

So you want to start programming on "the $10 computer?"  The NES hacking scene has produced a number of tools over the years to enable homebrew game making. To get started, here's the information you need to know:

  1. Join our technical mailing list, PlaypowerTech and add yourself to our volunteer directory.
  2. I strongly recommend using a Windows environment for development...  most of the development tools are not Mac friendly, sorry!  But many of us run Windows on our Mac or Linux machines, so that's an option.
  3. Download one of our recommended open-source emulators, nestopia or nintendulator
  4. Spend the time to go through this tutorial for programming on the NES, written by Brian Parker of Retrozone.  It really starts from the basics, so you can jump right in.  Don't worry about prior knowledge... just start reading!
  5. Bookmark this page, wiki.nesdev.com.  This website provides great documentation of the NES and provides advanced tutorials for NES programmers.
    1. For additional help programming, first check out the nesdev BBS forums
    2. Then, consider listening in to the conversations at the #NESDEV IRC channel
    3. The NES and the $10 computer are based on the 6502 chip architecture, which was also used by the Apple IIe, the Commodore 64, the Atari 2600, the BBC Micro, and the VIC -20.  Check out 6502.org for a forum about programming on the 6502
  6. You'll probably want to have some source code to play with.  Don Miller, AKA No-Carrier, has produced a series of Open-Source NES applications, which are available for download here.  Try the GalleryNES!  See if you can generate a new picture, following the instructions in the readme file.  Want other source code?  nesdev.parodius.com is a great place to look.
  7. Finally, Retrousb.com (aka Retrozone) contains a number of hardware tools if you are interested in creating your own cartridges or debugging on actual hardware.

 

Differences between the NES and the $10 Computer

There are some key differences between the NES and a "FamiClone."

  1. Currently, FamiClones are typically sold with 60 pin cartridges, not 72 pin cartridges, as on the NES.  However, Makershed.com sells a converter that lets NES games be played on the FamiClones
  2. FamiClones use a NOAC chips (NES-on-a-Chip-- epoxy affixed "GlopTop" integrated circuits).  This means that the actual chips are less accessible than on the NES.  For information on NOAC chips, Ben Heck's forums have lots of useful information
  3. There are a few (poorly documented) timing differences between the NES and the FamiClone.  Unfortunately, these prevent most of the Retrozone kits from working directly with the FamiClones.
  4. <please add more>

 

Alternative Programming Languages

Many people really enjoy programming in assembly code.  Really. 

However, some people would really prefer to use high-level languages. 

 

Side note: Ian Bogost taught an Atari course at George Tech in 2007 where students programmed both in assembly and something called "batari BASIC."  This was very successful, from what I've heard.

 

This is the music composition program that comes with many of the TV-Computers

 

 

How to Help: Technical and Non-Technical

  • Port a Game
  • Develop source code that accepts keyboard input
  • 1-click download of all relevant development tools
  • Create a Code-to-hardware testing pipeline, enabling us to test code directly on a Famiclone 

  

 

Current Projects:

Developing SDK for game development on the TV-Computer

  • DevLanguage: nBASIC
  • DevLanguage: cc65

Creating Game Templates

  • CYOA - cc65 project building branching stories
  • Quiz Game - nBASIC project
  • Typing of the Dead Game

MILLEE - J2ME development for Mobile Phones

 

Contents:

  1. News
  2. About the $10 Computer
  3. Playpower's Goals
  4. Programming New Games for the $10 Computer
  5. Differences between the $10 Computer and the NES
  6. Alternative Programming Languages
  7. How to Help: Technical and Non-Technical

 

Future Projects:

SD Card Integration

Open Source Learning Game Asset Repository

Comments (0)