Search
lxdream.org :: lxdream/src/bootstrap.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/bootstrap.h
changeset 1095:a8b798030464
prev736:a02d1475ccfd
next1099:566cdeb157ec
author nkeynes
date Sun Jan 31 18:28:24 2010 +1000 (10 years ago)
permissions -rw-r--r--
last change Move bootstrap structure and defines into bootstrap.h
file annotate diff log raw
nkeynes@26
     1
/**
nkeynes@561
     2
 * $Id$
nkeynes@26
     3
 *
nkeynes@26
     4
 * CD Bootstrap header parsing. Mostly for informational purposes.
nkeynes@26
     5
 *
nkeynes@26
     6
 * Copyright (c) 2005 Nathan Keynes.
nkeynes@26
     7
 *
nkeynes@26
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@26
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@26
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@26
    11
 * (at your option) any later version.
nkeynes@26
    12
 *
nkeynes@26
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@26
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@26
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@26
    16
 * GNU General Public License for more details.
nkeynes@26
    17
 */
nkeynes@26
    18
nkeynes@1
    19
/*
nkeynes@1
    20
 * IP.BIN related code. Ref: http://mc.pp.se/dc/ip0000.bin.html
nkeynes@1
    21
 */
nkeynes@736
    22
#ifndef lxdream_bootstrap_H
nkeynes@736
    23
#define lxdream_bootstrap_H 1
nkeynes@736
    24
nkeynes@736
    25
#include "lxdream.h"
nkeynes@1
    26
nkeynes@1
    27
#ifdef __cplusplus
nkeynes@1
    28
extern "C" {
nkeynes@1
    29
#endif
nkeynes@1
    30
nkeynes@1095
    31
#define BOOTSTRAP_LOAD_ADDR 0x8C008000
nkeynes@1095
    32
#define BOOTSTRAP_SIZE 32768
nkeynes@1095
    33
#define BOOTSTRAP_MAGIC "SEGA SEGAKATANA SEGA ENTERPRISES"
nkeynes@1095
    34
nkeynes@1095
    35
#define BINARY_LOAD_ADDR 0x8C010000
nkeynes@1095
    36
nkeynes@1095
    37
/**
nkeynes@1095
    38
 * Bootstrap header structure
nkeynes@1095
    39
 */
nkeynes@1095
    40
typedef struct dc_bootstrap_head {
nkeynes@1095
    41
    char magic[32];
nkeynes@1095
    42
    char crc[4];
nkeynes@1095
    43
    char padding;         /* normally ascii space */
nkeynes@1095
    44
    char gdrom_id[6];
nkeynes@1095
    45
    char disc_no[5];
nkeynes@1095
    46
    char regions[8];
nkeynes@1095
    47
    char peripherals[8];
nkeynes@1095
    48
    char product_id[10];
nkeynes@1095
    49
    char product_ver[6];
nkeynes@1095
    50
    char product_date[16];
nkeynes@1095
    51
    char boot_file[16];
nkeynes@1095
    52
    char vendor_id[16];
nkeynes@1095
    53
    char product_name[128];
nkeynes@1095
    54
} *dc_bootstrap_head_t;
nkeynes@1095
    55
nkeynes@26
    56
/**
nkeynes@26
    57
 * Dump the bootstrap info to the output log for infomational/debugging
nkeynes@26
    58
 * purposes.
nkeynes@26
    59
 */
nkeynes@502
    60
void bootstrap_dump(void *data, gboolean detail);
nkeynes@1
    61
nkeynes@1
    62
#ifdef __cplusplus
nkeynes@1
    63
}
nkeynes@1
    64
#endif
nkeynes@736
    65
nkeynes@736
    66
#endif /* !lxdream_bootstrap_H */
.