amalgamation
[picodrive.git] / Pico / cd / Misc.c
CommitLineData
6cadc2da 1// Some misc stuff
2// (c) Copyright 2007, Grazvydas "notaz" Ignotas
51a902ae 3
4
76276b0b 5unsigned char formatted_bram[4*0x10] =
51a902ae 6{
76276b0b 7#if 0
51a902ae 8 0x00, 0xd4, 0x63, 0x00, 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x00, 0x03, 0x00, 0x00, 0x03,
9 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x53, 0xd2, 0xf5, 0x3a, 0x48, 0x50, 0x35, 0x0f,
10 0x47, 0x14, 0xf5, 0x7e, 0x5c, 0xd4, 0xf3, 0x03, 0x00, 0x03, 0x12, 0x00, 0x0a, 0xff, 0xca, 0xa6,
11 0xf5, 0x27, 0xed, 0x22, 0x47, 0xfa, 0x22, 0x96, 0x6c, 0xa5, 0x88, 0x14, 0x48, 0x48, 0x0a, 0xbb,
76276b0b 12#endif
51a902ae 13 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x40,
14 0x00, 0x7d, 0x00, 0x7d, 0x00, 0x7d, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15 0x53, 0x45, 0x47, 0x41, 0x5f, 0x43, 0x44, 0x5f, 0x52, 0x4f, 0x4d, 0x00, 0x01, 0x00, 0x00, 0x00,
16 0x52, 0x41, 0x4d, 0x5f, 0x43, 0x41, 0x52, 0x54, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x5f, 0x5f,
76276b0b 17 // SEGA_CD_ROM.....RAM_CARTRIDGE___
51a902ae 18};
19
20
fa1e5e29 21// offs | 2Mbit | 1Mbit |
22// 0 | [ 2M | unused |
23// 128K | bit ] | bank0 |
24// 256K | unused | bank1 |
25
6cadc2da 26#ifndef _ASM_MISC_C
eff55556 27PICO_INTERNAL_ASM void wram_2M_to_1M(unsigned char *m)
fa1e5e29 28{
29 unsigned short *m1M_b0, *m1M_b1;
30 unsigned int i, tmp, *m2M;
31
32 m2M = (unsigned int *) (m + 0x40000);
33 m1M_b0 = (unsigned short *) m2M;
34 m1M_b1 = (unsigned short *) (m + 0x60000);
35
36 for (i = 0x40000/4; i; i--)
37 {
38 tmp = *(--m2M);
39 *(--m1M_b0) = tmp;
40 *(--m1M_b1) = tmp >> 16;
41 }
42}
43
eff55556 44PICO_INTERNAL_ASM void wram_1M_to_2M(unsigned char *m)
fa1e5e29 45{
46 unsigned short *m1M_b0, *m1M_b1;
47 unsigned int i, tmp, *m2M;
48
49 m2M = (unsigned int *) m;
50 m1M_b0 = (unsigned short *) (m + 0x20000);
51 m1M_b1 = (unsigned short *) (m + 0x40000);
52
53 for (i = 0x40000/4; i; i--)
54 {
55 tmp = *m1M_b0++ | (*m1M_b1++ << 16);
56 *m2M++ = tmp;
57 }
58}
6cadc2da 59#endif
fa1e5e29 60