> What address are these outputs at for VR? Model1 lamp data gets written to 0xC0000F
> I'll be following this with keen interest. It seems something cool is around the corner. Don't get to excited though. Most of this is to be considered a "dirty hack" at best.
I've managed to get the Model2/2A (non B, C) comm board basically working in MAME. Daytona and Sega Rally link up to itself and show a stable (haha) one player link system. I have yet to find out what "clocks" the comm board though. The other Model2A Games (ManxTT and MotoRaid don't like a 1 player linkup, and crash if the seconds unit doesn't communicate)
Currently I use writes to 0x01c00040 on Model2 to "tick" the network board. Most writes are 0x01 and I guess these to be ticks. Sometimes there is a 0x00 and a 0x03 writen here, but that only happends after changing comm settings in daytonas service menu.
On Model2A I use writes to 0x01c00010 to "tick" the network board, but that most likely is totaly wrong. (call it a dirty hack)
Each tick move the blocks in NETWORK SHARED memory up 448 bytes. Have yet to test how that look on two or three units.
Memory Map described (as far as i understand it) 0x01a10000 - 0x01a13FFF seems to be standard shared ram 0x01a14000 - 0x01a17FFF seems to be used to READ status and WRITE commands, also seems to repeat itself ever 4 bytes
That shared ram seems to be further split 0x01a10000 - 0x01a1001F seems to contain "link specific" data FOR THE LOCAL SYSTEM like number of nodes etc. 0x01a12000 - 0x01a12fbf seems to be the real NETWORK SHARED memory (9 blocks of 448 bytes each)
Detailed:
Code:
0x01a10000 - 0x01a1001F 0000: 00 xx FF FF xx xx xx xx xx xx xx xx xx xx xx xx - Link "offline", searching for nodes... 0000: 01 xx 01 01 xx xx xx xx xx xx xx xx xx xx xx xx - Link "online", myself = 1, total nodes = 1 0000: 01 xx 01 02 xx xx xx xx xx xx xx xx xx xx xx xx - Link "online", myself = 1, total nodes = 2
0010: xx xx 00 0E C0 01 xx xx xx xx xx xx xx xx xx xx - as soon as the board gets "initialized" it writes 00 0E C0 01 to the shared memory that doesn't get read by daytona and srallyc though.
Code:
READING from 0x01a14000 - 0x01a1400F 0000: xx FF xx FF ... odd bytes always read 0xFF
0000: 01 xx x1 xx ... comm board enabled 0000: 00 xx x0 xx ... comm board disabled
0000: 01 xx 81 xx ... comm board enabled, after tick 1... 0000: 01 xx 01 xx ... comm board enabled, after tick 2... 0000: 01 xx 81 xx ... comm board enabled, after tick 3... 0000: 01 xx 01 xx ... comm board enabled, after tick 4...
Code:
WRITING to 0x01a14000 - 0x01a1400F 0000: 00 xx xx xx ... reset/disable 0000: 01 xx xx xx ... init/enable
0000: xx xx 00 xx ... set slave mode 0000: xx xx 01 xx ... set master mode