Namco IPL Interface
The Namco IPL Interface is a proprietary Famicom expansion port device used for an Initial Program Loader (IPL.MAIN
) present in Famicom Disk System games developed by Namco. The IPL and its interface allowed developers to upload PRG-RAM and PPU nametable data to the system, with an option to save the data to disk.
As the interface hardware was never released commercially, the information on this page is based on ongoing analysis of disassembled code from the IPL.
Interface
Input ($4016 write)
7 bit 0 ---- ---- xxxx xxxS | +- IPL interface strobe
Output ($4017 read)
7 bit 0 ---- ---- xxxD SDDx | ||| | ||+-- Data bit | |+--- Data bit | +---- Status bit (set to 1 after strobe) +------ Data bit
The IPL checks for the interface's presence via the status bit. If this bit is clear, the IPL displays a fake license screen and boots the loaded game instead.
It is unknown if all data bits contain identical data. The IPL simply ANDs the $4017 read with %00010110
and checks if any bits were set in the result. The bit order is %76543210
.
Data format
To be written.
Hardware
The interface hardware was likely connected using an RS232-style serial port with a baud rate of 38400 (46.60 CPU cycles per bit, the IPL waits 47 cycles). The polling routine in the IPL checks for a start bit (1->0 transition), then waits 62 CPU cycles (~1.5 periods) before polling the data bits.
USB-to-TTL parts such as the PL2303 or FT232 may be able to recreate the interface on modern hardware.
References
- GitHub repository: IPL.MAIN documentation and disassembly
- Forum discussion