winteriscoming
Champion
Edit: Now there's one for F-ZERO AX!
Download and wiring info here: NAOMI 2/Chihiro/Triforce Card Reader Emulator (Initial D3/WMMT/Mario Kart/F-ZERO AX)
Edit: Now there's one for Mario Kart Arcade GP!
Download and wiring info here: NAOMI 2/Chihiro/Triforce Card Reader Emulator (Initial D3/WMMT/Mario Kart)
Edit: I have successfully put together a card emulator for ID3 and WMMT.
WMMT 1/2 card emulator/wiring info here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
ID3 card emulator info here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
Wiring for the ID3 emulator here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
Note: For NAOMI2 there are jumper settings that have to be done to ensure the serial port is enabled:
https://www.arcade-projects.com/thr...-d3-wmmt-mario-kart-f-zero-ax.814/post-326260
Original post:
----------------------------------------------
I had brought up this idea on KLOV and someone suggested I might get more interest/feedback/help here, so here goes!
Short project description:
Emulate the NAOMI 2 card reader and interface it with an actual NAOMI 2 for the purposes of saving progress in Initial D3.
Background:
I've got a Sega driving cab (OutRun2 SP) and I've got a NAOMI 2 hooked up and netbooting working. I've also got an ID3 card reader and cards, and have that wired up and working just fine. For this game, the cards work essentially to save your progress along with car upgrades. This is a great feature for home use. While I'm good to go with a currently working setup and a large quantity of compatible cards, I thought it would be a fun project to try to emulate the card reader, maybe using a Raspberry Pi, so that the NAOMI thinks a card reader is plugged up, and the data can be saved and loaded accordingly. If that works, then others can get a cheap alternative to the expensive and dying card readers. Apparently cards are getting hard to come by, too, and each has a limit of 50 uses as far as I know.
The data is transmitted between the NAOMI and Card Reader by serial communication.
In my brief review of serial communication standards, I believe that in spite of the CN8 port on NAOMI 2 saying RS-422, the labeling of the pins for the card reader make me think the standard is RS-232.
On the actual reader at CN2, we've got:
Pin 2: RXD (Serial Data Input)
Pin 3: TXD (Serial Data Output)
Pin 4: CTS (Clear to Send)
Pin 5: RTS (Request to Send)
Pin 6: SG (Signal Ground)
On the NAOMI 2 at CN8, we've got:
Pin 1: RXD
Pin 2: TXD
Pin 3: GND
Pin 4: RTS
Pin 5: CTS
Wiring from Card Reader to NAOMI 2:
RXD to TXD
TXD to RXD
CTS to RTS
RTS to CTS
SG to GND
My thinking is that while the 2 are wired up, I could tap into one side of this communication and sniff it with a serial input on the computer to read what's happening one way and then wire in to the other and see what's happening in that direction. After getting that information, I could try to unhook the reader and wire up just the computer to send the same signals back to the NAOMI2 that it expects from the reader.
The short term goal would be to trick the NAOMI into thinking the card reader has initialized. After that, it's a matter of figuring out what communication happens back and forth during the reading and writing of the card, then somehow figuring out how to store that data and give it back to the NAOMI when it expects it.
I've got almost no experience with serial communication standards. I would initially appreciate any help with regards to methods I could use for sniffing the signals and help addressing any concerns over signal voltage differences between computer and NAOMI 2. I've got a working serial port on an older laptop that I was hoping to use in the initial experiments before moving to an RPi.
I was thinking I could maybe take the RXD and RTS from either device and wire into the computer while the 2 devices are communicating to intercept the communication one way. Is there a good way to listen to the signal coming from both devices at once?
Once I'm able to analyze the signals to see what's sent from the NAOMI and what it expects to receive back, I think I could come up with some kind of program to manage the feedback.
Does this project seem realistic? Anyone have any advice to offer?
Thanks for any and all help!
Download and wiring info here: NAOMI 2/Chihiro/Triforce Card Reader Emulator (Initial D3/WMMT/Mario Kart/F-ZERO AX)
Edit: Now there's one for Mario Kart Arcade GP!
Download and wiring info here: NAOMI 2/Chihiro/Triforce Card Reader Emulator (Initial D3/WMMT/Mario Kart)
Edit: I have successfully put together a card emulator for ID3 and WMMT.
WMMT 1/2 card emulator/wiring info here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
ID3 card emulator info here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
Wiring for the ID3 emulator here: NAOMI 2/Chihiro Card Reader Emulator (Initial D3/WMMT)
Note: For NAOMI2 there are jumper settings that have to be done to ensure the serial port is enabled:
https://www.arcade-projects.com/thr...-d3-wmmt-mario-kart-f-zero-ax.814/post-326260
Original post:
----------------------------------------------
I had brought up this idea on KLOV and someone suggested I might get more interest/feedback/help here, so here goes!

Short project description:
Emulate the NAOMI 2 card reader and interface it with an actual NAOMI 2 for the purposes of saving progress in Initial D3.
Background:
I've got a Sega driving cab (OutRun2 SP) and I've got a NAOMI 2 hooked up and netbooting working. I've also got an ID3 card reader and cards, and have that wired up and working just fine. For this game, the cards work essentially to save your progress along with car upgrades. This is a great feature for home use. While I'm good to go with a currently working setup and a large quantity of compatible cards, I thought it would be a fun project to try to emulate the card reader, maybe using a Raspberry Pi, so that the NAOMI thinks a card reader is plugged up, and the data can be saved and loaded accordingly. If that works, then others can get a cheap alternative to the expensive and dying card readers. Apparently cards are getting hard to come by, too, and each has a limit of 50 uses as far as I know.
The data is transmitted between the NAOMI and Card Reader by serial communication.
In my brief review of serial communication standards, I believe that in spite of the CN8 port on NAOMI 2 saying RS-422, the labeling of the pins for the card reader make me think the standard is RS-232.
On the actual reader at CN2, we've got:
Pin 2: RXD (Serial Data Input)
Pin 3: TXD (Serial Data Output)
Pin 4: CTS (Clear to Send)
Pin 5: RTS (Request to Send)
Pin 6: SG (Signal Ground)
On the NAOMI 2 at CN8, we've got:
Pin 1: RXD
Pin 2: TXD
Pin 3: GND
Pin 4: RTS
Pin 5: CTS
Wiring from Card Reader to NAOMI 2:
RXD to TXD
TXD to RXD
CTS to RTS
RTS to CTS
SG to GND
My thinking is that while the 2 are wired up, I could tap into one side of this communication and sniff it with a serial input on the computer to read what's happening one way and then wire in to the other and see what's happening in that direction. After getting that information, I could try to unhook the reader and wire up just the computer to send the same signals back to the NAOMI2 that it expects from the reader.
The short term goal would be to trick the NAOMI into thinking the card reader has initialized. After that, it's a matter of figuring out what communication happens back and forth during the reading and writing of the card, then somehow figuring out how to store that data and give it back to the NAOMI when it expects it.
I've got almost no experience with serial communication standards. I would initially appreciate any help with regards to methods I could use for sniffing the signals and help addressing any concerns over signal voltage differences between computer and NAOMI 2. I've got a working serial port on an older laptop that I was hoping to use in the initial experiments before moving to an RPi.
I was thinking I could maybe take the RXD and RTS from either device and wire into the computer while the 2 devices are communicating to intercept the communication one way. Is there a good way to listen to the signal coming from both devices at once?
Once I'm able to analyze the signals to see what's sent from the NAOMI and what it expects to receive back, I think I could come up with some kind of program to manage the feedback.
Does this project seem realistic? Anyone have any advice to offer?
Thanks for any and all help!
Last edited: