What's new
Sure enough it was the jumpers. My adapter and the script etc were all fine. Script works 100% in linux too (bonus!).

My motherboard came from a VF4 (as far as I know). The jumpers as compared with Andy's post on AO were quite different. The bottom two (closest to BIOS) were the same. The remaining 5 were all set toward the filter board not the fan as shown in AG's pic. I moved those 5 jumpers over, booted back up, and everything works!

I do have to wonder if I really needed to move all of those, or just one or two. On a quick google I couldn't find info on all those jumper settings. It would be nice if that's documented somewhere, since I have no clue what else I just changed on my motherboard lol.

Thanks again both of you for all your help.
 
Sure enough it was the jumpers. My adapter and the script etc were all fine. Script works 100% in linux too (bonus!).

My motherboard came from a VF4 (as far as I know). The jumpers as compared with Andy's post on AO were quite different. The bottom two (closest to BIOS) were the same. The remaining 5 were all set toward the filter board not the fan as shown in AG's pic. I moved those 5 jumpers over, booted back up, and everything works!

I do have to wonder if I really needed to move all of those, or just one or two. On a quick google I couldn't find info on all those jumper settings. It would be nice if that's documented somewhere, since I have no clue what else I just changed on my motherboard lol.

Thanks again both of you for all your help.
Awesome! Thanks for confirming Linux compatability.

One of these days I'll compile all of this info into a single post in the project announcements section.

I want to retool the script for ID3 and make it work more efficiently and be able to handle expired cards like my as of yet unreleased WMMT script is doing.
 
I do have to wonder if I really needed to move all of those, or just one or two. On a quick google I couldn't find info on all those jumper settings. It would be nice if that's documented somewhere, since I have no clue what else I just changed on my motherboard lol.
I'd bet 4 of them select CN8 signal pins (1,2,4,5) source RS422 or RS232
sadly there was no curious enough person who check and document them.
btw it is not hard, there needed just remove that 5 jumpers and test using multimeter connection between each center jumper pin and CN8 signal pins.


Again I want to sincerely thank MetalliC for his invaluable contributions to this project. I would have hit a lot of brick walls early on and not progressed this quickly without him.
big thanks to you as well. your's logs give me last missing pieces of puzzle, which was quite hard (and boring) to solve using software analysis.
 
I'd bet 4 of them select CN8 signal pins (1,2,4,5) source RS422 or RS232
sadly there was no curious enough person who check and document them.
btw it is not hard, there needed just remove that 5 jumpers and test using multimeter connection between each center jumper pin and CN8 signal pins.
You are right. I just tracked them out. Here is a chart from the center pin of those jumpers to CN8:

JP# - CN8 pin no
---------------------
JP9 - Pin 1 RXD
JP10- Pin 4 RTS
JP11- Pin 2 TXD
JP12- Pin 5 CTS
JP13- Pin 3 (6) GND
 
I'd think since RS-422 has a different pinout, the pins would become RX+/- and TX+/-. Maybe there's a wiring diagram for a NAOMI 1 game to reference for the pinout.
 
You are right. I just tracked them out.
Here is a chart from the center pin of those jumpers to CN8:
JP# - CN8 pin no
---------------------
JP9 - Pin 1 RXD
JP10- Pin 4 RTS
JP11- Pin 2 TXD
JP12- Pin 5 CTS
JP13- Pin 3 (6) GND
thanks for clarifying this ! so these jumpers change CN8 function as was supposed, here is pinout of NAOMI 1 CN8:
Pin 1 RXD+
Pin 2 RXD-
Pin 4 TXD+
Pin 5 TXD-
Pin 3 and 6 GND
it is two RX/TX pairs. one used for flow control, other for actual data transfer. however, it wasn't really used in games, the only known for me game(s) which uses this RS422 port is Derby Owners Club series - there connected special RS422/RS232C adapter board (lol) and then card reader to it.
 
I'm about ready to release the WMMT card emulator. I got through all the main races initially available in story mode, saw credits, and unlocked the next tier of races. Everything seems to be working fine for storing/sending card data from the first track.

I briefly tested it with WMMT2 (very annoying to boot this one since it sits forever waiting for linked games before giving up and booting even when multiplayer is turned off) and it seems to work fine there, too, with all data being stored on the first data track. It keeps track of progress in an additional game mode, but still appears to keep everything in the first data track. An interesting thing I noticed is that WMMT2 gives cards 60 plays until servicing.

Since the process works for transferring data to a new card at the end of the service period I'm probably not going to spend much more time trying to decipher/edit all the data on the card. It's easy enough to start up a new game with a different name/car, so the only benefit to editing the data would be for cheating and I guess that's not a good enough incentive for me to spend more time on it. I shared my discoveries, so anyone else is free to pick up from there and try to figure stuff out.

I'll be curious to know if anyone even ends up playing WMMT with this card emulator. Comparing it to ID3, the only similar type of racing game I have where you progressively upgrade, I think it's a much more interesting game. The racing takes place on city highways with traffic to avoid and I think the city scenery is more interesting than the nature setting in ID3. Being that it's on newer hardware (Chihiro vs NAOMI 2), the graphics are a bit better on WMMT. I also bought a pair of 6-position shifters for WMMT (no idea how/where I'll mount them), and think that is more fun than the ID3 shifter.
 
Oops, almost forgot about WMMT cleaning. It accepted a regular card for the cleaning process. Here's the log for that.

2016-05-02 11:05:24.630598: Chihiro
02 06 A0 00 00 00 03 A5 05 05
2016-05-02 11:05:24.646242: READER
06 02 06 A0 30 30 33 03 96 02 06 A0 30 30 34 03 91
2016-05-02 11:05:25.583744: Chihiro
05
2016-05-02 11:05:25.583744: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:25.818118: Chihiro
05
2016-05-02 11:05:25.833744: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:26.083726: Chihiro
05
2016-05-02 11:05:26.099350: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:26.614996: Chihiro
05
2016-05-02 11:05:26.630620: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:27.646247: Chihiro
05
2016-05-02 11:05:27.661873: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:28.677481: Chihiro
05
2016-05-02 11:05:28.693106: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:29.724376: Chihiro
05
2016-05-02 11:05:29.724376: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:30.708753: Chihiro
05
2016-05-02 11:05:30.724360: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:31.755612: Chihiro
05
2016-05-02 11:05:31.771238: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:32.771257: Chihiro
05
2016-05-02 11:05:32.786883: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:33.036883: Chihiro
05
2016-05-02 11:05:33.052489: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:33.786865: Chihiro
05
2016-05-02 11:05:33.786865: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:34.818137: Chihiro
05
2016-05-02 11:05:34.833743: READER
02 06 A0 30 30 34 03 91
2016-05-02 11:05:35.833745: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:35.896245: Chihiro
05 05
2016-05-02 11:05:36.849372: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:36.865016: Chihiro
05 05
2016-05-02 11:05:37.864998: Chihiro
05 05
2016-05-02 11:05:38.896269: Chihiro
05 05
2016-05-02 11:05:38.911890: READER
02 06 A0 31 30 33 03 97 02 06 A0 31 30 33 03 97
2016-05-02 11:05:39.943146: Chihiro
05 05
2016-05-02 11:05:39.958753: READER
02 06 A0 31 30 33 03 97 02 06 A0 31 30 33 03 97
2016-05-02 11:05:40.990005: Chihiro
05 05
2016-05-02 11:05:41.005630: READER
02 06 A0 31 30 33 03 97 02 06 A0 31 30 33 03 97
2016-05-02 11:05:41.974382: Chihiro
05 05
2016-05-02 11:05:41.974382: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:42.990028: Chihiro
05 05
2016-05-02 11:05:43.005634: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:44.005636: Chihiro
05 05
2016-05-02 11:05:44.005636: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:45.036906: Chihiro
05 05
2016-05-02 11:05:45.036906: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:46.068159: Chihiro
05 05
2016-05-02 11:05:46.083784: READER
02 06 A0 31 30 33 03 97
2016-05-02 11:05:47.099394: Chihiro
05 05
2016-05-02 11:05:47.099394: READER
02 06 A0 34 30 30 03 91 02 06 A0 34 30 30 03 91
2016-05-02 11:05:48.130662: Chihiro
05 05
2016-05-02 11:05:48.130662: READER
02 06 A0 34 30 30 03 91 02 06 A0 30 30 30 03 95
2016-05-02 11:05:49.161914: Chihiro
05 05
2016-05-02 11:05:49.177521: READER
02 06 A0 30 30 30 03 95 02 06 A0 30 30 30 03 95
2016-05-02 11:05:50.161898: Chihiro
05
2016-05-02 11:05:50.177523: READER
02 06 A0 30 30 30 03 95
 
At that point edit the #! in ID3CARDEMU.py from #!/usr/bin/env python to #!/usr/bin/env python3 and you should be good to go
I changed this line in the WMMT card emulator to say python3 and it still works in Windows 10, so hopefully no edits needed for this one when booted in Linux. I'll try to remember to incorporate that into the next ID3 card emulator release.
 
I didn't do too much experimentation with how efficiently the WMMT emulator handles cleaning because if I give the wrong response, the game will often freeze and make me do a hard reboot. I don't have battery backup, so that requires me to netboot the game again and takes a ton of time between tests. So I've got the emulator stepping through 4 steps in the cleaning process. Anyway, it works!
 
Here's the release of WMMTCARDEMU. Use at your own risk. Feel free to modify and redistribute without my permission, but please share any changes.

The script was programmed in Python3 and requires Pyserial.

An example of the command to run it:
WMMTCARDEMU.py -cp COM3 -f WMMT1FILE1.hex

Specify a filename for your card file. If the file doesn't exist or is blank, a new card must be purchased when starting the game. If the file has data it will be automatically loaded at the point the game asks if you have a card.

You can restart the script and load different card data in game over mode.

It should work with WMMT 1 and 2. I didn't try card data from 1 loaded into 2, but the opposite surely wouldn't work. I doubt the emulator will handle improper data loading correctly, so be sure to load up card data for the correct game. At worst I think you'll get an error message in the game where you'll have to go to the test menu to reboot the game, at which point you can stop and reload the script with proper data.

WMMT seems to keep track of cleaning the card reader unit, so if you keep this game loaded up in the Chihiro and ever boot the game and it gives an error message indicating that you need to clean the unit, go into the game test menu and run the cleaning step under the card reader section.

In the Card Reader test menu I didn't test any of the steps other than Cleaning and Initialization, so I can't say whether or not it would succeed through the other tests, so it's probably best not to mess with them.

Wiring:
CN5 is an 8-pin header on the Chihiro and drives both the NAMCO FFB unit and the card reader/writer unit, so keep that in mind if you ever try to wire up one of the FFB units as well. Normally the FFB would use the ground at Pin 3 while card r/w uses ground a Pin 8. However if you're just wiring in for the card emulator, you can use a 3 position housing and connect sequential pins 3-5.
CN5 on Chihiro to Female 9-pin D-sub that connects to USB Serial Adapter (TU-S9):
Pin 3 [or 8] (GND) - Pin 5 (GND)
Pin 4 (TXD) - Pin 2 (RXD)
Pin 5 (RXD) - Pin 3 (TXD)

Note that this emulator and wiring may also work for Mario Kart Arcade GP 1/2. If anyone wants to try, I'll be curious to know if it works. At worst it may be necessary to retool how the emulator stores and gives back card data. I'm not sure what the name of the header on the Triforce is, but it looks like the pinout would be the same.
 

Attachments

  • WMMTCARDEMU.zip
    3.3 KB · Views: 348
Last edited:
I've been using the ID3 emu for a while, works great. It also worked for ID2 though it got stuck for a bit not knowing how to reply to the 'cleaning' process. When I was about to give up I restarted the emulator, the game booted, and functioned normally from there out.

If anyone needs a naomi 2 > DB9 connector I have the parts to make a couple more. It would be cheap (cost of parts / shipping), so probably about $10 US after postage in the USA.
 
I've been using the ID3 emu for a while, works great. It also worked for ID2 though it got stuck for a bit not knowing how to reply to the 'cleaning' process. When I was about to give up I restarted the emulator, the game booted, and functioned normally from there out.

If anyone needs a naomi 2 > DB9 connector I have the parts to make a couple more. It would be cheap (cost of parts / shipping), so probably about $10 US after postage in the USA.
Did ID2 require you to clean at some point when booting? I wonder if it tracks cleaning intervals similar to how WMMT does I never saw a prompt to clean when I was playing around with ID3, but I never had it booted for an extended period of time and have no battery backup so not sure if it lost count each time I booted.
 
I've been using the ID3 emu for a while, works great. It also worked for ID2 though it got stuck for a bit not knowing how to reply to the 'cleaning' process. When I was about to give up I restarted the emulator, the game booted, and functioned normally from there out.

If anyone needs a naomi 2 > DB9 connector I have the parts to make a couple more. It would be cheap (cost of parts / shipping), so probably about $10 US after postage in the USA.
Did ID2 require you to clean at some point when booting? I wonder if it tracks cleaning intervals similar to how WMMT does I never saw a prompt to clean when I was playing around with ID3, but I never had it booted for an extended period of time and have no battery backup so not sure if it lost count each time I booted.
I'm in the same boat ID3 wise, it's never asked to clean at least yet. ID2 seemed to go through the cleaning process on boot. If you want at some point I could send you a log of the output if you're curious. certainly not a major priority by any means.
 
I'm in the same boat ID3 wise, it's never asked to clean at least yet. ID2 seemed to go through the cleaning process on boot. If you want at some point I could send you a log of the output if you're curious. certainly not a major priority by any means.
When I eventually get around to retooling the ID3 script, I'll make sure it can handle cleaning and I can test in ID2. I'm not sure when that will happen, though.
 
I have received my cables to get this working but can honestly say I am completely lost as to how to get the script up and working. I installed Python 3.5.1 on Windows 7 and I just keep getting errors when trying to run the script in python.exe.

My only experience in running python scripts was running netboot for Naomi using a bat file with text like this:

C:/python27/python.exe Naomi_boot.py ggisuka.bin

I tried to do something similar with this and am only greeted with what you see in the attached picture. Any help is appreciated.
 

Attachments

  • Initial D.jpg
    Initial D.jpg
    54.9 KB · Views: 182
I have received my cables to get this working but can honestly say I am completely lost as to how to get the script up and working. I installed Python 3.5.1 on Windows 7 and I just keep getting errors when trying to run the script in python.exe.

My only experience in running python scripts was running netboot for Naomi using a bat file with text like this:

C:/python27/python.exe Naomi_boot.py ggisuka.bin

I tried to do something similar with this and am only greeted with what you see in the attached picture. Any help is appreciated.
You need the pyserial module. Sorry, I don't have specific directions on hand for that, but you should be able to find it on google.
 
Thank you very much sir.


After bumbling a bit to get pyserial installed, I successfully got CARD R/W to initialize without an Error. Going to test some gameplay tomorrow as I am a bit too tired right now to get the old control panel and pedals out and on my desk.

Its cool to see the guys in the menu now talking about customizing your car with an Initial D card (as opposed to just the high score website thing that no longer exists), never saw that before as I always had to disable Card R/W, Can't believe how much the emulator talks to the system just for startup, that's quite a lot.
 
Back
Top