Open Source Nintendo 64

All of the downloads here are covered by the GNU Public Licence. There are no copyright or commercial ROM images here.

A lot of the N64 stuff is derived from the work of Anarko, Tom Whittock, Lac, and Crazy Nation. The linux-mips bits are derived from the SGI groups stuff. Thanks guys!

N64dev-HOWTO

All of the development tools are packaged as RPM files. Install all of the RPM files here with rpm -i (the source RPMs are optional). Some of the packages rely on others being installed, so the recommended order is binutils,egcs,egcs c++, egcs c++ lib, newlib, libn64, libjpeg, n64tools, but you can tell rpm to ignore dependencies and install in any order. man rpm if you are unfamiliar with RPM packages.

The N64 sources are gzipped tarballs, so tar-zxvf them. The JPEG Viewer and n64lib will build straight away, just cd jpegview; make and likewise for libn64. make send to transfer the rom, make disassemble|less to have a look at it.

The sources are really simple and small, and have lots of comments to explain stuff. Check them out, they're only a couple of k or so.

N64 Sources

JPEG Viewer (Garth Elgar)
N64lib demo (Garth Elgar)
GNU Asm Intro (Crazy Nation/ GNU port by Tom Whittock)
Mikmod (Crazy Nation)

Development Utilities

GNU Binutils 2.9.1 - x86 Linux RPM , Source
A collection of utilities necessary for compiling programs. It includes the assembler and linker, and objdump which can be used to disassemble MIPS code.

EGCS 2.91.66 - x86 Linux RPM, Source
The egcs package contains the GNU Compiler Collection: cc, gcc and egcs. You'll need this package in order to compile C/C++ code.

EGCS C++ 2.91.66 - x86 Linux RPM, Source (same as egcs)
This package adds C++ support to the GNU C compiler.

EGCS C++ Library 2.8.0- RPM
This is the GNU implementation of the standard C++ libraries, nicked from www.linux.sgi.com.

Newlib 1.8.2 - RPM, Source
A simple C library and math library. Requires libn64 which defines N64 specific stuff.

Libjpeg 6b - RPM, Source
The libjpeg package contains a library of functions for manipulating JPEG images.

Libn64 0.1 - RPM, Source
A development library for the Nintendo 64. It provides low level functions for development and debugging, as well as high level stuff like drawing sprites and jpeg decoding between buffers. Try it out, hack it, code it, add opengl, mod/mp3 playing, hardware graphic acceleration and anything else you can think of!

N64 Tool Collection - x86 Linux RPM, Source
A collection of linux tools for the Nintendo 64.

cd64comm - Communication with CD64
drjr - Communcation with V64JR
insertfs - Insert a filing system into a Nintendo 64 ROM
n64term - Terminal to communiate with N64
nifty - Edit boot address, rom name and fix checksum for N64 ROMs
raw2s - Convert a binary file into a GCC .S asm
renamer - Rename and split ROMs across CDs. Makes HTML list of each CD
tiff2rgb - Convert a TIFF image into N64 format RGB

Hi there! I happen to be one of the staff managers of CabalArticles, a global article writing collective. We can create content in Spanish and English for world-wide world-wide-web readers, and are available for articles and other content development for your site. Listed below you can read my resume, and of course you'll be able to see other staff managers and writers' CV's on this internet site. At the end of my resume, you'll see some examples of our published posts. For work enquiries, you should contact us using the contactform on this webpage and we shall respond as soon as is possible.


Curriculum Vitae
NAME/ADDRESS BLOCK (associated by tags now)
Summary
Graduated With Honors from Rivier College
10 years of writing experience (especially for Online readers)
Superb competency in English
Professional, group-oriented individual with a talent for details


Business Experience
CabalArticles, New York City, NY
2001 - Present
Writing Team Organizer
Responsible for setting up a worldwide staff of freelance writers to suit a demanding set of production goals.
- Set unprecedented records for productivity, growing output by 20% around the world
- Accurately maintained absolutely consistent logs of job distribution
- Dealt with QA for global creation over a large staff of writers


Extra Skillsets


Proficient in English
State-of-the-art competence using a full selection of office software programs


Examples of Released Articles

Other Projects

GDB 4.18
This compiles for mips, but needs a GDB stub for the N64. I intend to hack up the one used in Pmon, the <1k one, Pmon itself is too big (>400k). This would also be incredibly useful for debugging commercial roms, you can trace, single step, set breakpoints and watchpoints, disassemble etc. Theres a 3D model extractor for linux around (its not open source, just a binary, ouch) that doesn't work too well because most ROMs are compressed. With a debugger you could dump all the 3D models from a running ROM...

Linux Kernel 2.3.99-pre3
With a bit of hacking it will compile.. but need to add some extra stuff to the kernel to handle the n64 hardware, set up a framebuffer, etc. examples in arch/mips/*. To try compiling, do:

make ARCH=mips CROSS_COMPILE=mips-linux- config
It will ask for the configuration, select CONFIG_EXPERIMENTAL=y, cpu=R4300, little endian=n,compress_rom_fs=y,everthing else set to no
Then: make ARCH=mips CROSS_COMPILE=mips-linux- clean dep zImage

GLibc 2.0 & 2.1
glibc 2.0 reports the linux headers are out of date (?). 2.1 dies building the MIPS sysdep.S file.

Documentation

LaC's N64 hardware dox
Anarko's n64ops
The important bits of the above in one file formatted for printing
N64 Trainers - HOWTO
GNUPro - Docs for all of the GNU development software
GNU embed - Smaller docs only covering software of interest to embedded programmers.

Other Sites

www.carmel.com/pmon - Pmon, the embedded MIPS debugger
www.linux.sgi.com - Porting linux to MIPS homepage
sourceware.cygnus.com - Original site for lots of this software
www.algor.co.uk - MIPS info, plus a free cross platform GUI based MIPS IDE
www.dextrose.com - The main N64 archive and coding site
www.objsw.com - Home of the GCC cross/embedded development FAQ
www.consoledev.com - Games console development site
www.emuhq.com/truereality - True Reality, a cross platform open source N64 emulator
www.pro.com.ru - Valery Pudovs updownloader, a homemade N64 cartridge emulator!

Questions?

Visit the N64 Coding Forum at dextrose.

You are visitor . Your webmaster is gelgar@nospam.hotmail.com.

Greetings! My name is Aaron and welcome to my website. I did this website as a project for CabalArticles, which is an English as a 2nd Language and Web Development program. If you want to contact me, simply use the contact form available on this page. Below is my CV, which includes examples of websites and web content I created for CabalArticles.

Accreditations
Graduated Magna Cum Laude from University of Toronto
9 years of article marketing experience (specifically intended for Web based viewers)
5 years of web development experience.
Competent, goal-oriented worker with a taste for particulars.

Work Experience.
CabalArticles,2002 - Present
General Manager
Responsible for arranging a international crew of writers to match a demanding set of advanced objectives and goals.
- Create new records for production, developing production by 20% worldwide
- Accurately managed continuous logs of project distribution
- Supervised QA for worldwide creation over a sizable group of internet writers

Self Employed Web Designer
2008-Present

Additional Abilities
Fluent in Spanish
Exceptional proficiency using a various choice of office software

Samples of Writing