Merge branch 'master' into waterbox2
Conflicts: BizHawk.Client.EmuHawk/MainForm.Events.cs BizHawk.Client.EmuHawk/MainForm.cs
This commit is contained in:
commit
4ae0b2cd22
|
@ -1,349 +1,27 @@
|
|||
;b - bad dump
|
||||
;v - bad dump (??)
|
||||
;t - translated rom
|
||||
;o - overdump (bad)
|
||||
;i - bios
|
||||
;d - homebrew
|
||||
;h - hack
|
||||
;u - unknown
|
||||
|
||||
;Hash Status Name System ID Notes MetaData Configurations CoreForce[neshawk|quicknes]
|
||||
|
||||
#include gamedb_sega_sms.txt
|
||||
#include gamedb_sega_sg1000.txt
|
||||
#include gamedb_sega_gg.txt
|
||||
#include gamedb_pce_hucards.txt
|
||||
#include gamedb_pce_cd.txt
|
||||
#include gamedb_sega_md.txt
|
||||
#include gamedb_a2600.txt
|
||||
#include gamedb_coleco.txt
|
||||
#include gamedb_gb.txt
|
||||
#include gamedb_gbc.txt
|
||||
#include gamedb_snes.txt
|
||||
#include gamedb_n64.txt
|
||||
#include gamedb_gba.txt
|
||||
#include gamedb_lynx.txt
|
||||
#include gamedb_appleII.txt
|
||||
#include gamedb_psx.txt
|
||||
#include gamedb_coleco.txt
|
||||
#include gamedb_e_cards.txt
|
||||
#include gamedb_intv.txt
|
||||
#include gamedb_gb.txt
|
||||
#include gamedb_gba.txt
|
||||
#include gamedb_gbc.txt
|
||||
#include gamedb_lynx.txt
|
||||
#include gamedb_msx1.txt
|
||||
#include gamedb_msx2.txt
|
||||
#include gamedb_vs.txt
|
||||
#include gamedb_intv.txt
|
||||
|
||||
; ************ NES / Famicom ************
|
||||
|
||||
;games which might be good according to goodNES, but which are almost positively not according to bootgod, who has dumps with different hashes
|
||||
;these we tend to mark as Unknown, because maybe these are variants of the cart which bootgod didnt happen to dump, or maybe bootgod's is wrong (?)
|
||||
sha1:E80FF0B707B0D675FDBEF474E3FDB1A83E2B7C44 U Mississippi Satsujin Jiken (J) NES board=JALECO-JF-11;PRG=128;CHR=32;PAD_H=1
|
||||
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C U Mississippi Satsujin Jiken (Alt) (J) NES board=MAPPER066;PRG=128;CHR=32;PAD_H=1
|
||||
|
||||
;possibly good roms for games which arent in bootgod's db yet, most likely due to obscurity or incompleteness at the present.
|
||||
;when they appear in bootgod's db then we can re-evaluate this category.
|
||||
sha1:91CECCFCAC90E417E9AEE80E8F7B560A20EB33CC Ai Sensei No Oshiete Watashi No Hoshi (J) NES board=IREM-G101;PRG=256;CHR=128;WRAM=8
|
||||
sha1:1E49BDA9CEF18F6F5C2DA34910487713D364AA68 G Pipe 5 (Sachen) NES board=MAPPER160;PAD_H=1;PAD_V=0
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;this is every game from goodNES which is clearly labeled as bad.
|
||||
;well, it isnt very game yet. but we should make it every game, if we can! it would be a lot of games though
|
||||
sha1:984ADAEB85403EEF1BA85CDCF310FAAECEB409A0 B Adventures of Captain Comic, The (Bad Dump) (U) NES board=COLORDREAMS-74*377;PRG=64;CHR=64;WRAM=0;VRAM=0
|
||||
sha1:869111A86FD46872AD8B1BA0ED31B858FA15681F B Adventures of Lolo (Bad Dump) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0
|
||||
sha1:41BD74F739E008D476989C8296BB789EE57658F0 B Adventures of Lolo (Bad Dump 2) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0
|
||||
sha1:10AF069B2AC5DB2FB10768349F4068CB3CDA0EC7 B Airwolf (Bad Dump 1) (U) NES board=NES-SH1ROM;PRG=32;CHR=128
|
||||
sha1:DAD9D1D66018DFB3C30F48741EF188FEFA2B2F68 B Airwolf (Bad Dump 2) (U) NES board=NES-SH1ROM;PRG=32;CHR=128
|
||||
;since the actually good Banana rom is "Banana (J) [hM03][p1][a1]" then we want to be aggressive in marking all these others as bad
|
||||
sha1:84EA60C1FA43AF37B2A20C1FEFCB2D5182EAF3E8 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:F9423CCC1AA711CB06B8F5C66E9304636F5E9B10 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:A8037AED044417DEE8D822A21851058ED37AF6A8 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:8F42BC9919B324A63636BE2FBAD0101D8C720517 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:4EF2C4DAD0897F326E2991D351903A98483BC3C0 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=16
|
||||
sha1:15E04F1BF83D8FE34ECD2B29894C9CF034E6D257 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:C6C6228B16AECB35B0C52467071E04DB3B34C77F B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=8
|
||||
sha1:2801CDE6D10D67889E01161476D80CF5CCC3263E O Ball Hack v.2 2001-03-21 [o1] NES board=HVC-NROM-256;PRG=32;CHR=8
|
||||
sha1:A6E7DB47B9C39E2A5B0A77F34B9AA3BEFDB70D1C O Dr. Mario (JU) (PRG0) NES board=MAPPER001;CHR=32
|
||||
sha1:2BDBD70C1E3EEF115F640B91B22A97BFCDF18B2D B Castlevania III Dracula's Curse (U) (Bad Dump) NES board=MAPPER005;CHR=128
|
||||
sha1:0D0957F7D49E38C298EB5194472B87EFC44BBD46 B Dragon Quest II Akuryou no Kamigami (J) (Bad Dump) NES board=MAPPER002;CHR=0
|
||||
sha1:736C0AEDA14A93A2715BDA1DA6F6C92E6690A5DE B Dragon Quest IV Michibikareshi Monotachi (J) (PRG1) (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:739698BD6050572F24E739A20978E4760CF33E59 B Dragon Quest IV Michibikareshi Monotachi (J) (PRG1) (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:3FB61976847BCA4187DB61F484BF21346B42C95A B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:697ECCCDD178809207726A05A5593D874CA39CA9 B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:E33D3A487678F35E05C0E5DA7E4C30F8FEFA600D B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:3AE0469A8208023DAA32A7BB9925F3C5666FCB2D B Famicom Meijin Sen (J) [a1] NES board=HVC-SKROM;WRAM=8
|
||||
sha1:8CC5894A1E637FA63A63992E188B3797D9300337 B Mighty Bomb Jack (U) (Bad Dump) NES board=NES-CNROM;PRG=32;CHR=32;WRAM=0;PAD_V=1
|
||||
sha1:CAB30771F9CBD89B2FCD06F3B2F5C8F2156BFD8A B Mighty Bomb Jack (U) (Bad Dump) NES board=NES-CNROM;PRG=32;CHR=32;WRAM=0;PAD_V=1
|
||||
sha1:A4CDD4BC37D44CFF1379942CC31DCD89E340B10C B Money Game, The (J) [hFFE][b1] NES board=MAPPER006;PRG=256
|
||||
sha1:8AB1B122FE96865B62290FC838FA2C248D4989FB B 3D Bloack (Unl) [f1] (Bad Dump) NES board=MAPPER000;PAD_H=1
|
||||
sha1:457BA1626EAA58A2370ECD6AB0B83232C098C064 B High Speed (E) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-PAL-B
|
||||
sha1:421EBBFA08FFD5A7A0F4DDEE7868B36DB7FAEE39 B High Speed (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:9979C1333B8A7685CC3CA2BEAFD634B2A88D3AF8 B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:DAB664B59B094FFAABCF24D0388760C09F87495C B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:36405B87E66E18DC432690A5959D4529C14B1AEE B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:9D2391C1F4855E7ECCE0DB5C8B258A43B4E9F84F G Pin Bot (PC10) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:B3537088ED6F8379F2C30CA45061BFCCBA1007B9 B Pin Bot (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:A1E8E80E2F72E606CD7802D809B2FF256578EDE6 B Pin Bot (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:C969BD9F8E4353EE6463221FFDD2BFE4A844134A B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:569907CD308C28CDB178AA525F976656BF0DD886 B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:9C851967BD74E063ED8F44935928911D572527AD B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:2FA61D1FDFCFEC20099EB85C3F45827CA87160D9 B Yong Zhe Dou E Long Dragon Quest V (Ch) (Over Drump) NES board=MAPPER245;VRAM=8;CHR=0;PAD_H=1;BATT=true
|
||||
sha1:79978AA3AD3FE63D41357E62F1E49E4761B3738A B Magical Taruruuto-kun 2 Mahou Daibouken (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:3825786DF3AD8E2C2F0442E42088AC0E494BDA2D B Magical Taruruuto-kun 2 Mahou Daibouken (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:02D4E73DACD3E74CF927C77DF1DB1B7453312CC9 T Captain Tsubasa Vol. II - Super Striker (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:DBD7DBAF79D2A77A09D9D4CF685CBD93281ED468 B Chaos World (Ch) NES board=MAPPER195_CW;VRAM=4;BATT=false;PAD_H=1
|
||||
sha1:944F98A6885CA5160669BF81B9DE710CB16E312D G Chaos World (Ch) NES board=MAPPER195_CW;VRAM=4;BATT=false;PAD_H=1
|
||||
sha1:EA6093FF3B4C7425B792223742DF5C76A657EF08 B Columbus - Ougon no Yoake (Ch) NES board=MAPPER195;VRAM=2;
|
||||
sha1:B367506A7249865DEDB59AFF9B4CE593B3913F0C G Columbus - Ougon no Yoake (Ch) NES board=MAPPER195;VRAM=2;
|
||||
sha1:78EC827CEE61E009F7716ADE03361369FFCE9D12 G Luo Ke Ren X (Sugoro Quest - Dice no Senshitachi) (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:568BF236FB3085B8BD522FBD2C18C7831E3A2DD1 G Q Boy (Sachen) NES board=SACHEN-8259A;VRAM=8
|
||||
sha1:2FA9EF6B8E5C7E1D215F4FF69C6275BDE00DDE76 O Sugoro Quest - Dice no Senshitachi (Ch) [o1] NES board=MAPPER191
|
||||
sha1:0C7CA363EA26632E1A61C7F40E0FE8E8538ED76A G Wei Luo Chuan Qi (Ch) NES board=MAPPER192
|
||||
sha1:F459A9AD6F841169E0210436CEB06B1395169EAB G Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:8711FDC0CE28574C043816721CA32E4A1C722BE4 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:E7803CAC6898C7243F9331E6360B5157BAE673A5 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:16EF1034DB88AD96DDC19C3A84B9E0FDEE466CD4 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:BE8373A0694EB021EBF73D75F8AC63BD8162009A B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:4692A622AF6A3D79514BF3E5FB4E9FBE6C6080FC G 150-in-1 [a1] NES board=MAPPER235
|
||||
sha1:83264E3F8807998D09E9FBA19B13BBEA7C888D88 O Bakushou!! Jinsei Gekijou 3 (J) [o1] NES board=TAITO-TC0190FMC+PAL16R4;WRAM=0
|
||||
sha1:E79FC613112CC5AB0FC8B1150E182670FB042F4A G Contra Fighter (Unl) NES board=MAPPER238
|
||||
sha1:2C512DE4079AF45D7B9218E40BB68E308ABE288C B Magic Johnson's Fast Break (U) NES board=MAPPER001;PRG=64;CHR=128
|
||||
sha1:D2BE67170DDED1E1108EED2D4D8CA9D9CEE9F9E2 G Super Mario Bros 2 (Lost Levels) (Unl) NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:77D5D7A162B61DEFC6B66B6A39B8D51E124AC534 B Tagin' Dragon (Bunch) [b] NES board=COLORDREAMS-74*377;CHR=16;PRG=32;WRAM=0
|
||||
sha1:2028940CF7C757A3A7931A741D5EC79C3554D38C O Wally Bear and the No Gang (AVE) [o] NES board=AVE-NINA-07;WRAM=0
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;these roms are in goodNES but theyre junk. hacks, mostly. ideally we would put ever game from goodNES that was labeled as a hack in a list here.
|
||||
sha1:111D38E2FB41D0B43753E18757D427A91B0DBCB9 H Dragon Ball Z II Gekishin Freeza!! (J) NES board=BANDAI-LZ93D50+24C02;PRG=256;CHR=256;WRAM=0
|
||||
sha1:A907E600CEDA175ECD115B406B28155397A4C1FA H Dragon Ball Z Gaiden Saiya Jin Zetsumetsu Keikaku (CH) NES board=BANDAI-FCG-1;PRG=512;CHR=256;WRAM=0
|
||||
sha1:A13EAF0132905FBE3D0456BB075028A30C084D0E H Dragon Ball Dai Maou Fukkatsu (J) [hFFE] NES board=BANDAI-FCG-1;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:8885F4F00C0B73C156179BCEABA5381487DBEAAD H Spy vs Spy (J) NES board=HVC-CNROM-256K-01;PRG=32;CHR=8;WRAM=8
|
||||
sha1:8C676CC9BEF5B93C5A7630D12B8A5B2FEBCE3438 H Rad Racket Deluxe Tennis II NES board=NINA-06;PRG=32;CHR=32
|
||||
sha1:A1D674D1C7C633A317CFD516EFB9A0350CD0E45E H Arkanoid II (J) NES board=TAITO-74*161/161/32;PRG=128;CHR=128;WRAM=8
|
||||
sha1:4D6117577CE301BB987C5C32FEEF7B132A21B046 H Afro Man (Mega Man 3 Hack) (UNL) NES board=TXROM-HOMEBREW;PRG=256;CHR=128;WRAM=8
|
||||
sha1:7BD102770FE7766BF8430ACDB3C17EE51E30478C H Mike Tyson's Punch-Out!! (Hacked) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0
|
||||
sha1:536D623BA02A622BDE8E2D7D514AE9785B5E0357 H Punch Out!! Kirby (Hack) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0
|
||||
sha1:F2A8BC888B888FA65DFB303126B130422E34942E G Kunio 8-in-1 [p1] NES board=MAPPER045
|
||||
sha1:27AA5F60474600FEE5C1623D4A0985421680C9FE H Mario + Toad (Nuts & Milk Hack) NES board=MAPPER000
|
||||
sha1:B7DD142AF1FBCC81F3FE88C9278BD6C61B615D09 O Death Race (AGCI) (Overdump) NES board=MAPPER144
|
||||
sha1:0FAECB09767528CC2C9CD4FE4EDBD0C6ECEFB999 G Secret Scout in the Temple of Demise (Color Dreams) (Prototype) NES board=MAPPER011_HACKY
|
||||
sha1:87C929090C3B04739BAAED90B9A8F40B29327FC2 G Free Fall (U) (Prototype) NES board=MAPPER011_HACKY
|
||||
sha1:BFE1A8EFE7539B20E09FFD472963F271AC9F2AEC G Mortal Kombat 2 (Unl) NES board=MAPPER090
|
||||
sha1:123105A996B3F325E55B7080DDD83D4CF043E543 G 168-in-1 NES board=MAPPER015
|
||||
sha1:B094D9D20A193BF28BD57A1154EADA84F9F6C9CC G Street Fighter II - The World Warrior (Unl) NES board=MAPPER189
|
||||
sha1:C0CF1CDFEEA5F3529A3126B366DF8E331C804CC7 G Summer Carnival 92 - Recca NES board=MAPPER004
|
||||
sha1:E9CFA35A037CC218F01BFB4A1EB5D1D332EA2AA9 G Family BASIC (J) NES board=HVC-FAMILYBASIC;WRAM=2
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;-
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;heres another idea. let's list rom sets from goodNES, good and bad variants together
|
||||
sha1:98B71119294DA59D1B22723D2D2955D80EADABF4 World Hero (Unl) [!] NES board=MAPPER027
|
||||
sha1:17AC56723F99A646BD44F8C999B23B8A972A3EF2 B World Hero (Unl) [b1] NES board=MAPPER027
|
||||
sha1:5227195D5DB2030758BF67704150E8C5FAF056B1 B World Hero (Unl) [b2] NES board=MAPPER027
|
||||
sha1:AD350F001DB2E3C640B2BD9107B86A8F29B68AC0 G Commandos (Ch) NES board=MAPPER163;
|
||||
sha1:5A91F54A6FF44762D98FC8D8974909D298EB52A8 G Somari (NT-616) (Unl) NES board=MAPPER116;
|
||||
sha1:5F0943DC8145542ABC70BF20E4754B3C08653399 G Meikyuu Jiin Dababa (FDS Conversion) (Unl) NES board=MAPPER108;WRAM=0
|
||||
sha1:95E86C77BB25DD23152D34FD0BB562A09535BE43 G Pyramid (AVE) (PRG1) NES board=MAPPER000
|
||||
sha1:5759A9D658D253C8A6AAA38969C443D66E0F3349 G Dragon Quest III (PRG0) NES board=HVC-SNROM-03
|
||||
sha1:9DF34897D002E8D0E4D53B76154F8CD46927CDF9 G Dragon Quest III (PRG1) NES board=HVC-SNROM-03
|
||||
sha1:B6D1C372A38D196112AA98905C709AD844BD6627 G Super 35-in-1 (y-in-1 VT5201) NES board=MAPPER060
|
||||
sha1:0941ABB51EF88587303DBF018770758ECDDD5C20 G Jovial Race (Sachen) NES board=MAPPER133
|
||||
sha1:D20724A2E2933BEE8E193596688CF86747E0250B B Dragon Ball Z Kyoushuu! Saiya Jin (J) (Bad Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:9F17353EF85590484BBC693517292A15DD30845D B Dragon Ball Z Kyoushuu! Saiya Jin (J) (Bad Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D1E9A66CC7424725AD72B8A04E37B9E72EE2BFB6 O Dragon Ball Z Kyoushuu! Saiya Jin (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:123AA69FE2334A027E48BA658C906BFA4996FA32 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng0.47_Eigo ni Yakusu Productions] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:6DCB35518C0AC42943098A5B417B79C10273D75A T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng1.01_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:726C2C19F7B559AD5220872004B580D8C9574F5A T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng1.1] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D51398EFF4F3F47AFA0527D98882234E10AEDFF4 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Kor20060719_88ktt] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:97DECB4E7C8DE1006F57732D8E83437A9186E500 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Por45%_Tradu-Roms] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:80E314CF4A2FCD5A184D4D168428165C1F844729 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Por100%_RaphFS] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:1D6381D2AA0DF4A5B50E9E2DB7B45785BBB1E48F T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Spa_PaladinKnights] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:15E43BE5F7D328BF3041B52CE38BFC4FF23A1DF1 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D42BA5AEC6E41804FF98D6DFA34B53510A1174FA T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng0.50_TransBRC] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:B1228C5716FB5EE2E0421634A464C927B33493B7 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng0.99_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:8E910216502E0BF9BFBA3E38EAA34FFC2D7EE1AD T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng1.00_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:18BE110CBEA2D665A3FF704BDD4153AE5E5ACE5F T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Kor_88ktt] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:9F601A88A9DFA8EDEC23F67DA60254BE4CBAE64B T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Spa] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:FC7A8824CFDD37F85868C8D8624D8B517A7C3C02 G God Slayer - Haruka Tenkuu no Sonata (Ch) NES board=MAPPER195;WRAM=16;VRAM=4;BATT=true
|
||||
sha1:081D107B5AEFFD4F59108C76FA3942506FA36B1F G Captain Tsubasa Vol. II - Super Striker (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:F99E8B7C7A2174BF0B2330F5457AEE478A938C93 G Captain Tsubasa Vol. II - Super Striker (Ch) [a1] NES board=MAPPER195;VRAM=4
|
||||
sha1:9958BED493E8C5727F96937BF254AC33FA3BCF81 G Captain Tsubasa Vol. II - Super Striker (Ch) [a2] NES board=MAPPER195;VRAM=4
|
||||
sha1:B4AA3F10908DC3D6B8152F5DEB1B8543B8B46BF6 G Captain Tsubasa Vol. II - Super Striker (Ch) [a3] NES board=MAPPER195;VRAM=4
|
||||
sha1:60FC5FA5B5ACCAF3AEFEBA73FC8BFFD3C4DAE558 G Pegasus 5-in-1 (Golden Five) NES board=MAPPER104
|
||||
sha1:BAD382331C30B22A908DA4BFF2759C25113CC26A O Pegasus 5-in-1 (Golden Five) NES board=MAPPER104
|
||||
sha1:6282051DA49C286863463AF105F851AACF896563 G San Guo Zhi 2 (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:71234F9DCA4C31B4E9F0719425963878F3F045C9 G Dragon Ball Z II - Gekishin Freeza!! (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:A907E600CEDA175ECD115B406B28155397A4C1FA G Dragon Ball Z Gaiden - Saiya Jin Zetsumetsu Keikaku (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:D565A9C2B117447C310E4F59E4AFC30DF299EA4F G Street Fighter IV (Unl) NES board=MAPPER208
|
||||
sha1:B9F444FF60F60C177EEEC8671BEC3731B0F6FE49 G Tang Mu Li Xian Ji (Ch) NES board=MAPPER223;WRAM=16
|
||||
sha1:EBD2B4A4067FD4A8F0D0ABD34C8FF1AF520D1EED G Super Blaster VII Turbo 28 (Unl) NES board=MAPPER083;prg=512;chr=256;wram=0;
|
||||
sha1:40409FEC8249EFDB772E6FFB2DCD41860C6CCA23 G Pegasus 4-in-1 (Unl) NES board=MAPPER232
|
||||
sha1:7EF667D9BF107B6512565177B9C62081077558F5 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi] NES board=MAPPER198
|
||||
sha1:92CC033C1255F119B3A566EDCA10140C014FA479 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi][a1] NES board=MAPPER198
|
||||
sha1:EEF617A022B8E45E0BDE088FED654C89AD4FAABF T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi][a2] NES board=MAPPER198
|
||||
sha1:3D49A357362160B16F03CC4BE7D8EAFB7108708D T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi(Trad)] NES board=MAPPER198
|
||||
sha1:7FB334A7375E17EA157415193DEE4FACC4EC2B34 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi(Simp)] NES board=MAPPER198
|
||||
sha1:D8684D302F17843031151DE38D609646CAE4753C O Don Doko Don 2 (J) [o1] NES board=MAPPER048
|
||||
sha1:12DDD9EDB8894C200C9D89B9EE5673F1202ABA19 Falsion (FDS Conversion, Whirlwind Manu) (Unl) NES board=MAPPER108;WRAM=0
|
||||
sha1:D6E9F3722CFA26CBC582649F197D780809F575CA O Family Circuit '91 (J) [o1] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:387E7B477F5A61A165A41CD2BFE8A467B3816323 O Family Circuit '91 (J) [o2] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:68ADA89BC7539679871AD14C5C1FFADF04D71280 O Family Circuit '91 (J) [o3] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C B Mississippi Satsujin Jiken (J) [h2] NES board=MAPPER066
|
||||
sha1:C1F7AD0A347078B9213B2748D4ADFF33305A6647 O Mississippi Satsujin Jiken (J) [h2][o1] NES board=MAPPER066
|
||||
sha1:4BBD4C55C37F531031177DE51F007B10418AD760 O Pyramid (AVE) (PRG1) [o1] NES board=MAPPER000
|
||||
sha1:BAF860940369C54B3FF547DA7E759515015B1131 O Pyramid (AVE) (PRG1) [o2] NES board=MAPPER000
|
||||
sha1:2B34E0F405629055E4FF2B2B1C0EBE015D866344 H Rabbi Harrel Groberklotz (Gumshoe Hack) NES board=MAPPER066;WRAM=0
|
||||
sha1:DA3644C99D462833E4EEF826D8700AF278609C10 G Super 2-in-1 (Soccer Game & Crazy Dance) (Unl NES board=MAPPER178
|
||||
sha1:CE11161FE2B41008F55FC9D29E093C347E78EBC4 T Super Mario Bros 2 (Lost Levels) (Unl) [T+Rus_Cool-Spot] NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:43E3ED6480E7BF32FFAF1AEBC7F534E0A9B775E6 T Super Mario Bros 2 (Lost Levels) (Unl) [T+Rus_Cool-Spot][a1] NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:F32E366828DCA94A612DD39613858DD8E26FA2DC T Thunder & Lightning (U) [t1] NES board=MAPPER066;WRAM=0
|
||||
sha1:8554112E83B5978F5D4EC6E4551F390D5F698E00 B U-Force Power Games (U) (Prototype2) (Defaced by NA) [b1] NES board=NES-GNROM;WRAM=0
|
||||
sha1:A6A0A3DC8438558FA5DA3AF8D3349AA8CF080404 Xi You Ji Hou Zhuan (Ch) NES board=MAPPER162
|
||||
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 B 800-in-1 [p1][b1] NES board=MAPPER236
|
||||
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 G 800-in-1 [p1][U] NES board=MAPPER236;VRAM=8
|
||||
sha1:BD167D1BCC9A008D04136EB91396EBEBCAC976E2 B R.B.I. Baseball (Tengen) [b] NES board=TENGEN-800002;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:DEE958845DC528BED899557FB2A8A3B61F1BA7D1 Bao Xiao San Guo (Ch) [a4] NES board=WAIXINGMAPPER176
|
||||
sha1:2EADA3C0D800A40C1CE5DB96A31A43196ED7A97B Kou Dai Jing Ling - Fei Cui (Ch) [a2] NES board=WAIXINGMAPPER176
|
||||
sha1:237C2C026A10B3CEBFF96516FC67E4F446676D47 Meng Huan Zhi Xing IV (ES-1006) (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:2FA7C0E60634C12EF54D857BF7AF45D4971066FE Po Fu Chen Zhou (ES-1092) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:A8010B1EE3C5362F606A47604CC49E5D7EAC9E46 B Pocket Monsters Red (Ch) (Decrypted) [b1] NES board=WAIXINGMAPPER176
|
||||
sha1:A50411EDCC088D55B35A62ABD62D4FF1A0B4ED22 Shu Qi Yu - Shu Xue Xiao Zhuan Yuan (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:5BDE83532F9E3B885C4D2C130F8981DD04E5A159 Shu Qi Yu - Zhi Li Xiao Zhuan Yuan (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:91E51788E980A8AD5A8A829E270504C9571B72CF Shui Hu Shen Shou (ES-1087) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:DB92A34E6941D99B796FBE6C6C26F7D09C2BC2EE Xi Chu Ba Wang (ES-1066) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:7235F3F8F0CA37B7C1EE6923A6DA272C08E0C817 Xiong Ba Tian Xia (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:71511ECB1E5D99F38A04EC9291B1ABD4B512C42D P Bubble Bobble (FDS Conversion, Kaiser Hacked) (Unl) [p1] NES board=MAPPER108;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:8F6CF72F9A829177A67DAAD4A083CADA3ED8B587 P Doraemon (J) (PRG0) [p3] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:E1935AD60CAFAEEC8A8301A607B373754D770E2E T Doraemon (J) (PRG0) [T+Eng] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:06A243B7FFE2CA5F96C4D324742BD6F349D7589E T Doraemon (J) (PRG0) [t2] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:BD43811A68799DBC45A53A006C35167D19C0919C T Doraemon (J) (PRG0) [t3] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:CB83577AAB5465EC7AD0AEF859A03444BA509386 T Doraemon (J) (PRG1) [T+Rus_Chief-Net] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:C78A7629779AF2EA2D9870524E6A79C0CD2E0213 T Jajamaru no Daibouken (J) [T+Chi_nineswords] NES board=MAPPER066;WRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:A78D32B5FD43DCABA07A9152BF12EC9BFF2D37FD T Jajamaru no Daibouken (J) [hM66][T+Eng1.00_Aishsha] NES board=MAPPER066;WRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:2D8F4656698937A7616A61D82B47232D939E68EA P AV Mahjongg (Hacker) NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E365A1F87EDFE8A68F23D8521CBDBE56EC3D76A3 T AV Mahjongg (Hacker) [T+Chi] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:D540F1050055C74B68CA02F3BA215E23ED859560 B AV Mahjongg (Hacker) [b1][T+Chi] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E8BDD327FA96576F501914BDF455C477EC2A20B4 B AV Mahjongg (Hacker) [b1] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E816367A8CAC2AC470CEEBA8C8DC00CEC8C7009E T AV Mahjongg (Hacker) [T+Chi][a1] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:315ACE4AD8AC09B7ABA2815F93EEB8AD97BA1D38 H Fish Fall (Free Fall Hack) NES board=MAPPER011_HACKY
|
||||
sha1:F59E68705F6A6346E18A071884A21A6289754EB7 G Free Fall (U) (Prototype) (Earlier) NES board=MAPPER011_HACKY
|
||||
sha1:4FB14A3DBCE888BB1F95570BE45317ED1513FE89 B Free Fall (U) (Prototype) [b1] NES board=MAPPER011_HACKY
|
||||
sha1:88A3624F48A2780B2C2A9D742B2185C3B31FB3D7 H Handy (Free Fall Hack) NES board=MAPPER011_HACKY
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;obscure and unlicensed roms which are not likely to be in bootgod's DB anytime soon but which are nonetheless "good" as far as things go
|
||||
;people like these games (especially vast quantities of chinese oddities) so its important to add them here as good
|
||||
sha1:D09EF8127C64CBE817B45DF33C4D43E7B441E381 Final Fantasy V (Unl) NES board=MAPPER164;PRG=512;CHR=0;WRAM=8;PRAM=8;PAD_V=1
|
||||
sha1:92D9695FEB774F60965A8303CFE3E6AAEE7B7B62 Magic Dragon (Unl) NES board=MAPPER107;PRG=128;CHR=64;WRAM=8;PAD_H=1
|
||||
sha1:6DF9AECF5787C0833B0F05A9A83D0E58A6153977 Rumblestation 15-in-1 (Unl) NES board=MAPPER046;PRG=1024;CHR=1024;WRAM=0
|
||||
sha1:E4BFD5AB3C3649DBD36B9A7280CF431641BCBCEC Peek-A-Boo Poker (Unl) NES board=NES-CNROM;PRG=32;CHR=24;WRAM=0
|
||||
sha1:39294394A0631708F58397371CE14075AE1FB7E6 Peek-A-Boo Poker (Panesian) NES board=NES-CNROM;PRG=32;CHR=64;WRAM=0
|
||||
sha1:C87E7E6A68DD9C7E24652CD2C7D390A14E8ADF04 Lagrange Point NES board=KONAMI-VRC-7;PRG=512;CHR=0;WRAM=8;PRAM=8;PCB=352402;BATT=true
|
||||
sha1:2E0889131DA5BA9505A15B94887113F4360D98CD Shin Samurai Spirits 2 Haoumaru Jigoku Hen (Unl) NES board=MAPPER209;PRG=128;CHR=512;WRAM=8
|
||||
sha1:EB35202CC4E9C2FAC320B04F36F3A6858B8916F2 Super Bros. 8 NES board=MAPPER048;
|
||||
sha1:F949FC16932808C426074AB1628F246B0435C52C Flintstones, The Rescue of Dino & Hoppy (J) NES board=MAPPER048;
|
||||
sha1:9C801071D1AAC7B280468C38BF1B61FDE99B5FD0 Yong Zhe Dou E Long Dragon Quest VII (Ch) NES board=MAPPER245;
|
||||
sha1:C282206800426557E7DD66ABF70FEAB6FE9DA1B2 San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:E6F080CCF09C62C038D35E3BD503C4E57E716571 B San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:E2BFF2002F2DD0AA184D5791D008A1350C477AE0 B San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:B37E6002EF84C172DB413DF4B41451192ADBDC36 Shen Hua Jian Yun III (Ch) NES board=MAPPER253;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:CE1B236ED0EAC133A3DE5411AEF57228220885EF G Super Sonic 5 (1997) (Unl) NES board=MAPPER121
|
||||
sha1:37DC34A1069B5B62BAC41DB66F47745E3A1E442B SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [b1] NES board=MAPPER159;
|
||||
sha1:89C57A4144E038565707A4B3B5B9505C7E4F3C70 SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [T+Eng0.10_Assassin_Productions] NES board=MAPPER159;
|
||||
sha1:CFB4626E7794F1276ABF5DB7806FCE61EFEBFE98 Street Heroes (Sachen) [U][!] NES board=UNIF_UNL-SHERO;VRAM=16;
|
||||
sha1:56CBA51568B0F1458AA7E0DE6575D1225E40F7A1 3D Block (Unl) [a1][!] NES board=MAPPER219;PRG=32;CHR=0;VRAM=8;PAD_V=0;PAD_H=1
|
||||
sha1:0E7A314D43B53ABCCFF7B38A1AA8BD0CFA612346 Pocahontas 2 NES board=Pocahontas
|
||||
sha1:0E78391D3036D71C8241DB0206E7747F4E3892DC Poker III NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:11419605C942FC9DCB4F93A329C13E3BD5D62403 Poker III NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:F9E15D09D5F49E52185BA10B4F98A342B2606870 Mei Nu Quan (Honey Peach) (Sachen) [b1] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:52EBAFAD0B70E6BB41CCDBC0DFC8420C12D64AC5 Mei Nu Quan (Honey Peach) (Sachen) [b2] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:079E58CEDD3D182E8591A33EE8FAD6F227960838 Mei Nu Quan (Honey Peach) (Sachen) [a1] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:E8BB03BA4ABED34FF451A1D086352719BAC6564F San Guo Zhi 2 (Ch) [T+Chi2.3] NES board=MAPPER199;VRAM=8
|
||||
sha1:8996AEA69D459AC181F1B3F4EF56DEA20FFF0A40 Silva Saga (J) [T+ChS] NES board=MAPPER199;VRAM=8
|
||||
sha1:3F85C45797E8AA0F161A4BD350BFF5777B3A19A8 Zu Qiu Xiao Jiang (Ch) [f1] NES board=MAPPER195;VRAM=4
|
||||
sha1:A43A2203F4F7E0FE729CE520FBD75A05206AC9F2 Zu Qiu Xiao Jiang (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:A2F36A9CA3914F1C9184A85E914D7A163DAA135B B 46-in-1 (D1038) [p1][b1] NES board=MAPPER060
|
||||
sha1:C403AA673405583FD18A0DA5E3E6275786E04128 B 65-in-1 (NT766) [p1][b1] NES board=MAPPER060
|
||||
sha1:7E46FBE4713E9391293521CF2B852C80DBEBCD7F B 74-in-1 (NT886) [p1][b1] NES board=MAPPER060
|
||||
sha1:81D72ACD08A6255AE44639D40D6D90C1EFCF61AF B 77-in-1 (NT141) [p1][b1] NES board=MAPPER060
|
||||
sha1:1C3771B7F116F439D684D04DF792570271C93F86 75 Bingo (Sachen-English) [U] NES board=Sachen_CNROM
|
||||
sha1:4097D5A814308E39D592466B60B64862699CC22A 2-in-1 - Yuu Yuu + Dragonball Z [p1][!] NES board=MAPPER023_BMC
|
||||
sha1:4C499A857087E6C121522435786792A2E4105AC1 Fuuun Shaolin Kyo (FDS Conversion) (Unl) [U][!] NES board=UNIF_UNL-LH10;WRAM=8;VRAM=8
|
||||
sha1:CAAC1E829133851648BA7C7CD6EAA7D26A464999 Metal Fighter (Asia) (Unl) (Sachen) NES board=UNIF_UNL-SA-016-1M;PRG=32;CHR=32;PAD_V=0;PAD_H=1
|
||||
sha1:B9902886D1739983B315B67B02133E44620E4381 Challenge of the Dragon (Asia) (PAL) (Unl) NES board=MAPPER147;PAD_V=0;PAD_H=1;system=NES-PAL
|
||||
sha1:0CDE48DB89896946F0C2E78936EA290348994ED5 Pipemania (Australia) (HES) (Unl) NES board=MAPPER113;PRG=32;CHR=16;WRAM=0;VRAM=0
|
||||
sha1:E843AB3D779D4F0BB1F933D6EE99DAA526EFBCF1 Gaiapolis (Asia) (Unl) NES board=UNIF_NES-TLROM;PRG=128;CHR=256;WRAM=0;VRAM=0
|
||||
sha1:68ABE1E49C9E9CCEA978A48232432C252E5912C0 Dancing Blocks (Asia) (PAL) (Unl) NES board=MAPPER143;PAD_V=1;PAD_H=0;system=NES-PAL
|
||||
sha1:B21CFE30197727C1C8E8DB6D28AD696A708F8FF5 Pyramid II (Asia) (PAL) (Unl) NES board=MAPPER146
|
||||
sha1:7117413766ABC02F3BB767C2CE96065B6F3CBA85 Silent Assault (Asia) (PAL) (Unl) NES board=MAPPER146;PAD_V=0;PAD_H=1;system=NES-PAL
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;positively good roms which for one reason or another arent in bootgod's DB
|
||||
|
||||
;probably missing due to obscurity
|
||||
sha1:977286FDC76C34A618E2A2D0270641BC36CFE89C Nintendo World Championships 1990 NES board=NES-EVENT;PRG=256;CHR=0;WRAM=8;VRAM=8
|
||||
|
||||
;these are from the 2002 konami collection and castlevania at least has a published TAS. presumably these are good, as they came from a PC game
|
||||
sha1:EC652EE1660E527098102E26A36A8B9B7BB3943F Castlevania (Konami Collection 2002) NES board=NES-UNROM;PRG=128;WRAM=0;VRAM=8;PAD_H=1
|
||||
sha1:B5C4E5E858113F5AA5E063BC79A12D7F6B856E6C Contra (Konami Collection 2002) NES board=NES-UNROM;PRG=128;WRAM=0;VRAM=8;PAD_H=1
|
||||
|
||||
;chinese shit
|
||||
sha1:BFA31777E077E64AF0E274B5A22B57C6765D36E1 Fan Kong Jing Ying (Unl) (Ch) NES board=MAPPER241;MIR=H
|
||||
sha1:17473C223453D2D80FCB9DCFA317947287DC5C52 Xing He Zhan Shi (Ch) NES board=MAPPER176
|
||||
sha1:0B58E16B7FD5ABE62B1D9B1841875582DF5A9195 Ying Lie Qun Xia Zhuan (Ch) NES board=MAPPER192
|
||||
sha1:27CB8AEAF0EA97A6C69D3D90BC056C5EB61695F6 Dai-2-Ji Super Robot Taisen (Ch) NES board=MAPPER194;VRAM=2
|
||||
sha1:F5FA7807F2B70ADFE5707D9BF88F90DAC1436DB0 Di 4 Ci Ji Qi Ren Dai Zhan (Ch) NES board=MAPPER074;VRAM=2
|
||||
sha1:A9887C308C5D0659C3AA45D003A603C9DFFB148A B Ji Jia Zhan Shi (Asia) NES board=MAPPER074;VRAM=2
|
||||
sha1:5084F25F14A61AB2799BD85D363B57B9B494601D Ji Jia Zhan Shi (Asia) NES board=MAPPER074;VRAM=2
|
||||
sha1:6143D80047FFC17C752078C622A44C3E0CB7466E B Dong Fang de Chuan Shuo The Hyrule Fantasy (Asia) NES board=MAPPER245
|
||||
sha1:CEFEBA536DB507DBDEF8A538F9C332D7A75BF613 You Ling Xing Dong (Ch) NES board=MAPPER192;VRAM=4
|
||||
sha1:DBFCC70CC2DEC7A889429ED542267F0F1BD967BF Ying Xiong Chuan Qi (Ch) NES board=MAPPER224
|
||||
sha1:FFB4706E49B826C6CDD12E502E8AE94FC9810B7F Monty no Doki Doki Daisassou (FDS Conversion) (Unl) [U][!] NES board=UNIF_UNL-LH32;WRAM=8;VRAM=8;PAD_H=1
|
||||
sha1:17473C223453D2D80FCB9DCFA317947287DC5C52 Xing He Zhan Shi (China) (Unl) NES board=WAIXINGMAPPER176
|
||||
|
||||
;wrong vram info
|
||||
sha1:32D71DD6C5A8D78A918FE1B9D6D6C4A570D9652D Oeka Kids Anpanman no Hiragana Daisuki (J) NES board=MAPPER096;VRAM=32
|
||||
sha1:77B887BD5935204C72869365EAF99708E1B13EB1 Super 24-in-1 [U][p1][!] NES board=UNIF_BMC-Super24in1SC03;VRAM=8;
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;it works, so don't laugh
|
||||
sha1:203523818A348361584CDEBE47AEB860808757FC U Jurassic Boy 2 (Sachen) NES board=NES-TR1ROM;VRAM=8
|
||||
|
||||
;wrong mirroring, no bootgod entry
|
||||
sha1:C1D82F6BE8AF524F951FC7C9D41604E59F9FE92A G Dragon Wars (USA) (Proto) NES board=MAPPER004;PAD_H=0;PAD_V=0
|
||||
sha1:22FCC2D33F6715D63E04235A0A7CCB0C8DC489C5 Mortal Kombat 3 Extra 60 (Unl) [!] NES board=MK3E60;PAD_H=1;PAD_V=0
|
||||
sha1:8928F7293C12EE7D3FC90BECC68AE5261802EAA6 AV Super Real Pachinko (Unl) NES board=MAPPER066;PAD_H=0;PAD_V=1
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;mmc3 homebrews that need chip specification
|
||||
sha1:35C157A921156E47FD3F6573D150F54108D0EDFC Blargg's 5.MMC3_rev_A.nes NES board=MAPPER004;MMC3=MMC3A
|
||||
sha1:0E971E2CCAD1DEE51A0C305ED38FAFD2E6CA3B41 Blargg's 6.MMC3_rev_B.nes NES board=MAPPER004;MMC3=MMC3B
|
||||
sha1:F794FDA12D34E611D58E652319ED583AE61B81E0 Blargg's 6-MMC6.nes NES board=MAPPER004_MMC6
|
||||
sha1:2F29F3DC724027FAD926BC9D4470A481884E42A5 Blargg's 6-MMC6.nes (newer) NES board=MAPPER004_MMC6
|
||||
sha1:6F3184ACDC7333683D459C7613CA1C235CEAFD3F Aladdin (SuperGame) (Mapper 4) [!] NES board=MAPPER004;MMC3=MMC3A
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;datach stuff
|
||||
29CC759D5CA214EEFC0CC1C6CE0F8B9111E58124 Datach Battle Rush Build Up Robot Tournament NES board=MAPPER157
|
||||
87478B635FEFB25FA13C4876E20F505A97426C1B B Datach Dragon Ball Z Gekitou Tenkaichi Budou Kai NES board=MAPPER157
|
||||
B2089533E05FE95814D0D77F2729944CBEB95988 Datach J League Super Top Players NES board=MAPPER157
|
||||
EDD7A45A7F27E396B6D686F1861642D509863132 Datach SD Gundam Gundam Wars NES board=MAPPER157
|
||||
533170D5EB685231CCD27B9C136FFA4FAD68A7B8 Datach Ultraman Club Supokon Fight! NES board=MAPPER157
|
||||
43315F18A514F0EF1D84EFE9C8D4483B57BA712C Datach Ultraman Club Supokon Fight! NES board=MAPPER157
|
||||
74218AAE93E4FEBFB2284BCF15811453418A2029 Datach Yuu Yuu Hakusho Bakutou Ankoku Bujutsu Kai NES board=MAPPER157
|
||||
6F3C65BD945FE13305A7A39D8CD884A5BF314A8F Datach Crayon Shin Chan Ora to Poi Poi NES board=MAPPER157
|
||||
1218C891DEE878C18D31D38D07CAD5FB06B3B2CE Datach Yuu Yuu akusho Baktutou NES board=MAPPER157
|
||||
|
||||
;testrom
|
||||
sha1:E925A172C29DD46BA385D526F3C317DB039FA2BF mmc1_a12 NES board=NES-SNROM
|
||||
|
||||
; ArcadePit hacks
|
||||
; Why does this one need NesHawk?
|
||||
sha1:90acbbdfad1465032dfff77175320bab8aa4adb7 H Mike Tyson's Punch-Out!! [Buck Edit] (USA) NES NesHawk
|
||||
|
||||
#include gamedb_goodnes.txt
|
||||
|
||||
#include gamedb_n64.txt
|
||||
#include gamedb_nes.txt
|
||||
#include gamedb_pce_cd.txt
|
||||
#include gamedb_pce_hucards.txt
|
||||
#include gamedb_psx.txt
|
||||
#include gamedb_sega_sg1000.txt
|
||||
#include gamedb_sega_gg.txt
|
||||
#include gamedb_sega_sms.txt
|
||||
#include gamedb_sega_md.txt
|
||||
#include gamedb_snes.txt
|
||||
#include gamedb_user.txt
|
||||
#include gamedb_ws.txt
|
||||
#include gamedb_wsc.txt
|
||||
|
||||
; ************ TI-83 ************
|
||||
|
||||
|
@ -362,7 +40,4 @@ D4448D09BBFDE687C04F9E3310E023AB TI-83 v1.07 TI83 initPC=6ce
|
|||
C94257E7 B Looney Tunes - Sheep Raider (STATiC Dump) PSX dh=00000000
|
||||
829A295C B Monster Rancher 2 (U) (EXE Patched) PSX dh=00000000
|
||||
|
||||
#include gamedb_neshomebrew.txt
|
||||
#include gamedb_user.txt
|
||||
#include gamedb_ws.txt
|
||||
#include gamedb_wsc.txt
|
||||
|
||||
|
|
|
@ -0,0 +1,349 @@
|
|||
#include gamedb_goodnes.txt
|
||||
#include gamedb_neshomebrew.txt
|
||||
#include gamedb_vs.txt
|
||||
|
||||
|
||||
;b - bad dump
|
||||
;v - bad dump (??)
|
||||
;t - translated rom
|
||||
;o - overdump (bad)
|
||||
;i - bios
|
||||
;d - homebrew
|
||||
;h - hack
|
||||
;u - unknown
|
||||
|
||||
;Hash Status Name System ID Notes MetaData Configurations CoreForce[neshawk|quicknes]
|
||||
|
||||
; ************ NES / Famicom ************
|
||||
|
||||
;games which might be good according to goodNES, but which are almost positively not according to bootgod, who has dumps with different hashes
|
||||
;these we tend to mark as Unknown, because maybe these are variants of the cart which bootgod didnt happen to dump, or maybe bootgod's is wrong (?)
|
||||
sha1:E80FF0B707B0D675FDBEF474E3FDB1A83E2B7C44 U Mississippi Satsujin Jiken (J) NES board=JALECO-JF-11;PRG=128;CHR=32;PAD_H=1
|
||||
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C U Mississippi Satsujin Jiken (Alt) (J) NES board=MAPPER066;PRG=128;CHR=32;PAD_H=1
|
||||
|
||||
;possibly good roms for games which arent in bootgod's db yet, most likely due to obscurity or incompleteness at the present.
|
||||
;when they appear in bootgod's db then we can re-evaluate this category.
|
||||
sha1:91CECCFCAC90E417E9AEE80E8F7B560A20EB33CC Ai Sensei No Oshiete Watashi No Hoshi (J) NES board=IREM-G101;PRG=256;CHR=128;WRAM=8
|
||||
sha1:1E49BDA9CEF18F6F5C2DA34910487713D364AA68 G Pipe 5 (Sachen) NES board=MAPPER160;PAD_H=1;PAD_V=0
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;this is every game from goodNES which is clearly labeled as bad.
|
||||
;well, it isnt very game yet. but we should make it every game, if we can! it would be a lot of games though
|
||||
sha1:984ADAEB85403EEF1BA85CDCF310FAAECEB409A0 B Adventures of Captain Comic, The (Bad Dump) (U) NES board=COLORDREAMS-74*377;PRG=64;CHR=64;WRAM=0;VRAM=0
|
||||
sha1:869111A86FD46872AD8B1BA0ED31B858FA15681F B Adventures of Lolo (Bad Dump) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0
|
||||
sha1:41BD74F739E008D476989C8296BB789EE57658F0 B Adventures of Lolo (Bad Dump 2) (U) NES board=NES-SEROM;PRG=32;CHR=32;WRAM=0;VRAM=0
|
||||
sha1:10AF069B2AC5DB2FB10768349F4068CB3CDA0EC7 B Airwolf (Bad Dump 1) (U) NES board=NES-SH1ROM;PRG=32;CHR=128
|
||||
sha1:DAD9D1D66018DFB3C30F48741EF188FEFA2B2F68 B Airwolf (Bad Dump 2) (U) NES board=NES-SH1ROM;PRG=32;CHR=128
|
||||
;since the actually good Banana rom is "Banana (J) [hM03][p1][a1]" then we want to be aggressive in marking all these others as bad
|
||||
sha1:84EA60C1FA43AF37B2A20C1FEFCB2D5182EAF3E8 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:F9423CCC1AA711CB06B8F5C66E9304636F5E9B10 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:A8037AED044417DEE8D822A21851058ED37AF6A8 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:8F42BC9919B324A63636BE2FBAD0101D8C720517 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:4EF2C4DAD0897F326E2991D351903A98483BC3C0 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=16
|
||||
sha1:15E04F1BF83D8FE34ECD2B29894C9CF034E6D257 B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=32
|
||||
sha1:C6C6228B16AECB35B0C52467071E04DB3B34C77F B Banana (J) [hM03] NES board=HVC-CNROM;PRG=32;CHR=8
|
||||
sha1:2801CDE6D10D67889E01161476D80CF5CCC3263E O Ball Hack v.2 2001-03-21 [o1] NES board=HVC-NROM-256;PRG=32;CHR=8
|
||||
sha1:A6E7DB47B9C39E2A5B0A77F34B9AA3BEFDB70D1C O Dr. Mario (JU) (PRG0) NES board=MAPPER001;CHR=32
|
||||
sha1:2BDBD70C1E3EEF115F640B91B22A97BFCDF18B2D B Castlevania III Dracula's Curse (U) (Bad Dump) NES board=MAPPER005;CHR=128
|
||||
sha1:0D0957F7D49E38C298EB5194472B87EFC44BBD46 B Dragon Quest II Akuryou no Kamigami (J) (Bad Dump) NES board=MAPPER002;CHR=0
|
||||
sha1:736C0AEDA14A93A2715BDA1DA6F6C92E6690A5DE B Dragon Quest IV Michibikareshi Monotachi (J) (PRG1) (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:739698BD6050572F24E739A20978E4760CF33E59 B Dragon Quest IV Michibikareshi Monotachi (J) (PRG1) (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:3FB61976847BCA4187DB61F484BF21346B42C95A B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:697ECCCDD178809207726A05A5593D874CA39CA9 B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:E33D3A487678F35E05C0E5DA7E4C30F8FEFA600D B Dragon Warrior IV (Bad Dump) NES board=MAPPER001;PRG=512
|
||||
sha1:3AE0469A8208023DAA32A7BB9925F3C5666FCB2D B Famicom Meijin Sen (J) [a1] NES board=HVC-SKROM;WRAM=8
|
||||
sha1:8CC5894A1E637FA63A63992E188B3797D9300337 B Mighty Bomb Jack (U) (Bad Dump) NES board=NES-CNROM;PRG=32;CHR=32;WRAM=0;PAD_V=1
|
||||
sha1:CAB30771F9CBD89B2FCD06F3B2F5C8F2156BFD8A B Mighty Bomb Jack (U) (Bad Dump) NES board=NES-CNROM;PRG=32;CHR=32;WRAM=0;PAD_V=1
|
||||
sha1:A4CDD4BC37D44CFF1379942CC31DCD89E340B10C B Money Game, The (J) [hFFE][b1] NES board=MAPPER006;PRG=256
|
||||
sha1:8AB1B122FE96865B62290FC838FA2C248D4989FB B 3D Bloack (Unl) [f1] (Bad Dump) NES board=MAPPER000;PAD_H=1
|
||||
sha1:457BA1626EAA58A2370ECD6AB0B83232C098C064 B High Speed (E) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-PAL-B
|
||||
sha1:421EBBFA08FFD5A7A0F4DDEE7868B36DB7FAEE39 B High Speed (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:9979C1333B8A7685CC3CA2BEAFD634B2A88D3AF8 B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:DAB664B59B094FFAABCF24D0388760C09F87495C B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:36405B87E66E18DC432690A5959D4529C14B1AEE B High Speed (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8;PAD_V=0;PAD_H=0;system=NES-NTSC
|
||||
sha1:9D2391C1F4855E7ECCE0DB5C8B258A43B4E9F84F G Pin Bot (PC10) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:B3537088ED6F8379F2C30CA45061BFCCBA1007B9 B Pin Bot (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:A1E8E80E2F72E606CD7802D809B2FF256578EDE6 B Pin Bot (U) (Bad Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:C969BD9F8E4353EE6463221FFDD2BFE4A844134A B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:569907CD308C28CDB178AA525F976656BF0DD886 B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:9C851967BD74E063ED8F44935928911D572527AD B Pin Bot (U) (Over Dump) NES board=NES-TQROM;WRAM=0;VRAM=8
|
||||
sha1:2FA61D1FDFCFEC20099EB85C3F45827CA87160D9 B Yong Zhe Dou E Long Dragon Quest V (Ch) (Over Drump) NES board=MAPPER245;VRAM=8;CHR=0;PAD_H=1;BATT=true
|
||||
sha1:79978AA3AD3FE63D41357E62F1E49E4761B3738A B Magical Taruruuto-kun 2 Mahou Daibouken (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:3825786DF3AD8E2C2F0442E42088AC0E494BDA2D B Magical Taruruuto-kun 2 Mahou Daibouken (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:02D4E73DACD3E74CF927C77DF1DB1B7453312CC9 T Captain Tsubasa Vol. II - Super Striker (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:DBD7DBAF79D2A77A09D9D4CF685CBD93281ED468 B Chaos World (Ch) NES board=MAPPER195_CW;VRAM=4;BATT=false;PAD_H=1
|
||||
sha1:944F98A6885CA5160669BF81B9DE710CB16E312D G Chaos World (Ch) NES board=MAPPER195_CW;VRAM=4;BATT=false;PAD_H=1
|
||||
sha1:EA6093FF3B4C7425B792223742DF5C76A657EF08 B Columbus - Ougon no Yoake (Ch) NES board=MAPPER195;VRAM=2;
|
||||
sha1:B367506A7249865DEDB59AFF9B4CE593B3913F0C G Columbus - Ougon no Yoake (Ch) NES board=MAPPER195;VRAM=2;
|
||||
sha1:78EC827CEE61E009F7716ADE03361369FFCE9D12 G Luo Ke Ren X (Sugoro Quest - Dice no Senshitachi) (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:568BF236FB3085B8BD522FBD2C18C7831E3A2DD1 G Q Boy (Sachen) NES board=SACHEN-8259A;VRAM=8
|
||||
sha1:2FA9EF6B8E5C7E1D215F4FF69C6275BDE00DDE76 O Sugoro Quest - Dice no Senshitachi (Ch) [o1] NES board=MAPPER191
|
||||
sha1:0C7CA363EA26632E1A61C7F40E0FE8E8538ED76A G Wei Luo Chuan Qi (Ch) NES board=MAPPER192
|
||||
sha1:F459A9AD6F841169E0210436CEB06B1395169EAB G Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:8711FDC0CE28574C043816721CA32E4A1C722BE4 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:E7803CAC6898C7243F9331E6360B5157BAE673A5 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:16EF1034DB88AD96DDC19C3A84B9E0FDEE466CD4 B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:BE8373A0694EB021EBF73D75F8AC63BD8162009A B Young Chivalry (Ch) NES board=MAPPER192
|
||||
sha1:4692A622AF6A3D79514BF3E5FB4E9FBE6C6080FC G 150-in-1 [a1] NES board=MAPPER235
|
||||
sha1:83264E3F8807998D09E9FBA19B13BBEA7C888D88 O Bakushou!! Jinsei Gekijou 3 (J) [o1] NES board=TAITO-TC0190FMC+PAL16R4;WRAM=0
|
||||
sha1:E79FC613112CC5AB0FC8B1150E182670FB042F4A G Contra Fighter (Unl) NES board=MAPPER238
|
||||
sha1:2C512DE4079AF45D7B9218E40BB68E308ABE288C B Magic Johnson's Fast Break (U) NES board=MAPPER001;PRG=64;CHR=128
|
||||
sha1:D2BE67170DDED1E1108EED2D4D8CA9D9CEE9F9E2 G Super Mario Bros 2 (Lost Levels) (Unl) NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:77D5D7A162B61DEFC6B66B6A39B8D51E124AC534 B Tagin' Dragon (Bunch) [b] NES board=COLORDREAMS-74*377;CHR=16;PRG=32;WRAM=0
|
||||
sha1:2028940CF7C757A3A7931A741D5EC79C3554D38C O Wally Bear and the No Gang (AVE) [o] NES board=AVE-NINA-07;WRAM=0
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;these roms are in goodNES but theyre junk. hacks, mostly. ideally we would put ever game from goodNES that was labeled as a hack in a list here.
|
||||
sha1:111D38E2FB41D0B43753E18757D427A91B0DBCB9 H Dragon Ball Z II Gekishin Freeza!! (J) NES board=BANDAI-LZ93D50+24C02;PRG=256;CHR=256;WRAM=0
|
||||
sha1:A907E600CEDA175ECD115B406B28155397A4C1FA H Dragon Ball Z Gaiden Saiya Jin Zetsumetsu Keikaku (CH) NES board=BANDAI-FCG-1;PRG=512;CHR=256;WRAM=0
|
||||
sha1:A13EAF0132905FBE3D0456BB075028A30C084D0E H Dragon Ball Dai Maou Fukkatsu (J) [hFFE] NES board=BANDAI-FCG-1;PRG=128;CHR=128;WRAM=0;VRAM=0
|
||||
sha1:8885F4F00C0B73C156179BCEABA5381487DBEAAD H Spy vs Spy (J) NES board=HVC-CNROM-256K-01;PRG=32;CHR=8;WRAM=8
|
||||
sha1:8C676CC9BEF5B93C5A7630D12B8A5B2FEBCE3438 H Rad Racket Deluxe Tennis II NES board=NINA-06;PRG=32;CHR=32
|
||||
sha1:A1D674D1C7C633A317CFD516EFB9A0350CD0E45E H Arkanoid II (J) NES board=TAITO-74*161/161/32;PRG=128;CHR=128;WRAM=8
|
||||
sha1:4D6117577CE301BB987C5C32FEEF7B132A21B046 H Afro Man (Mega Man 3 Hack) (UNL) NES board=TXROM-HOMEBREW;PRG=256;CHR=128;WRAM=8
|
||||
sha1:7BD102770FE7766BF8430ACDB3C17EE51E30478C H Mike Tyson's Punch-Out!! (Hacked) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0
|
||||
sha1:536D623BA02A622BDE8E2D7D514AE9785B5E0357 H Punch Out!! Kirby (Hack) (U) NES board=NES-PNROM;PRG=128;CHR=128;WRAM=0
|
||||
sha1:F2A8BC888B888FA65DFB303126B130422E34942E G Kunio 8-in-1 [p1] NES board=MAPPER045
|
||||
sha1:27AA5F60474600FEE5C1623D4A0985421680C9FE H Mario + Toad (Nuts & Milk Hack) NES board=MAPPER000
|
||||
sha1:B7DD142AF1FBCC81F3FE88C9278BD6C61B615D09 O Death Race (AGCI) (Overdump) NES board=MAPPER144
|
||||
sha1:0FAECB09767528CC2C9CD4FE4EDBD0C6ECEFB999 G Secret Scout in the Temple of Demise (Color Dreams) (Prototype) NES board=MAPPER011_HACKY
|
||||
sha1:87C929090C3B04739BAAED90B9A8F40B29327FC2 G Free Fall (U) (Prototype) NES board=MAPPER011_HACKY
|
||||
sha1:BFE1A8EFE7539B20E09FFD472963F271AC9F2AEC G Mortal Kombat 2 (Unl) NES board=MAPPER090
|
||||
sha1:123105A996B3F325E55B7080DDD83D4CF043E543 G 168-in-1 NES board=MAPPER015
|
||||
sha1:B094D9D20A193BF28BD57A1154EADA84F9F6C9CC G Street Fighter II - The World Warrior (Unl) NES board=MAPPER189
|
||||
sha1:C0CF1CDFEEA5F3529A3126B366DF8E331C804CC7 G Summer Carnival 92 - Recca NES board=MAPPER004
|
||||
sha1:E9CFA35A037CC218F01BFB4A1EB5D1D332EA2AA9 G Family BASIC (J) NES board=HVC-FAMILYBASIC;WRAM=2
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;-
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;heres another idea. let's list rom sets from goodNES, good and bad variants together
|
||||
sha1:98B71119294DA59D1B22723D2D2955D80EADABF4 World Hero (Unl) [!] NES board=MAPPER027
|
||||
sha1:17AC56723F99A646BD44F8C999B23B8A972A3EF2 B World Hero (Unl) [b1] NES board=MAPPER027
|
||||
sha1:5227195D5DB2030758BF67704150E8C5FAF056B1 B World Hero (Unl) [b2] NES board=MAPPER027
|
||||
sha1:AD350F001DB2E3C640B2BD9107B86A8F29B68AC0 G Commandos (Ch) NES board=MAPPER163;
|
||||
sha1:5A91F54A6FF44762D98FC8D8974909D298EB52A8 G Somari (NT-616) (Unl) NES board=MAPPER116;
|
||||
sha1:5F0943DC8145542ABC70BF20E4754B3C08653399 G Meikyuu Jiin Dababa (FDS Conversion) (Unl) NES board=MAPPER108;WRAM=0
|
||||
sha1:95E86C77BB25DD23152D34FD0BB562A09535BE43 G Pyramid (AVE) (PRG1) NES board=MAPPER000
|
||||
sha1:5759A9D658D253C8A6AAA38969C443D66E0F3349 G Dragon Quest III (PRG0) NES board=HVC-SNROM-03
|
||||
sha1:9DF34897D002E8D0E4D53B76154F8CD46927CDF9 G Dragon Quest III (PRG1) NES board=HVC-SNROM-03
|
||||
sha1:B6D1C372A38D196112AA98905C709AD844BD6627 G Super 35-in-1 (y-in-1 VT5201) NES board=MAPPER060
|
||||
sha1:0941ABB51EF88587303DBF018770758ECDDD5C20 G Jovial Race (Sachen) NES board=MAPPER133
|
||||
sha1:D20724A2E2933BEE8E193596688CF86747E0250B B Dragon Ball Z Kyoushuu! Saiya Jin (J) (Bad Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:9F17353EF85590484BBC693517292A15DD30845D B Dragon Ball Z Kyoushuu! Saiya Jin (J) (Bad Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D1E9A66CC7424725AD72B8A04E37B9E72EE2BFB6 O Dragon Ball Z Kyoushuu! Saiya Jin (J) (Over Dump) NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:123AA69FE2334A027E48BA658C906BFA4996FA32 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng0.47_Eigo ni Yakusu Productions] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:6DCB35518C0AC42943098A5B417B79C10273D75A T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng1.01_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:726C2C19F7B559AD5220872004B580D8C9574F5A T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Eng1.1] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D51398EFF4F3F47AFA0527D98882234E10AEDFF4 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Kor20060719_88ktt] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:97DECB4E7C8DE1006F57732D8E83437A9186E500 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Por45%_Tradu-Roms] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:80E314CF4A2FCD5A184D4D168428165C1F844729 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Por100%_RaphFS] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:1D6381D2AA0DF4A5B50E9E2DB7B45785BBB1E48F T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T+Spa_PaladinKnights] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:15E43BE5F7D328BF3041B52CE38BFC4FF23A1DF1 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:D42BA5AEC6E41804FF98D6DFA34B53510A1174FA T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng0.50_TransBRC] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:B1228C5716FB5EE2E0421634A464C927B33493B7 T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng0.99_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:8E910216502E0BF9BFBA3E38EAA34FFC2D7EE1AD T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Eng1.00_RedComet] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:18BE110CBEA2D665A3FF704BDD4153AE5E5ACE5F T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Kor_88ktt] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:9F601A88A9DFA8EDEC23F67DA60254BE4CBAE64B T Dragon Ball Z Kyoushuu! Saiya Jin (J) [T-Spa] NES board=BANDAI-LZ93D50+24C01;PRG=256;CHR=256;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:FC7A8824CFDD37F85868C8D8624D8B517A7C3C02 G God Slayer - Haruka Tenkuu no Sonata (Ch) NES board=MAPPER195;WRAM=16;VRAM=4;BATT=true
|
||||
sha1:081D107B5AEFFD4F59108C76FA3942506FA36B1F G Captain Tsubasa Vol. II - Super Striker (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:F99E8B7C7A2174BF0B2330F5457AEE478A938C93 G Captain Tsubasa Vol. II - Super Striker (Ch) [a1] NES board=MAPPER195;VRAM=4
|
||||
sha1:9958BED493E8C5727F96937BF254AC33FA3BCF81 G Captain Tsubasa Vol. II - Super Striker (Ch) [a2] NES board=MAPPER195;VRAM=4
|
||||
sha1:B4AA3F10908DC3D6B8152F5DEB1B8543B8B46BF6 G Captain Tsubasa Vol. II - Super Striker (Ch) [a3] NES board=MAPPER195;VRAM=4
|
||||
sha1:60FC5FA5B5ACCAF3AEFEBA73FC8BFFD3C4DAE558 G Pegasus 5-in-1 (Golden Five) NES board=MAPPER104
|
||||
sha1:BAD382331C30B22A908DA4BFF2759C25113CC26A O Pegasus 5-in-1 (Golden Five) NES board=MAPPER104
|
||||
sha1:6282051DA49C286863463AF105F851AACF896563 G San Guo Zhi 2 (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:71234F9DCA4C31B4E9F0719425963878F3F045C9 G Dragon Ball Z II - Gekishin Freeza!! (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:A907E600CEDA175ECD115B406B28155397A4C1FA G Dragon Ball Z Gaiden - Saiya Jin Zetsumetsu Keikaku (Ch) NES board=MAPPER199;VRAM=8;BATT=true
|
||||
sha1:D565A9C2B117447C310E4F59E4AFC30DF299EA4F G Street Fighter IV (Unl) NES board=MAPPER208
|
||||
sha1:B9F444FF60F60C177EEEC8671BEC3731B0F6FE49 G Tang Mu Li Xian Ji (Ch) NES board=MAPPER223;WRAM=16
|
||||
sha1:EBD2B4A4067FD4A8F0D0ABD34C8FF1AF520D1EED G Super Blaster VII Turbo 28 (Unl) NES board=MAPPER083;prg=512;chr=256;wram=0;
|
||||
sha1:40409FEC8249EFDB772E6FFB2DCD41860C6CCA23 G Pegasus 4-in-1 (Unl) NES board=MAPPER232
|
||||
sha1:7EF667D9BF107B6512565177B9C62081077558F5 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi] NES board=MAPPER198
|
||||
sha1:92CC033C1255F119B3A566EDCA10140C014FA479 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi][a1] NES board=MAPPER198
|
||||
sha1:EEF617A022B8E45E0BDE088FED654C89AD4FAABF T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi][a2] NES board=MAPPER198
|
||||
sha1:3D49A357362160B16F03CC4BE7D8EAFB7108708D T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi(Trad)] NES board=MAPPER198
|
||||
sha1:7FB334A7375E17EA157415193DEE4FACC4EC2B34 T Tenchi wo Kurau II - Shokatsu Koumei Den (J) [T+Chi(Simp)] NES board=MAPPER198
|
||||
sha1:D8684D302F17843031151DE38D609646CAE4753C O Don Doko Don 2 (J) [o1] NES board=MAPPER048
|
||||
sha1:12DDD9EDB8894C200C9D89B9EE5673F1202ABA19 Falsion (FDS Conversion, Whirlwind Manu) (Unl) NES board=MAPPER108;WRAM=0
|
||||
sha1:D6E9F3722CFA26CBC582649F197D780809F575CA O Family Circuit '91 (J) [o1] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:387E7B477F5A61A165A41CD2BFE8A467B3816323 O Family Circuit '91 (J) [o2] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:68ADA89BC7539679871AD14C5C1FFADF04D71280 O Family Circuit '91 (J) [o3] NES board=MAPPER210;PAD_V=1;PAD_H=0
|
||||
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C B Mississippi Satsujin Jiken (J) [h2] NES board=MAPPER066
|
||||
sha1:C1F7AD0A347078B9213B2748D4ADFF33305A6647 O Mississippi Satsujin Jiken (J) [h2][o1] NES board=MAPPER066
|
||||
sha1:4BBD4C55C37F531031177DE51F007B10418AD760 O Pyramid (AVE) (PRG1) [o1] NES board=MAPPER000
|
||||
sha1:BAF860940369C54B3FF547DA7E759515015B1131 O Pyramid (AVE) (PRG1) [o2] NES board=MAPPER000
|
||||
sha1:2B34E0F405629055E4FF2B2B1C0EBE015D866344 H Rabbi Harrel Groberklotz (Gumshoe Hack) NES board=MAPPER066;WRAM=0
|
||||
sha1:DA3644C99D462833E4EEF826D8700AF278609C10 G Super 2-in-1 (Soccer Game & Crazy Dance) (Unl NES board=MAPPER178
|
||||
sha1:CE11161FE2B41008F55FC9D29E093C347E78EBC4 T Super Mario Bros 2 (Lost Levels) (Unl) [T+Rus_Cool-Spot] NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:43E3ED6480E7BF32FFAF1AEBC7F534E0A9B775E6 T Super Mario Bros 2 (Lost Levels) (Unl) [T+Rus_Cool-Spot][a1] NES board=MAPPER040;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:F32E366828DCA94A612DD39613858DD8E26FA2DC T Thunder & Lightning (U) [t1] NES board=MAPPER066;WRAM=0
|
||||
sha1:8554112E83B5978F5D4EC6E4551F390D5F698E00 B U-Force Power Games (U) (Prototype2) (Defaced by NA) [b1] NES board=NES-GNROM;WRAM=0
|
||||
sha1:A6A0A3DC8438558FA5DA3AF8D3349AA8CF080404 Xi You Ji Hou Zhuan (Ch) NES board=MAPPER162
|
||||
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 B 800-in-1 [p1][b1] NES board=MAPPER236
|
||||
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 G 800-in-1 [p1][U] NES board=MAPPER236;VRAM=8
|
||||
sha1:BD167D1BCC9A008D04136EB91396EBEBCAC976E2 B R.B.I. Baseball (Tengen) [b] NES board=TENGEN-800002;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:DEE958845DC528BED899557FB2A8A3B61F1BA7D1 Bao Xiao San Guo (Ch) [a4] NES board=WAIXINGMAPPER176
|
||||
sha1:2EADA3C0D800A40C1CE5DB96A31A43196ED7A97B Kou Dai Jing Ling - Fei Cui (Ch) [a2] NES board=WAIXINGMAPPER176
|
||||
sha1:237C2C026A10B3CEBFF96516FC67E4F446676D47 Meng Huan Zhi Xing IV (ES-1006) (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:2FA7C0E60634C12EF54D857BF7AF45D4971066FE Po Fu Chen Zhou (ES-1092) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:A8010B1EE3C5362F606A47604CC49E5D7EAC9E46 B Pocket Monsters Red (Ch) (Decrypted) [b1] NES board=WAIXINGMAPPER176
|
||||
sha1:A50411EDCC088D55B35A62ABD62D4FF1A0B4ED22 Shu Qi Yu - Shu Xue Xiao Zhuan Yuan (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:5BDE83532F9E3B885C4D2C130F8981DD04E5A159 Shu Qi Yu - Zhi Li Xiao Zhuan Yuan (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:91E51788E980A8AD5A8A829E270504C9571B72CF Shui Hu Shen Shou (ES-1087) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:DB92A34E6941D99B796FBE6C6C26F7D09C2BC2EE Xi Chu Ba Wang (ES-1066) (Ch) (Decrypted) NES board=WAIXINGMAPPER176
|
||||
sha1:7235F3F8F0CA37B7C1EE6923A6DA272C08E0C817 Xiong Ba Tian Xia (Ch) NES board=WAIXINGMAPPER176
|
||||
sha1:71511ECB1E5D99F38A04EC9291B1ABD4B512C42D P Bubble Bobble (FDS Conversion, Kaiser Hacked) (Unl) [p1] NES board=MAPPER108;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:8F6CF72F9A829177A67DAAD4A083CADA3ED8B587 P Doraemon (J) (PRG0) [p3] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:E1935AD60CAFAEEC8A8301A607B373754D770E2E T Doraemon (J) (PRG0) [T+Eng] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:06A243B7FFE2CA5F96C4D324742BD6F349D7589E T Doraemon (J) (PRG0) [t2] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:BD43811A68799DBC45A53A006C35167D19C0919C T Doraemon (J) (PRG0) [t3] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:CB83577AAB5465EC7AD0AEF859A03444BA509386 T Doraemon (J) (PRG1) [T+Rus_Chief-Net] NES board=MAPPER066;WRAM=0;PAD_H=1;PAD_V=0
|
||||
sha1:C78A7629779AF2EA2D9870524E6A79C0CD2E0213 T Jajamaru no Daibouken (J) [T+Chi_nineswords] NES board=MAPPER066;WRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:A78D32B5FD43DCABA07A9152BF12EC9BFF2D37FD T Jajamaru no Daibouken (J) [hM66][T+Eng1.00_Aishsha] NES board=MAPPER066;WRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:2D8F4656698937A7616A61D82B47232D939E68EA P AV Mahjongg (Hacker) NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E365A1F87EDFE8A68F23D8521CBDBE56EC3D76A3 T AV Mahjongg (Hacker) [T+Chi] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:D540F1050055C74B68CA02F3BA215E23ED859560 B AV Mahjongg (Hacker) [b1][T+Chi] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E8BDD327FA96576F501914BDF455C477EC2A20B4 B AV Mahjongg (Hacker) [b1] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:E816367A8CAC2AC470CEEBA8C8DC00CEC8C7009E T AV Mahjongg (Hacker) [T+Chi][a1] NES board=MAPPER066;WRAM=0;PAD_H=0;PAD_V=1
|
||||
sha1:315ACE4AD8AC09B7ABA2815F93EEB8AD97BA1D38 H Fish Fall (Free Fall Hack) NES board=MAPPER011_HACKY
|
||||
sha1:F59E68705F6A6346E18A071884A21A6289754EB7 G Free Fall (U) (Prototype) (Earlier) NES board=MAPPER011_HACKY
|
||||
sha1:4FB14A3DBCE888BB1F95570BE45317ED1513FE89 B Free Fall (U) (Prototype) [b1] NES board=MAPPER011_HACKY
|
||||
sha1:88A3624F48A2780B2C2A9D742B2185C3B31FB3D7 H Handy (Free Fall Hack) NES board=MAPPER011_HACKY
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;obscure and unlicensed roms which are not likely to be in bootgod's DB anytime soon but which are nonetheless "good" as far as things go
|
||||
;people like these games (especially vast quantities of chinese oddities) so its important to add them here as good
|
||||
sha1:D09EF8127C64CBE817B45DF33C4D43E7B441E381 Final Fantasy V (Unl) NES board=MAPPER164;PRG=512;CHR=0;WRAM=8;PRAM=8;PAD_V=1
|
||||
sha1:92D9695FEB774F60965A8303CFE3E6AAEE7B7B62 Magic Dragon (Unl) NES board=MAPPER107;PRG=128;CHR=64;WRAM=8;PAD_H=1
|
||||
sha1:6DF9AECF5787C0833B0F05A9A83D0E58A6153977 Rumblestation 15-in-1 (Unl) NES board=MAPPER046;PRG=1024;CHR=1024;WRAM=0
|
||||
sha1:E4BFD5AB3C3649DBD36B9A7280CF431641BCBCEC Peek-A-Boo Poker (Unl) NES board=NES-CNROM;PRG=32;CHR=24;WRAM=0
|
||||
sha1:39294394A0631708F58397371CE14075AE1FB7E6 Peek-A-Boo Poker (Panesian) NES board=NES-CNROM;PRG=32;CHR=64;WRAM=0
|
||||
sha1:C87E7E6A68DD9C7E24652CD2C7D390A14E8ADF04 Lagrange Point NES board=KONAMI-VRC-7;PRG=512;CHR=0;WRAM=8;PRAM=8;PCB=352402;BATT=true
|
||||
sha1:2E0889131DA5BA9505A15B94887113F4360D98CD Shin Samurai Spirits 2 Haoumaru Jigoku Hen (Unl) NES board=MAPPER209;PRG=128;CHR=512;WRAM=8
|
||||
sha1:EB35202CC4E9C2FAC320B04F36F3A6858B8916F2 Super Bros. 8 NES board=MAPPER048;
|
||||
sha1:F949FC16932808C426074AB1628F246B0435C52C Flintstones, The Rescue of Dino & Hoppy (J) NES board=MAPPER048;
|
||||
sha1:9C801071D1AAC7B280468C38BF1B61FDE99B5FD0 Yong Zhe Dou E Long Dragon Quest VII (Ch) NES board=MAPPER245;
|
||||
sha1:C282206800426557E7DD66ABF70FEAB6FE9DA1B2 San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:E6F080CCF09C62C038D35E3BD503C4E57E716571 B San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:E2BFF2002F2DD0AA184D5791D008A1350C477AE0 B San Guo Zhi (Ch) NES board=MAPPER252;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:B37E6002EF84C172DB413DF4B41451192ADBDC36 Shen Hua Jian Yun III (Ch) NES board=MAPPER253;VRAM=2;BATT=true;PAD_H=1
|
||||
sha1:CE1B236ED0EAC133A3DE5411AEF57228220885EF G Super Sonic 5 (1997) (Unl) NES board=MAPPER121
|
||||
sha1:37DC34A1069B5B62BAC41DB66F47745E3A1E442B SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [b1] NES board=MAPPER159;
|
||||
sha1:89C57A4144E038565707A4B3B5B9505C7E4F3C70 SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [T+Eng0.10_Assassin_Productions] NES board=MAPPER159;
|
||||
sha1:CFB4626E7794F1276ABF5DB7806FCE61EFEBFE98 Street Heroes (Sachen) [U][!] NES board=UNIF_UNL-SHERO;VRAM=16;
|
||||
sha1:56CBA51568B0F1458AA7E0DE6575D1225E40F7A1 3D Block (Unl) [a1][!] NES board=MAPPER219;PRG=32;CHR=0;VRAM=8;PAD_V=0;PAD_H=1
|
||||
sha1:0E7A314D43B53ABCCFF7B38A1AA8BD0CFA612346 Pocahontas 2 NES board=Pocahontas
|
||||
sha1:0E78391D3036D71C8241DB0206E7747F4E3892DC Poker III NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:11419605C942FC9DCB4F93A329C13E3BD5D62403 Poker III NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:F9E15D09D5F49E52185BA10B4F98A342B2606870 Mei Nu Quan (Honey Peach) (Sachen) [b1] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:52EBAFAD0B70E6BB41CCDBC0DFC8420C12D64AC5 Mei Nu Quan (Honey Peach) (Sachen) [b2] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:079E58CEDD3D182E8591A33EE8FAD6F227960838 Mei Nu Quan (Honey Peach) (Sachen) [a1] NES board=UNIF_UNL-Sachen-74LS374N
|
||||
sha1:E8BB03BA4ABED34FF451A1D086352719BAC6564F San Guo Zhi 2 (Ch) [T+Chi2.3] NES board=MAPPER199;VRAM=8
|
||||
sha1:8996AEA69D459AC181F1B3F4EF56DEA20FFF0A40 Silva Saga (J) [T+ChS] NES board=MAPPER199;VRAM=8
|
||||
sha1:3F85C45797E8AA0F161A4BD350BFF5777B3A19A8 Zu Qiu Xiao Jiang (Ch) [f1] NES board=MAPPER195;VRAM=4
|
||||
sha1:A43A2203F4F7E0FE729CE520FBD75A05206AC9F2 Zu Qiu Xiao Jiang (Ch) NES board=MAPPER195;VRAM=4
|
||||
sha1:A2F36A9CA3914F1C9184A85E914D7A163DAA135B B 46-in-1 (D1038) [p1][b1] NES board=MAPPER060
|
||||
sha1:C403AA673405583FD18A0DA5E3E6275786E04128 B 65-in-1 (NT766) [p1][b1] NES board=MAPPER060
|
||||
sha1:7E46FBE4713E9391293521CF2B852C80DBEBCD7F B 74-in-1 (NT886) [p1][b1] NES board=MAPPER060
|
||||
sha1:81D72ACD08A6255AE44639D40D6D90C1EFCF61AF B 77-in-1 (NT141) [p1][b1] NES board=MAPPER060
|
||||
sha1:1C3771B7F116F439D684D04DF792570271C93F86 75 Bingo (Sachen-English) [U] NES board=Sachen_CNROM
|
||||
sha1:4097D5A814308E39D592466B60B64862699CC22A 2-in-1 - Yuu Yuu + Dragonball Z [p1][!] NES board=MAPPER023_BMC
|
||||
sha1:4C499A857087E6C121522435786792A2E4105AC1 Fuuun Shaolin Kyo (FDS Conversion) (Unl) [U][!] NES board=UNIF_UNL-LH10;WRAM=8;VRAM=8
|
||||
sha1:CAAC1E829133851648BA7C7CD6EAA7D26A464999 Metal Fighter (Asia) (Unl) (Sachen) NES board=UNIF_UNL-SA-016-1M;PRG=32;CHR=32;PAD_V=0;PAD_H=1
|
||||
sha1:B9902886D1739983B315B67B02133E44620E4381 Challenge of the Dragon (Asia) (PAL) (Unl) NES board=MAPPER147;PAD_V=0;PAD_H=1;system=NES-PAL
|
||||
sha1:0CDE48DB89896946F0C2E78936EA290348994ED5 Pipemania (Australia) (HES) (Unl) NES board=MAPPER113;PRG=32;CHR=16;WRAM=0;VRAM=0
|
||||
sha1:E843AB3D779D4F0BB1F933D6EE99DAA526EFBCF1 Gaiapolis (Asia) (Unl) NES board=UNIF_NES-TLROM;PRG=128;CHR=256;WRAM=0;VRAM=0
|
||||
sha1:68ABE1E49C9E9CCEA978A48232432C252E5912C0 Dancing Blocks (Asia) (PAL) (Unl) NES board=MAPPER143;PAD_V=1;PAD_H=0;system=NES-PAL
|
||||
sha1:B21CFE30197727C1C8E8DB6D28AD696A708F8FF5 Pyramid II (Asia) (PAL) (Unl) NES board=MAPPER146
|
||||
sha1:7117413766ABC02F3BB767C2CE96065B6F3CBA85 Silent Assault (Asia) (PAL) (Unl) NES board=MAPPER146;PAD_V=0;PAD_H=1;system=NES-PAL
|
||||
sha1:8898B1E70D561AF31564689E0C942C181C78E55F Rockball (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=64;CHR=64;WRAM=0;VRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:6A07B7C55359E1826F670DEDEBF969B9DD2F0A2F Popo Team (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=128;CHR=64;WRAM=0;VRAM=0;PAD_V=0;PAD_H=1
|
||||
sha1:FCF9FF27F097892148EAEC439AB79BC53164D751 Elite (NTSC Demo) NES board=MAPPER001;PRG=128;CHR=0;WRAM=8;VRAM=8;PAD_V=1;PAD_H=0;BATT=true;system=NES-PAL
|
||||
sha1:2FB0401EA8249233EFA399F305D83672D5600B4A Sidewinder (Asia) (PAL) (Unl) NES board=MAPPER145;PRG=16;CHR=16;WRAM=8;VRAM=0;PAD_V=1;PAD_H=0;system=NES-PAL
|
||||
sha1:B3FB53931D34CDB41EFC2677CF7B949B2B84D616 Korean Igo (Korea) (Unl) NES board=UNIF_DREAMTECH01;PRG=144;CHR=0;WRAM=0;VRAM=8;PAD_V=1;PAD_H=0
|
||||
sha1:358E092952DDAFF9703A75264A6732003952500D Qi Wang - Chinese Chess (Asia) (Unl) NES board=UNIF_UNL-22211;PRG=64;CHR=32;WRAM=0;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:C282316D30790E41D0A4A0E8949024B980CEE572 Poker Mahjong - Pu Ke Mao Que (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=32;CHR=32;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:82880C2F4A0D18E4CB67324334F2B3B76B818F31 Mahjong World, The - Ma Que Shi Jie (Asia) (NTSC) (Unl) NES board=MAPPER148;PRG=64;CHR=64;WRAM=8;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:01D7CE2C74046BA6F7BE2C31DADB21A36BDCA117 Mahjong World, The - Ma Que Shi Jie (Asia) (PAL) (Unl) NES board=MAPPER148;PRG=64;CHR=64;WRAM=8;VRAM=0;PAD_V=1;PAD_H=0;system=NES-PAL
|
||||
sha1:313CDE2F9829B8BC30978BA7C534AFD8896B7BCA Silver Eagle (Asia) (PAL) (Unl) NES board=MAPPER138;PRG=128;CHR=128;WRAM=8;VRAM=0;PAD_V=1;PAD_H=0;system=NES-PAL
|
||||
sha1:88E6ADE9934EFCDE38D7482FDDE1C00C4C13652D Super Pang II (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=64;CHR=32;WRAM=0;VRAM=0;PAD_V=0;PAD_H=0
|
||||
sha1:0EA22D830B93AB455F8C1F5E2C4B894EABA30AA3 Super Cartridge Ver 2 - 10 in 1 (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=128;CHR=64;WRAM=0;VRAM=0
|
||||
sha1:D24D3104E28FD3F428CDBC8AE2D3F4ACA9A69D6F Super Cartridge Ver 3 - 8 in 1 (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=256;CHR=256;WRAM=0;VRAM=0
|
||||
sha1:1477FD89A26B8F6E3460FE078794D79BEC944C00 Super Cartridge Ver 9 - 3 in 1 (Asia) (Unl) NES board=UNIF_UNL-Sachen-8259A;PRG=256;CHR=256;WRAM=0;VRAM=0
|
||||
sha1:5239EECED4510EF3D540DD39D629D9E7C5E55251 Taiwan Mahjong - Tai Wan Ma Que 16 (Asia) (Unl) NES board=UNIF_UNL-SA-0036;PRG=32;CHR=16;WRAM=0;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:C10C526F26273C4A1E180B968665910B74C78B86 Othello (Australia) (Unl) NES board=MAPPER000;PRG=16;CHR=8;WRAM=0;VRAM=0;PAD_V=0;PAD_H=1;system=NES-PAL
|
||||
sha1:2500B5492ECE1CAFB97881C5A384B0768313BF98 Block Out (USA) (Proto) NES board=MAPPER004;PRG=128;CHR=0;WRAM=8;VRAM=8;PAD_V=0;PAD_H=1
|
||||
sha1:B1CC3ED04C610BE18742A3FD78A8F27A597F8549 Sidewinder (Australia) (Unl) NES board=MAPPER113;PRG=16;CHR=16;WRAM=0;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:D4702A831A398107D8F87BC93BD56C4D8CA78F2A Buzz & Waldog (USA) (Proto) (Unl) NES board=MAPPER156;PRG=128;CHR=128;WRAM=8;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:3C72706AF5998133EC6BE703994C10466A094EAB Xing Ji Zheng Ba (China) (Unl) NES board=MAPPER241;PRG=512;CHR=0;WRAM=8;VRAM=8;PAD_V=1;PAD_H=0
|
||||
sha1:18DF013DB350787D0F3D83ADE33EA92B097BD54B Mahjan Samit Kabukicho Hen (Asia) (Unl) NES board=MAPPER146;PRG=64;CHR=64;WRAM=0;VRAM=0;PAD_V=1;PAD_H=0
|
||||
sha1:6AAA5521F91F101448E77C996C9802015578400C Dooly_Bravo_Land NES board=MAPPER002;PRG=256;CHR=0;WRAM=0;VRAM=8;PAD_V=0;PAD_H=1
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;positively good roms which for one reason or another arent in bootgod's DB
|
||||
|
||||
;probably missing due to obscurity
|
||||
sha1:977286FDC76C34A618E2A2D0270641BC36CFE89C Nintendo World Championships 1990 NES board=NES-EVENT;PRG=256;CHR=0;WRAM=8;VRAM=8
|
||||
|
||||
;these are from the 2002 konami collection and castlevania at least has a published TAS. presumably these are good, as they came from a PC game
|
||||
sha1:EC652EE1660E527098102E26A36A8B9B7BB3943F Castlevania (Konami Collection 2002) NES board=NES-UNROM;PRG=128;WRAM=0;VRAM=8;PAD_H=1
|
||||
sha1:B5C4E5E858113F5AA5E063BC79A12D7F6B856E6C Contra (Konami Collection 2002) NES board=NES-UNROM;PRG=128;WRAM=0;VRAM=8;PAD_H=1
|
||||
|
||||
;chinese shit
|
||||
sha1:BFA31777E077E64AF0E274B5A22B57C6765D36E1 Fan Kong Jing Ying (Unl) (Ch) NES board=MAPPER241;MIR=H
|
||||
sha1:17473C223453D2D80FCB9DCFA317947287DC5C52 Xing He Zhan Shi (Ch) NES board=MAPPER176
|
||||
sha1:0B58E16B7FD5ABE62B1D9B1841875582DF5A9195 Ying Lie Qun Xia Zhuan (Ch) NES board=MAPPER192
|
||||
sha1:27CB8AEAF0EA97A6C69D3D90BC056C5EB61695F6 Dai-2-Ji Super Robot Taisen (Ch) NES board=MAPPER194;VRAM=2
|
||||
sha1:F5FA7807F2B70ADFE5707D9BF88F90DAC1436DB0 Di 4 Ci Ji Qi Ren Dai Zhan (Ch) NES board=MAPPER074;VRAM=2
|
||||
sha1:A9887C308C5D0659C3AA45D003A603C9DFFB148A B Ji Jia Zhan Shi (Asia) NES board=MAPPER074;VRAM=2
|
||||
sha1:5084F25F14A61AB2799BD85D363B57B9B494601D Ji Jia Zhan Shi (Asia) NES board=MAPPER074;VRAM=2
|
||||
sha1:6143D80047FFC17C752078C622A44C3E0CB7466E B Dong Fang de Chuan Shuo The Hyrule Fantasy (Asia) NES board=MAPPER245
|
||||
sha1:CEFEBA536DB507DBDEF8A538F9C332D7A75BF613 You Ling Xing Dong (Ch) NES board=MAPPER192;VRAM=4
|
||||
sha1:DBFCC70CC2DEC7A889429ED542267F0F1BD967BF Ying Xiong Chuan Qi (Ch) NES board=MAPPER224
|
||||
sha1:FFB4706E49B826C6CDD12E502E8AE94FC9810B7F Monty no Doki Doki Daisassou (FDS Conversion) (Unl) [U][!] NES board=UNIF_UNL-LH32;WRAM=8;VRAM=8;PAD_H=1
|
||||
sha1:17473C223453D2D80FCB9DCFA317947287DC5C52 Xing He Zhan Shi (China) (Unl) NES board=WAIXINGMAPPER176
|
||||
|
||||
;wrong vram info
|
||||
sha1:32D71DD6C5A8D78A918FE1B9D6D6C4A570D9652D Oeka Kids Anpanman no Hiragana Daisuki (J) NES board=MAPPER096;VRAM=32
|
||||
sha1:77B887BD5935204C72869365EAF99708E1B13EB1 Super 24-in-1 [U][p1][!] NES board=UNIF_BMC-Super24in1SC03;VRAM=8;
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;it works, so don't laugh
|
||||
sha1:203523818A348361584CDEBE47AEB860808757FC U Jurassic Boy 2 (Sachen) NES board=NES-TR1ROM;VRAM=8
|
||||
|
||||
;wrong mirroring, no bootgod entry
|
||||
sha1:C1D82F6BE8AF524F951FC7C9D41604E59F9FE92A G Dragon Wars (USA) (Proto) NES board=MAPPER004;PAD_H=0;PAD_V=0
|
||||
sha1:22FCC2D33F6715D63E04235A0A7CCB0C8DC489C5 Mortal Kombat 3 Extra 60 (Unl) [!] NES board=MK3E60;PAD_H=1;PAD_V=0
|
||||
sha1:8928F7293C12EE7D3FC90BECC68AE5261802EAA6 AV Super Real Pachinko (Unl) NES board=MAPPER066;PAD_H=0;PAD_V=1
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
;mmc3 homebrews that need chip specification
|
||||
sha1:35C157A921156E47FD3F6573D150F54108D0EDFC Blargg's 5.MMC3_rev_A.nes NES board=MAPPER004;MMC3=MMC3A
|
||||
sha1:0E971E2CCAD1DEE51A0C305ED38FAFD2E6CA3B41 Blargg's 6.MMC3_rev_B.nes NES board=MAPPER004;MMC3=MMC3B
|
||||
sha1:F794FDA12D34E611D58E652319ED583AE61B81E0 Blargg's 6-MMC6.nes NES board=MAPPER004_MMC6
|
||||
sha1:2F29F3DC724027FAD926BC9D4470A481884E42A5 Blargg's 6-MMC6.nes (newer) NES board=MAPPER004_MMC6
|
||||
sha1:6F3184ACDC7333683D459C7613CA1C235CEAFD3F Aladdin (SuperGame) (Mapper 4) [!] NES board=MAPPER004;MMC3=MMC3A
|
||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||
|
||||
;datach stuff
|
||||
29CC759D5CA214EEFC0CC1C6CE0F8B9111E58124 Datach Battle Rush Build Up Robot Tournament NES board=MAPPER157
|
||||
87478B635FEFB25FA13C4876E20F505A97426C1B B Datach Dragon Ball Z Gekitou Tenkaichi Budou Kai NES board=MAPPER157
|
||||
B2089533E05FE95814D0D77F2729944CBEB95988 Datach J League Super Top Players NES board=MAPPER157
|
||||
EDD7A45A7F27E396B6D686F1861642D509863132 Datach SD Gundam Gundam Wars NES board=MAPPER157
|
||||
533170D5EB685231CCD27B9C136FFA4FAD68A7B8 Datach Ultraman Club Supokon Fight! NES board=MAPPER157
|
||||
43315F18A514F0EF1D84EFE9C8D4483B57BA712C Datach Ultraman Club Supokon Fight! NES board=MAPPER157
|
||||
74218AAE93E4FEBFB2284BCF15811453418A2029 Datach Yuu Yuu Hakusho Bakutou Ankoku Bujutsu Kai NES board=MAPPER157
|
||||
6F3C65BD945FE13305A7A39D8CD884A5BF314A8F Datach Crayon Shin Chan Ora to Poi Poi NES board=MAPPER157
|
||||
1218C891DEE878C18D31D38D07CAD5FB06B3B2CE Datach Yuu Yuu akusho Baktutou NES board=MAPPER157
|
||||
|
||||
;testrom
|
||||
sha1:E925A172C29DD46BA385D526F3C317DB039FA2BF mmc1_a12 NES board=NES-SNROM
|
||||
|
||||
; ArcadePit hacks
|
||||
; Why does this one need NesHawk?
|
||||
sha1:90acbbdfad1465032dfff77175320bab8aa4adb7 H Mike Tyson's Punch-Out!! [Buck Edit] (USA) NES NesHawk
|
|
@ -840,9 +840,17 @@ namespace BizHawk.Client.Common
|
|||
case "A78":
|
||||
var gamedbpath = Path.Combine(PathManager.GetExeDirectoryAbsolute(), "gamedb", "EMU7800.csv");
|
||||
|
||||
nextEmulator = Global.Config.A78_UseEmu7800
|
||||
? nextEmulator = new Atari7800(nextComm, game, rom.RomData, gamedbpath)
|
||||
: nextEmulator = new A7800Hawk(nextComm, game, rom.RomData, gamedbpath);
|
||||
if (!VersionInfo.DeveloperBuild)
|
||||
{
|
||||
nextEmulator = new Atari7800(nextComm, game, rom.RomData, gamedbpath); // Don't expose A7800Hawk in releases yet
|
||||
}
|
||||
else
|
||||
{
|
||||
nextEmulator = Global.Config.A78_UseEmu7800
|
||||
? nextEmulator = new Atari7800(nextComm, game, rom.RomData, gamedbpath)
|
||||
: nextEmulator = new A7800Hawk(nextComm, game, rom.RomData, gamedbpath);
|
||||
}
|
||||
|
||||
break;
|
||||
case "C64":
|
||||
var c64 = new C64(nextComm, Enumerable.Repeat(rom.RomData, 1), rom.GameInfo, GetCoreSettings<C64>(), GetCoreSyncSettings<C64>());
|
||||
|
|
|
@ -248,6 +248,9 @@ namespace BizHawk.Client.Common
|
|||
Bind("SNES", "Toggle OBJ 3"),
|
||||
Bind("SNES", "Toggle OBJ 4"),
|
||||
|
||||
Bind("GB", "GB Toggle BG"),
|
||||
Bind("GB", "GB Toggle Obj"),
|
||||
|
||||
Bind("Analog", "Y Up Small", toolTip: "For Virtual Pad"),
|
||||
Bind("Analog", "Y Up Large", toolTip: "For Virtual Pad"),
|
||||
Bind("Analog", "Y Down Small", toolTip: "For Virtual Pad"),
|
||||
|
|
|
@ -116,7 +116,10 @@ namespace BizHawk.Client.Common
|
|||
|
||||
["Open"] = 'O',
|
||||
["Close"] = 'C',
|
||||
["Pedal"] = 'P'
|
||||
["Pedal"] = 'P',
|
||||
|
||||
["Next Disk"] = '>',
|
||||
["Previous Disk"] = '<'
|
||||
};
|
||||
|
||||
private readonly Dictionary<string, Dictionary<string, char>> _systemOverrides = new Dictionary<string, Dictionary<string, char>>
|
||||
|
@ -300,8 +303,6 @@ namespace BizHawk.Client.Common
|
|||
["Control"] = 'c' ,
|
||||
["Shift"] = '^' ,
|
||||
["Caps Lock"] = 'C' ,
|
||||
["Next Disk"] = '>' ,
|
||||
["Previous Disk"] = '<' ,
|
||||
["White Apple"] = 'w' ,
|
||||
["Black Apple"] = 'b' ,
|
||||
["L"] = 'L' ,
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Common.IEmulatorExtensions;
|
||||
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -633,6 +634,28 @@ namespace BizHawk.Client.EmuHawk
|
|||
SNES_ToggleOBJ4();
|
||||
break;
|
||||
|
||||
// GB
|
||||
case "GB Toggle BG":
|
||||
if (Emulator is Gameboy)
|
||||
{
|
||||
var s = ((Gameboy)Emulator).GetSettings();
|
||||
s.DisplayBG ^= true;
|
||||
((Gameboy)Emulator).PutSettings(s);
|
||||
GlobalWin.OSD.AddMessage("BG toggled " + (s.DisplayBG ? "on" : "off"));
|
||||
}
|
||||
|
||||
break;
|
||||
case "GB Toggle Obj":
|
||||
if (Emulator is Gameboy)
|
||||
{
|
||||
var s = ((Gameboy)Emulator).GetSettings();
|
||||
s.DisplayOBJ ^= true;
|
||||
((Gameboy)Emulator).PutSettings(s);
|
||||
GlobalWin.OSD.AddMessage("OBJ toggled " + (s.DisplayBG ? "on" : "off"));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Analog
|
||||
case "Y Up Small":
|
||||
GlobalWin.Tools.VirtualPad.BumpAnalogValue(null, Global.Config.Analog_SmallChange);
|
||||
|
|
|
@ -2149,7 +2149,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
"PlayStation", "*.cue;*.ccd;*.m3u",
|
||||
"PSX Executables (experimental)", "*.exe",
|
||||
"PSF Playstation Sound File", "*.psf;*.minipsf",
|
||||
"Commodore 64 (experimental)", "*.prg; *.d64, *.g64; *.crt; *.tap;%ARCH%",
|
||||
"Commodore 64", "*.prg; *.d64, *.g64; *.crt; *.tap;%ARCH%",
|
||||
"SID Commodore 64 Music File", "*.sid;%ARCH%",
|
||||
"Nintendo 64", "*.z64;*.v64;*.n64",
|
||||
"WonderSwan", "*.ws;*.wsc;%ARCH%",
|
||||
|
@ -2160,7 +2160,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
return FormatFilter(
|
||||
"Rom Files", "*.nes;*.fds;*.unf;*.sms;*.gg;*.sg;*.gb;*.gbc;*.gba;*.pce;*.sgx;*.bin;*.smd;*.gen;*.md;*.smc;*.sfc;*.a26;*.a78;*.lnx;*.col;*.int;*.rom;*.m3u;*.cue;*.ccd;*.sgb;*.z64;*.v64;*.n64;*.ws;*.wsc;*.xml;*.dsk;*.do;*.po;*.psf;*.ngp;*.ngc;*.minipsf;*.nsf;%ARCH%",
|
||||
"Rom Files", "*.nes;*.fds;*.unf;*.sms;*.gg;*.sg;*.gb;*.gbc;*.gba;*.pce;*.sgx;*.bin;*.smd;*.gen;*.md;*.smc;*.sfc;*.a26;*.a78;*.lnx;*.col;*.int;*.rom;*.m3u;*.cue;*.ccd;*.sgb;*.z64;*.v64;*.n64;*.ws;*.wsc;*.xml;*.dsk;*.do;*.po;*.psf;*.ngp;*.ngc;*.prg;*.d64;*.g64;*.minipsf;*.nsf;%ARCH%",
|
||||
"Disc Images", "*.cue;*.ccd;*.m3u",
|
||||
"NES", "*.nes;*.fds;*.unf;*.nsf;%ARCH%",
|
||||
"Super NES", "*.smc;*.sfc;*.xml;%ARCH%",
|
||||
|
@ -2184,6 +2184,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
"Apple II", "*.dsk;*.do;*.po;%ARCH%",
|
||||
"Virtual Boy", "*.vb;%ARCH%",
|
||||
"Neo Geo Pocket", "*.ngp;*.ngc;%ARCH%",
|
||||
"Commodore 64", "*.prg; *.d64, *.g64; *.crt; *.tap;%ARCH%",
|
||||
"All Files", "*.*");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,211 +28,222 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProfileConfig));
|
||||
this.OkBtn = new System.Windows.Forms.Button();
|
||||
this.CancelBtn = new System.Windows.Forms.Button();
|
||||
this.ProfileSelectComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.SaveScreenshotStatesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.SaveLargeScreenshotStatesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.AllowUDLRCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ProfileDialogHelpTexBox = new System.Windows.Forms.RichTextBox();
|
||||
this.ProfileOptionsLabel = new System.Windows.Forms.Label();
|
||||
this.CustomProfileOptionsLabel = new System.Windows.Forms.Label();
|
||||
this.N64CoreSettingsLabel = new System.Windows.Forms.Label();
|
||||
this.N64CoreTypeComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.N64CoreTypeLabel = new System.Windows.Forms.Label();
|
||||
this.OtherOptions = new System.Windows.Forms.Label();
|
||||
this.AutoCheckForUpdates = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// OkBtn
|
||||
//
|
||||
this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.OkBtn.Location = new System.Drawing.Point(290, 337);
|
||||
this.OkBtn.Name = "OkBtn";
|
||||
this.OkBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.OkBtn.TabIndex = 0;
|
||||
this.OkBtn.Text = "&OK";
|
||||
this.OkBtn.UseVisualStyleBackColor = true;
|
||||
this.OkBtn.Click += new System.EventHandler(this.OkBtn_Click);
|
||||
//
|
||||
// CancelBtn
|
||||
//
|
||||
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.CancelBtn.Location = new System.Drawing.Point(356, 337);
|
||||
this.CancelBtn.Name = "CancelBtn";
|
||||
this.CancelBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.CancelBtn.TabIndex = 1;
|
||||
this.CancelBtn.Text = "&Cancel";
|
||||
this.CancelBtn.UseVisualStyleBackColor = true;
|
||||
this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
|
||||
//
|
||||
// ProfileSelectComboBox
|
||||
//
|
||||
this.ProfileSelectComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ProfileSelectComboBox.FormattingEnabled = true;
|
||||
this.ProfileSelectComboBox.Items.AddRange(new object[] {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProfileConfig));
|
||||
this.OkBtn = new System.Windows.Forms.Button();
|
||||
this.CancelBtn = new System.Windows.Forms.Button();
|
||||
this.ProfileSelectComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.SaveScreenshotStatesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.SaveLargeScreenshotStatesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.AllowUDLRCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.ProfileDialogHelpTexBox = new System.Windows.Forms.RichTextBox();
|
||||
this.ProfileOptionsLabel = new System.Windows.Forms.Label();
|
||||
this.CustomProfileOptionsLabel = new System.Windows.Forms.Label();
|
||||
this.N64CoreSettingsLabel = new System.Windows.Forms.Label();
|
||||
this.N64CoreTypeComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.N64CoreTypeLabel = new System.Windows.Forms.Label();
|
||||
this.OtherOptions = new System.Windows.Forms.Label();
|
||||
this.AutoCheckForUpdates = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// OkBtn
|
||||
//
|
||||
this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.OkBtn.Location = new System.Drawing.Point(290, 302);
|
||||
this.OkBtn.Name = "OkBtn";
|
||||
this.OkBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.OkBtn.TabIndex = 0;
|
||||
this.OkBtn.Text = "&OK";
|
||||
this.OkBtn.UseVisualStyleBackColor = true;
|
||||
this.OkBtn.Click += new System.EventHandler(this.OkBtn_Click);
|
||||
//
|
||||
// CancelBtn
|
||||
//
|
||||
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.CancelBtn.Location = new System.Drawing.Point(356, 302);
|
||||
this.CancelBtn.Name = "CancelBtn";
|
||||
this.CancelBtn.Size = new System.Drawing.Size(60, 23);
|
||||
this.CancelBtn.TabIndex = 1;
|
||||
this.CancelBtn.Text = "&Cancel";
|
||||
this.CancelBtn.UseVisualStyleBackColor = true;
|
||||
this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
|
||||
//
|
||||
// ProfileSelectComboBox
|
||||
//
|
||||
this.ProfileSelectComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ProfileSelectComboBox.FormattingEnabled = true;
|
||||
this.ProfileSelectComboBox.Items.AddRange(new object[] {
|
||||
"Casual Gaming",
|
||||
"Tool-assisted Speedruns",
|
||||
"N64 Tool-assisted Speedruns",
|
||||
"Longplays",
|
||||
"Custom Profile"});
|
||||
this.ProfileSelectComboBox.Location = new System.Drawing.Point(12, 27);
|
||||
this.ProfileSelectComboBox.Name = "ProfileSelectComboBox";
|
||||
this.ProfileSelectComboBox.Size = new System.Drawing.Size(156, 21);
|
||||
this.ProfileSelectComboBox.TabIndex = 4;
|
||||
//
|
||||
// SaveScreenshotStatesCheckBox
|
||||
//
|
||||
this.SaveScreenshotStatesCheckBox.AutoSize = true;
|
||||
this.SaveScreenshotStatesCheckBox.Location = new System.Drawing.Point(12, 103);
|
||||
this.SaveScreenshotStatesCheckBox.Name = "SaveScreenshotStatesCheckBox";
|
||||
this.SaveScreenshotStatesCheckBox.Size = new System.Drawing.Size(166, 17);
|
||||
this.SaveScreenshotStatesCheckBox.TabIndex = 6;
|
||||
this.SaveScreenshotStatesCheckBox.Text = "Save Screenshot With States";
|
||||
this.SaveScreenshotStatesCheckBox.UseVisualStyleBackColor = true;
|
||||
this.SaveScreenshotStatesCheckBox.Visible = false;
|
||||
this.SaveScreenshotStatesCheckBox.MouseHover += new System.EventHandler(this.SaveScreenshotStatesCheckBox_MouseHover);
|
||||
//
|
||||
// SaveLargeScreenshotStatesCheckBox
|
||||
//
|
||||
this.SaveLargeScreenshotStatesCheckBox.AutoSize = true;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Location = new System.Drawing.Point(12, 126);
|
||||
this.SaveLargeScreenshotStatesCheckBox.Name = "SaveLargeScreenshotStatesCheckBox";
|
||||
this.SaveLargeScreenshotStatesCheckBox.Size = new System.Drawing.Size(196, 17);
|
||||
this.SaveLargeScreenshotStatesCheckBox.TabIndex = 7;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Text = "Save Large Screenshot With States";
|
||||
this.SaveLargeScreenshotStatesCheckBox.UseVisualStyleBackColor = true;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Visible = false;
|
||||
this.SaveLargeScreenshotStatesCheckBox.MouseHover += new System.EventHandler(this.SaveLargeScreenshotStatesCheckBox_MouseHover);
|
||||
//
|
||||
// AllowUDLRCheckBox
|
||||
//
|
||||
this.AllowUDLRCheckBox.AutoSize = true;
|
||||
this.AllowUDLRCheckBox.Location = new System.Drawing.Point(12, 149);
|
||||
this.AllowUDLRCheckBox.Name = "AllowUDLRCheckBox";
|
||||
this.AllowUDLRCheckBox.Size = new System.Drawing.Size(111, 17);
|
||||
this.AllowUDLRCheckBox.TabIndex = 8;
|
||||
this.AllowUDLRCheckBox.Text = "Allow U+D or L+R";
|
||||
this.AllowUDLRCheckBox.UseVisualStyleBackColor = true;
|
||||
this.AllowUDLRCheckBox.Visible = false;
|
||||
this.AllowUDLRCheckBox.MouseHover += new System.EventHandler(this.AllowUDLRCheckBox_MouseHover);
|
||||
//
|
||||
// ProfileDialogHelpTexBox
|
||||
//
|
||||
this.ProfileDialogHelpTexBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ProfileDialogHelpTexBox.Location = new System.Drawing.Point(218, 12);
|
||||
this.ProfileDialogHelpTexBox.Name = "ProfileDialogHelpTexBox";
|
||||
this.ProfileDialogHelpTexBox.ReadOnly = true;
|
||||
this.ProfileDialogHelpTexBox.Size = new System.Drawing.Size(198, 154);
|
||||
this.ProfileDialogHelpTexBox.TabIndex = 2;
|
||||
this.ProfileDialogHelpTexBox.Text = resources.GetString("ProfileDialogHelpTexBox.Text");
|
||||
//
|
||||
// ProfileOptionsLabel
|
||||
//
|
||||
this.ProfileOptionsLabel.AutoSize = true;
|
||||
this.ProfileOptionsLabel.Location = new System.Drawing.Point(9, 9);
|
||||
this.ProfileOptionsLabel.Name = "ProfileOptionsLabel";
|
||||
this.ProfileOptionsLabel.Size = new System.Drawing.Size(75, 13);
|
||||
this.ProfileOptionsLabel.TabIndex = 3;
|
||||
this.ProfileOptionsLabel.Text = "Profile Options";
|
||||
//
|
||||
// CustomProfileOptionsLabel
|
||||
//
|
||||
this.CustomProfileOptionsLabel.AutoSize = true;
|
||||
this.CustomProfileOptionsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.CustomProfileOptionsLabel.Location = new System.Drawing.Point(9, 85);
|
||||
this.CustomProfileOptionsLabel.Name = "CustomProfileOptionsLabel";
|
||||
this.CustomProfileOptionsLabel.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.CustomProfileOptionsLabel.Size = new System.Drawing.Size(113, 13);
|
||||
this.CustomProfileOptionsLabel.TabIndex = 5;
|
||||
this.CustomProfileOptionsLabel.Text = "Custom Profile Options";
|
||||
this.CustomProfileOptionsLabel.Visible = false;
|
||||
//
|
||||
// N64CoreSettingsLabel
|
||||
//
|
||||
this.N64CoreSettingsLabel.AutoSize = true;
|
||||
this.N64CoreSettingsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.N64CoreSettingsLabel.Location = new System.Drawing.Point(9, 188);
|
||||
this.N64CoreSettingsLabel.Name = "N64CoreSettingsLabel";
|
||||
this.N64CoreSettingsLabel.Size = new System.Drawing.Size(93, 13);
|
||||
this.N64CoreSettingsLabel.TabIndex = 9;
|
||||
this.N64CoreSettingsLabel.Text = "N64 Core Settings";
|
||||
this.N64CoreSettingsLabel.Visible = false;
|
||||
//
|
||||
// N64CoreTypeComboBox
|
||||
//
|
||||
this.N64CoreTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.N64CoreTypeComboBox.FormattingEnabled = true;
|
||||
this.N64CoreTypeComboBox.Items.AddRange(new object[] {
|
||||
this.ProfileSelectComboBox.Location = new System.Drawing.Point(12, 27);
|
||||
this.ProfileSelectComboBox.Name = "ProfileSelectComboBox";
|
||||
this.ProfileSelectComboBox.Size = new System.Drawing.Size(156, 21);
|
||||
this.ProfileSelectComboBox.TabIndex = 4;
|
||||
//
|
||||
// SaveScreenshotStatesCheckBox
|
||||
//
|
||||
this.SaveScreenshotStatesCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.SaveScreenshotStatesCheckBox.AutoSize = true;
|
||||
this.SaveScreenshotStatesCheckBox.Location = new System.Drawing.Point(12, 88);
|
||||
this.SaveScreenshotStatesCheckBox.Name = "SaveScreenshotStatesCheckBox";
|
||||
this.SaveScreenshotStatesCheckBox.Size = new System.Drawing.Size(166, 17);
|
||||
this.SaveScreenshotStatesCheckBox.TabIndex = 6;
|
||||
this.SaveScreenshotStatesCheckBox.Text = "Save Screenshot With States";
|
||||
this.SaveScreenshotStatesCheckBox.UseVisualStyleBackColor = true;
|
||||
this.SaveScreenshotStatesCheckBox.Visible = false;
|
||||
this.SaveScreenshotStatesCheckBox.MouseHover += new System.EventHandler(this.SaveScreenshotStatesCheckBox_MouseHover);
|
||||
//
|
||||
// SaveLargeScreenshotStatesCheckBox
|
||||
//
|
||||
this.SaveLargeScreenshotStatesCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.SaveLargeScreenshotStatesCheckBox.AutoSize = true;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Location = new System.Drawing.Point(12, 111);
|
||||
this.SaveLargeScreenshotStatesCheckBox.Name = "SaveLargeScreenshotStatesCheckBox";
|
||||
this.SaveLargeScreenshotStatesCheckBox.Size = new System.Drawing.Size(196, 17);
|
||||
this.SaveLargeScreenshotStatesCheckBox.TabIndex = 7;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Text = "Save Large Screenshot With States";
|
||||
this.SaveLargeScreenshotStatesCheckBox.UseVisualStyleBackColor = true;
|
||||
this.SaveLargeScreenshotStatesCheckBox.Visible = false;
|
||||
this.SaveLargeScreenshotStatesCheckBox.MouseHover += new System.EventHandler(this.SaveLargeScreenshotStatesCheckBox_MouseHover);
|
||||
//
|
||||
// AllowUDLRCheckBox
|
||||
//
|
||||
this.AllowUDLRCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.AllowUDLRCheckBox.AutoSize = true;
|
||||
this.AllowUDLRCheckBox.Location = new System.Drawing.Point(12, 134);
|
||||
this.AllowUDLRCheckBox.Name = "AllowUDLRCheckBox";
|
||||
this.AllowUDLRCheckBox.Size = new System.Drawing.Size(111, 17);
|
||||
this.AllowUDLRCheckBox.TabIndex = 8;
|
||||
this.AllowUDLRCheckBox.Text = "Allow U+D or L+R";
|
||||
this.AllowUDLRCheckBox.UseVisualStyleBackColor = true;
|
||||
this.AllowUDLRCheckBox.Visible = false;
|
||||
this.AllowUDLRCheckBox.MouseHover += new System.EventHandler(this.AllowUDLRCheckBox_MouseHover);
|
||||
//
|
||||
// ProfileDialogHelpTexBox
|
||||
//
|
||||
this.ProfileDialogHelpTexBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ProfileDialogHelpTexBox.Location = new System.Drawing.Point(218, 12);
|
||||
this.ProfileDialogHelpTexBox.Name = "ProfileDialogHelpTexBox";
|
||||
this.ProfileDialogHelpTexBox.ReadOnly = true;
|
||||
this.ProfileDialogHelpTexBox.Size = new System.Drawing.Size(198, 200);
|
||||
this.ProfileDialogHelpTexBox.TabIndex = 2;
|
||||
this.ProfileDialogHelpTexBox.Text = resources.GetString("ProfileDialogHelpTexBox.Text");
|
||||
//
|
||||
// ProfileOptionsLabel
|
||||
//
|
||||
this.ProfileOptionsLabel.AutoSize = true;
|
||||
this.ProfileOptionsLabel.Location = new System.Drawing.Point(9, 9);
|
||||
this.ProfileOptionsLabel.Name = "ProfileOptionsLabel";
|
||||
this.ProfileOptionsLabel.Size = new System.Drawing.Size(75, 13);
|
||||
this.ProfileOptionsLabel.TabIndex = 3;
|
||||
this.ProfileOptionsLabel.Text = "Profile Options";
|
||||
//
|
||||
// CustomProfileOptionsLabel
|
||||
//
|
||||
this.CustomProfileOptionsLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.CustomProfileOptionsLabel.AutoSize = true;
|
||||
this.CustomProfileOptionsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.CustomProfileOptionsLabel.Location = new System.Drawing.Point(9, 70);
|
||||
this.CustomProfileOptionsLabel.Name = "CustomProfileOptionsLabel";
|
||||
this.CustomProfileOptionsLabel.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.CustomProfileOptionsLabel.Size = new System.Drawing.Size(113, 13);
|
||||
this.CustomProfileOptionsLabel.TabIndex = 5;
|
||||
this.CustomProfileOptionsLabel.Text = "Custom Profile Options";
|
||||
this.CustomProfileOptionsLabel.Visible = false;
|
||||
//
|
||||
// N64CoreSettingsLabel
|
||||
//
|
||||
this.N64CoreSettingsLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.N64CoreSettingsLabel.AutoSize = true;
|
||||
this.N64CoreSettingsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.N64CoreSettingsLabel.Location = new System.Drawing.Point(9, 173);
|
||||
this.N64CoreSettingsLabel.Name = "N64CoreSettingsLabel";
|
||||
this.N64CoreSettingsLabel.Size = new System.Drawing.Size(93, 13);
|
||||
this.N64CoreSettingsLabel.TabIndex = 9;
|
||||
this.N64CoreSettingsLabel.Text = "N64 Core Settings";
|
||||
this.N64CoreSettingsLabel.Visible = false;
|
||||
//
|
||||
// N64CoreTypeComboBox
|
||||
//
|
||||
this.N64CoreTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.N64CoreTypeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.N64CoreTypeComboBox.FormattingEnabled = true;
|
||||
this.N64CoreTypeComboBox.Items.AddRange(new object[] {
|
||||
"Pure Interpreter",
|
||||
"Interpreter",
|
||||
"Dynarec"});
|
||||
this.N64CoreTypeComboBox.Location = new System.Drawing.Point(79, 206);
|
||||
this.N64CoreTypeComboBox.Name = "N64CoreTypeComboBox";
|
||||
this.N64CoreTypeComboBox.Size = new System.Drawing.Size(99, 21);
|
||||
this.N64CoreTypeComboBox.TabIndex = 11;
|
||||
this.N64CoreTypeComboBox.Visible = false;
|
||||
//
|
||||
// N64CoreTypeLabel
|
||||
//
|
||||
this.N64CoreTypeLabel.AutoSize = true;
|
||||
this.N64CoreTypeLabel.Location = new System.Drawing.Point(9, 209);
|
||||
this.N64CoreTypeLabel.Name = "N64CoreTypeLabel";
|
||||
this.N64CoreTypeLabel.Size = new System.Drawing.Size(56, 13);
|
||||
this.N64CoreTypeLabel.TabIndex = 10;
|
||||
this.N64CoreTypeLabel.Text = "Core Type";
|
||||
this.N64CoreTypeLabel.Visible = false;
|
||||
//
|
||||
// OtherOptions
|
||||
//
|
||||
this.OtherOptions.AutoSize = true;
|
||||
this.OtherOptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.OtherOptions.Location = new System.Drawing.Point(9, 250);
|
||||
this.OtherOptions.Name = "OtherOptions";
|
||||
this.OtherOptions.Size = new System.Drawing.Size(72, 13);
|
||||
this.OtherOptions.TabIndex = 12;
|
||||
this.OtherOptions.Text = "Other Options";
|
||||
//
|
||||
// AutoCheckForUpdates
|
||||
//
|
||||
this.AutoCheckForUpdates.AutoSize = true;
|
||||
this.AutoCheckForUpdates.Location = new System.Drawing.Point(12, 268);
|
||||
this.AutoCheckForUpdates.Name = "AutoCheckForUpdates";
|
||||
this.AutoCheckForUpdates.Size = new System.Drawing.Size(345, 17);
|
||||
this.AutoCheckForUpdates.TabIndex = 13;
|
||||
this.AutoCheckForUpdates.Text = "Automatically check for and notify me of newer versions of BizHawk";
|
||||
this.AutoCheckForUpdates.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ProfileConfig
|
||||
//
|
||||
this.AcceptButton = this.OkBtn;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.CancelBtn;
|
||||
this.ClientSize = new System.Drawing.Size(428, 372);
|
||||
this.Controls.Add(this.AutoCheckForUpdates);
|
||||
this.Controls.Add(this.OtherOptions);
|
||||
this.Controls.Add(this.N64CoreTypeLabel);
|
||||
this.Controls.Add(this.N64CoreTypeComboBox);
|
||||
this.Controls.Add(this.N64CoreSettingsLabel);
|
||||
this.Controls.Add(this.CustomProfileOptionsLabel);
|
||||
this.Controls.Add(this.ProfileOptionsLabel);
|
||||
this.Controls.Add(this.ProfileDialogHelpTexBox);
|
||||
this.Controls.Add(this.AllowUDLRCheckBox);
|
||||
this.Controls.Add(this.SaveLargeScreenshotStatesCheckBox);
|
||||
this.Controls.Add(this.SaveScreenshotStatesCheckBox);
|
||||
this.Controls.Add(this.ProfileSelectComboBox);
|
||||
this.Controls.Add(this.CancelBtn);
|
||||
this.Controls.Add(this.OkBtn);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ProfileConfig";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Profile Config";
|
||||
this.Load += new System.EventHandler(this.ProfileConfig_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.N64CoreTypeComboBox.Location = new System.Drawing.Point(79, 191);
|
||||
this.N64CoreTypeComboBox.Name = "N64CoreTypeComboBox";
|
||||
this.N64CoreTypeComboBox.Size = new System.Drawing.Size(99, 21);
|
||||
this.N64CoreTypeComboBox.TabIndex = 11;
|
||||
this.N64CoreTypeComboBox.Visible = false;
|
||||
//
|
||||
// N64CoreTypeLabel
|
||||
//
|
||||
this.N64CoreTypeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.N64CoreTypeLabel.AutoSize = true;
|
||||
this.N64CoreTypeLabel.Location = new System.Drawing.Point(9, 194);
|
||||
this.N64CoreTypeLabel.Name = "N64CoreTypeLabel";
|
||||
this.N64CoreTypeLabel.Size = new System.Drawing.Size(56, 13);
|
||||
this.N64CoreTypeLabel.TabIndex = 10;
|
||||
this.N64CoreTypeLabel.Text = "Core Type";
|
||||
this.N64CoreTypeLabel.Visible = false;
|
||||
//
|
||||
// OtherOptions
|
||||
//
|
||||
this.OtherOptions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.OtherOptions.AutoSize = true;
|
||||
this.OtherOptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.OtherOptions.Location = new System.Drawing.Point(9, 261);
|
||||
this.OtherOptions.Name = "OtherOptions";
|
||||
this.OtherOptions.Size = new System.Drawing.Size(72, 13);
|
||||
this.OtherOptions.TabIndex = 12;
|
||||
this.OtherOptions.Text = "Other Options";
|
||||
//
|
||||
// AutoCheckForUpdates
|
||||
//
|
||||
this.AutoCheckForUpdates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.AutoCheckForUpdates.AutoSize = true;
|
||||
this.AutoCheckForUpdates.Location = new System.Drawing.Point(12, 279);
|
||||
this.AutoCheckForUpdates.Name = "AutoCheckForUpdates";
|
||||
this.AutoCheckForUpdates.Size = new System.Drawing.Size(345, 17);
|
||||
this.AutoCheckForUpdates.TabIndex = 13;
|
||||
this.AutoCheckForUpdates.Text = "Automatically check for and notify me of newer versions of BizHawk";
|
||||
this.AutoCheckForUpdates.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ProfileConfig
|
||||
//
|
||||
this.AcceptButton = this.OkBtn;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.CancelBtn;
|
||||
this.ClientSize = new System.Drawing.Size(428, 337);
|
||||
this.Controls.Add(this.AutoCheckForUpdates);
|
||||
this.Controls.Add(this.OtherOptions);
|
||||
this.Controls.Add(this.N64CoreTypeLabel);
|
||||
this.Controls.Add(this.N64CoreTypeComboBox);
|
||||
this.Controls.Add(this.N64CoreSettingsLabel);
|
||||
this.Controls.Add(this.CustomProfileOptionsLabel);
|
||||
this.Controls.Add(this.ProfileOptionsLabel);
|
||||
this.Controls.Add(this.ProfileDialogHelpTexBox);
|
||||
this.Controls.Add(this.AllowUDLRCheckBox);
|
||||
this.Controls.Add(this.SaveLargeScreenshotStatesCheckBox);
|
||||
this.Controls.Add(this.SaveScreenshotStatesCheckBox);
|
||||
this.Controls.Add(this.ProfileSelectComboBox);
|
||||
this.Controls.Add(this.CancelBtn);
|
||||
this.Controls.Add(this.OkBtn);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(315, 280);
|
||||
this.Name = "ProfileConfig";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Profile Config";
|
||||
this.Load += new System.EventHandler(this.ProfileConfig_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
|||
|
||||
public void Flush()
|
||||
{
|
||||
Sid.Flush(true);
|
||||
Sid.Flush(false);
|
||||
}
|
||||
|
||||
// -----------------------------------------
|
||||
|
|
|
@ -44,8 +44,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
{
|
||||
Flush(true);
|
||||
|
||||
nsamp = _outputBufferIndex;
|
||||
|
||||
_outputBuffer = new short[_outputBufferIndex * 2];
|
||||
for (int i = 0; i < _outputBufferIndex; i++)
|
||||
{
|
||||
_mixer = _outputBuffer_not_filtered[i] + _outputBuffer_filtered[i];
|
||||
|
@ -53,9 +52,6 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
_mixer = (_mixer * _volume) >> 4;
|
||||
_mixer -= _volume << 8;
|
||||
|
||||
//Console.Write(_mixer);
|
||||
//Console.Write(" ");
|
||||
|
||||
if (_mixer > 0x7FFF)
|
||||
{
|
||||
_mixer = 0x7FFF;
|
||||
|
@ -65,20 +61,15 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
{
|
||||
_mixer = -0x8000;
|
||||
}
|
||||
/*
|
||||
if (_mixer < 0)
|
||||
{
|
||||
_mixer = 0;
|
||||
}
|
||||
*/
|
||||
_outputBuffer[i * 2] = (short)_mixer;
|
||||
_outputBuffer[i * 2 + 1] = (short)_mixer;
|
||||
|
||||
_outputBuffer[i * 2] = unchecked((short)_mixer);
|
||||
_outputBuffer[i * 2 + 1] = unchecked((short)_mixer);
|
||||
|
||||
}
|
||||
//Console.WriteLine(" ");
|
||||
//Console.WriteLine(" ");
|
||||
|
||||
samples = _outputBuffer;
|
||||
|
||||
nsamp = _outputBufferIndex;
|
||||
last_filtered_value = _outputBuffer_filtered[_outputBufferIndex - 1];
|
||||
_outputBufferIndex = 0;
|
||||
filter_index = 0;
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
private bool _filterSelectLoPass;
|
||||
private bool _filterSelectHiPass;
|
||||
private int _mixer;
|
||||
private readonly short[] _outputBuffer;
|
||||
private short[] _outputBuffer;
|
||||
private int[] _outputBuffer_filtered;
|
||||
private int[] _outputBuffer_not_filtered;
|
||||
private int _outputBufferIndex;
|
||||
|
@ -91,7 +91,6 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
for (var i = 0; i < 3; i++)
|
||||
_filterEnable[i] = false;
|
||||
|
||||
_outputBuffer = new short[sampleRate];
|
||||
_outputBuffer_filtered = new int[sampleRate];
|
||||
_outputBuffer_not_filtered = new int[sampleRate];
|
||||
}
|
||||
|
@ -129,7 +128,6 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
|
||||
public void Flush(bool flushFilter)
|
||||
{
|
||||
|
||||
while (_cachedCycles > 0)
|
||||
{
|
||||
_cachedCycles--;
|
||||
|
@ -197,7 +195,6 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
}
|
||||
}
|
||||
//here we need to apply filtering to the samples and add them back to the buffer
|
||||
|
||||
if (flushFilter)
|
||||
{
|
||||
if (_filterEnable[0] | _filterEnable[1] | _filterEnable[2])
|
||||
|
@ -218,20 +215,21 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
}
|
||||
|
||||
filter_index = _outputBufferIndex;
|
||||
last_filtered_value = _outputBuffer_filtered[_outputBufferIndex - 1];
|
||||
if (_outputBufferIndex>0)
|
||||
last_filtered_value = _outputBuffer_filtered[_outputBufferIndex - 1];
|
||||
}
|
||||
|
||||
// if the filter is off, keep updating the filter index to the most recent Flush
|
||||
if (!(_filterEnable[0] | _filterEnable[1] | _filterEnable[2]))
|
||||
{
|
||||
filter_index = _outputBufferIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void filter_operator()
|
||||
{
|
||||
double loc_filterFrequency = (double)(_filterFrequency << 2) + 500;
|
||||
double loc_filterFrequency = (double)(_filterFrequency << 2) + 750;
|
||||
|
||||
double attenuation;
|
||||
|
||||
|
@ -260,24 +258,13 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
temp_buffer[(int)i] = _outputBuffer_filtered[(int)Math.Floor((i / (nsamp_2-1) * (nsamp - 1))) + filter_index];
|
||||
}
|
||||
|
||||
/*
|
||||
for (int i = 0; i< nsamp; i++)
|
||||
{
|
||||
Console.Write(_outputBuffer_filtered[(int)i + filter_index]);
|
||||
Console.Write(" ");
|
||||
}
|
||||
|
||||
Console.WriteLine(" ");
|
||||
Console.WriteLine("After");
|
||||
*/
|
||||
|
||||
// now we have everything we need to perform the FFT
|
||||
fft.ComputeForward(temp_buffer);
|
||||
|
||||
|
||||
// for each element in the frequency list, attenuate it according to the specs
|
||||
for (int i = 0; i < nsamp_2; i++)
|
||||
for (int i = 1; i < nsamp_2; i++)
|
||||
{
|
||||
double freq = (i + 1) * ((double)(880*50)/nsamp);
|
||||
double freq = i * ((double)(880*50)/nsamp);
|
||||
|
||||
// add resonance effect
|
||||
// let's assume that frequencies near the peak are doubled in strength at max resonance
|
||||
|
@ -296,10 +283,10 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
}
|
||||
|
||||
// High pass filter
|
||||
if (_filterSelectHiPass && freq < _filterFrequency)
|
||||
if (_filterSelectHiPass && freq < loc_filterFrequency)
|
||||
{
|
||||
//attenuated at 12db per octave
|
||||
attenuation = Math.Log(freq / _filterFrequency, 2);
|
||||
attenuation = Math.Log(loc_filterFrequency / freq, 2);
|
||||
attenuation = 12 * attenuation;
|
||||
temp_buffer[i] = temp_buffer[i] * Math.Pow(2, -attenuation / 10);
|
||||
}
|
||||
|
@ -308,13 +295,13 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
if (_filterSelectBandPass)
|
||||
{
|
||||
//attenuated at 6db per octave
|
||||
attenuation = Math.Log(freq / _filterFrequency, 2);
|
||||
attenuation = Math.Log(freq / loc_filterFrequency, 2);
|
||||
attenuation = 6 * attenuation;
|
||||
temp_buffer[i] = temp_buffer[i] * Math.Pow(2, -Math.Abs(attenuation) / 10);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// now transform back into time space and reassemble the attenuated frequency components
|
||||
fft.ComputeReverse(temp_buffer);
|
||||
|
||||
|
@ -335,14 +322,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
|||
|
||||
if (i<16)
|
||||
_outputBuffer_filtered[(int)i + filter_index] = (int)((last_filtered_value * Math.Pow(15 - i,1) + _outputBuffer_filtered[(int)i + filter_index] * Math.Pow(i,1))/ Math.Pow(15,1));
|
||||
|
||||
//Console.Write(_outputBuffer_filtered[(int)i + filter_index]);
|
||||
//Console.Write(" ");
|
||||
}
|
||||
|
||||
//Console.WriteLine(" ");
|
||||
//Console.WriteLine("Before");
|
||||
|
||||
}
|
||||
// ----------------------------------
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using BizHawk.Common;
|
||||
using BizHawk.Common.NumberExtensions;
|
||||
using System;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
||||
{
|
||||
|
@ -23,12 +24,21 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
}
|
||||
prg_bank_mask_8k = (Cart.prg_size / 8) - 1;
|
||||
|
||||
// not a maskable size (BF=10111111)
|
||||
// so just set mask to FF and hope for the best
|
||||
if (Cart.prg_size==192)
|
||||
{
|
||||
prg_bank_mask_8k = 0xFF;
|
||||
}
|
||||
|
||||
prg_banks_8k[0] = 0;
|
||||
prg_banks_8k[1] = 1;
|
||||
prg_banks_8k[2] = 2;
|
||||
prg_banks_8k[3] = 3;
|
||||
ApplyMemoryMapMask(prg_bank_mask_8k, prg_banks_8k);
|
||||
|
||||
SetMirrorType(EMirrorType.Horizontal);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -53,7 +63,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
if (mode==2)
|
||||
prg_low_val = prg_low ? 1 : 0;
|
||||
bool mirror = value.Bit(6);
|
||||
SetMirrorType(!mirror ? EMirrorType.Horizontal : EMirrorType.Vertical);
|
||||
SetMirrorType(mirror ? EMirrorType.Horizontal : EMirrorType.Vertical);
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
|
|
|
@ -108,7 +108,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
case "MAPPER069":
|
||||
break;
|
||||
case "SUNSOFT-5A": //Batman (J)
|
||||
AssertPrg(128); AssertChr(128); AssertWram(0); AssertVram(0); AssertBattery(false);
|
||||
AssertPrg(128); AssertChr(128,256); AssertWram(0,8); AssertVram(0); AssertBattery(false);
|
||||
break;
|
||||
case "SUNSOFT-FME-7": //Barcode World (J)
|
||||
AssertPrg(128, 256); AssertChr(128, 256); AssertWram(0, 8); AssertVram(0);
|
||||
|
|
|
@ -425,6 +425,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
NES.VS_dips[7] = (byte)(NES.SyncSettings.VSDipswitches.Dip_Switch_8 ? 1 : 0);
|
||||
break;
|
||||
case "MAPPER001":
|
||||
case "NES-SIEPROM":
|
||||
// there's no way to define PRG oversize for mapper001 due to how the MMC1 regs work
|
||||
// so 512KB must mean SUROM or SXROM. SUROM is more common, so we try that
|
||||
if (Cart.prg_size > 256)
|
||||
|
|
|
@ -25,13 +25,14 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
|||
public IEnumerable<string> AvailableCpus
|
||||
{
|
||||
get { yield return "M68000"; }
|
||||
}
|
||||
|
||||
public string Disassemble(MemoryDomain m, uint addr, out int length)
|
||||
}
|
||||
|
||||
public string Disassemble(MemoryDomain m, uint addr,out int length)
|
||||
{
|
||||
_disassemblerInstance.ReadWord = (a) => (short)m.PeekUshort(a, m.EndianType == MemoryDomain.Endian.Big);
|
||||
_disassemblerInstance.ReadByte = (a) => (sbyte)m.PeekByte(a);
|
||||
_disassemblerInstance.ReadLong = (a) => (int)m.PeekUint(a, m.EndianType == MemoryDomain.Endian.Big);
|
||||
const uint mask = 0xFFFFFF;
|
||||
_disassemblerInstance.ReadWord = (a) => (short)m.PeekUshort(a & mask, m.EndianType == MemoryDomain.Endian.Big);
|
||||
_disassemblerInstance.ReadByte = (a) => (sbyte)m.PeekByte(a & mask);
|
||||
_disassemblerInstance.ReadLong = (a) => (int)m.PeekUint(a & mask, m.EndianType == MemoryDomain.Endian.Big);
|
||||
var info = _disassemblerInstance.Disassemble((int)addr);
|
||||
|
||||
length = info.Length;
|
||||
|
|
|
@ -48,6 +48,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
|||
mm.Add(new MemoryDomainIntPtrSwap16(name, MemoryDomain.Endian.Big, area, size, name != "MD CART" && name != "CD BOOT ROM"));
|
||||
}
|
||||
}
|
||||
|
||||
//it's gross for this not to be the full 32bits.
|
||||
//Uhh I mean, I guess the bus is physically smaller.. but the cpu's view of it is larger...
|
||||
//So... I guess no matter what we do, some badness will propagate. This is probably least bad.
|
||||
//Anyway, the disassembler, for instance, must have been masked down to size, since code can run from FFxxxxxxxx...
|
||||
var m68Bus = new MemoryDomainDelegate("M68K BUS", 0x1000000, MemoryDomain.Endian.Big,
|
||||
delegate (long addr)
|
||||
{
|
||||
|
|
|
@ -3,13 +3,18 @@
|
|||
#include "table.cpp"
|
||||
#include "disassembler.cpp"
|
||||
|
||||
uint8 CPU::op_fetch() {
|
||||
cdlInfo.currFlags = eCDLog_Flags_ExecOperand;
|
||||
uint8 opcode = op_read(r[PC]++);
|
||||
cdlInfo.currFlags = eCDLog_Flags_CPUData;
|
||||
return opcode;
|
||||
}
|
||||
|
||||
void CPU::op_xx() {
|
||||
}
|
||||
|
||||
void CPU::op_cb() {
|
||||
cdlInfo.currFlags = eCDLog_Flags_ExecOperand;
|
||||
uint8 opcode = op_read(r[PC]++);
|
||||
cdlInfo.currFlags = eCDLog_Flags_CPUData;
|
||||
uint8 opcode = op_fetch();
|
||||
(this->*opcode_table_cb[opcode])();
|
||||
}
|
||||
|
||||
|
@ -20,7 +25,7 @@ template<unsigned x, unsigned y> void CPU::op_ld_r_r() {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_ld_r_n() {
|
||||
r[x] = op_read(r[PC]++);
|
||||
r[x] = op_fetch();
|
||||
}
|
||||
|
||||
template<unsigned x> void CPU::op_ld_r_hl() {
|
||||
|
@ -32,7 +37,7 @@ template<unsigned x> void CPU::op_ld_hl_r() {
|
|||
}
|
||||
|
||||
void CPU::op_ld_hl_n() {
|
||||
op_write(r[HL], op_read(r[PC]++));
|
||||
op_write(r[HL], op_fetch());
|
||||
}
|
||||
|
||||
template<unsigned x> void CPU::op_ld_a_rr() {
|
||||
|
@ -40,8 +45,8 @@ template<unsigned x> void CPU::op_ld_a_rr() {
|
|||
}
|
||||
|
||||
void CPU::op_ld_a_nn() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
r[A] = op_read((hi << 8) | (lo << 0));
|
||||
}
|
||||
|
||||
|
@ -50,17 +55,17 @@ template<unsigned x> void CPU::op_ld_rr_a() {
|
|||
}
|
||||
|
||||
void CPU::op_ld_nn_a() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
op_write((hi << 8) | (lo << 0), r[A]);
|
||||
}
|
||||
|
||||
void CPU::op_ld_a_ffn() {
|
||||
r[A] = op_read(0xff00 + op_read(r[PC]++));
|
||||
r[A] = op_read(0xff00 + op_fetch());
|
||||
}
|
||||
|
||||
void CPU::op_ld_ffn_a() {
|
||||
op_write(0xff00 + op_read(r[PC]++), r[A]);
|
||||
op_write(0xff00 + op_fetch(), r[A]);
|
||||
}
|
||||
|
||||
void CPU::op_ld_a_ffc() {
|
||||
|
@ -94,13 +99,13 @@ void CPU::op_ldd_a_hl() {
|
|||
//16-bit load commands
|
||||
|
||||
template<unsigned x> void CPU::op_ld_rr_nn() {
|
||||
r[x] = op_read(r[PC]++) << 0;
|
||||
r[x] |= op_read(r[PC]++) << 8;
|
||||
r[x] = op_fetch() << 0;
|
||||
r[x] |= op_fetch() << 8;
|
||||
}
|
||||
|
||||
void CPU::op_ld_nn_sp() {
|
||||
uint16 addr = op_read(r[PC]++) << 0;
|
||||
addr |= op_read(r[PC]++) << 8;
|
||||
uint16 addr = op_fetch() << 0;
|
||||
addr |= op_fetch() << 8;
|
||||
op_write(addr + 0, r[SP] >> 0);
|
||||
op_write(addr + 1, r[SP] >> 8);
|
||||
}
|
||||
|
@ -134,7 +139,7 @@ void CPU::opi_add_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_add_a_r() { opi_add_a(r[x]); }
|
||||
void CPU::op_add_a_n() { opi_add_a(op_read(r[PC]++)); }
|
||||
void CPU::op_add_a_n() { opi_add_a(op_fetch()); }
|
||||
void CPU::op_add_a_hl() { opi_add_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_adc_a(uint8 x) {
|
||||
|
@ -148,7 +153,7 @@ void CPU::opi_adc_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_adc_a_r() { opi_adc_a(r[x]); }
|
||||
void CPU::op_adc_a_n() { opi_adc_a(op_read(r[PC]++)); }
|
||||
void CPU::op_adc_a_n() { opi_adc_a(op_fetch()); }
|
||||
void CPU::op_adc_a_hl() { opi_adc_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_sub_a(uint8 x) {
|
||||
|
@ -162,7 +167,7 @@ void CPU::opi_sub_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_sub_a_r() { opi_sub_a(r[x]); }
|
||||
void CPU::op_sub_a_n() { opi_sub_a(op_read(r[PC]++)); }
|
||||
void CPU::op_sub_a_n() { opi_sub_a(op_fetch()); }
|
||||
void CPU::op_sub_a_hl() { opi_sub_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_sbc_a(uint8 x) {
|
||||
|
@ -176,7 +181,7 @@ void CPU::opi_sbc_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_sbc_a_r() { opi_sbc_a(r[x]); }
|
||||
void CPU::op_sbc_a_n() { opi_sbc_a(op_read(r[PC]++)); }
|
||||
void CPU::op_sbc_a_n() { opi_sbc_a(op_fetch()); }
|
||||
void CPU::op_sbc_a_hl() { opi_sbc_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_and_a(uint8 x) {
|
||||
|
@ -188,7 +193,7 @@ void CPU::opi_and_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_and_a_r() { opi_and_a(r[x]); }
|
||||
void CPU::op_and_a_n() { opi_and_a(op_read(r[PC]++)); }
|
||||
void CPU::op_and_a_n() { opi_and_a(op_fetch()); }
|
||||
void CPU::op_and_a_hl() { opi_and_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_xor_a(uint8 x) {
|
||||
|
@ -200,7 +205,7 @@ void CPU::opi_xor_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_xor_a_r() { opi_xor_a(r[x]); }
|
||||
void CPU::op_xor_a_n() { opi_xor_a(op_read(r[PC]++)); }
|
||||
void CPU::op_xor_a_n() { opi_xor_a(op_fetch()); }
|
||||
void CPU::op_xor_a_hl() { opi_xor_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_or_a(uint8 x) {
|
||||
|
@ -212,7 +217,7 @@ void CPU::opi_or_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_or_a_r() { opi_or_a(r[x]); }
|
||||
void CPU::op_or_a_n() { opi_or_a(op_read(r[PC]++)); }
|
||||
void CPU::op_or_a_n() { opi_or_a(op_fetch()); }
|
||||
void CPU::op_or_a_hl() { opi_or_a(op_read(r[HL])); }
|
||||
|
||||
void CPU::opi_cp_a(uint8 x) {
|
||||
|
@ -225,7 +230,7 @@ void CPU::opi_cp_a(uint8 x) {
|
|||
}
|
||||
|
||||
template<unsigned x> void CPU::op_cp_a_r() { opi_cp_a(r[x]); }
|
||||
void CPU::op_cp_a_n() { opi_cp_a(op_read(r[PC]++)); }
|
||||
void CPU::op_cp_a_n() { opi_cp_a(op_fetch()); }
|
||||
void CPU::op_cp_a_hl() { opi_cp_a(op_read(r[HL])); }
|
||||
|
||||
template<unsigned x> void CPU::op_inc_r() {
|
||||
|
@ -307,7 +312,7 @@ template<unsigned x> void CPU::op_dec_rr() {
|
|||
void CPU::op_add_sp_n() {
|
||||
op_io();
|
||||
op_io();
|
||||
signed n = (int8)op_read(r[PC]++);
|
||||
signed n = (int8)op_fetch();
|
||||
r.f.z = 0;
|
||||
r.f.n = 0;
|
||||
r.f.h = ((r[SP] & 0x0f) + (n & 0x0f)) > 0x0f;
|
||||
|
@ -317,7 +322,7 @@ void CPU::op_add_sp_n() {
|
|||
|
||||
void CPU::op_ld_hl_sp_n() {
|
||||
op_io();
|
||||
signed n = (int8)op_read(r[PC]++);
|
||||
signed n = (int8)op_fetch();
|
||||
r.f.z = 0;
|
||||
r.f.n = 0;
|
||||
r.f.h = ((r[SP] & 0x0f) + (n & 0x0f)) > 0x0f;
|
||||
|
@ -596,8 +601,8 @@ void CPU::op_ei() {
|
|||
//jump commands
|
||||
|
||||
void CPU::op_jp_nn() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
r[PC] = (hi << 8) | (lo << 0);
|
||||
op_io();
|
||||
}
|
||||
|
@ -607,8 +612,8 @@ void CPU::op_jp_hl() {
|
|||
}
|
||||
|
||||
template<unsigned x, bool y> void CPU::op_jp_f_nn() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
if(r.f[x] == y) {
|
||||
r[PC] = (hi << 8) | (lo << 0);
|
||||
op_io();
|
||||
|
@ -616,13 +621,13 @@ template<unsigned x, bool y> void CPU::op_jp_f_nn() {
|
|||
}
|
||||
|
||||
void CPU::op_jr_n() {
|
||||
int8 n = op_read(r[PC]++);
|
||||
int8 n = op_fetch();
|
||||
r[PC] += n;
|
||||
op_io();
|
||||
}
|
||||
|
||||
template<unsigned x, bool y> void CPU::op_jr_f_n() {
|
||||
int8 n = op_read(r[PC]++);
|
||||
int8 n = op_fetch();
|
||||
if(r.f[x] == y) {
|
||||
r[PC] += n;
|
||||
op_io();
|
||||
|
@ -630,8 +635,8 @@ template<unsigned x, bool y> void CPU::op_jr_f_n() {
|
|||
}
|
||||
|
||||
void CPU::op_call_nn() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
op_write(--r[SP], r[PC] >> 8);
|
||||
op_write(--r[SP], r[PC] >> 0);
|
||||
r[PC] = (hi << 8) | (lo << 0);
|
||||
|
@ -639,8 +644,8 @@ void CPU::op_call_nn() {
|
|||
}
|
||||
|
||||
template<unsigned x, bool y> void CPU::op_call_f_nn() {
|
||||
uint8 lo = op_read(r[PC]++);
|
||||
uint8 hi = op_read(r[PC]++);
|
||||
uint8 lo = op_fetch();
|
||||
uint8 hi = op_fetch();
|
||||
if(r.f[x] == y) {
|
||||
op_write(--r[SP], r[PC] >> 8);
|
||||
op_write(--r[SP], r[PC] >> 0);
|
||||
|
|
|
@ -1,145 +1,146 @@
|
|||
#include "registers.hpp"
|
||||
void (CPU::*opcode_table[256])();
|
||||
void (CPU::*opcode_table_cb[256])();
|
||||
void initialize_opcode_table();
|
||||
|
||||
void op_xx();
|
||||
void op_cb();
|
||||
|
||||
//8-bit load commands
|
||||
template<unsigned x, unsigned y> void op_ld_r_r();
|
||||
template<unsigned x> void op_ld_r_n();
|
||||
template<unsigned x> void op_ld_r_hl();
|
||||
template<unsigned x> void op_ld_hl_r();
|
||||
void op_ld_hl_n();
|
||||
template<unsigned x> void op_ld_a_rr();
|
||||
void op_ld_a_nn();
|
||||
template<unsigned x> void op_ld_rr_a();
|
||||
void op_ld_nn_a();
|
||||
void op_ld_a_ffn();
|
||||
void op_ld_ffn_a();
|
||||
void op_ld_a_ffc();
|
||||
void op_ld_ffc_a();
|
||||
void op_ldi_hl_a();
|
||||
void op_ldi_a_hl();
|
||||
void op_ldd_hl_a();
|
||||
void op_ldd_a_hl();
|
||||
|
||||
//16-bit load commands
|
||||
template<unsigned x> void op_ld_rr_nn();
|
||||
void op_ld_nn_sp();
|
||||
void op_ld_sp_hl();
|
||||
template<unsigned x> void op_push_rr();
|
||||
template<unsigned x> void op_pop_rr();
|
||||
|
||||
//8-bit arithmetic commands
|
||||
void opi_add_a(uint8 x);
|
||||
template<unsigned x> void op_add_a_r();
|
||||
void op_add_a_n();
|
||||
void op_add_a_hl();
|
||||
|
||||
void opi_adc_a(uint8 x);
|
||||
template<unsigned x> void op_adc_a_r();
|
||||
void op_adc_a_n();
|
||||
void op_adc_a_hl();
|
||||
|
||||
void opi_sub_a(uint8 x);
|
||||
template<unsigned x> void op_sub_a_r();
|
||||
void op_sub_a_n();
|
||||
void op_sub_a_hl();
|
||||
|
||||
void opi_sbc_a(uint8 x);
|
||||
template<unsigned x> void op_sbc_a_r();
|
||||
void op_sbc_a_n();
|
||||
void op_sbc_a_hl();
|
||||
|
||||
void opi_and_a(uint8 x);
|
||||
template<unsigned x> void op_and_a_r();
|
||||
void op_and_a_n();
|
||||
void op_and_a_hl();
|
||||
|
||||
void opi_xor_a(uint8 x);
|
||||
template<unsigned x> void op_xor_a_r();
|
||||
void op_xor_a_n();
|
||||
void op_xor_a_hl();
|
||||
|
||||
void opi_or_a(uint8 x);
|
||||
template<unsigned x> void op_or_a_r();
|
||||
void op_or_a_n();
|
||||
void op_or_a_hl();
|
||||
|
||||
void opi_cp_a(uint8 x);
|
||||
template<unsigned x> void op_cp_a_r();
|
||||
void op_cp_a_n();
|
||||
void op_cp_a_hl();
|
||||
|
||||
template<unsigned x> void op_inc_r();
|
||||
void op_inc_hl();
|
||||
template<unsigned x> void op_dec_r();
|
||||
void op_dec_hl();
|
||||
void op_daa();
|
||||
void op_cpl();
|
||||
|
||||
//16-bit arithmetic commands
|
||||
template<unsigned x> void op_add_hl_rr();
|
||||
template<unsigned x> void op_inc_rr();
|
||||
template<unsigned x> void op_dec_rr();
|
||||
void op_add_sp_n();
|
||||
void op_ld_hl_sp_n();
|
||||
|
||||
//rotate/shift commands
|
||||
void op_rlca();
|
||||
void op_rla();
|
||||
void op_rrca();
|
||||
void op_rra();
|
||||
template<unsigned x> void op_rlc_r();
|
||||
void op_rlc_hl();
|
||||
template<unsigned x> void op_rl_r();
|
||||
void op_rl_hl();
|
||||
template<unsigned x> void op_rrc_r();
|
||||
void op_rrc_hl();
|
||||
template<unsigned x> void op_rr_r();
|
||||
void op_rr_hl();
|
||||
template<unsigned x> void op_sla_r();
|
||||
void op_sla_hl();
|
||||
template<unsigned x> void op_swap_r();
|
||||
void op_swap_hl();
|
||||
template<unsigned x> void op_sra_r();
|
||||
void op_sra_hl();
|
||||
template<unsigned x> void op_srl_r();
|
||||
void op_srl_hl();
|
||||
|
||||
//single-bit commands
|
||||
template<unsigned b, unsigned x> void op_bit_n_r();
|
||||
template<unsigned b> void op_bit_n_hl();
|
||||
template<unsigned b, unsigned x> void op_set_n_r();
|
||||
template<unsigned b> void op_set_n_hl();
|
||||
template<unsigned b, unsigned x> void op_res_n_r();
|
||||
template<unsigned b> void op_res_n_hl();
|
||||
|
||||
//control commands
|
||||
void op_ccf();
|
||||
void op_scf();
|
||||
void op_nop();
|
||||
void op_halt();
|
||||
void op_stop();
|
||||
void op_di();
|
||||
void op_ei();
|
||||
|
||||
//jump commands
|
||||
void op_jp_nn();
|
||||
void op_jp_hl();
|
||||
template<unsigned x, bool y> void op_jp_f_nn();
|
||||
void op_jr_n();
|
||||
template<unsigned x, bool y> void op_jr_f_n();
|
||||
void op_call_nn();
|
||||
template<unsigned x, bool y> void op_call_f_nn();
|
||||
void op_ret();
|
||||
template<unsigned x, bool y> void op_ret_f();
|
||||
void op_reti();
|
||||
template<unsigned n> void op_rst_n();
|
||||
|
||||
//disassembler.cpp
|
||||
string disassemble(uint16 pc);
|
||||
string disassemble_opcode(uint16 pc);
|
||||
string disassemble_opcode_cb(uint16 pc);
|
||||
#include "registers.hpp"
|
||||
void (CPU::*opcode_table[256])();
|
||||
void (CPU::*opcode_table_cb[256])();
|
||||
void initialize_opcode_table();
|
||||
|
||||
void op_xx();
|
||||
void op_cb();
|
||||
uint8 op_fetch();
|
||||
|
||||
//8-bit load commands
|
||||
template<unsigned x, unsigned y> void op_ld_r_r();
|
||||
template<unsigned x> void op_ld_r_n();
|
||||
template<unsigned x> void op_ld_r_hl();
|
||||
template<unsigned x> void op_ld_hl_r();
|
||||
void op_ld_hl_n();
|
||||
template<unsigned x> void op_ld_a_rr();
|
||||
void op_ld_a_nn();
|
||||
template<unsigned x> void op_ld_rr_a();
|
||||
void op_ld_nn_a();
|
||||
void op_ld_a_ffn();
|
||||
void op_ld_ffn_a();
|
||||
void op_ld_a_ffc();
|
||||
void op_ld_ffc_a();
|
||||
void op_ldi_hl_a();
|
||||
void op_ldi_a_hl();
|
||||
void op_ldd_hl_a();
|
||||
void op_ldd_a_hl();
|
||||
|
||||
//16-bit load commands
|
||||
template<unsigned x> void op_ld_rr_nn();
|
||||
void op_ld_nn_sp();
|
||||
void op_ld_sp_hl();
|
||||
template<unsigned x> void op_push_rr();
|
||||
template<unsigned x> void op_pop_rr();
|
||||
|
||||
//8-bit arithmetic commands
|
||||
void opi_add_a(uint8 x);
|
||||
template<unsigned x> void op_add_a_r();
|
||||
void op_add_a_n();
|
||||
void op_add_a_hl();
|
||||
|
||||
void opi_adc_a(uint8 x);
|
||||
template<unsigned x> void op_adc_a_r();
|
||||
void op_adc_a_n();
|
||||
void op_adc_a_hl();
|
||||
|
||||
void opi_sub_a(uint8 x);
|
||||
template<unsigned x> void op_sub_a_r();
|
||||
void op_sub_a_n();
|
||||
void op_sub_a_hl();
|
||||
|
||||
void opi_sbc_a(uint8 x);
|
||||
template<unsigned x> void op_sbc_a_r();
|
||||
void op_sbc_a_n();
|
||||
void op_sbc_a_hl();
|
||||
|
||||
void opi_and_a(uint8 x);
|
||||
template<unsigned x> void op_and_a_r();
|
||||
void op_and_a_n();
|
||||
void op_and_a_hl();
|
||||
|
||||
void opi_xor_a(uint8 x);
|
||||
template<unsigned x> void op_xor_a_r();
|
||||
void op_xor_a_n();
|
||||
void op_xor_a_hl();
|
||||
|
||||
void opi_or_a(uint8 x);
|
||||
template<unsigned x> void op_or_a_r();
|
||||
void op_or_a_n();
|
||||
void op_or_a_hl();
|
||||
|
||||
void opi_cp_a(uint8 x);
|
||||
template<unsigned x> void op_cp_a_r();
|
||||
void op_cp_a_n();
|
||||
void op_cp_a_hl();
|
||||
|
||||
template<unsigned x> void op_inc_r();
|
||||
void op_inc_hl();
|
||||
template<unsigned x> void op_dec_r();
|
||||
void op_dec_hl();
|
||||
void op_daa();
|
||||
void op_cpl();
|
||||
|
||||
//16-bit arithmetic commands
|
||||
template<unsigned x> void op_add_hl_rr();
|
||||
template<unsigned x> void op_inc_rr();
|
||||
template<unsigned x> void op_dec_rr();
|
||||
void op_add_sp_n();
|
||||
void op_ld_hl_sp_n();
|
||||
|
||||
//rotate/shift commands
|
||||
void op_rlca();
|
||||
void op_rla();
|
||||
void op_rrca();
|
||||
void op_rra();
|
||||
template<unsigned x> void op_rlc_r();
|
||||
void op_rlc_hl();
|
||||
template<unsigned x> void op_rl_r();
|
||||
void op_rl_hl();
|
||||
template<unsigned x> void op_rrc_r();
|
||||
void op_rrc_hl();
|
||||
template<unsigned x> void op_rr_r();
|
||||
void op_rr_hl();
|
||||
template<unsigned x> void op_sla_r();
|
||||
void op_sla_hl();
|
||||
template<unsigned x> void op_swap_r();
|
||||
void op_swap_hl();
|
||||
template<unsigned x> void op_sra_r();
|
||||
void op_sra_hl();
|
||||
template<unsigned x> void op_srl_r();
|
||||
void op_srl_hl();
|
||||
|
||||
//single-bit commands
|
||||
template<unsigned b, unsigned x> void op_bit_n_r();
|
||||
template<unsigned b> void op_bit_n_hl();
|
||||
template<unsigned b, unsigned x> void op_set_n_r();
|
||||
template<unsigned b> void op_set_n_hl();
|
||||
template<unsigned b, unsigned x> void op_res_n_r();
|
||||
template<unsigned b> void op_res_n_hl();
|
||||
|
||||
//control commands
|
||||
void op_ccf();
|
||||
void op_scf();
|
||||
void op_nop();
|
||||
void op_halt();
|
||||
void op_stop();
|
||||
void op_di();
|
||||
void op_ei();
|
||||
|
||||
//jump commands
|
||||
void op_jp_nn();
|
||||
void op_jp_hl();
|
||||
template<unsigned x, bool y> void op_jp_f_nn();
|
||||
void op_jr_n();
|
||||
template<unsigned x, bool y> void op_jr_f_n();
|
||||
void op_call_nn();
|
||||
template<unsigned x, bool y> void op_call_f_nn();
|
||||
void op_ret();
|
||||
template<unsigned x, bool y> void op_ret_f();
|
||||
void op_reti();
|
||||
template<unsigned n> void op_rst_n();
|
||||
|
||||
//disassembler.cpp
|
||||
string disassemble(uint16 pc);
|
||||
string disassemble_opcode(uint16 pc);
|
||||
string disassemble_opcode_cb(uint16 pc);
|
||||
|
|
|
@ -1,90 +1,96 @@
|
|||
//70224 clocks/frame
|
||||
// 456 clocks/scanline
|
||||
// 154 scanlines/frame
|
||||
|
||||
#ifdef CPU_CPP
|
||||
|
||||
#include "opcode.cpp"
|
||||
|
||||
void CPU::add_clocks(unsigned clocks) {
|
||||
system.clocks_executed += clocks;
|
||||
if(system.sgb()) scheduler.exit(Scheduler::ExitReason::StepEvent);
|
||||
|
||||
status.clock += clocks;
|
||||
if(status.clock >= 4 * 1024 * 1024) {
|
||||
status.clock -= 4 * 1024 * 1024;
|
||||
cartridge.mbc3.second();
|
||||
}
|
||||
|
||||
//4MHz / N(hz) - 1 = mask
|
||||
if((status.clock & 15) == 0) timer_262144hz();
|
||||
if((status.clock & 63) == 0) timer_65536hz();
|
||||
if((status.clock & 255) == 0) timer_16384hz();
|
||||
if((status.clock & 511) == 0) timer_8192hz();
|
||||
if((status.clock & 1023) == 0) timer_4096hz();
|
||||
|
||||
lcd.clock -= clocks * lcd.frequency;
|
||||
if(lcd.clock <= 0) co_switch(scheduler.active_thread = lcd.thread);
|
||||
|
||||
apu.clock -= clocks * apu.frequency;
|
||||
if(apu.clock <= 0) co_switch(scheduler.active_thread = apu.thread);
|
||||
}
|
||||
|
||||
void CPU::timer_262144hz() {
|
||||
if(status.timer_enable && status.timer_clock == 1) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_65536hz() {
|
||||
if(status.timer_enable && status.timer_clock == 2) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_16384hz() {
|
||||
if(status.timer_enable && status.timer_clock == 3) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
|
||||
status.div++;
|
||||
}
|
||||
|
||||
void CPU::timer_8192hz() {
|
||||
if(status.serial_transfer && status.serial_clock) {
|
||||
if(--status.serial_bits == 0) {
|
||||
status.serial_transfer = 0;
|
||||
interrupt_raise(Interrupt::Serial);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_4096hz() {
|
||||
if(status.timer_enable && status.timer_clock == 0) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::hblank() {
|
||||
if(status.dma_mode == 1 && status.dma_length) {
|
||||
for(unsigned n = 0; n < 16; n++) {
|
||||
bus.write(status.dma_target++, bus.read(status.dma_source++));
|
||||
add_clocks(4);
|
||||
}
|
||||
status.dma_length -= 16;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
//70224 clocks/frame
|
||||
// 456 clocks/scanline
|
||||
// 154 scanlines/frame
|
||||
|
||||
#ifdef CPU_CPP
|
||||
|
||||
#include "opcode.cpp"
|
||||
|
||||
void CPU::add_clocks(unsigned clocks) {
|
||||
system.clocks_executed += clocks;
|
||||
|
||||
auto flags = cdlInfo.currFlags;
|
||||
|
||||
if(system.sgb()) scheduler.exit(Scheduler::ExitReason::StepEvent);
|
||||
cdlInfo.currFlags = flags;
|
||||
|
||||
status.clock += clocks;
|
||||
if(status.clock >= 4 * 1024 * 1024) {
|
||||
status.clock -= 4 * 1024 * 1024;
|
||||
cartridge.mbc3.second();
|
||||
}
|
||||
|
||||
//4MHz / N(hz) - 1 = mask
|
||||
if((status.clock & 15) == 0) timer_262144hz();
|
||||
if((status.clock & 63) == 0) timer_65536hz();
|
||||
if((status.clock & 255) == 0) timer_16384hz();
|
||||
if((status.clock & 511) == 0) timer_8192hz();
|
||||
if((status.clock & 1023) == 0) timer_4096hz();
|
||||
|
||||
lcd.clock -= clocks * lcd.frequency;
|
||||
if(lcd.clock <= 0) co_switch(scheduler.active_thread = lcd.thread);
|
||||
cdlInfo.currFlags = flags;
|
||||
|
||||
apu.clock -= clocks * apu.frequency;
|
||||
if(apu.clock <= 0) co_switch(scheduler.active_thread = apu.thread);
|
||||
cdlInfo.currFlags = flags;
|
||||
}
|
||||
|
||||
void CPU::timer_262144hz() {
|
||||
if(status.timer_enable && status.timer_clock == 1) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_65536hz() {
|
||||
if(status.timer_enable && status.timer_clock == 2) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_16384hz() {
|
||||
if(status.timer_enable && status.timer_clock == 3) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
|
||||
status.div++;
|
||||
}
|
||||
|
||||
void CPU::timer_8192hz() {
|
||||
if(status.serial_transfer && status.serial_clock) {
|
||||
if(--status.serial_bits == 0) {
|
||||
status.serial_transfer = 0;
|
||||
interrupt_raise(Interrupt::Serial);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::timer_4096hz() {
|
||||
if(status.timer_enable && status.timer_clock == 0) {
|
||||
if(++status.tima == 0) {
|
||||
status.tima = status.tma;
|
||||
interrupt_raise(Interrupt::Timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CPU::hblank() {
|
||||
if(status.dma_mode == 1 && status.dma_length) {
|
||||
for(unsigned n = 0; n < 16; n++) {
|
||||
bus.write(status.dma_target++, bus.read(status.dma_source++));
|
||||
add_clocks(4);
|
||||
}
|
||||
status.dma_length -= 16;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue