This started as the idea of writing a more useful purupuru driver that would autodetect the make/model of the device and allow the user to have a number of generic commands that will produce similar effects regardless of the device (some commands that get a response on official packs do nothing on third party ones, etc).
Now, it's almost more just to collect the data and figure out what to do with it later. So below is a sample piped output for it with the following attached:
D0: MadCatz Keyboard Adapter
B2: Performance Rumble Pack
B1: Official Sega VMU
B0: Official Sega Controller
A*: DreamEye
Spoiler!
Code: Select all
/usr/local/dc/kos/kos/utils/dc-tool/dc-tool-ip -t 128.2.101.99 -x MapleTest.elf
Console enabled
Upload <MapleTest.elf>
File format is elf32-little, start address is 0x8c010000
Section .text, lma 0x8c010000, size 226080
Section .rodata, lma 0x8c047320, size 30580
Section .eh_frame, lma 0x8c04eb14, size 148
Section .ctors, lma 0x8c04eba8, size 8
Section .dtors, lma 0x8c04ebb0, size 8
Section .data, lma 0x8c04ebc0, size 11588
Section .stack, lma 0x300000, size 4
transferred 268416 bytes at 860307.692213 bytes / sec
Executing at <0x8c010000>
Sending execute command (0x8c010000, console=1, cdfsredir=0)...executing
--
KallistiOS ##version##: Tue Apr 1 19:38:10 EDT 2008
DCDEV_ISO4
Quzar@qserve:/usr/local/dc/kos/kos
thd: pre-emption enabled, HZ=100
maple: active drivers:
Dreameye (Camera): Camera
Sound Input Peripheral: Microphone
PuruPuru (Vibration) Pack: JumpPack
VMU Driver: Clock, LCD, MemoryCard
Mouse Driver: Mouse
Keyboard Driver: Keyboard
Controller Driver: Controller
DMA Buffer at ac0842a0
vid_set_mode: 640x480 NTSC
dc-load console support enabled
maple: attached devices:
A0: Dreamcast Camera Flash Devic (01000000: Controller)
A1: Dreamcast Camera Flash LDevic (00080000: Camera)
A2: Dreamcast Camera Flash LDevic (00080000: Camera)
A3: Dreamcast Camera Flash LDevic (00080000: Camera)
A4: Dreamcast Camera Flash LDevic (00080000: Camera)
A5: Dreamcast Camera Flash LDevic (00080000: Camera)
B0: Dreamcast Controller (01000000: Controller)
B1: Visual Memory (0e000000: Clock, LCD, MemoryCard)
B2: Puru Puru Pack (00010000: JumpPack)
D0: Dreamcast Keyboard (40000000: Keyboard)
Going to print info on all devices (in reverse order):
Trying to get the allinfo for device D0:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 40000000
Function int 1: 80070502
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Keyboard
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 015e
Maximum current consumption: 01f4
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 31 39 | Version 1.000,19
Extra+0x010 | 39 39 2f 30 39 2f 32 39 2c 4d 61 64 20 43 61 74 | 99/09/29,Mad Cat
Extra+0x020 | 7a 20 49 6e 63 2e 20 20 31 2e 30 30 00 00 00 00 | z Inc. 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device B2:
Received proper maple response
Recieved 192 bytes of data. Here it is:
Function int 0: 00010000
Function int 1: 00000101
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Puru Puru Pack
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 00c8
Maximum current consumption: 0640
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 31 39 | Version 1.000,19
Extra+0x010 | 39 38 2f 31 31 2f 31 30 2c 33 31 35 2d 36 32 31 | 98/11/10,315-621
Extra+0x020 | 31 2d 41 48 20 20 20 2c 56 69 62 72 61 74 69 6f | 1-AH ,Vibratio
Extra+0x030 | 6e 20 4d 6f 74 6f 72 3a 31 20 2c 20 46 6d 3a 34 | n Motor:1 , Fm:4
Extra+0x040 | 20 2d 20 33 30 48 7a 20 2c 50 6f 77 3a 37 20 20 | - 30Hz ,Pow:7
Extra+0x050 | 6e 20 4d 6f 6e 20 4d 6f 6e 20 4d 6f 6e 20 4d 6f | n Mon Mon Mon Mo
Extra+0x060 | 6e 20 4d 6f 6e 20 4d 6f 6e 20 4d 6f 00 00 00 00 | n Mon Mon Mo
Extra+0x070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device B1:
Received proper maple response
Recieved 192 bytes of data. Here it is:
Function int 0: 0e000000
Function int 1: 403f7e7e
Function int 2: 00100500
Function int 3: 00410f00
Region Code: ff
Connection : 00
Product Name: Visual Memory
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 007c
Maximum current consumption: 0082
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 35 2c 31 39 | Version 1.005,19
Extra+0x010 | 39 39 2f 31 30 2f 32 36 2c 33 31 35 2d 36 32 30 | 99/10/26,315-620
Extra+0x020 | 38 2d 30 35 2c 53 45 47 41 20 56 69 73 75 61 6c | 8-05,SEGA Visual
Extra+0x030 | 20 4d 65 6d 6f 72 79 20 53 79 73 74 65 6d 20 42 | Memory System B
Extra+0x040 | 49 4f 53 20 50 72 6f 64 75 63 65 64 20 62 79 20 | IOS Produced by
Extra+0x050 | 49 4f 53 20 50 72 6f 64 75 63 65 64 65 6d 20 42 | IOS Producedem B
Extra+0x060 | 65 6d 20 42 65 6d 20 42 65 6d 20 42 00 00 00 00 | em Bem Bem B
Extra+0x070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device B0:
Received proper maple response
Recieved 192 bytes of data. Here it is:
Function int 0: 01000000
Function int 1: fe060f00
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Controller
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 01ae
Maximum current consumption: 01f4
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 31 30 2c 31 39 | Version 1.010,19
Extra+0x010 | 39 38 2f 30 39 2f 32 38 2c 33 31 35 2d 36 32 31 | 98/09/28,315-621
Extra+0x020 | 31 2d 41 42 20 20 20 2c 41 6e 61 6c 6f 67 20 4d | 1-AB ,Analog M
Extra+0x030 | 6f 64 75 6c 65 20 3a 20 54 68 65 20 34 74 68 20 | odule : The 4th
Extra+0x040 | 45 64 69 74 69 6f 6e 2e 35 2f 38 20 20 2b 44 46 | Edition.5/8 +DF
Extra+0x050 | 6f 64 75 6c 6f 64 75 6c 6f 64 75 6c 6f 64 75 6c | odulodulodulodul
Extra+0x060 | 6f 64 75 6c 6f 64 75 6c 6f 64 75 6c 00 00 00 00 | odulodulodul
Extra+0x070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A5:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 00080000
Function int 1: 30a800c0
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash LDevice
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 0000
Maximum current consumption: 0000
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A4:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 00080000
Function int 1: 30a800c0
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash LDevice
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 0000
Maximum current consumption: 0000
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A3:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 00080000
Function int 1: 30a800c0
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash LDevice
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 0000
Maximum current consumption: 0000
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A2:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 00080000
Function int 1: 30a800c0
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash LDevice
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 0000
Maximum current consumption: 0000
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A1:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 00080000
Function int 1: 30a800c0
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash LDevice
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 0000
Maximum current consumption: 0000
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
Trying to get the allinfo for device A0:
Received proper maple response
Recieved 152 bytes of data. Here it is:
Function int 0: 01000000
Function int 1: 00080000
Function int 2: 00000000
Function int 3: 00000000
Region Code: ff
Connection : 00
Product Name: Dreamcast Camera Flash Device
Product License: Produced By or Under License From SEGA ENTERPRISES,LTD.
Standby current consumption: 07d0
Maximum current consumption: 0960
Extra data:
Extra+0x000 | 56 65 72 73 69 6f 6e 20 31 2e 30 30 30 2c 32 30 | Version 1.000,20
Extra+0x010 | 30 30 2f 30 32 2f 32 35 2c 33 31 35 2d 36 32 38 | 00/02/25,315-628
Extra+0x020 | 33 20 20 20 20 20 20 20 31 2e 30 30 00 00 00 00 | 3 1.00
Extra+0x030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Extra+0x060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
End of Extra data
That's all the devices attached.
arch: shutting down kernel
maple: final stats -- device count = 10, vbl_cntr = 492, dma_cntr = 492
vid_set_mode: 640x480 NTSC
Note: This only outputs to serial, so this is only for those with a CC, BBA, SLA, etc.