OSDN Git Service

IREM G-101 (#32) を追加、スクリプトのファイル名にメーカー名をつけるように変更
[unagi/old-svn-converted.git] / client / trunk / anago / irem_g101.ad
1 /*\r
2 IREM G-101 based cartridge\r
3 \r
4 $8000-$9fff bank#0, switchable or last - 2\r
5 $a000-$bfff bank#1, switchable\r
6 $c000-$dfff bank#2, last - 2 or switchable\r
7 $e000-$ffff \r
8 note:\r
9 Major League PCB maybe ignore write operation to $9000-$9fff\r
10 $9000-$9fff write register are fixed to bank #2 = last -2 and VRAM A10 = high\r
11 */\r
12 \r
13 board <- {\r
14         mappernum = 32,\r
15         cpu_rom = {\r
16                 size_base = 1 * mega, size_max = 2 * mega,\r
17                 banksize = 0x2000\r
18         },\r
19         ppu_rom = {\r
20                 size_base = 1 * mega, size_max = 1 * mega,\r
21                 banksize = 0x0400\r
22         },\r
23         ppu_ramfind = false,\r
24         vram_mirrorfind = false\r
25 };\r
26 \r
27 function cpu_dump(d, pagesize, banksize)\r
28 {\r
29         if(1){\r
30                 cpu_write(d, 0x9000, 0);\r
31                 for(local i = 0; i < pagesize - 2; i += 2){\r
32                         cpu_write(d, 0x8000, i);\r
33                         cpu_write(d, 0xa000, i | 1);\r
34                         cpu_read(d, 0x8000, banksize * 2);\r
35                 }\r
36                 cpu_read(d, 0xc000, banksize);\r
37                 cpu_read(d, 0xe000, banksize);\r
38         }else{\r
39                 cpu_write(d, 0x9000, 2);\r
40                 for(local i = 0; i < pagesize - 2; i += 2){\r
41                         cpu_write(d, 0x8000, i);\r
42                         cpu_write(d, 0xa000, i | 1);\r
43                         cpu_read(d, 0xc000, banksize);\r
44                         cpu_read(d, 0xa000, banksize);\r
45                 }\r
46                 cpu_read(d, 0x8000, banksize);\r
47                 cpu_read(d, 0xe000, banksize);\r
48         }\r
49 }\r
50 function ppu_dump(d, pagesize, banksize)\r
51 {\r
52         for(local i = 0; i < pagesize ; i += 8){\r
53                 for(local j = 0; j < 8; j += 1){\r
54                         cpu_write(d, 0xb000 + j, i + j);\r
55                 }\r
56                 ppu_read(d, 0, banksize * 8);\r
57         }\r
58 }\r
59 \r