Search
lxdream.org :: lxdream/src/bootstrap.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/bootstrap.h
changeset 1:eea311cfd33e
next26:ad258e3daaa5
author nkeynes
date Thu Dec 15 13:33:14 2005 +0000 (18 years ago)
permissions -rw-r--r--
last change Implement save states
view annotate diff log raw
     1 /*
     2  * IP.BIN related code. Ref: http://mc.pp.se/dc/ip0000.bin.html
     3  */
     4 #ifndef dc_ipbin_H
     5 #define dc_ipbin_H 1
     7 #include <sys/types.h>
     9 #ifdef __cplusplus
    10 extern "C" {
    11 #if 0
    12 }
    13 #endif
    14 #endif
    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" */
    22     char crc[4];
    23     char padding;         /* normally ascii space */
    24     char gdrom_id[6];
    25     char disc_no[5];
    26     char regions[8];
    27     char peripherals[8];
    28     char product_id[10];
    29     char product_ver[6];
    30     char product_date[16];
    31     char boot_file[16];
    32     char vendor_id[16];
    33     char product_name[128];
    34 } *dc_bootstrap_head_t;
    36 /* Expansion units */
    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);
    64 #ifdef __cplusplus
    65 }
    66 #endif
    67 #endif
.