What's new

MetalliC

Grand Master
Joined
Nov 19, 2015
Messages
1,156
Reaction score
1,029
@TechnicalMonkey VF4 is much more complicated.
VF4 games uses "MAPLE/232C CONVERTER BD" (838-14245-92) and then actual RFID card reader (838-14243 aka Picochet) connected to it.

so, if you want to not use any of mentioned boards but emulate them, you have to implement Maple (Dreamcast controller) bus interface, then simulate in software Maple/232C board protocol, and supply card data.
this is not easy at hardware part, because Maple is custom 2-wire bus, not rs232/rs485/etc.

there also IMO not much practical benefits - VF4 designed to use online servers (which is dead now), while cards is more like "player profile data backup for offline play".
if I'm not mistaken, player can't progress the game or unlock new items while playing offline with the card, but only use current progress written on card.
 

Fantazia2

Student
Joined
Sep 5, 2015
Messages
44
Reaction score
11
Location
North East UK
I think I'm finished with the ID4-5 card emulator script. I have not had any failures on ID4 and 5 with the testing I have done.

If anyone wants to test, let me know.

You would need a serial adapter to go from the port on the Lindbergh to the port on the PC running the script (i.e. I use a TU-S9 USB adapter on my laptop). I haven't tested to tell if RTS/CTS are needed, but the physical card reader has them and I incorporated them into my adapter.

Basically you need an adapter that does this:
PC to Lindbergh
GND (pin5) - GND (pin5)
RX (pin2) -TX (pin3)
TX (pin3) -RX (pin2)
RTS (pin7) -CTS
CTS (pin8) -RTS (pin7)

You can buy a ready-made cable to do this, but make sure it is NOT a straight-through cable. You need a female to female null modem cable that crosses the wires over from one to the other as needed.
Late late response but literally just got my Mutliboot courtesy of Darksoft, can we use the same cable used for the script for the Naomi? i'm not sure where this connects to the Lindbergh and what kind of cable you suggest if the old 1 can't be used, any information would be appreciated.
Doesnt the Lindbergh just have a pair of RS232 Serial ports on it for the connection (1 for Card Reader and 1 for FFB), so guessing you would just need a null modem cable or something to your device running the script.

LOL - Should have read the thing in full, yes you just need a 9pin either end Null Modem cable and then plug it into the correct port on the Lindbergh, dont know which a manual which one is which.
 

winteriscoming

Champion
Joined
Feb 16, 2016
Messages
1,399
Reaction score
1,094
Location
Indiana, US
Basically each motherboard requires its own wiring adapter. The two that would be the same are adapters made for WMMT on Chihiro would work for Mario Kart on Triforce as they use the same connector and pinout.

Regarding other card reader games: From my perspective, I have about zero interest in or time for working on figuring out other card reader scripts. I went into all of this knowing almost nothing, and got some great help (especially from @MetalliC). I invested money (3 different card readers and other hardware) and a lot of time into getting my contributions to where they are. I basically documented everything along the way, so anyone else could attempt to get something going for other games using similar methods. It would be great if more people who are interested could step up and help if they want something.
 

TechnicalMonkey

Student
Joined
Jul 28, 2015
Messages
130
Reaction score
31
@TechnicalMonkey VF4 is much more complicated.
VF4 games uses "MAPLE/232C CONVERTER BD" (838-14245-92) and then actual RFID card reader (838-14243 aka Picochet) connected to it.

so, if you want to not use any of mentioned boards but emulate them, you have to implement Maple (Dreamcast controller) bus interface, then simulate in software Maple/232C board protocol, and supply card data.
this is not easy at hardware part, because Maple is custom 2-wire bus, not rs232/rs485/etc.

there also IMO not much practical benefits - VF4 designed to use online servers (which is dead now), while cards is more like "player profile data backup for offline play".
if I'm not mistaken, player can't progress the game or unlock new items while playing offline with the card, but only use current progress written on card.
I knew of all this, but it doesn't make my statements any less true. I'm just saying it's a shame since aspects of the game of the game like different attacks are now lost since you cannot play with them unless you had a card with the different move selections like the Akira VF1 knee. As an example.

I don't expect anyone to care enough to take up this task, but at the very least just say that this project is for everything not VF.


That's all...
 

twistedsymphony

Enlightened
Staff member
Immortal
Joined
Jul 21, 2015
Messages
9,864
Reaction score
9,129
Location
NH, USA
I don't expect anyone to care enough to take up this task, but at the very least just say that this project is for everything not VF.
why don't you take up the task?

winteriscoming did this for himself and he was kind enough to post everything he did and everything he learned so that if someone like YOU wanted to use that knowledge as a stepping stone for other games you could.
 

skate323k137

Grand Master
Joined
Jul 23, 2015
Messages
1,315
Reaction score
879
Location
Michigan
@TechnicalMonkey I was hoping to find what other games people may want, regardless of feasibility, so I'm not sure why you feel unwelcomed. Feel free to ask or even try to hack a way to get yours working!
 

classic_cor

Beginner
Joined
Sep 26, 2016
Messages
10
Reaction score
1
Location
Birmingham, United Kingdom
Has anybody seen these on eBay? Wondered if they are worth a purchase...quite cheap from what I remember as being quite a high price on card readers when I looked this time last year.

Initial D card reader - eBay
 

SuperScore29

Student
Joined
Feb 20, 2018
Messages
45
Reaction score
29
Location
Down Under
Just thought I'd leave my contribution here.

On a boring Saturday, I popped out my Raspberry Pi and decided to give the WMMT/MKGP emulator a shot with WMMT3.
Used my Raspberry Pi 2 Ver.B using the UART pinouts and /dev/ttyAMA0 as the serial port.
Sadly, not good news so far, but it's good to see that the game is communicating.

Upon first start up, initializing the card reader will only send "00" or "00 00 00 00 00 00" to the emulator, therefore resulting in an error of an unkown command.
I decided to fiddle with the baud rates of the serial port in the scripts, and it started sending over values, but nothing of use to the emulator.
(Changing the baud rate to 19200 causes it to input "EF FF FD 01 00", increasing the rate causing the numbers to just multiply, such as "FD FF C7 00 FD FF C7 00 FD FF C7 00 FD FF C7 00 FD FF C7 00 FD FF C7").

Since I can't get past the card initialization stage, can't really get into the game without disabling card readers.
Decided to give this a go since my game has been erroring out upon trying to save data to the cards on my actual reader.
My speculation is that the PCI JVS card is the cause, but don't have any way to test anything at the moment.

I would be very happy to use my card reader for debugging/testing purposes and perhaps can look into making a dedicated card reader emulator for WMMT3?
 

Aganyte

Student
Joined
Nov 3, 2018
Messages
23
Reaction score
35
Location
France
So my understanding of the writing procedure is a little off.

I was assuming the 8D command set a specific position:
02 09 D1 00 00 00 8D 00 0C 03 5A

So I would set the current position to 0C (offset: 0x60). However, what actually seems to be happening is that the variable sent in this command is supposed to increment the current position by that amount. So if my current position is 5D, then the command is telling me to set the position to x5D + x0C = x69 - or offset: 0x348

So the reply would be dependent on current position (which I am tracking) plus the value from the command:
02 09 D1 63 30 30 8B 00 69 03 5A
Hello,

I'm working on an "all in one" memory card for Naomi, Triforce and Chihiro. Initial D 1/2/3, WMMT 1/2, MKGP1/2, and F-Zero work great.

Now, i'll try to add Lindbergh games support, so i am reading this thread again and again but ther is something i'm not understanding.

How do you decode 0x0C to 0x60 and 0x69 to 0x348 ?

I tried to decode "random" address as you can see below.

6D 00 C0 -> C0 00 -> 11000000 00000000 = counter # 0 (ie offset 30h)
6D 00 30 -> 30 00 -> 00110000 00000000 = counter # 1 (ie offset 32h)
6D 00 0C -> 0C 00 -> 00001100 00000000 = counter # 2 (ie offset 34h)
6D 00 03 -> 03 00 -> 00000011 00000000 = counter # 3 (ie offset 36h)
6D C0 00 -> 00 C0 -> 00000000 11000000 = counter # 4 (ie offset 38h)
6D 30 00 -> 00 30 -> 00000000 00110000 = counter # 5 (ie offset 3Ah)
6D 0C 00 -> 00 0C -> 00000000 00001100 = counter # 6 (ie offset 3Ch)
6D 03 00 -> 00 03 -> 00000000 00000011 = counter # 7 (ie offset 3Eh)

Is there any mistake ?

and if no, how do you get 0x40 address ?

Also, I can't understand from were do you get the 3 offset on the address of the example.

Can you help me please ?
 

winteriscoming

Champion
Joined
Feb 16, 2016
Messages
1,399
Reaction score
1,094
Location
Indiana, US
It has been a while since I worked on this, but if you look at posts on the page prior to that, I believe @MetalliC gave an explanation on figuring out the offsets.
 

Aganyte

Student
Joined
Nov 3, 2018
Messages
23
Reaction score
35
Location
France
in short, if you have command like 6D byte0 byte1 - write bytes in reversed order (byte1 byte0), then convert to binary form, position of pair of set bits will be "offset", ie6D 00 C0 -> C0 00 -> 11000000 00000000 = counter # 0 (ie offset 30h)
6D 00 03 -> 03 00 -> 00000011 00000000 = counter # 3 (ie offset 36h)
6D 03 00 -> 00 03 -> 00000000 00000011 = counter # 7 (ie offset 3Eh)
Code:
0 1 2 3  4 5 6 7
xxxxxxxx xxxxxxxx
Yes, I see the Metallic explanation.

But, i think it's incomplete.

If you have XYh offset.

I can found Y with this method, but no X.


Can you explain me again please ?
 

winteriscoming

Champion
Joined
Feb 16, 2016
Messages
1,399
Reaction score
1,094
Location
Indiana, US
Ok, i finally understand.

Thanks.
I wasn't trying to withhold information and hope I didn't come across that way. I genuinely don't recall many of the specifics here and usually have to look over a lot of posts to figure things out, so basically everything I know (or knew) is here in this thread.
 

Aganyte

Student
Joined
Nov 3, 2018
Messages
23
Reaction score
35
Location
France
Some progress today. I work on RingEdge and ID6. Now my system is recognized in the service menu



But, i found a new command 0xD2, never seen on Naomi, Triforce, Chihiro and also not on this thread.

I think i must build a sniffer to spy communication between original card reader and ringedge...

To be continued...
 

Aganyte

Student
Joined
Nov 3, 2018
Messages
23
Reaction score
35
Location
France
I finished read command successfully. I obtained "OFFLINE CARD" with dumped ID6 card founded on internet


Now, i attack Write Command.
 

Aganyte

Student
Joined
Nov 3, 2018
Messages
23
Reaction score
35
Location
France
OK, write command finished and tested.

I have :

First read => "NEW CARD"

and after write test => "OFFLINE CARD"
 
Top