Felipe Sanches

I own a Minipro TL866CS Universal Programmer and a PLCC44→DIP40 adapter with which I am capable of dumping a wide range of ROM chips (in PLCC44 packaging or up to 40 pin DIP packaging).

I live in São Paulo, Brazil. If you need help dumping ROMs or shipping a specific Brazilian device, you can contact me at juca@members.fsf.org.

Even though the MAME/MESS project has been adopting a non-commercial additional licensing clause, I do allow commercial usage of my portion of all the code I ever contribute to the project according to the plain terms of the GPL license (version 2 or later). This is useful if you happen to use my code in another project or in case the other MAME/MESS developers happen to drop the non-commercial clause completely. I suggest that other developers consider doing the same.

Below are the devices I have been studying in order to create drivers in MESS:

3D Printers

  • Replicator 1 - I have access to the full machine. The MESS driver displays the boot messages in the LCD, but the keypad still does not work. We also need to implement the AVR8 CPU core emulation by adding support to timers because the 3d printer firmware relies on that hardware feature for lots of things such as controlling the stepper motors. TO-DO: implement the SD card protocol on top of a bare file representing a memory block device and let the emulated device deal with file systems on top of it. New improvements usually are first developed at: https://github.com/felipesanches/mame/commits/makerbot_replicator1


  • FX-2180 - only PCB. TO-DO: implement an initial MESS driver.
  • LX-810L - I own the full machine.
  • Action Printer 2000 - I know the owner of one of these.
  • C82312 LocalTalk interface (AppleTalk) - I own one of these adapter boards. TO-DO: implement an initial MESS driver.
Hewlett Packard
  • C2642 VER. 5.121 REV.B - only PCB (seems to be the main PCB for an HP Deskjet 400). TO-DO: implement an initial MESS driver.
HENRY (Pinhais-PR Brazil)
  • hprot REV.1 (firmware V.19) - I own the complete machine.
  • HENRY CARD I REV. 08A - only PCB.
  • HENRY CARD II Rev.6 - only PCB.
DARUMA (São Paulo - Brazil)
  • DS348 Print Plus - only PCB (patch pending).
CHRONOS (Porto Alegre - Brazil)
  • ACC 300 - only PCB. TO-DO: implement an initial MESS driver.

Phone Sets

Intelbras (Brazil)
  • TI630 - I had it in my hands once which was enough to dump the ROM and to write an initial simple driver with LCD support. TO-DO: detect PABX dialing tone during boot.
  • OP4114 - I had it in my hands once which was enough to dump the ROM. TO-DO: cleanup and submit the initial MESS driver written 2 years ago while still beginning to learn the MAME/MESS codebase.


  • PVE500 (Video Editing Control Unit) - I own the complete device and service manual.
TECNBRAS (São Paulo - Brazil)
  • Tecnbras (70×7 dot-matrix display) - TO-DO: emulate the i2c RTC chip (Phillips PCF8583P).
  • Uzebox (DIY 8bit AVR-based videogame) - TO-DO: implement audio / implement the SD card protocol on top of a bare file representing a memory block device and let the emulated device deal with file systems on top of it.
  • Casiowriter CW16 (electronic typewriter) - TO-DO: implement a driver sketch for MESS. I did dump the ROM. It was not supported by my EPROM reader, but I hacked it and tried dumping each half of the memory by manually setting the state of the highest address pin and then dumping it using the dumping algorithm of another supported memory device. The lower half of the memory seems OK. I can see text strings in it. I am unsure about the other half. It may be a bad dump. We gotta figure it out and maybe re-dump it. (It uses the same CPU chip as SONY PVE500: the TLCS-Z80! :-D)
  • GC150ATA (LCD panel) - It contains an 8051 microcontroller and an interesting video chip. I've been trying to understand the firmware update mechanism that is supposedly available at an internal I²C port accessible via a connector in the motherboard. More info here (in Brazilian Portuguese)
DALE Electronics

CPU Cores

  • WIP: improving the AVR8 timers (ATMEGA1280) needed for the Replicator 1 driver.

General New Feature Ideas

I have been wondering about a few things that could benefit the whole codebase in general, and not only specific drivers. Here I describe the ideas that I may implement someday, or maybe this can inspire some other developer to do so before I do it myself…