JonSharp.net:70:projects:gameboy_ethernet
       ========================================
       
       # Gameboy Ethernet Project
       
       ## Overview
       
       
       The goal of this project was to allow a Nintendo Gameboy Color to
       function as a remote reporting tool via a standard Ethernet
       connection. This was accomplished using various hardware. Using a
       custom built RS232 convertor circuit, the Gameboy connects to the
       serial port of a special Java embedded device named TINI. The TINI
       hardware also includes an Ethernet interface, making the TINI
       essentially an Ethernet-to-Serial adapter. The TINI establishes a
       socket connection with our Java server which sends useful information
       back to the TINI which sends the output directly to the Gameboy’s LCD
       screen. Read the following sections for the details of each
       component.
       
       ## Hardware
       
        - Nintendo Gameboy Color
        - Dallas Semiconductor's TINI
        - RS232 signal convertor circuit
       
       ## GB Software
       
       The Gameboy software was written in assembly language (The Gameboy
       has a Z80 workalike CPU.) and assembled using Rednex Gameboy
       Development System. RGBDS The assembled ROM image was then flashed to
       a 4Mb Bung flash cartridge via Bung’s GB Xchanger. The original
       design and code are Ken Kaarvik’s. Many thanks go to Ken for the
       inspiration for this project, his code and permission to expand on
       his very excellent idea. The original code was once available on
       Ken’s page -- not sure if it still is.
       
 (TXT) Source - commboy.asm
 (BIN) Full project zip
       
       ## Java Client
       
       The Java client code runs on the TINI, providing the Gameboy with the
       connection to the Java server running on our Linux workstation. The
       client code begins by creating a serial port object and opening it.
       Then it opens a socket connection to the Java server. When the server
       sends the information to client, the client then outputs directly to
       Gameboy over the serial port. This is a simple application providing
       the Gameboy an Ethernet interface.
       
 (TXT) Source - GBClient.java
       
       ## Java Server
       
       The Java server is on a Linux system and remains open to connections
       while running. The server waits until a client connects and then
       sends out system information such as uptime and cpu temperature.
       
 (TXT) Source - GBServer.java
       
       ## Project Notes
       
       Many things were required to pull this project off. First, we had to
       learn assembly for which McKee Library proved helpful. Then we had to
       learn about the Gameboy’s hardware. The Internet is full of great
       resources for that. The MAX232CPE circuit was constructed in under 3
       hours. The TINI we used is running TINI Firmware 1.01. In order to
       allow our Java client software to execute without invoking it
       manually, (telnet over the Ethernet device) we had to add a line to
       Slush’s (TINI’s shell) /etc/.startup file. All coding was done using
       Vim.
       
       Special thanks to Dr. Halterman for his help in this project! Here
       are some of the project costs:
       
        - TINI w/ board - $75
        - Gameboy Color - $70
        - Bung Flash cart and Xchanger - $90
        - Parts for RS232 circuit - ~$15
        - Hours of mad coding - priceless
       
       ## Pictures
       
 (IMG) Start with the Gameboy Color
 (IMG) Build a circuit around MAX232CPE
 (IMG) Put it in an attractive project box
 (IMG) Get your TINI...
 (IMG) And put it all together