OSDN Git Service

IREM G-101 (#32) を追加、スクリプトのファイル名にメーカー名をつけるように変更
authornaruko <naruko@24ea1065-a21e-4ca1-99c9-f5125deb0858>
Tue, 9 Jul 2013 23:41:04 +0000 (23:41 +0000)
committernaruko <naruko@24ea1065-a21e-4ca1-99c9-f5125deb0858>
Tue, 9 Jul 2013 23:41:04 +0000 (23:41 +0000)
git-svn-id: svn+ssh://svn.osdn.net/svnroot/unagi@412 24ea1065-a21e-4ca1-99c9-f5125deb0858

22 files changed:
client/trunk/anago/irem_g101.ad [new file with mode: 0644]
client/trunk/anago/konami_vrc1.ad [moved from client/trunk/anago/vrc1.ad with 100% similarity]
client/trunk/anago/konami_vrc2a.ad [moved from client/trunk/anago/vrc2a.ad with 100% similarity]
client/trunk/anago/konami_vrc2b.ad [moved from client/trunk/anago/vrc2b.ad with 100% similarity]
client/trunk/anago/konami_vrc3.ad [moved from client/trunk/anago/vrc3.ad with 100% similarity]
client/trunk/anago/konami_vrc4a.ad [moved from client/trunk/anago/vrc4a.ad with 100% similarity]
client/trunk/anago/konami_vrc4b.af [moved from client/trunk/anago/vrc4b.af with 100% similarity]
client/trunk/anago/konami_vrc4c.ag [moved from client/trunk/anago/vrc4c.ag with 100% similarity]
client/trunk/anago/konami_vrc4d.ad [moved from client/trunk/anago/vrc4d.ad with 100% similarity]
client/trunk/anago/konami_vrc6b.af [moved from client/trunk/anago/vrc6b.af with 100% similarity]
client/trunk/anago/konami_vrc7.ag [moved from client/trunk/anago/vrc7.ag with 100% similarity]
client/trunk/anago/mmc4_fkrom.ae
client/trunk/anago/namcot_340.ad
client/trunk/anago/nintendo_cnrom.af [moved from client/trunk/anago/cnrom.af with 91% similarity]
client/trunk/anago/nintendo_mmc1_skrom.ag [moved from client/trunk/anago/mmc1_skrom.ag with 100% similarity]
client/trunk/anago/nintendo_mmc1_surom.ag [moved from client/trunk/anago/mmc1_surom.ag with 100% similarity]
client/trunk/anago/nintendo_mmc3_tkrom.ag [moved from client/trunk/anago/mmc3_tkrom.ag with 100% similarity]
client/trunk/anago/nintendo_mmc5_ewrom.af [moved from client/trunk/anago/mmc5_ewrom.af with 100% similarity]
client/trunk/anago/nintendo_unrom.af [moved from client/trunk/anago/unrom.af with 100% similarity]
client/trunk/anago/scirpt_workram.h [new file with mode: 0644]
client/trunk/anago/script_dump.c
client/trunk/anago/sunsoft_fme.ad [moved from client/trunk/anago/fme.ad with 100% similarity]

diff --git a/client/trunk/anago/irem_g101.ad b/client/trunk/anago/irem_g101.ad
new file mode 100644 (file)
index 0000000..9cab9ad
--- /dev/null
@@ -0,0 +1,59 @@
+/*\r
+IREM G-101 based cartridge\r
+\r
+$8000-$9fff bank#0, switchable or last - 2\r
+$a000-$bfff bank#1, switchable\r
+$c000-$dfff bank#2, last - 2 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
+*/\r
+\r
+board <- {\r
+       mappernum = 32,\r
+       cpu_rom = {\r
+               size_base = 1 * mega, size_max = 2 * mega,\r
+               banksize = 0x2000\r
+       },\r
+       ppu_rom = {\r
+               size_base = 1 * mega, size_max = 1 * mega,\r
+               banksize = 0x0400\r
+       },\r
+       ppu_ramfind = false,\r
+       vram_mirrorfind = false\r
+};\r
+\r
+function cpu_dump(d, pagesize, banksize)\r
+{\r
+       if(1){\r
+               cpu_write(d, 0x9000, 0);\r
+               for(local i = 0; i < pagesize - 2; i += 2){\r
+                       cpu_write(d, 0x8000, i);\r
+                       cpu_write(d, 0xa000, i | 1);\r
+                       cpu_read(d, 0x8000, banksize * 2);\r
+               }\r
+               cpu_read(d, 0xc000, banksize);\r
+               cpu_read(d, 0xe000, banksize);\r
+       }else{\r
+               cpu_write(d, 0x9000, 2);\r
+               for(local i = 0; i < pagesize - 2; i += 2){\r
+                       cpu_write(d, 0x8000, i);\r
+                       cpu_write(d, 0xa000, i | 1);\r
+                       cpu_read(d, 0xc000, banksize);\r
+                       cpu_read(d, 0xa000, banksize);\r
+               }\r
+               cpu_read(d, 0x8000, banksize);\r
+               cpu_read(d, 0xe000, banksize);\r
+       }\r
+}\r
+function ppu_dump(d, pagesize, banksize)\r
+{\r
+       for(local i = 0; i < pagesize ; i += 8){\r
+               for(local j = 0; j < 8; j += 1){\r
+                       cpu_write(d, 0xb000 + j, i + j);\r
+               }\r
+               ppu_read(d, 0, banksize * 8);\r
+       }\r
+}\r
+\r
index 723daed..3a347e2 100644 (file)
@@ -1,8 +1,10 @@
 /*\r
-HVC-2I Fireemblem Gaiden\r
+HVC-2I Fire Emblem Gaiden\r
+command line option\r
+./anago d22 mmc4_fkrom.ae hvc_2i.nes b\r
 */\r
 board <- {\r
-       mappernum = 10, vram_mirrorfind = false, ppu_ramfind = true,\r
+       mappernum = 10, vram_mirrorfind = false, ppu_ramfind = false,\r
        cpu_rom = {\r
                size_base = 1 * mega, size_max = 2 * mega,\r
                banksize = 0x4000,\r
@@ -19,12 +21,12 @@ board <- {
 \r
 /*\r
 [cpu memmorymap - read]\r
-$6000-$7fff SRAM (battery backup, optional)\r
-$8000-$bfff program ROM bank #1\r
-$c000-$ffff program ROM bank #2 (fixed)\r
+$6000-$7fff SRAM (battery backuped, optional)\r
+$8000-$bfff program ROM bank #0\r
+$c000-$ffff program ROM bank #1 (fixed)\r
 \r
 [cpu memmorymap - write]\r
-$a000-$afff program ROM bank register #1\r
+$a000-$afff program ROM bank register #0\r
 $b000-$bfff charcter ROM bank register #0\r
 $c000-$cfff charcter ROM bank register #1\r
 $d000-$dfff charcter ROM bank register #2\r
index bb279e7..4c5e4a9 100644 (file)
@@ -10,7 +10,7 @@ board <- {
                size_base = 2 * mega, size_max = 4 * mega,\r
                banksize = 0x2000\r
        }, \r
-       cpu_rom = {\r
+       cpu_ram = {\r
                size_base = 0x0800, size_max = 0x0800,\r
                banksize = 0x2000\r
        }, \r
similarity index 91%
rename from client/trunk/anago/cnrom.af
rename to client/trunk/anago/nintendo_cnrom.af
index e8c13fe..5a98190 100644 (file)
@@ -17,8 +17,10 @@ function cpu_dump(d, pagesize, banksize)
 }
 function ppu_dump(d, pagesize, banksize)
 {
+       local security = 0; //0,1,2,3 or don't care
+       security = security << 4;
        for(local i = 0; i < pagesize; i++){
-               cpu_write(d, 0x8000, 0xf0 | i);
+               cpu_write(d, 0x8000, security | i);
                ppu_read(d, 0, banksize);
        }
 }
diff --git a/client/trunk/anago/scirpt_workram.h b/client/trunk/anago/scirpt_workram.h
new file mode 100644 (file)
index 0000000..e2780db
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef _SCRIPT_WORKRAM_H_
+#define _SCRIPT_WORKRAM_H_
+struct workram_config{
+       const wgChar *script, *target;
+       const struct reader_handle *handle;
+       const struct reader_control *control;
+       struct textcontrol log;
+       void (*except)(const wgChar *str);
+       
+       const struct reader_memory_access *access;
+       struct memory memory;
+       long read_count, increase;
+       struct gauge gauge;
+};
+#endif
index fe54466..c81e9c8 100644 (file)
@@ -263,6 +263,15 @@ static SQInteger read_count(HSQUIRRELVM v, const struct textcontrol *l, struct d
                l->append(l->object, wgT("address range must be 0x%06x to 0x%06x"), (int) range_address->start, (int) range_address->end);
                return sq_throwerror(v, wgT("script logical error"));;
        }
+#ifdef DEBUG
+       if(address >= 0x6000 && (address + length) < 0x8000){
+               static int e = 0;
+               if(e == 0){
+                       l->append(l->object, wgT("warning: 0x6000-0x7fff dump as ROM"));
+               }
+               e++;
+       }
+#endif
        t->read_count_byte += length;
        return 0;
 }