Monday, August 2, 2010

PC->NES Transfer Tool Opcodes

I'm hoping that people will develop stuff for this. You really only need to be able to program something that can write to the serial port which can be done really easily with something like processing. Everything works on 2 byte messages formatted as ([command] [value])- I've put up a list of the ones I'm using so far.

PC->NES Transfer Tool Opcode List
For instance - some pseudo code for writing a message to the screen.

String message = "Hello world!"
// Set the VRAM address to the top left of the name table (0x2000)
Serialport.write(0x01, 0x20); // 0x01 -> Set PPU MSB
Serialport.write(0x02, 0x00); // 0x02 -> Set PPU LSB
for(int i=0; i < message.length; i++)
Serialport.write(0x04, message[i]); // 0x04 -> Write tile to screen with blip - increment to next position

That's it - the program gives you full access to the PPU/APU (sort of like an API) so you can pretty much do whatever you want with it. Should be handy for VJ applications - back to working on FaMI!


  1. So the code above makes an NES with an arduino connected to the controller port print that to the attached display?

  2. Great to see that someone still understand how to create an awesome blog. The blog is genuinely impressive in all aspects.
    raja poker