OSDN Git Service

script file の追加
[unagi/old-svn-converted.git] / client / trunk / anago / irem_g101.ad
index 9cab9ad..1d80ab4 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
 IREM G-101 based cartridge\r
 \r
-$8000-$9fff bank#0, switchable or last - 2\r
+$8000-$9fff bank#0, switchable or last - 1\r
 $a000-$bfff bank#1, switchable\r
-$c000-$dfff bank#2, last - 2 or switchable\r
+$c000-$dfff bank#2, last - 1 or switchable\r
 $e000-$ffff \r
 note:\r
 Major League PCB maybe ignore write operation to $9000-$9fff\r
-$9000-$9fff write register are fixed to bank #2 = last -2 and VRAM A10 = high\r
+$9000-$9fff write register are fixed to bank #2 = last -1\r
 */\r
 \r
 board <- {\r
@@ -26,7 +26,7 @@ board <- {
 \r
 function cpu_dump(d, pagesize, banksize)\r
 {\r
-       if(1){\r
+       if(false){\r
                cpu_write(d, 0x9000, 0);\r
                for(local i = 0; i < pagesize - 2; i += 2){\r
                        cpu_write(d, 0x8000, i);\r
@@ -57,3 +57,32 @@ function ppu_dump(d, pagesize, banksize)
        }\r
 }\r
 \r
+function program_initalize(d, cpu_banksize, ppu_banksize)\r
+{\r
+       cpu_write(d, 0x9000, 0);\r
+       cpu_write(d, 0x8000, 0);\r
+       cpu_command(d, 0, 0x8000, cpu_banksize);\r
+       cpu_command(d, 0x02aa, 0xc000, cpu_banksize);\r
+       cpu_command(d, 0x0555, 0xc000, cpu_banksize);\r
+       cpu_write(d, 0xb000, [0xa, 0x15, 0]);\r
+       cpu_command(d, 0x2aaa, 0x0000, ppu_banksize);\r
+       cpu_command(d, 0x5555, 0x0400, ppu_banksize);\r
+       cpu_command(d, 0, 0x0800, ppu_banksize);\r
+}\r
+\r
+function cpu_transfer(d, start, end, cpu_banksize)\r
+{\r
+       for(local i = start; i < end - 1; i += 1){\r
+               cpu_write(d, 0x8000, i);\r
+               cpu_program(d, 0x8000, cpu_banksize);\r
+       }\r
+       cpu_program(d, 0xc000, cpu_banksize);\r
+}\r
+\r
+function ppu_transfer(d, start, end, ppu_banksize)\r
+{\r
+       for(local i = start; i < end; i +=4){\r
+               cpu_write(d, 0xb004, [i, i+1, i+2, i+3]);\r
+               ppu_program(d, 0x1000, ppu_banksize * 4);\r
+       }\r
+}\r