Skip to content

Commit

Permalink
Added more files
Browse files Browse the repository at this point in the history
  • Loading branch information
Kochise committed Mar 26, 2017
1 parent eff8438 commit 7495abe
Show file tree
Hide file tree
Showing 331 changed files with 15,181 additions and 0 deletions.
Binary file added AICA/DOCS/Aica_spec100e/AC.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/ADPCM.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/ADPCM0.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/ADPCM1.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/ADPCM2.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AEG.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3,154 changes: 3,154 additions & 0 deletions AICA/DOCS/Aica_spec100e/AICA_E.HTM

Large diffs are not rendered by default.

Binary file added AICA/DOCS/Aica_spec100e/AMPM0.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AMPM1.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AMPM2.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AMPM3.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AMPM4.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/AMPM5.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/BLOCK-M.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/BLOCK.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/CPUIF.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/CPUWRT.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/DAC.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/DAC_2.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/DSP_1.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/FEG-REG.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/FEG.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/FEGQ.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/LOOP-ETC.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/MCCK.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/MIXER.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AICA/DOCS/Aica_spec100e/MREAD.GIF
Binary file added AICA/DOCS/Aica_spec100e/MWRITE.GIF
Binary file added AICA/DOCS/Aica_spec100e/REF.GIF
Binary file added AICA/DOCS/Aica_spec100e/RESETN.GIF
Binary file added AICA/DOCS/Aica_spec100e/SIGNAL1.GIF
Binary file added AICA/DOCS/Aica_spec100e/SIGNAL2.GIF
Binary file added AICA/DOCS/Aica_spec100e/SIGNAL3.GIF
Binary file added AICA/DOCS/Aica_spec100e/SINPUT.GIF
Binary file added AICA/DOCS/Aica_spec100e/SINPUT2.GIF
Binary file added AICA/DOCS/Aica_spec100e/SINPUT3.GIF
Binary file added AICA/DOCS/Aica_spec100e/SREAD.GIF
Binary file added AICA/DOCS/Aica_spec100e/Thumbs.db
Binary file not shown.
Binary file added AICA/DOCS/DDI0029G_7TDMI_R3_trm.pdf
Binary file not shown.
Binary file added AICA/DOCS/DDI0084F_7TDMIS_R3.pdf
Binary file not shown.
Binary file added AICA/DOCS/DDI0210B_7TDMI_R4.pdf
Binary file not shown.
Binary file added AICA/DOCS/DDI0214B_7ejs_r1_trm.pdf
Binary file not shown.
Binary file added AICA/DOCS/DDI0229A_720T_R4.pdf
Binary file not shown.
Binary file added AICA/DOCS/DDI0234A_7TDMIS_R4.pdf
Binary file not shown.
Binary file added CONTROLR/DOCS/00peri_doc_map990625e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/01_sdhwr100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/02_VMS100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/02_VMU100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/03_SIP102e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/04_Gun061e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/05_Svs090e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/06_92key085e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_104kUs100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_105kFra110e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_105kGer110e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_105kIta111e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_105kSpa111e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/07_105kUk100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/08_Src090e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/09_Maxih080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/10_tsurih080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/11_Svo100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/12_Dreameye071_e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/14_marah099e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/15_Mouse080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Camera_Sip041e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft0_090e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft10_050e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft11_071e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft1_080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft2_081e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft3_080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft4_100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft5_075e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft6_090e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft7_085e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft8_080e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/Ft9_091e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/L1_pmc090e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/L2_ASMS100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/L3_ASTKH100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/L4_denh100e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/MAPLE82E.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/doc_map_e.doc
Binary file not shown.
Binary file added CONTROLR/DOCS/mb_spec_map.XLS
Binary file not shown.
Binary file added CPU/DOCS/SH4_access990312_e.xls
Binary file not shown.
887 changes: 887 additions & 0 deletions CPU/DOCS/SH4_limit990311_e.txt

Large diffs are not rendered by default.

Binary file added CPU/DOCS/e602124_sh7750.pdf
Binary file not shown.
Binary file added CPU/DOCS/e602156_sh4.pdf
Binary file not shown.
Binary file added CPU/DOCS/programming_manual.pdf
Binary file not shown.
Binary file added CPU/DOCS/rej09b0003_sh4a(2).pdf
Binary file not shown.
Binary file added CPU/DOCS/rej09b0318_sh_4sm.pdf
Binary file not shown.
Binary file added G2BUS/SCHS/dcext.pdf
Binary file not shown.
Binary file added GDROM/DOCS/9220.pdf
Binary file not shown.
Binary file added GDROM/DOCS/9220j.pdf
Binary file not shown.
Binary file added GDROM/DOCS/Gdfm_k214e.doc
Binary file not shown.
Binary file added GDROM/DOCS/Gdfm_s132e.doc
Binary file not shown.
Binary file added GDROM/DOCS/OTI912.pdf
Binary file not shown.
Binary file added GDROM/DOCS/cdif131e.doc
Binary file not shown.
Binary file added GDROM/ROMS/1st_read.bin
Binary file not shown.
Binary file added GDROM/ROMS/IP.BIN
Binary file not shown.
Binary file added HARDWARE/DOCS/DC Schematic.pdf
Binary file not shown.
Binary file added HARDWARE/DOCS/G2/G2_limit990217_fig_e.xls
Binary file not shown.
Binary file added HARDWARE/DOCS/G2/G2_limit_hw990218_e.doc
Binary file not shown.
Binary file added HARDWARE/DOCS/G2/G2_limit_sw990217_e.doc
Binary file not shown.
90 changes: 90 additions & 0 deletions HARDWARE/DOCS/Pchk020_E.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
=============================================================================
Check Sheet for Dreamcast Program (for direct hardware control) Version 0.20
03/03/99 SEGA Tech Support
=============================================================================

<< Drawing (without Kamui) >>

- Kamui is being used to access the drawing system register when the graphic
chip for the development target differs from the product version.

--------------------------------------------------------------------------------
* The following check items will become valid when the same graphic chip is used
for development targets and product versions. Until then, Kamui must be used as
shown above.
--------------------------------------------------------------------------------

- Soft reset and register settings are being initialized before TA transfer.
- During Ch2 DMA, suspension of Ch2 DMA is being confirmed and a soft reset is being
used to empty TA FIFO upon forcible interruption of TA.
- When using user tile clipping, more than 1 invisible dummy polygon is being sent
before setting global parameters to change items such as the area.
- Direct data (such as texture) is being sent while YUV macro block send is
in progress.
- End of TSP is being used for drawing complete interrupt.
- The display area is set to the drawing area minus 1 when the y scale is reduced.
- An invisible opaque polygon that covers the entire screen is registered when using
presorted half-transparent polygons.
- Half-transparent sorting mode is set to auto sort when using modifiers
with half-transparent and tri-linear polygons.
- Intensity shadow volume is being used for polygons that use bump map texture.
- The nu screen is being divided into an even number of sections when strip buffer
mode is being used for the frame buffer.
- The value set for FB_X_CLIP or FB_Y_CLIP exceeds the screen size when using strip
buffer mode for the frame buffer.

<< SH4 >>

- The SAR, DAR, DMATCR, and CHCR registers of SH4-DMA are only being rewritten
when the CHCR DE bit is set to 0.
- DMA for channels 1 and 3 is being used in accordance with the workaround described
under "Failure to write peripheral module control register during DMA transfer"
in the manual.
- An NMI has been generated during DMA.
- Flash memory is not being accessed before setting G1FRC and G1FWC.
- 32-byte access to system ROM is not being used before setting G1FRC and G1FWC.
- Only system ROM is being accessed before setting the CPU BSC.

<< File System >>

- Two commands are not being written to the command register in immediate succession.
- Undefined commands are not being issued.
- Commands are not being issued with incorrect parameters.
- Operation is being implemented according to protocol.
- Data registers are being accessed in words and other registers are being accessed
in bytes.
- ROM and FLASH are not being accessed during DMA.
- The transfer mode (feature register) is set correctly.
- G1 Bus is set correctly.
- The drive select register is not being accessed.
- Error processing is working properly with all commands.

<< Peripherals >>

- The command that indicates the end of each command in the command file is located
at the 8th long word of a 32-byte boundary.
- The command file is composed of long word units.
- A storage address indicated for received data in the command file is at a 32-byte
boundary
- The address of the Maple register in the command file starts with 0x0???????.
- DMA is being disabled when writing values to the system control and DMA trigger
selection registers.

<< Sound >>

- When accessing sound memory and registers, long access (4-byte) is always being
done using 4-byte boundaries.
- Sound memory is being accessed through the cache through area.
- Addresses other than those of defined memory and registers are not being accessed.
- After data has been written to sound memory, FIFO is being checked to ensure
that it is empty before doing read operations.
- FIFO is being checked to ensure that it is empty when writes to sound memory are
performed more than 9 times in succession.
- Before reset/control of the sound CPU, VREG contents in the same register are always
saved.
- When reading RTC data, measures are being taken to ensure that data being read is
not invalid because it is in the process of being updated. (such as reading the
data twice and verifying that it is the same).
- Sound system internal DMA is being used.

- EOF -
Binary file not shown.
1 change: 1 addition & 0 deletions HARDWARE/DOCS/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pchk020_txt lists items that must be followed if application program accesses hardware directly. However it does not cover all restrictions. Please be sure to read other restriction documents as well.
Binary file added MEMORY/ROMS/dc_bios.bin
Binary file not shown.
Binary file added MEMORY/ROMS/dc_flash.bin
Binary file not shown.
263 changes: 263 additions & 0 deletions MEMORY/ROMS/dcrp.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,263 @@
/* dcrp.c - scrambles and unscrambles Dreamcast-executables
*
* 2000 <c> Maiwe
*
* contact: [email protected]
*
*/

/* Notes:
* ~~~~~~
*
* Dreamcast(tm) has a special method for booting regular CDs as opposed
* to GDs. The executable file to be booted must be scrambled in a
* certain way in order to execute properly which is what this program
* does.
*
*/

#include <sys/stat.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main(int, char **);
void usage(void);
void scramble(void);
void scramble2(int, char *);
void copy_data(char *);
void unscramble(void);
void unscramble2(int, char *);
void copy_data2(char *);

unsigned int permutation_key = 0;
unsigned short permutation_buf[0x10000];
char *input_buf;
char *output_buf;
int buf_pos;
int data_size;

int
main(argc, argv)
int argc;
char **argv;
{

struct stat st_buf;
FILE *ins, *outs;

if (argc != 4)
usage();

if (stat(argv[2], &st_buf) < 0) {
fprintf(stderr, "dcrp: %s: %s\n", argv[2], strerror(errno));
exit (-1);
}

data_size = st_buf.st_size;
if (!(input_buf = malloc(data_size))) {
fprintf(stderr, "dcrp: %s\n", strerror(errno));
exit (-1);
}
if (!(output_buf = malloc(data_size))) {
fprintf(stderr, "dcrp: %s\n", strerror(errno));
exit (-1);
}

ins = fopen(argv[2], "r");
if (ins == NULL) {
fprintf(stderr, "dcrp: %s: %s\n", argv[2], strerror(errno));
exit (-1);
}

outs = fopen(argv[3], "w");
if (outs == NULL) {
fprintf(stderr, "dcrp: %s: %s\n", argv[3], strerror(errno));
exit (-1);
}

if (fread(input_buf, data_size, 1, ins) != 1) {
if (ferror(ins)) {
fprintf(stderr, "dcrp: fread() failed: %s\n", strerror(errno));
exit (-1);
}
fprintf(stderr, "dcrp: fread() failed: not all of input file read\n");
exit (-1);
}

fclose(ins);

if (strcmp(argv[1], "scramble") == 0)
scramble();
else if (strcmp(argv[1], "unscramble") == 0)
unscramble();
else
usage();

if (fwrite(output_buf, data_size, 1, outs) != 1) {
if (ferror(outs)) {
fprintf(stderr, "dcrp: fwrite() failed: %s\n", strerror(errno));
exit (-1);
}
fprintf(stderr, "dcrp: fwrite() failed: not all of input file written\n");
exit (-1);
}

fprintf(stdout, "Done\n");

}

void
usage()
{
fprintf(stderr, "dcrp v1.1 13-Jun-2000 <c> Maiwe\n");
fprintf(stderr, "usage: dcrp <scramble | unscramble> <input> <output>\n");
exit (-1);
}

void
scramble()
{

int j;
char *ptr;
int align;
int size = data_size;

permutation_key = size & 0x0000ffff;
buf_pos = 0;

align = size & 0x0000001f;
if (align != 0)
size -= align;

ptr = input_buf;
j = 0x00200000;
do {
while (size >= j) {
scramble2(j, ptr);
size = size - j;
ptr = ptr + ((j>>2)<<2);
}
j = j>>1;
} while (j >= 0x20);

if (align != 0)
copy_data(ptr);

}

void
scramble2(size, addr)
int size;
char *addr;
{

unsigned short *ptr = permutation_buf;
int i;
int bs = size>>5;
unsigned short *k;
unsigned short index;
int m;
unsigned short temp;

for (i = 0; i < bs; i++)
ptr[i] = i;

k = &ptr[bs-1];
for (m = bs - 1; m >= 0; m--) {
permutation_key = (permutation_key * 2109 + 9273) & 0x7fff;
index = (((permutation_key + 0xc000) & 0xffff) * m)>>16;

temp = ptr[index];
ptr[index] = *k;
*k = temp;
copy_data(addr + ((*k)<<5));
k--;
}

}

void
copy_data(addr)
char *addr;
{
int i;

for (i = 0; i < 0x20 && buf_pos < data_size; i++)
*(output_buf + (buf_pos++)) = addr[i];
}

void
unscramble()
{

int j;
char *ptr;
int align;
int size = data_size;

permutation_key = size & 0x0000ffff;
buf_pos = 0;

align = size & 0x0000001f;
if (align != 0)
size -= align;

ptr = output_buf;
j = 0x00200000;
do {
while (size >= j) {
unscramble2(j, ptr);
size = size - j;
ptr = ptr + ((j>>2)<<2);
}
j = j>>1;
} while (j >= 0x20);

if (align != 0)
copy_data2(ptr);

}

void
unscramble2(size, addr)
int size;
char *addr;
{

short *ptr = permutation_buf;
int i;
int bs = size>>5;
unsigned short *k;
unsigned short index;
int m;
unsigned short temp;

for (i = 0; i < bs; i++)
ptr[i] = i;

k = &ptr[bs-1];
for (m = bs - 1; m >= 0; m--) {
permutation_key = (permutation_key * 2109 + 9273) & 0x7fff;
index = (((permutation_key + 0xc000) & 0xffff) * m)>>16;

temp = ptr[index];
ptr[index] = *k;
*k = temp;
copy_data2(addr + ((*k)<<5));
k--;
}

}

void
copy_data2(addr)
char *addr;
{
int i;

for (i = 0; i < 0x20 && buf_pos < data_size; i++)
addr[i] = *(input_buf + (buf_pos++));
}
Binary file added MEMORY/ROMS/vms.bin
Binary file not shown.
Binary file added MODEM/DOCS/100665c-RP56LD.pdf
Binary file not shown.
Binary file added MODEM/DOCS/1155r1.pdf
Binary file not shown.
Binary file added MODEM/DOCS/RP336LD.pdf
Binary file not shown.
Loading

0 comments on commit 7495abe

Please sign in to comment.