Closed inada-s closed 2 years ago
Do you think it is possible to create an IRX module that is able to use the broadband adapter instead of the modem? Another idea would be to reuse the modules from Monster Hunter or Gundam vs. Z-Gundam.
Do you think it is possible to create an IRX module that is able to use the broadband adapter instead of the modem?
It is not possible to just replace the irx module. We need to patch the r5900 to skip the ppp step.
Another idea would be to reuse the modules from Monster Hunter or Gundam vs. Z-Gundam.
Yes, I think this is another approach. Gundam DX already have AVE protocol stack and network adapter drivers, so we may just need to imitate how to use them.
The ps2 version of the game is easy to get, but unsatisfactory for fans. Perhaps it would be better to make the DC version playable on a emulator. So it's better to think about which version to use for playing before replacing the network module.
From my investigation, as long as we can emulate the correct server response, it is better to use https://github.com/flyinghead/flycast with the DC version.
Attached is the MODEM log (I've added the modem reg write
log myself)
D[MODEM]: ModemNormalWrite : TBUFFER = 1
I[MODEM]: MODEM Dialing
D[MODEM]: modem reg 010 write 1
D[MODEM]: ModemNormalWrite : TBUFFER = 8
D[MODEM]: modem reg 010 write 8
D[MODEM]: ModemNormalWrite : TBUFFER = 6
D[MODEM]: modem reg 010 write 6
D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 1 RDBF 0
D[MODEM]: Switching to RINGING state
D[MODEM]: *** RINGING STATE ***
D[MODEM]: modem reg 010 write 0
D[MODEM]: modem reg 010 write 0
D[MODEM]: modem reg 010 write 5
D[MODEM]: modem reg 010 write 3
D[MODEM]: modem reg 010 write 6
D[MODEM]: modem reg 010 write 3
D[MODEM]: modem reg 010 write 1
D[MODEM]: modem reg 010 write 3
D[MODEM]: modem reg 010 write 1
D[MODEM]: modem reg 010 write 2
D[MODEM]: modem reg 010 write 0
D[MODEM]: modem reg 010 write 3
D[MODEM]: modem reg 001 write 40
D[MODEM]: modem reg 01D write A
D[MODEM]: modem reg 01D write A
D[MODEM]: modem reg 01D write 2A
D[MODEM]: modem reg 01C write A1
D[MODEM]: modem reg 018 write C2
D[MODEM]: modem reg 019 write 8
D[MODEM]: DSP mem Write (w) address 00000aa1 = 8c2
When the modem is going into the ringing state, it reads + dial the number from the 010
register.
So the DC version is using the MODEM to dial to 186-0053-63-13-1203
, which matches the KDDI ISDN回線, also according to the KDDI call menu0053-63
is out of service.
From the PS2 MIPS code, I also found the game is dialing to a very similar number:
186-0053-63-13-1202
Finally the below is the full modem log, you can find that the game instructed the modem to dial a number, handshake correctly and the connection is established successfully. (all by modem emulation, no connection is made actually) Then the game is waiting for the initial data from the server, timed out, and close the connection (reset the modem)
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:144 D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 0 RDBF 0
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000006a9 = 7
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=76
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000009f == 0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000009f == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000010f = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021e = 1
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021f = d2
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:144 D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 0 RDBF 0
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000006a9 = 7
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=76
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000009f == 0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000009f == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000010f = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021e = 1
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021f = d2
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:144 D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 0 RDBF 0
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000006a9 = 7
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=76
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa1 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa2 = ee7c
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa3 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa4 = c774
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa5 = 74fe
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba1 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba2 = 1184
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba3 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba4 = cd4f
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba5 = 6495
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba0 = 7b30
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa0 = 4cf
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab8 = 500
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb8 = 500
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa7 = 205
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa8 = fbf9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa9 = 206
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aaa = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aab = d22d
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba7 = 205
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba8 = 380
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba9 = 206
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000baa = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bab = d1f8
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba6 = 7e67
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa6 = 2df
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab9 = 2a00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb9 = 1c00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab2 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab3 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab4 = 7fff
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab5 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab6 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb2 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb3 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb4 = 7fff
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb5 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb6 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aad = 244
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aae = fb7b
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aaf = 245
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab0 = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab1 = 35a7
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bad = 244
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bae = ca
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000baf = 245
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb0 = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb1 = 3574
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bac = 7e67
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aac = 2df
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aba = 2a00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bba = 1c00
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=76
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029b = 11b2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029c = 11
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029d = 1648
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029e = 16
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000218 = ed
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002db = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000219 = ed
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002dc = 0
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=81
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=81
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029b = 11b2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029c = 11
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029d = 1648
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 0000029e = 16
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000218 = ed
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002db = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000219 = ed
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002dc = 0
hw/modem/modem.cpp:504 D[MODEM]: ModemNormalWrite : TBUFFER = 1
hw/modem/modem.cpp:507 I[MODEM]: MODEM Dialing
hw/modem/modem.cpp:504 D[MODEM]: ModemNormalWrite : TBUFFER = 8
hw/modem/modem.cpp:504 D[MODEM]: ModemNormalWrite : TBUFFER = 6
hw/modem/modem.cpp:144 D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 1 RDBF 0
hw/modem/modem.cpp:172 D[MODEM]: Switching to RINGING state
hw/modem/modem.cpp:186 D[MODEM]: *** RINGING STATE ***
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa1 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa2 = ee7c
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa3 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa4 = c774
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa5 = 74fe
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba1 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba2 = 1184
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba3 = 8c2
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba4 = cd4f
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba5 = 6495
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba0 = 7b30
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa0 = 4cf
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab8 = 200
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb8 = 200
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa7 = 205
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa8 = fbf9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa9 = 206
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aaa = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aab = d22d
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba7 = 205
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba8 = 380
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba9 = 206
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000baa = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bab = d1f8
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ba6 = 7e67
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aa6 = 2df
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab9 = 2a00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb9 = 1c00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab2 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab3 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab4 = 7fff
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab5 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab6 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb2 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb3 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb4 = 7fff
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb5 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb6 = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aad = 244
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aae = fb7b
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aaf = 245
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab0 = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000ab1 = 35a7
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bad = 244
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bae = ca
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000baf = 245
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb0 = c147
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bb1 = 3574
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bac = 7e67
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aac = 2df
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000aba = 2a00
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 00000bba = 1c00
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000305 == 4028
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000304 == 28c0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000306 = 2840
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000307 = 2803
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000308 = 2884
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000304 = 28c0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000305 = 2828
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000013f == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000013f = 40
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000100 == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000100 = 0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000105 == 0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000101 == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000105 = f0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000101 = 38
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c4 = 99
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c5 = 9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c6 = 99
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c7 = 9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c0 = 99
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c1 = 9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c2 = 99
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000002c3 = 9
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000309 = ce
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000382 = e0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000383 = 3f
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 00000304 = c8
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000006a3 = 0
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=aa
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write (w) address 000003da = 4000
hw/modem/modem.cpp:624 D[MODEM]: NEWC CONF=aa
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000304 == 28c8
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 000003a5 == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 000003a5 = 10
hw/modem/modem.cpp:450 D[MODEM]: DTR asserted. starting handshaking
hw/modem/modem.cpp:490 D[MODEM]: TPDM = 0 ASYN = 0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000010d == 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000010d = 8
hw/modem/modem.cpp:144 D[MODEM]: Stats sent 0 (0.00 kB/s) received 0 (0.00 kB/s) TDBE 1 RDBF 0
hw/modem/modem.cpp:195 D[MODEM]: *** HANDSHAKING STATE ***
hw/modem/modem.cpp:211 I[MODEM]: MODEM Connected
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 00 == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 01 == 40
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 02 == 41
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 03 == 10
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 04 == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 05 == 08
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 06 == 00
2020-03-16 18:14:01.364453+0800 Flycast[6447:5796323] hw/modem/picoppp.cpp:716 I[MODEM]: pico_thread_func: fuck
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 07 == 82
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 08 == 01
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 09 == 35
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0a == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0b == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0c == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0d == 02
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0e == 02
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 0f == d0
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 10 == 03
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 11 == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 12 == a1
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 13 == 79
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 14 == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 15 == 31
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 16 == 74
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 17 == ff
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 18 == 08
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 19 == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1a == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1b == 00
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1c == 0d
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1d == 01
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1e == 08
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 1f == 08
hw/modem/modem.cpp:281 D[MODEM]: modem_regs 20 == 00
2020-03-16 18:14:01.441888+0800 Flycast[6447:5796323] hw/modem/picoppp.cpp:643 I[MODEM]: My IP is XXX.XX.XXX.XXX
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000026b = 20
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000026c = 64
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000026d = 60
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000302 == e0d8
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 00000303 == c8e0
hw/modem/modem.cpp:603 D[MODEM]: DSP mem Read address 0000009f == 0
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
hw/modem/modem.cpp:440 I[MODEM]: MODEM Reset
hw/modem/modem.cpp:374 D[MODEM]: DSPTestStart
hw/modem/modem.cpp:367 D[MODEM]: DSPTestEnd
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000010f = 0
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021e = 1
hw/modem/modem.cpp:583 D[MODEM]: DSP mem Write address 0000021f = d2
hw/modem/modem.cpp:431 D[MODEM]: Modem reset start ...
thanks for good investigation! In the ps2 version, there was a big problem with connection in the battle scene, so I was thinking about what to do. I will also investigate the dc version.
The ppp code seems to be disabled in the MSVC environment on Windows. In what environment did you debug?
I decided not to fix this issue.
The embedded protocol stack AVE_TCP is installed as irx modules in the PS2 game.
In the original implementation, the game communicate with game server through this module.
I think it is difficult to reuse this well, so it is better to develop the replacement module using ps2sdk's tcpip and use it instead of AVE_TCP.
I have no knowledge of the irx module, so I have to start with a survey. Fortunately, the irx module in the game still has debug symbols.
In the future, it may be better to provide patches for the original game iso image.