From: naruko Date: Tue, 9 Jul 2013 23:41:04 +0000 (+0000) Subject: IREM G-101 (#32) を追加、スクリプトのファイル名にメーカー名をつけるように変更 X-Git-Url: http://git.osdn.net/view?p=unagi%2Fold-svn-converted.git;a=commitdiff_plain;h=39b984ed02a589c6deb341138646adbbb08dcf84 IREM G-101 (#32) を追加、スクリプトのファイル名にメーカー名をつけるように変更 git-svn-id: svn+ssh://svn.osdn.net/svnroot/unagi@412 24ea1065-a21e-4ca1-99c9-f5125deb0858 --- diff --git a/client/trunk/anago/irem_g101.ad b/client/trunk/anago/irem_g101.ad new file mode 100644 index 0000000..9cab9ad --- /dev/null +++ b/client/trunk/anago/irem_g101.ad @@ -0,0 +1,59 @@ +/* +IREM G-101 based cartridge + +$8000-$9fff bank#0, switchable or last - 2 +$a000-$bfff bank#1, switchable +$c000-$dfff bank#2, last - 2 or switchable +$e000-$ffff +note: +Major League PCB maybe ignore write operation to $9000-$9fff +$9000-$9fff write register are fixed to bank #2 = last -2 and VRAM A10 = high +*/ + +board <- { + mappernum = 32, + cpu_rom = { + size_base = 1 * mega, size_max = 2 * mega, + banksize = 0x2000 + }, + ppu_rom = { + size_base = 1 * mega, size_max = 1 * mega, + banksize = 0x0400 + }, + ppu_ramfind = false, + vram_mirrorfind = false +}; + +function cpu_dump(d, pagesize, banksize) +{ + if(1){ + cpu_write(d, 0x9000, 0); + for(local i = 0; i < pagesize - 2; i += 2){ + cpu_write(d, 0x8000, i); + cpu_write(d, 0xa000, i | 1); + cpu_read(d, 0x8000, banksize * 2); + } + cpu_read(d, 0xc000, banksize); + cpu_read(d, 0xe000, banksize); + }else{ + cpu_write(d, 0x9000, 2); + for(local i = 0; i < pagesize - 2; i += 2){ + cpu_write(d, 0x8000, i); + cpu_write(d, 0xa000, i | 1); + cpu_read(d, 0xc000, banksize); + cpu_read(d, 0xa000, banksize); + } + cpu_read(d, 0x8000, banksize); + cpu_read(d, 0xe000, banksize); + } +} +function ppu_dump(d, pagesize, banksize) +{ + for(local i = 0; i < pagesize ; i += 8){ + for(local j = 0; j < 8; j += 1){ + cpu_write(d, 0xb000 + j, i + j); + } + ppu_read(d, 0, banksize * 8); + } +} + diff --git a/client/trunk/anago/vrc1.ad b/client/trunk/anago/konami_vrc1.ad similarity index 100% rename from client/trunk/anago/vrc1.ad rename to client/trunk/anago/konami_vrc1.ad diff --git a/client/trunk/anago/vrc2a.ad b/client/trunk/anago/konami_vrc2a.ad similarity index 100% rename from client/trunk/anago/vrc2a.ad rename to client/trunk/anago/konami_vrc2a.ad diff --git a/client/trunk/anago/vrc2b.ad b/client/trunk/anago/konami_vrc2b.ad similarity index 100% rename from client/trunk/anago/vrc2b.ad rename to client/trunk/anago/konami_vrc2b.ad diff --git a/client/trunk/anago/vrc3.ad b/client/trunk/anago/konami_vrc3.ad similarity index 100% rename from client/trunk/anago/vrc3.ad rename to client/trunk/anago/konami_vrc3.ad diff --git a/client/trunk/anago/vrc4a.ad b/client/trunk/anago/konami_vrc4a.ad similarity index 100% rename from client/trunk/anago/vrc4a.ad rename to client/trunk/anago/konami_vrc4a.ad diff --git a/client/trunk/anago/vrc4b.af b/client/trunk/anago/konami_vrc4b.af similarity index 100% rename from client/trunk/anago/vrc4b.af rename to client/trunk/anago/konami_vrc4b.af diff --git a/client/trunk/anago/vrc4c.ag b/client/trunk/anago/konami_vrc4c.ag similarity index 100% rename from client/trunk/anago/vrc4c.ag rename to client/trunk/anago/konami_vrc4c.ag diff --git a/client/trunk/anago/vrc4d.ad b/client/trunk/anago/konami_vrc4d.ad similarity index 100% rename from client/trunk/anago/vrc4d.ad rename to client/trunk/anago/konami_vrc4d.ad diff --git a/client/trunk/anago/vrc6b.af b/client/trunk/anago/konami_vrc6b.af similarity index 100% rename from client/trunk/anago/vrc6b.af rename to client/trunk/anago/konami_vrc6b.af diff --git a/client/trunk/anago/vrc7.ag b/client/trunk/anago/konami_vrc7.ag similarity index 100% rename from client/trunk/anago/vrc7.ag rename to client/trunk/anago/konami_vrc7.ag diff --git a/client/trunk/anago/mmc4_fkrom.ae b/client/trunk/anago/mmc4_fkrom.ae index 723daed..3a347e2 100644 --- a/client/trunk/anago/mmc4_fkrom.ae +++ b/client/trunk/anago/mmc4_fkrom.ae @@ -1,8 +1,10 @@ /* -HVC-2I Fireemblem Gaiden +HVC-2I Fire Emblem Gaiden +command line option +./anago d22 mmc4_fkrom.ae hvc_2i.nes b */ board <- { - mappernum = 10, vram_mirrorfind = false, ppu_ramfind = true, + mappernum = 10, vram_mirrorfind = false, ppu_ramfind = false, cpu_rom = { size_base = 1 * mega, size_max = 2 * mega, banksize = 0x4000, @@ -19,12 +21,12 @@ board <- { /* [cpu memmorymap - read] -$6000-$7fff SRAM (battery backup, optional) -$8000-$bfff program ROM bank #1 -$c000-$ffff program ROM bank #2 (fixed) +$6000-$7fff SRAM (battery backuped, optional) +$8000-$bfff program ROM bank #0 +$c000-$ffff program ROM bank #1 (fixed) [cpu memmorymap - write] -$a000-$afff program ROM bank register #1 +$a000-$afff program ROM bank register #0 $b000-$bfff charcter ROM bank register #0 $c000-$cfff charcter ROM bank register #1 $d000-$dfff charcter ROM bank register #2 diff --git a/client/trunk/anago/namcot_340.ad b/client/trunk/anago/namcot_340.ad index bb279e7..4c5e4a9 100644 --- a/client/trunk/anago/namcot_340.ad +++ b/client/trunk/anago/namcot_340.ad @@ -10,7 +10,7 @@ board <- { size_base = 2 * mega, size_max = 4 * mega, banksize = 0x2000 }, - cpu_rom = { + cpu_ram = { size_base = 0x0800, size_max = 0x0800, banksize = 0x2000 }, diff --git a/client/trunk/anago/cnrom.af b/client/trunk/anago/nintendo_cnrom.af similarity index 91% rename from client/trunk/anago/cnrom.af rename to client/trunk/anago/nintendo_cnrom.af index e8c13fe..5a98190 100644 --- a/client/trunk/anago/cnrom.af +++ b/client/trunk/anago/nintendo_cnrom.af @@ -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/mmc1_skrom.ag b/client/trunk/anago/nintendo_mmc1_skrom.ag similarity index 100% rename from client/trunk/anago/mmc1_skrom.ag rename to client/trunk/anago/nintendo_mmc1_skrom.ag diff --git a/client/trunk/anago/mmc1_surom.ag b/client/trunk/anago/nintendo_mmc1_surom.ag similarity index 100% rename from client/trunk/anago/mmc1_surom.ag rename to client/trunk/anago/nintendo_mmc1_surom.ag diff --git a/client/trunk/anago/mmc3_tkrom.ag b/client/trunk/anago/nintendo_mmc3_tkrom.ag similarity index 100% rename from client/trunk/anago/mmc3_tkrom.ag rename to client/trunk/anago/nintendo_mmc3_tkrom.ag diff --git a/client/trunk/anago/mmc5_ewrom.af b/client/trunk/anago/nintendo_mmc5_ewrom.af similarity index 100% rename from client/trunk/anago/mmc5_ewrom.af rename to client/trunk/anago/nintendo_mmc5_ewrom.af diff --git a/client/trunk/anago/unrom.af b/client/trunk/anago/nintendo_unrom.af similarity index 100% rename from client/trunk/anago/unrom.af rename to client/trunk/anago/nintendo_unrom.af diff --git a/client/trunk/anago/scirpt_workram.h b/client/trunk/anago/scirpt_workram.h new file mode 100644 index 0000000..e2780db --- /dev/null +++ b/client/trunk/anago/scirpt_workram.h @@ -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 diff --git a/client/trunk/anago/script_dump.c b/client/trunk/anago/script_dump.c index fe54466..c81e9c8 100644 --- a/client/trunk/anago/script_dump.c +++ b/client/trunk/anago/script_dump.c @@ -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; } diff --git a/client/trunk/anago/fme.ad b/client/trunk/anago/sunsoft_fme.ad similarity index 100% rename from client/trunk/anago/fme.ad rename to client/trunk/anago/sunsoft_fme.ad