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 08 13:38:00 2005 +0000 (18 years ago)
permissions -rw-r--r--
last change Generalise the core debug window to allow multiple instances.
Add cpu description structure to define different cpus for use by the
debug window, in preparation for ARM implementation
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
.