2 * IP.BIN related code. Ref: http://mc.pp.se/dc/ip0000.bin.html
16 #define BOOTSTRAP_LOAD_ADDR 0x8C008000
17 #define BOOTSTRAP_SIZE 32768
19 typedef struct dc_bootstrap_head {
20 char hardware_id[16]; /* must be "SEGA SEGAKATANA " */
21 char maker_id[16]; /* ditto, "SEGA ENTERPRISES" */
23 char padding; /* normally ascii space */
30 char product_date[16];
33 char product_name[128];
34 } *dc_bootstrap_head_t;
37 #define DC_PERIPH_WINCE 0x0000001
38 #define DC_PERIPH_VGABOX 0x0000010
39 #define DC_PERIPH_OTHER 0x0000100
40 #define DC_PERIPH_PURUPURU 0x0000200
41 #define DC_PERIPH_MIKE 0x0000400
42 #define DC_PERIPH_MEMCARD 0x0000800
43 /* Basic requirements */
44 #define DC_PERIPH_BASIC 0x0001000 /* Basic controls - start, a, b, arrows */
45 #define DC_PERIPH_C_BUTTON 0x0002000
46 #define DC_PERIPH_D_BUTTON 0x0004000
47 #define DC_PERIPH_X_BUTTON 0x0008000
48 #define DC_PERIPH_Y_BUTTON 0x0010000
49 #define DC_PERIPH_Z_BUTTON 0x0020000
50 #define DC_PERIPH_EXP_DIR 0x0040000 /* Expanded direction buttons */
51 #define DC_PERIPH_ANALOG_R 0x0080000 /* Analog R trigger */
52 #define DC_PERIPH_ANALOG_L 0x0100000 /* Analog L trigger */
53 #define DC_PERIPH_ANALOG_H 0x0200000 /* Analog horizontal controller */
54 #define DC_PERIPH_ANALOG_V 0x0400000 /* Analog vertical controller */
55 #define DC_PERIPH_EXP_AH 0x0800000 /* Expanded analog horizontal (?) */
56 #define DC_PERIPH_EXP_AV 0x1000000 /* Expanded analog vertical (?) */
57 /* Optional peripherals */
58 #define DC_PERIPH_GUN 0x2000000
59 #define DC_PERIPH_KEYBOARD 0x4000000
60 #define DC_PERIPH_MOUSE 0x8000000
62 void parse_ipbin(char *data);
.