diff --git a/bios/Other/ines/battle-toads.chts b/bios/Other/ines/battle-toads.chts new file mode 100644 index 00000000..9e1a4abb --- /dev/null +++ b/bios/Other/ines/battle-toads.chts @@ -0,0 +1,90 @@ +[Battletoads] +Menu=Select Level +Code=00047505 : Hovering +Code=00043905 : Invisibility +Menu=Enemies Have No Health +Menu=Select Player 1 +Code=00051A2F : Infinite Health for Player 1 +Code=00001105 : Infinite Lives for Player 1 +Code=0005740A : Invincibility for Player 1 +Menu=Select Player 2 +Code=00001205 : Infinite Lives for Player 2 +Code=0005750A : Invincibility for Player 2 + +[Enemies Have No Health / Battletoads] +00051C00 +00051D00 +00051E00 +00051F00 +00052000 +00052100 + +[Select Player 1 / Battletoads] +Code=00009E00 : Green Toad +Code=00009E01 : Invisible Toad + +[Select Player 2 / Battletoads] +Code=00009F00 : Invisible Toad +Code=00009F01 : Brown Toad + +[Select Level / Battletoads] +Code=00000D00 : Level 1 - Ragnarok's Canyon (with SS Vulture Intro) +Code=00000D01 : Level 1 - Ragnarok's Canyon (with no Intro) +Code=00000D02 : Level 2 - Wookie Hole (Impact Crater - Trench Downwards) +Code=00000D03 : Level 3 - Turbo Tunnel (Chasm) +Code=00000D04 : Level 4 - Arctic Caverns (Ice Cavern) +Code=00000D05 : Level 5 - Surf City (Water Rapids) +Code=00000D06 : Level 6 - Karnath's Lair (Snake Pit) +Code=00000D07 : Level 7 - Volkmire's Inferno (Fire Zone) +Code=00000D08 : Level 8 - Intruder Excluder (Elevator Shaft) +Code=00000D09 : Level 9 - Terra Tubes (Gargantva Ducts) +Code=00000D0A : Level 10 - Rat Race +Code=00000D0B : Level 11 - Clinger-Winger +Code=00000D0C : Level 12 - Fight Against Dark Queen +Code=00000D0D : Level 13 - Armageddon + +[Battletoads And Double Dragon] +Menu=Select Level +Menu=Enemies Have No Health +Menu=Select Player 1 +Code=00001105 : Infinite Lives for Player 1 +Code=00051B4F : Infinite Health for Player 1 +Menu=Select Player 2 +Code=00001205 : Infinite Lives for Player 2 +Code=00051C4F : Infinite Health for Player 2 + +[Select Level / Battletoads And Double Dragon] +Code=00001000 : Level 1 - Tail Of The Ratship +Code=00001001 : Level 2 - Blag Alley +Code=00001002 : Level 3 - Ropes 'N' Roper +Code=00001003 : Level 4 - Ratship Rumble +Code=00001004 : Level 5 - Missile Mayhem +Code=00001005 : Level 6 - Shadow-Boss Showdown +Code=00001006 : Level 7 - Armageddon II +Code=00001007 : Ending - Part I +Code=00001008 : Introduction Part I +Code=00001009 : Introduction Part II +Code=0000100A : Introduction Part III +Code=0000100B : Ending - Part II + +[Select Player 1 / Battletoads And Double Dragon] +Code=0005F000 : Rash +Code=0005F001 : Zitz +Code=0005F002 : Pimple +Code=0005F003 : Billy +Code=0005F004 : Jimmy + +[Select Player 2 / Battletoads And Double Dragon] +Code=0005F100 : Rash +Code=0005F101 : Zitz +Code=0005F102 : Pimple +Code=0005F103 : Billy +Code=0005F104 : Jimmy + +[Enemies Have No Health / Battletoads And Double Dragon] +00051C00 +00051D00 +00051E00 +00051F00 +00052000 +00052100 diff --git a/bios/Other/ines/dragon-warrior-2.chts b/bios/Other/ines/dragon-warrior-2.chts new file mode 100644 index 00000000..2b78c24a --- /dev/null +++ b/bios/Other/ines/dragon-warrior-2.chts @@ -0,0 +1,218 @@ +[Dragon Warrior 2] +Code=EPLANE : Skip battles +Code=UPYOUS : When in Rhone (last area), rise to highest level after battle +Code=NAZUGV : High experience from fighting enemies (1) +Code=YAZUGV : High experience from fighting enemies (2) +Code=OPEOGNXO : High experience after battle +Code=AAAULA : Town and castle designs are different +Code=ATOITGSA : Walk through walls +Code=NYVZLAAE : Sell lottery tickets for $49013 +Code=OXOOVVPX : Increase all stats by 15 when levelling up +Code=YEUOUNLU : Buy Sword Of Erdrick for $2 +Code=LOUOKYAE : Buy Armor Of Erdrick for $4 +Code=AEUEAAPA : No random battles +Code=AEXOEAIA : Get $65535 after winning a battle +Code=PAXEKSOX : First treasure chest has $12850 +Menu=First treasure chest has Sword of Thunder +Code=AESPGYZY : Get treasure chest after each battle +Code=SEKXAPST : Infinite MP in battle +Code=OZEPOASX : Wizard Ring never breaks when used +Menu=Lottery ticket behaves like Dragon Potion +Menu=Any character can equip any weapon or armor +Menu=Infinite HP in battle +Menu=Stay at inns for free +Menu=Modify Enemies in Battle +Menu=Free Items +Menu=Free Spells +Menu=Free Mysterious Hat Spells +Menu=Prince of Midenhall +Menu=Prince of Cannock +Menu=Princess Moonbrooke + +[Lottery ticket behaves like Dragon Potion] +ENVOIYAZ +GXVOTNTZ + +[Any character can equip any weapon or armor] +SXXXZUSU +VUXXLUSU + +[First treasure chest has Sword of Thunder] +APUPOTTA +APVOOGTA + +[Infinite HP in battle] +ALUZOYSX +ZGUZUYSE + +[Stay at inns for free] +SZKAKSSE +SZKEOSSE + +[Free Spells] +Code=AEVAVGLA : Heal +Code=AEVEEGIA : Healmore +Code=AEVEXKAA : Healall +Code=AEVESGLA : Antidote +Code=AEVENGTA : Outside +Code=AENAOGTA : Return +Code=AENAUGGA : Stepguard +Code=AENAKKYA : Revive + +[Free Mysterious Hat Spells] +Code=AENUZGZA : Fireball +Code=AENULGZA : Sleep +Code=AENUGGGA : Firebane +Code=AENUIGGA : Defeat +Code=AENUTGGA : Infernos +Code=AENUYGLA : Stopspell +Code=AAELYSAA : Explode +Code=AAEUASYA : Chance +Code=AAELZILA : Heal +Code=AAELGIIA : Healmore +Code=AAELTSAA : Healall + +[Prince of Midenhall] +Code=LSEKYYIS : Start with Armor of Erdrick +Code=NNKLUSGO : Start with 255 HP +Code=NNKLOOIE : Start with 255 Strength +Code=NNKLXIGE : Start with 255 Agility + +[Prince of Cannock] +Code=PKOGYYIK : Start with Falcon Sword +Code=LSOKAYII : Start with Water Flying Cloth +Code=NNKLNSYO : Start with 255 HP +Code=NNKLSIGE : Start with 255 Strength +Code=NNKLVIGE : Start with 255 Agility +Code=NNKUEITE : Start With 255 MP + +[Princess Moonbrooke] +Code=GKOKYYPG : Start With Staff of Thunder +Code=LSXGAYPI : Start With Water Flying Cloth +Code=NNKUUIAX : Start With 255 HP +Code=NNKUOIZE : Start With 255 Strength +Code=NNKUXITO : Start With 255 Agility +Code=NNKUKSGO : Start With 255 MP + +[Free Items] +Code=AAEZTEGL : Club +Code=AAEZAEEG : Magic Knife +Code=AAUZGEZI : Leather Shield +Code=AANZZEAA : Antidote Herb +Code=AANZGEYA : Medical Herb +Code=AAVZGEAZ : Fairy Water +Code=AAVZTAAI : Wyvern Wing +Menu=Chain Sickle +Menu=Chain Mail +Menu=Wizard Wand +Menu=Broad Sword +Menu=Dragon Killer +Menu=Dragon Bane + +[Chain Sickle / Free Items] +AAEXZAVA +AAEXLAPA + +[Chain Mail / Free Items] +AAXXAAET +AAXXPAPA + +[Wizard Wand / Free Items] +AAEZZAKG +AAEZLEPA + +[Broad Sword / Free Items] +AAOZAEKI +AAOZPAIA + +[Dragon Killer / Free Items] +AAOZYEYP +AAOZTAAG + +[Dragon Bane / Free Items] +AASXIAZA +AASXGAEA + +[Modify Enemies in Battle] +Code=PANEYUNY : Slimes +Code=ZANEYUNY : Slugs +Code=LANEYUNY : Iron Ants +Code=GANEYUNY : Drakees +Code=IANEYUNY : Wild Mouse +Code=TANEYUNY : Healer +Code=YANEYUNY : Ghost Mouse +Code=AANEYUNN : Babble +Code=PANEYUNN : Army Ants +Code=ZANEYUNN : Magicians +Code=LANEYUNN : Big Rats +Code=GANEYUNN : Big Cobras +Code=IANEYUNN : Magic Ants +Code=TANEYUNN : Magidrakees +Code=YANEYUNN : Centipods +Code=APNEYUNY : Man O War +Code=PPNEYUNY : Lizard +Code=ZPNEYUNY : Zombie +Code=LPNEYUNY : Smoke +Code=GPNEYUNY : Ghost Rat +Code=IPNEYUNY : Baboon +Code=TPNEYUNY : Carnivog +Code=YPNEYUNY : Megapede +Code=APNEYUNN : Sea Slug +Code=PPNEYUNN : Medusa Ball +Code=ZPNEYUNN : Enchanter +Code=LPNEYUNN : Mud Man +Code=GPNEYUNN : Magic Baboon +Code=IPNEYUNN : Demi Ghost +Code=TPNEYUNN : Gremlin +Code=YPNEYUNN : Poison Lily +Code=AZNEYUNY : Mummy Man +Code=PZNEYUNY : Gorgon +Code=ZZNEYUNY : Sabre Tiger +Code=LZNEYUNY : Dragon Fly +Code=GZNEYUNY : Titan Tree +Code=IZNEYUNY : Undead +Code=TZNEYUNY : Basilisk +Code=YZNEYUNY : Goppi +Code=AZNEYUNN : Orc +Code=PZNEYUNN : Puppet Man +Code=ZZNEYUNN : Mummy +Code=LZNEYUNN : Evil Tree +Code=GZNEYUNN : Gas +Code=IZNEYUNN : Hork +Code=TZNEYUNN : Hawkman +Code=YZNEYUNN : Sorcerer +Code=ALNEYUNY : Metal Slime +Code=PLNEYUNY : Hunter +Code=ZLNEYUNY : Evil Eye +Code=LLNEYUNY : Hibababango +Code=GLNEYUNY : Graboopi +Code=ILNEYUNY : Gold Orc +Code=TLNEYUNY : Evil Clown +Code=YLNEYUNY : Ghoul +Code=ALNEYUNN : Vampirus +Code=PLNEYUNN : Megaknight +Code=ZLNEYUNN : Sabre Lion +Code=LLNEYUNN : Metal Hunter +Code=GLNEYUNN : Ozwarg +Code=ILNEYUNN : Dark Eye +Code=TLNEYUNN : Gargoyle +Code=YLNEYUNN : Orc King +Code=AGNEYUNY : Magic Vampirus +Code=PGNEYUNY : Berserkers +Code=ZGNEYUNY : Metal Babbles +Code=LGNEYUNY : Hargon's Knight +Code=GGNEYUNY : Cyclops +Code=IGNEYUNY : Attackbots +Code=TGNEYUNY : Green Dragon +Code=YGNEYUNY : Mace Master +Code=AGNEYUNN : Flames +Code=PGNEYUNN : Silver Batboon +Code=ZGNEYUNN : Blizzard +Code=LGNEYUNN : Giant +Code=GGNEYUNN : Gold Batboon +Code=IGNEYUNN : Bull Warg +Code=TGNEYUNN : Atlas +Code=YGNEYUNN : Bazuzu +Code=AINEYUNY : Zarlox +Code=PINEYUNY : Hargon +Code=ZINEYUNY : Malroth diff --git a/bios/Other/ines/dragon-warrior.chts b/bios/Other/ines/dragon-warrior.chts new file mode 100644 index 00000000..59679ea9 --- /dev/null +++ b/bios/Other/ines/dragon-warrior.chts @@ -0,0 +1,52 @@ +[Dragon Warrior] +Code=SXOIVLSA : Infinite magic power +Code=AEVGUIZA : Take no damage in swamp +Code=SZUTXISA : Take no damage in combat +Code=YAKKEVYA : Barriers cause half usual damage +Code=VKOIVLSA : Spells use only one magic point +Code=SKOIVLSA : Spells use no magic points +Code=VVOYYTSA : Start with 2034GP +Code=VVPYAT : Start fully equipped character, game won +Code=VVOYYTSA : Start with extra stuff, princess saved +Code=VVPYZT : Start well equipped character +Code=VKVLPP : Walk through walls (may get stuck) +Code=ZTZTLT : Excellent hit on every attack +Code=AKPOOA : No enemies in caves +Code=IYSPOTPE : Slimes award 255EXP +Code=NYSPXTZE : Slimes award 200GP +Code=IYVPOTPE : Red Slimes award 255EXP +Code=NYVPXTLE : Red Slimes award 200GP +Menu=Items + +[Items] +Code=AAVOOOAP : Herb (free) +Code=AAVOSOAA : Torch (free) +Code=AAKPNOZA : Bamboo Pole (free) +Code=AAKOOOGL : Club (free) +Code=AAKOVPZA : Hand Axe (48 GP) +Code=AAKOUPKL : Copper Sword (free) +Menu=Broad Sword (free) +Code=AASPXPTZ : Flame Sword (72GP) +Code=TEOPNPAA : Erdrick's Sword (2GP in Brecconary) +Code=AASPNPTG : Leather Armor (free) +Menu=Half Plate (free) +Code=AASOVOLA : Full Plate (184GP) +Code=AASOXPPA : Chain Mail (44GP) +Code=AANPUPGP : Dragon Scale (free) +Code=AAVPEOTP : Magic Armor (20GP) +Code=IEOOXPYE : Erdrick's Armor (2GP in Brecconary) +Code=AAVPUOZI : Small Shield (free) +Code=AAVPVPLA : Large Shield (32GP) +Menu=Silver Shield (free) + +[Broad Sword (free) / Items] +AASPEPIA +AAKONOKI + +[Half Plate (free) / Items] +AASOKPLA +AASOUOET + +[Silver Shield (free) / Items] +AAVOEOPL +AAVPNPEI diff --git a/bios/Other/ines/fceu.chts b/bios/Other/ines/fceu.chts new file mode 100644 index 00000000..eff596c1 --- /dev/null +++ b/bios/Other/ines/fceu.chts @@ -0,0 +1,105 @@ +[Adventures Of Lolo] +Code=00005763 : Infinite Lives +Code=00005863 : Infinite Shots + +[Adventures Of Lolo 2] +Code=00007A63 : Infinite Lives +Code=00007D63 : Infinite Shots + +[Adventures Of Lolo 3] +Code=00005763 : Infinite Shots + +[Air Fortress] +Code=00004609 : Infinite Lives + +[Airwolf] +Code=0000A709 : Infinite Lives + +[Arkanoid '98] +Code=00008109 : Ball Respawns + +[Attack Of The Killer Tomatoes] +Code=00071809 : Infinite Lives +Code=000722C0 : Infinite Health + +[Boulder Dash] +Code=00007709 : Infinite Lives +Menu=Infinite Time +Menu=One Crystal Remaining + +[One Crystal Remaining / Boulder Dash] +0000AE01 +0000AF00 +0000B000 + +[Infinite Time / Boulder Dash] +0000B109 +0000B209 +0000B309 + +[Castlevania] +Code=00007163 : Infinite Hearts +Code=00004232 : Infinite Time +Code=0000453D : Infinite Health +Code=00002A05 : Infinite Lives +Code=0001A900 : Single Hit Kills Boss +Code=00005B02 : Invincible +Code=00007002 : Best Whip +Menu=Select Weapon + +[Select Weapon / Castlevania] +Code=00015B08 : Knive +Code=00015B09 : Cross +Code=00015B11 : Holy Water +Code=00015B13 : Axe +Code=00015B15 : Clock + +[Castlevania 3] +Code=00008002 : Invincibility +Code=00001A00 : No Flicker When Invincible +Code=00003C40 : Infinite Energy +Code=00003599 : Infinite Lives +Code=00008499 : Infinite Hearts +Code=00008E02 : Best Whip for Simon +Code=00008F02 : Best Attack for Alucard +Code=00008702 : Have "III" +Code=00003D00 : Bosses Have No Health +Menu=Infinite Time +Menu=Max Points +Menu=Select Stage +Menu=Select Partner +Menu=Select Simon's Weapon +Menu=Select Partner's Weapon + +[Max Points / Castlevania 3] +00003670 +00003799 + +[Infinite Time / Castlevania 3] +00007E99 +00007F99 + +[Select Simon's Weapon / Castlevania 3] +Code=00008501 : Axe +Code=00008502 : Cross +Code=00008503 : Dagger +Code=00008504 : Holy Water + +[Select Partner's Weapon / Castlevania 3] +Code=00008605 : Fire Spell +Code=00008606 : Ice Spell +Code=00008607 : Lightning Spell +Code=00008608 : Dagger +Code=00008609 : Axe +Code=0000860B : Clock + +[Select Stage / Castlevania 3] +Code=00003300 : Stage 1-01 +Code=00003301 : Stage 1-02 +Code=00003302 : Stage 1-03 +Code=00003303 : Stage 1-04 + +[Select Partner / Castlevania 3] +Code=00003A01 : Sypha +Code=00003A02 : Grant +Code=00003A03 : Alucard diff --git a/bios/Other/ines/final-fantasy-2.chts b/bios/Other/ines/final-fantasy-2.chts new file mode 100644 index 00000000..cd1c31ca --- /dev/null +++ b/bios/Other/ines/final-fantasy-2.chts @@ -0,0 +1,59 @@ +[Final Fantasy 2 (Japanese)] +Code=SUNXKESO : Infinite items outside of battle +Code=IOSZZKGO : Get a lot of gold after each battle +Code=SXXPTAST : Get a lot of gold after buying an item in shop +Code=XGVKNNEY : No random battles in caves +Code=SAKGPIEP : No random battles overworld +Menu=Start with 800 gold +Menu=Start with 2000 gold +Menu=Start with 10000 gold +Menu=Start with 65000 gold +Menu=All items free +Menu=Easier Enemies +Menu=Free Items + +[Start with 800 gold] +AXNEKZEP +LENESZPA + +[Start with 2000 gold] +ESNEKZEP +YENESZPA + +[Start with 10000 gold] +AONEKZEP +YXNESZPA + +[Start with 65000 gold] +EVNEKZEO +SNNESZPE + +[Free Items] +Code=AESAZPZL : Potions +Menu=XPotions +Menu=EchoScns +Menu=Elixirs + +[XPotions / Free Items] +AEVAGPKY +AEVAIPPA + +[EchoScns / Free Items] +AENAAPEI +AENAPPYA + +[Elixirs / Free Items] +AEKEZPAI +AEKELPUG + +[All items free] +XVOOTASV +VXXPTAST + +[Easier Enemies] +Code=AEKASGTA : Goblins, Hornets, LegEaters, Jellys +Code=AEKEOGGP : Ballons, Souls, Yetis, Borgans, WzOrges +Code=AEKEUKTP : DesAngels, QueenBees, Sprinters, Zombies, Captains, Ghasts, Mages, Mines, R.Souls +Code=AEKESKIZ : DeathHeads, Jellys, Pirates, Shadows, Snowmen, Soldiers, Mallows +Code=AEKENKGL : Ghouls, Grenades, Icicles, Wererats, Wraiths, G.Souls, Lamias, Sorcerers +Code=AESAUGGT : Ghasts, KilrFish, Mallows, Ogres, Stunners, Brains, Imps, Spectres, VmpGirls diff --git a/bios/Other/ines/final-fantasy-3.chts b/bios/Other/ines/final-fantasy-3.chts new file mode 100644 index 00000000..2280b924 --- /dev/null +++ b/bios/Other/ines/final-fantasy-3.chts @@ -0,0 +1,126 @@ +[Final Fantasy 3 (Japanese)] +Code=SLUXTUVS : Infinite potions outside of battle +Code=AAVOKPPA : Infinite MP outside of battle +Code=SXOXUUSE : Infinite capacity points +Code=XVULAASV : Free items in shops +Code=GZKUXTIZ : Everyone levels up after battle +Code=IPEUVSGO : Get a lot of gold after battle +Code=NNXOLYEE : Enemies do nothing +Code=OZOGIYVV : No random battles +Code=VPKOXXPP : Stronger FIRE1 +Code=IISPXXPP : Strogner ICE1 +Code=KLVPXXZZ : Stronger CURE1 +Menu=Modify weapon spells +Menu=Modify character stats +Menu=Modify magic spells +Menu=Modify bounty +Menu=Items + +Code=GTEPPGAI : it% Is Increased From 80% To 100% When You Are Bare-Handed (No Weapons Equipped) 1 +Code=ILEPZGPA : Makes Any Character (Any Job) Do Lots of Damage When Bare-Handed (No Weapons Equipped) 2 +Code=GTEPZGPA : Makes Any Character (Any Job) Do MEGA Damage When Bare-Handed (No Weapons Equipped) 3 +Code=AXUOZTAA : Have 98 Def (Defense) When All Armor Is Removed. Works With Any Character (Any Job) 4 +Code=AKUOZTAA : Have 194 Def (Defense) When All Armor Is Removed. Works With Any Character (Any Job) +Code=AUUOPTAA : Have 99% Evade When All Armor Is Removed. Works With Any Character (Any Job) +Code=AXUOGTAA : Have 96 M.Def (Magic Defense) When All Armor Is Removed. Works With Any Character (Any Job) +Code=AKUOGTAA : Have 192 M.Def (Magic Defense) When All Armor Is Removed. Works With Any Character (Any Job) + +Code=GZOAZEZA : When You Change Jobs To A MONK, You Will Have 39 Strength (Instead of Only 13) 1 +Code=ATOAZEZA : When You Change Jobs To A MONK, You Will Have 99 Strength (Instead of Only 13) (Also, The MONK's Attack (Att.) Will Increase) +Code=GZOALEZA : When You Change Jobs To A MONK, You Will Have 39 Agility (Instead of Only 13) +Code=ATOALEZA : When You Change Jobs To A MONK, You Will Have 99 Agility (Instead of Only 13) 2 +Code=ATOAGAYA : When You Change Jobs To A MONK, You Will Have 99 Vitality (Instead of Only 7) 3 +Code=ATOAIAPA : When You Change Jobs To A MONK, You Will Have About 99 Intellect (Instead of Only 1) 4 +Code=ATOATAZA : When You Change Jobs To A MONK, You Will Have About 99 Spirit (Instead of Only 2) 5 +Special Note 6 N/A N/A +Code=AAXEYAZE : When You Change Jobs To A RED WIZ, He Will Have 64 MP Instead of Only 8 MP! 7 +Code=NYXEYAZE : When You Change Jobs To A RED WIZ, He Will Have 194 MP Instead of Only 8 MP!! 8 + +[Modify weapon spells] +Code=PUNPGKYY : Knife casts FIRE +Code=TENPGKYN : Knife casts FIRE3 +Code=IONPGKYY : Knife casts BOLT3 +Code=IONPGKYN : Knife casts ICE3 +Code=PENPGKYY : Knife casts DEATH +Code=ZENPGKYY : Knife casts METEO +Code=LENPGKYN : Knife casts HEAL +Code=ZENPGKYN : Knife casts CURE4 +Code=TENOGKYN : Dagger casts FIRE3 +Code=IONOGKYY : Dagger casts BOLT3 +Code=IONOGKYN : Dagger casts ICE3 +Code=PENOGKYY : Dagger casts DEATH +Code=ZENOGKYY : Dagger casts METEO +Code=LENOGKYN : Dagger casts HEAL +Code=ZENOGKYN : Dagger casts CURE4 +Code=TAXPGSYN : Long Sword casts FIRE3 +Code=IPXPGSYY : Long Sword casts BOLT3 +Code=IPXPGSYN : Long Sword casts ICE3 +Code=PAXPGSYY : Long Sword casts DEATH +Code=ZAXPGSYY : Long Sword casts METEO +Code=LAXPGSYN : Long Sword casts HEAL +Code=ZAXPGSYN : Long Sword casts CURE4 + +[Modify character stats] +Code=YAEZZAIE : Start with triple Strength +Code=YAEZLAIE : Start with triple Agility +Code=YAEZGAIE : Start with triple Vitality +Code=YAEZIAIE : Start with triple Intellect +Code=YAEZTAIE : Start with triple Sspirit +Code=LTEZZAIA : Start with 99 Strength +Code=LTEZLAIA : Start with 99 Agility +Code=LTEZGAIA : Start with 99 Vitality +Code=LTEZIAIA : Start with 99 Intellect +Code=LTEZTAIA : Start with 99 Spirit +Code=LKSUELAX : Start with 75 HP +Code=VOSUELAZ : Start with 150 HP +Code=NNSUELAX : Start with 255 HP + +[Modify magic spells] +Code=LUNLNLAA : Start game with Level1 spells: Fire, Ice, And Sight +Code=ISNLNLAA : Start game with Level1 spells: Fire, Sleep, And Chocb +Code=GONLNLAE : Start game with Level1 spells: Sleep, Cure, And Pure +Code=LUNUELAA : Start game with Level2 spells: Bolt, Venom, And Mini +Code=ISNUELAA : Start game with Level2 spells: Bolt, Blind, And Shiva +Code=GONUELAE : Start game with Level2 spells: Blind, Aero, And Toad +Code=LUNUOLAA : Start game with Level3 spells: Fire2, Ice 2, And Wash +Code=ISNUOLAA : Start game with Level3 spells: Fire2, Bolt2, And Ramuh +Code=GONUOLAE : Start game with Level3 spells: Bolt2, Cure2, And Exit +Code=LUNUXLAA : Start game with Level4 spells: Break, Ice 3, And Mute +Code=ISNUXLAA : Start game with Level4 spells: Break, Shade, And Ifrit +Code=GONUXLAE : Start game with Level4 spells: Shade, Libra, And Confu +Code=LUNUULAA : Start game with Level5 spells: Bolt3, Kill, And Safe +Code=ISNUULAA : Start game with Level5 spells: Bolt3, Erase, And Titan +Code=GONUULAE : Start game with Level5 spells: Erase, Cure3, And Life +Code=LUNUKLAA : Start game with Level6 spells: Fire3, Bio, And Haste +Code=ISNUKLAA : Start game with Level6 spells: Fire3, Warp, And Odin +Code=GONUKLAE : Start game with Level6 spells: Warp, Aero2, And Soft +Code=LUNUSLAA : Start game with Level7 spells: Quake, Brak2, And Wall +Code=ISNUSLAA : Start game with Level7 spells: Quake, Drain, And Levia +Code=GONUSLAE : Start game with Level7 spells: Drain, Cure4, And Heal +Code=LUNUVLAA : Start game with Level8 spells: Flare, Death, And Holy +Code=ISNUVLAA : Start game with Level8 spells: Flare, Meteo, And Baham +Code=GONUVLAE : Start game with Level8 spells: Meteo, WWind, And Life2 + +[Items] +Code=AAUOKTGP : Knives (free) +Code=AAUOVVGL : Daggers (free) +Code=AAKOETGT : Long Swords (free) +Code=AASOKNAZ : Eyedrops (free) +Code=AASOVYAI : Antidotes (free) +Code=AAKOKYVP : Potions (free) +Code=AASPSYPA : Soft ($44) +Menu=HiPotions (free) + +[HiPotions (free) / Items] +AAKOVYEL +AAKONYGA + +[Modify bounty] +Code=NYSOEGLE : Get $255 for each Goblin +Code=NYVPEKGE : Get $255 for each Killer Bee +Code=NYVPXKTE : Get $255 for each Werewolf +Code=NYVPKGAO : Get $255 for each Berserker +Code=YZSOOGAA : Get $10000 for each Goblin +Code=YZVPOGAA : Get $10000 for each Killer Bee +Code=YZVPUGAA : Get $10000 for each Werewolf +Code=YZVPSGAA : Get $10000 for each Berserker diff --git a/bios/Other/ines/super-mario-brothers.chts b/bios/Other/ines/super-mario-brothers.chts new file mode 100644 index 00000000..d3a679f7 --- /dev/null +++ b/bios/Other/ines/super-mario-brothers.chts @@ -0,0 +1,66 @@ +[Super Mario Brothers] +Code=0007EEFF : Have 255 Coins +Code=0007FA04 : Stop Time +Code=000756FF : Invincibility (AR) +Code=00075A02 : Infinite Lives +Code=ZZZSSO : Invincibility +Code=EEESKA : Invincibility, plow enemies over +Code=PUESUE : Invincibility, plow enemies over (type 2) +Code=SUEISA : Invincibility, thrive on enemies +Code=GANINE : Invincibility, thrive on enemies (type 2) +Code=OEPSKA : Invincibility, run through enemies +Code=IOEOIO : Become starman for 120 seconds +Menu=Become invincible starman +Code=ZZZLTT : Infinite firepower +Code=PNAPZO : More time +Code=VZTLTN : Infinite time +Code=All holes filled in +Code=PSSSSO : Everything you stomp turns into a 1-up +Code=USNUKS : Every gold block contains a 1-up +Code=EXYSEA : Perform the 100-man trick on every enemy +Code=SEIING : Hit a block, and it becomes night time +Menu=Always night time +Code=AEPISP : No enemies bounce when you stomp them +Code=SOIIEA : All nemies bounce when you hit them +Code=NVOLNN : Enemies fly away when you hit them +Menu=Super mega float +Code=SEPUEG : Score keeps rising after hitting a mushroom block +Code=ATAPIX : Always restart at the beginning of the level +Code=GIXPIG : World 1 has world 2 backgrounds +Code=NIYPIT : Remove all unnecessary plants +Code=NUKISA : Many 1-ups +Code=IVYIVY : Super fast enemies +Menu=Access to world -1 +Code=GISPTG : Always underwater +Menu=Super challenge +Menu=Come back after a fall + +[Access to world -1] +Note=Go to the usual spot near the end of level 1-2. +KKOOPK + +[Come back after a fall] +Note=Avoid going to the very top when on level 1-2 ramps. +PXYLUN +APZLGG + +[Super challenge] +STAGEO +SPEPNY + +[Always night time] +Note=Do not lose a life in level 2-2 waterworld or the game will freeze. +SPOATV + +[Super mega float] +Note=You must touch ground at some point during level 7-3, or it will go forever. +NTKOTP + +[Become invincible starman] +PKAOZO +STAPGO + +[All holes filled in] +Note=Especially useful in world 8. +GOAOSU +APZLGG diff --git a/database.json b/database.json index dd0e6431..37cec385 100644 --- a/database.json +++ b/database.json @@ -1,8 +1,8 @@ { "schema_version": 1, - "generated_at": "2026-10-20T01:30:36Z", - "total_files": 20375, - "total_size": 17638951392, + "generated_at": "2026-10-20T02:57:31Z", + "total_files": 20382, + "total_size": 17638973255, "bios_dir": "bios", "files": { "738c7f5fd0c8b57ee2e87ae7a97bf8e21a821d07": { @@ -139073,6 +139073,66 @@ "crc32": "d2814640", "adler32": "9ce01f0e" }, + "fc59b7662bdf8b888e4de42f788ac989fe6fab2a": { + "path": "bios/Other/ines/battle-toads.chts", + "name": "battle-toads.chts", + "size": 2768, + "sha1": "fc59b7662bdf8b888e4de42f788ac989fe6fab2a", + "md5": "579c461a0060eae90c4f350e32dc6e56", + "sha256": "050d5124a1ccef32a61dc3db7dc6a855159fe842eb2405611e5810490869a618", + "crc32": "d8b4ca90", + "adler32": "4b0b2273" + }, + "c7199183d8f392bda14a8f8765bc6b3dd1951475": { + "path": "bios/Other/ines/dragon-warrior-2.chts", + "name": "dragon-warrior-2.chts", + "size": 5596, + "sha1": "c7199183d8f392bda14a8f8765bc6b3dd1951475", + "md5": "3231f15a1434d039aeb101801a9ab807", + "sha256": "32f379d264811d931cfe67647ebdc6f321de52c3f3de38c2ee345615b6fe0b4e", + "crc32": "1d7327b8", + "adler32": "65e0ba9e" + }, + "47767cd5557c166b2bd5255a9a2857a4a1288e03": { + "path": "bios/Other/ines/dragon-warrior.chts", + "name": "dragon-warrior.chts", + "size": 1617, + "sha1": "47767cd5557c166b2bd5255a9a2857a4a1288e03", + "md5": "9dcd487b3c3c0b18a5264285e3c9868c", + "sha256": "60f73afe109981a0aa04d5d2fbb10769557e142d0af4becb2a06747e0f0f0923", + "crc32": "56462991", + "adler32": "554fee60" + }, + "7eac0cb88829e5d89645803fd6256049348ab593": { + "path": "bios/Other/ines/fceu.chts", + "name": "fceu.chts", + "size": 2295, + "sha1": "7eac0cb88829e5d89645803fd6256049348ab593", + "md5": "80ba1e0d24df2ae8a334492fcdf80ac9", + "sha256": "466168fff6db355099f5a8562eaf6f2dd98e443d251bce23f8eb7078fb94b44d", + "crc32": "8a6d479b", + "adler32": "b51e8f83" + }, + "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69": { + "path": "bios/Other/ines/final-fantasy-2.chts", + "name": "final-fantasy-2.chts", + "size": 1399, + "sha1": "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69", + "md5": "9f5604c53f5e61611e0f5fc86bd12eda", + "sha256": "83daebfeba1c4c79c3820b3bf80817fb73cb948c43a31e07d2cdb3ff73d9a082", + "crc32": "0b26c1d3", + "adler32": "edc3b592" + }, + "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae": { + "path": "bios/Other/ines/final-fantasy-3.chts", + "name": "final-fantasy-3.chts", + "size": 6189, + "sha1": "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae", + "md5": "d5e68a35ac2d17b48bf1604d03e4602d", + "sha256": "16952aa58d752e92fe3f6a2bbfe7b8bb77f3897a15fb79dce1c5b9599ac909c5", + "crc32": "f1060bef", + "adler32": "571c8524" + }, "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15": { "path": "bios/Other/ines/names.dat", "name": "names.dat", @@ -139083,6 +139143,16 @@ "crc32": "07465cc4", "adler32": "8d7d235c" }, + "c1116b7e520541cf2925b30053106d85a4bae62e": { + "path": "bios/Other/ines/super-mario-brothers.chts", + "name": "super-mario-brothers.chts", + "size": 1999, + "sha1": "c1116b7e520541cf2925b30053106d85a4bae62e", + "md5": "51beb6f9722b3c8a22f9d97c1401622c", + "sha256": "83ef501f94118f1d757f328a5e596d5ebeb2074675d24737ebb4730f45d62c62", + "crc32": "42e09138", + "adler32": "d5c68980" + }, "35ec298b803b29b6bee6d89f46507c50a3461b35": { "path": "bios/Other/infinity/assets/7x7demake.p8.png", "name": "7x7demake.p8.png", @@ -222601,7 +222671,14 @@ "5b72ab7bb1c295c30b9cbb274a4bd6e9": "e37810f05cc9a2e40b47a274184fe9347fef1393", "c1db31a2aa8a12432705fc8bd3c1156a": "486eede1bb748d95efc8a2a3d46ef1a530100559", "f8a3b82f873132e312764807346182c6": "dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d", + "579c461a0060eae90c4f350e32dc6e56": "fc59b7662bdf8b888e4de42f788ac989fe6fab2a", + "3231f15a1434d039aeb101801a9ab807": "c7199183d8f392bda14a8f8765bc6b3dd1951475", + "9dcd487b3c3c0b18a5264285e3c9868c": "47767cd5557c166b2bd5255a9a2857a4a1288e03", + "80ba1e0d24df2ae8a334492fcdf80ac9": "7eac0cb88829e5d89645803fd6256049348ab593", + "9f5604c53f5e61611e0f5fc86bd12eda": "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69", + "d5e68a35ac2d17b48bf1604d03e4602d": "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae", "d4323f40067263496f19ab7745481fd7": "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15", + "51beb6f9722b3c8a22f9d97c1401622c": "c1116b7e520541cf2925b30053106d85a4bae62e", "1d6416a591c99b03c58b41f0dd5537b0": "35ec298b803b29b6bee6d89f46507c50a3461b35", "06f4dfd96b1e7f0b6d5cc7f7163c7904": "14d28015d8a8c902d219b6a24d2241aa061dda09", "86d3f3a95c324c9479bd8986968f4327": "7df059597099bb7dcf25d2a9aedfaf4465f72d8d", @@ -264422,10 +264499,31 @@ "dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d", "0b53d51635a2ce3d4e12c2077df9aeffeac02517" ], + "battle-toads.chts": [ + "fc59b7662bdf8b888e4de42f788ac989fe6fab2a" + ], + "dragon-warrior-2.chts": [ + "c7199183d8f392bda14a8f8765bc6b3dd1951475" + ], + "dragon-warrior.chts": [ + "47767cd5557c166b2bd5255a9a2857a4a1288e03" + ], + "fceu.chts": [ + "7eac0cb88829e5d89645803fd6256049348ab593" + ], + "final-fantasy-2.chts": [ + "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69" + ], + "final-fantasy-3.chts": [ + "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae" + ], "names.dat": [ "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15", "15f93bd7b0e58cc1ee8c5ff06cb5a085c686ace4" ], + "super-mario-brothers.chts": [ + "c1116b7e520541cf2925b30053106d85a4bae62e" + ], "7x7demake.p8.png": [ "35ec298b803b29b6bee6d89f46507c50a3461b35" ], @@ -303750,7 +303848,14 @@ "317423f7": "e37810f05cc9a2e40b47a274184fe9347fef1393", "2e03cb7f": "486eede1bb748d95efc8a2a3d46ef1a530100559", "d2814640": "dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d", + "d8b4ca90": "fc59b7662bdf8b888e4de42f788ac989fe6fab2a", + "1d7327b8": "c7199183d8f392bda14a8f8765bc6b3dd1951475", + "56462991": "47767cd5557c166b2bd5255a9a2857a4a1288e03", + "8a6d479b": "7eac0cb88829e5d89645803fd6256049348ab593", + "0b26c1d3": "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69", + "f1060bef": "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae", "07465cc4": "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15", + "42e09138": "c1116b7e520541cf2925b30053106d85a4bae62e", "f23147aa": "35ec298b803b29b6bee6d89f46507c50a3461b35", "48ae2c1d": "14d28015d8a8c902d219b6a24d2241aa061dda09", "7b5d04bc": "7df059597099bb7dcf25d2a9aedfaf4465f72d8d", @@ -324127,7 +324232,14 @@ "9e413f84695823fb04e4628b0c52f1a5bbdf04492b00e708cc77e850df98938a": "e37810f05cc9a2e40b47a274184fe9347fef1393", "942f36376246dbdff99a0b94aad930b2cccf1f534e5390468ac9c0d50752d7dd": "486eede1bb748d95efc8a2a3d46ef1a530100559", "17da9c5feeba7177f19159d9e835242daeff0c829e61e203d82e5f540bb123f3": "dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d", + "050d5124a1ccef32a61dc3db7dc6a855159fe842eb2405611e5810490869a618": "fc59b7662bdf8b888e4de42f788ac989fe6fab2a", + "32f379d264811d931cfe67647ebdc6f321de52c3f3de38c2ee345615b6fe0b4e": "c7199183d8f392bda14a8f8765bc6b3dd1951475", + "60f73afe109981a0aa04d5d2fbb10769557e142d0af4becb2a06747e0f0f0923": "47767cd5557c166b2bd5255a9a2857a4a1288e03", + "466168fff6db355099f5a8562eaf6f2dd98e443d251bce23f8eb7078fb94b44d": "7eac0cb88829e5d89645803fd6256049348ab593", + "83daebfeba1c4c79c3820b3bf80817fb73cb948c43a31e07d2cdb3ff73d9a082": "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69", + "16952aa58d752e92fe3f6a2bbfe7b8bb77f3897a15fb79dce1c5b9599ac909c5": "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae", "39a9c99bb666c9fcf0533997151af2659e8b7b02a5894b55b915d0a3ae4a1fe3": "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15", + "83ef501f94118f1d757f328a5e596d5ebeb2074675d24737ebb4730f45d62c62": "c1116b7e520541cf2925b30053106d85a4bae62e", "27910543e2e4f1750a8752edfbdf9a729bc1ae2b22380cf88af66548b8af5fc0": "35ec298b803b29b6bee6d89f46507c50a3461b35", "5b8507b42497bbb61ed59a11974da52e47d5c143476ad957cc997345184b7260": "14d28015d8a8c902d219b6a24d2241aa061dda09", "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4": "7df059597099bb7dcf25d2a9aedfaf4465f72d8d", @@ -498206,12 +498318,54 @@ "ines/ROOT.chts": [ "dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d" ], + "Other/ines/battle-toads.chts": [ + "fc59b7662bdf8b888e4de42f788ac989fe6fab2a" + ], + "ines/battle-toads.chts": [ + "fc59b7662bdf8b888e4de42f788ac989fe6fab2a" + ], + "Other/ines/dragon-warrior-2.chts": [ + "c7199183d8f392bda14a8f8765bc6b3dd1951475" + ], + "ines/dragon-warrior-2.chts": [ + "c7199183d8f392bda14a8f8765bc6b3dd1951475" + ], + "Other/ines/dragon-warrior.chts": [ + "47767cd5557c166b2bd5255a9a2857a4a1288e03" + ], + "ines/dragon-warrior.chts": [ + "47767cd5557c166b2bd5255a9a2857a4a1288e03" + ], + "Other/ines/fceu.chts": [ + "7eac0cb88829e5d89645803fd6256049348ab593" + ], + "ines/fceu.chts": [ + "7eac0cb88829e5d89645803fd6256049348ab593" + ], + "Other/ines/final-fantasy-2.chts": [ + "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69" + ], + "ines/final-fantasy-2.chts": [ + "5d467c4da5bd62051b1732351ecb1bfb8ad2bf69" + ], + "Other/ines/final-fantasy-3.chts": [ + "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae" + ], + "ines/final-fantasy-3.chts": [ + "a76c50557b35cf28b2f7456ac9f282ab3a0af3ae" + ], "Other/ines/names.dat": [ "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15" ], "ines/names.dat": [ "bb1a86caeb1b6351da6e7d46ed2051e8e5ec5a15" ], + "Other/ines/super-mario-brothers.chts": [ + "c1116b7e520541cf2925b30053106d85a4bae62e" + ], + "ines/super-mario-brothers.chts": [ + "c1116b7e520541cf2925b30053106d85a4bae62e" + ], "Other/infinity/assets/7x7demake.p8.png": [ "35ec298b803b29b6bee6d89f46507c50a3461b35" ], diff --git a/emulators/ines.yml b/emulators/ines.yml index 9de08539..c29cf4c7 100644 --- a/emulators/ines.yml +++ b/emulators/ines.yml @@ -1,14 +1,14 @@ emulator: iNES type: standalone core_classification: other -source: "https://fms.komkon.org/iNES/iNES-Android-6104.apk" +source: "https://fms.komkon.org/iNES/" upstream: closed-source version_source: url: "https://play.google.com/store/apps/details?id=com.fms.ines.free&hl=en" pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+' author: "Marat Fayzullin (Garage Research)" -profiled_date: "2026-08-11" -core_version: "6.1.4" +profiled_date: "2026-10-20" +core_version: "6.1.12" display_name: "Nintendo - NES / Famicom (iNES)" cores: - ines @@ -19,37 +19,45 @@ mode: standalone notes: | NES and Famicom emulator by Marat Fayzullin, covering cartridges, the Famicom - Disk System and the VS System. The build read here is the free Android APK the - author publishes himself, package com.fms.ines versionName 6.1.4 versionCode - 6104, apk md5 d0e1b93b09d4b58294efd4e1509e25ca, signed CN=Marat Fayzullin - O=Garage Research issued 2011, sha256 - d09469e9b550cbc9005d3bd089f3df5f0ba89cba71cdd3b33736a0382d6f9848. The two - download paths on that site serve the same bytes. Google Play carries the - emulator as com.fms.ines.free, the package ES-DE launches, and inside VGBAnext - as com.fms.ng, the author recording that Play removed the original com.fms.ines - listing over its built-in cheats. The native libraries keep their symbol - tables, so the readings below cite libmain.so offsets in the x86_64 slice, and the - arm64-v8a, armeabi-v7a, armeabi and x86 slices carry the same filename set. The - free iNES 6.1 builds for Windows and Ubuntu were read beside it and open the - same files under the same names. No source has ever been published: the author - releases ColEm and fMSX as source archives, while every iNES download on the - same site, from 0.7 for AIX and SunOS through 6.1, is a binary package. - ref: iNES-Android-6104.apk META-INF/CERT.RSA, https://fms.komkon.org/iNES/, - iNES61-Windows-bin.zip, iNES61-Ubuntu-x86-bin.tgz + Disk System and the VS System. The build read here is the free Google Play + package com.fms.ines.free, the package ES-DE launches, versionName 6.1.12 + versionCode 6112, taken as the Play app bundle drop, xapk sha256 + cddeedef6440eda7f18a389a7a5ea67e33fb8be21593aab93ab6b0fe10992496, base apk + sha256 17577eced1829e0fe60ac128d94683d4bc1988c3ac627208e7de0e1e49a9abd8, + native split config.armeabi_v7a sha256 + c7076c05aca28e38d0343fbea4c1b904e6d197e7d8fcbdc4e29c0278fef0f0db. Both splits + are signed by the author's own key, CN=Marat Fayzullin O=Garage Research + issued 2011, fingerprint + d09469e9b550cbc9005d3bd089f3df5f0ba89cba71cdd3b33736a0382d6f9848, as the v1 + META-INF/BNDLTOOL.RSA and as the v2 and v3 signer, beside a Play distribution + source stamp. The author's site still serves 6.1.4 as iNES-Android-6104.apk + under package com.fms.ines, signed by the same key, and Google Play also + carries the emulator inside VGBAnext as com.fms.ng, the author recording that + Play removed the original com.fms.ines listing over its built-in cheats. The + drop carries one native split, armeabi-v7a, whose libmain.so keeps its + dynamic symbol table, so the readings below cite Thumb-2 offsets in that + slice and Java lines in a jadx 1.5.6 decompile of the base apk. The free iNES + 6.1 builds for Windows and Ubuntu were read beside it and open the same files + under the same names. No source has ever been published: the author releases + ColEm and fMSX as source archives, while every iNES download on the same site, + from 0.7 for AIX and SunOS through 6.1, is a binary package. + ref: com.fms.ines.free.apk META-INF/BNDLTOOL.RSA, APK Signing Block, + https://fms.komkon.org/iNES/, iNES61-Windows-bin.zip, + iNES61-Ubuntu-x86-bin.tgz One directory holds everything the emulator reads. MainActivity hands - EMULib.k() to jniStart, which copies it into the buffer GetHomeDir returns and + EMULib.m to jniStart, which copies it into the buffer GetHomeDir returns and passes that same buffer to SetPrivateDir. Every open goes through mopen, which calls OpenRealFile: the name is tried as given and again as /, and when both open the larger of the two is kept. That directory is joined with the application label up to its first - space, so iNES, falling back to getExternalFilesDirs(null) when the path is not - a writable directory. mopen layers gzdopen over the result, so any of these + whitespace, so iNES, falling back to getExternalFilesDirs(null) when the path is + not a writable directory. mopen layers gzdopen over the result, so any of these files also opens gzipped, and a content:// name is routed to the Android storage framework instead. - ref: MainActivity.java:2257, EMULib.java:1328, EMULib.java:408, - EMULib.java:474-505, EMULib.java:682, libmain.so 0x1212a-0x1218c, - libmain.so OpenRealFile 0x32070-0x32285, libmain.so mopen 0x322b0-0x323f2 + ref: MainActivity.java:1092-1105, EMULib.java:178, 315-361, 363-373, + libmain.so jniStart 0x178b4-0x178f6, GetHomeDir 0x15490, + libmain.so OpenRealFile 0x2fc94-0x2fdf3, libmain.so mopen 0x2fdf4-0x2fed7 DISKSYS.ROM is the only filename compiled into the emulator. LoadFDS reads the disk image first, taking a bare *NINTENDO-HVC* header or the 16 byte FDS wrapper @@ -58,7 +66,8 @@ notes: | either makes LoadFDS return zero, so the disk never starts. Nothing about the image is checked past the length of that read. Cartridge titles never reach this path. - ref: libmain.so LoadFDS 0x3bdd0-0x3c245, open 0x3bf97, read 0x3bfc5-0x3bff7, + ref: libmain.so LoadFDS 0x3a188-0x3a523, open 0x3a414-0x3a41c, + read 0x3a438-0x3a45a, status 0x3a2a0-0x3a2ae, iNES61-Ubuntu-x86-bin ines 0x38165-0x381a9 The startup palette is /iNES.pal, assembled in Application from @@ -67,24 +76,31 @@ notes: | SetColor one at a time, anything else is parsed as text. A missing file leaves the built-in palette in place. The desktop distribution ships twenty candidates under Palettes/ to copy into that single name, the Android package none. - ref: libmain.so Application 0x39739-0x39795, StartNES 0x3a685-0x3a694, - LoadPAL 0x3a870-0x3a930, iNES61-Windows-bin.zip Palettes/ + ref: libmain.so Application 0x3818c-0x381b0, StartNES 0x38d9a-0x38da6, + LoadPAL 0x38f6c-0x391f3 (read 0x38f94-0x38f9e, length 0x38faa), + iNES61-Windows-bin.zip Palettes/ LoadNES derives five companion names from the ROM path through MakeFileName: .sav, .ips, .cht, .pal and .sta. Started with no ROM name at all, Application substitutes CART.NES. - ref: libmain.so LoadNES 0x3bb49, 0x3bc43, 0x3bcdc, 0x3bd2b, 0x3bd52, - libmain.so Application 0x39887-0x3989c + ref: libmain.so LoadNES 0x39f5e, 0x39ff4, 0x3a05e, 0x3a094, 0x3a0ac, + libmain.so Application 0x38278-0x38286 - Three package resources are read at runtime. assets/memfs.mp3 is passed whole to + Two package resources are read at runtime. assets/memfs.mp3 is passed whole to jniStart and mounted as an in-memory filesystem carrying one entry, CART.NES. assets/names.dat fills the title lookup and is then extended by - /names.dat, whose entries win on collision. assets/ROOT.chts opens the - cheat browser, its Include lines pulling further sets through the same lookup, - which falls back to /Cheats and to the home directory itself. - ref: MainActivity.java:2246-2257, libmain.so 0x11ca6-0x11ccc, - FileInfo.java:260-295, Cheatopedia.java:339, 448, 505-520, - CheatHelper.java:14-24 + /names.dat, whose entries win on collision. The cheat browser asks the + package assets for ROOT.chts first, and this build ships none, so Cheatopedia + looks for it in the home directory and its subdirectories, then unpacks + iNES-Cheats.zip from the Downloads directory into /Cheats. A set that + ROOT.chts names by a relative path is read from the directory where ROOT.chts + was found, and a File= path starting with /sdcard/ has that prefix replaced by + the home directory. The author publishes no iNES-Cheats.zip. The 6.1.4 package + carried ROOT.chts and seven sets in its assets, and those are the files listed + below. + ref: MainActivity.java:1092-1105, libmain.so jniStart 0x17684-0x176a2, + bi.java:183-213, Cheatopedia.java:195-202, 270-300, 335-344, 477, + CheatHelper.java:16-49, iNES-Android-6104.apk assets/ files: - name: DISKSYS.ROM @@ -94,7 +110,7 @@ files: validation: [size] description: "Famicom Disk System BIOS" note: "Opened by bare name, so it resolves against the working directory and then against the home directory. Read as 0x2000 bytes into RAM at 0xE000. A missing file reports NOT FOUND and a short read FAILED, and either aborts the disk load. Only the length of that read is checked, so a longer file passes on its first 8192 bytes and no hash is compared. The open is gzip transparent, so a compressed copy answers too." - source_ref: "libmain.so LoadFDS 0x3bdd0-0x3c245 (open 0x3bf97, read 0x3bfc5-0x3bff7), iNES61-Ubuntu-x86-bin ines 0x38165-0x381a9" + source_ref: "libmain.so LoadFDS 0x3a188-0x3a523 (open 0x3a414-0x3a41c, read 0x3a438-0x3a45a), iNES61-Ubuntu-x86-bin ines 0x38165-0x381a9" - name: iNES.pal system: nintendo-nes @@ -102,7 +118,7 @@ files: unsourceable: "any 64 colour palette the user picks, under the one name the code builds" description: "startup colour palette" note: "Built as /iNES.pal and loaded at startup when present, otherwise the built-in palette stands. Exactly 192 bytes is read as 64 RGB triples, any other length as text. No single file answers to this name: the desktop distribution ships twenty palettes under other names for the user to copy over." - source_ref: "libmain.so Application 0x39739-0x39795, StartNES 0x3a685-0x3a694, LoadPAL 0x3a870-0x3a930" + source_ref: "libmain.so Application 0x3818c-0x381b0, StartNES 0x38d9a-0x38da6, LoadPAL 0x38f6c-0x391f3" - name: CART.NES system: nintendo-nes @@ -115,7 +131,7 @@ files: crc32: "2e03cb7f" description: "sample ROM image started when no game is given" note: "The only entry in assets/memfs.mp3, which MainActivity reads whole and jniStart mounts as an in-memory filesystem. A 16 byte header plus one 16 KB PRG bank and one 8 KB CHR bank. Application passes this name to StartNES when it is invoked without a ROM, so launching through ES-DE never reaches it." - source_ref: "MainActivity.java:2246-2257, libmain.so 0x11ca6-0x11ccc, libmain.so Application 0x39887-0x3989c" + source_ref: "MainActivity.java:1092-1105, libmain.so jniStart 0x17684-0x176a2, libmain.so Application 0x38278-0x38286" - name: names.dat required: false @@ -124,40 +140,154 @@ files: size: 21390 description: "title database keyed by system and CRC32" note: "Parsed from assets as lines of key colon title, keys reading NES-4C629A95. The copy at /names.dat is read straight afterwards into the same map, so user entries extend and override the packaged ones." - source_ref: "FileInfo.java:260-295" + source_ref: "bi.java:183-213" - name: ROOT.chts required: false - bundled: true category: game_data size: 27447 + md5: f8a3b82f873132e312764807346182c6 + sha1: dbbaa1e149d1e3bbf62b1b16c9e23ecf5924636d + crc32: "d2814640" description: "cheat database read by the Cheatopedia browser" - note: "Looked up in the package assets first, then through the home directory, its subdirectories and Downloads, with /Cheats as the default cheat directory. Include lines pull further sets through the same lookup. The package carries seven of them: battle-toads, dragon-warrior, dragon-warrior-2, fceu, final-fantasy-2, final-fantasy-3 and super-mario-brothers." - source_ref: "Cheatopedia.java:339, 448, 505-520, CheatHelper.java:14-24" + note: "This build ships no cheat set in its assets. Cheatopedia looks for the file in the home directory and its subdirectories, and otherwise unpacks iNES-Cheats.zip from the Downloads directory into /Cheats, an archive the author does not publish. The directory where it is found becomes the cheat directory for every set it names. The copy here is the one 6.1.4 carried in its assets, and its File= lines pull in the seven sets below and /sdcard/iNES/custom.chts." + source_ref: "Cheatopedia.java:195-202, 477, 527-547, CheatHelper.java:16-49, iNES-Android-6104.apk assets/ROOT.chts" + + - name: battle-toads.chts + required: false + category: game_data + size: 2768 + md5: 579c461a0060eae90c4f350e32dc6e56 + sha1: fc59b7662bdf8b888e4de42f788ac989fe6fab2a + crc32: "d8b4ca90" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/battle-toads.chts" + + - name: dragon-warrior.chts + required: false + category: game_data + size: 1617 + md5: 9dcd487b3c3c0b18a5264285e3c9868c + sha1: 47767cd5557c166b2bd5255a9a2857a4a1288e03 + crc32: "56462991" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/dragon-warrior.chts" + + - name: dragon-warrior-2.chts + required: false + category: game_data + size: 5596 + md5: 3231f15a1434d039aeb101801a9ab807 + sha1: c7199183d8f392bda14a8f8765bc6b3dd1951475 + crc32: "1d7327b8" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/dragon-warrior-2.chts" + + - name: fceu.chts + required: false + category: game_data + size: 2295 + md5: 80ba1e0d24df2ae8a334492fcdf80ac9 + sha1: 7eac0cb88829e5d89645803fd6256049348ab593 + crc32: "8a6d479b" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/fceu.chts" + + - name: final-fantasy-2.chts + required: false + category: game_data + size: 1399 + md5: 9f5604c53f5e61611e0f5fc86bd12eda + sha1: 5d467c4da5bd62051b1732351ecb1bfb8ad2bf69 + crc32: "0b26c1d3" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/final-fantasy-2.chts" + + - name: final-fantasy-3.chts + required: false + category: game_data + size: 6189 + md5: d5e68a35ac2d17b48bf1604d03e4602d + sha1: a76c50557b35cf28b2f7456ac9f282ab3a0af3ae + crc32: "f1060bef" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/final-fantasy-3.chts" + + - name: super-mario-brothers.chts + required: false + category: game_data + size: 1999 + md5: 51beb6f9722b3c8a22f9d97c1401622c + sha1: c1116b7e520541cf2925b30053106d85a4bae62e + crc32: "42e09138" + description: "cheat set reached from ROOT.chts" + note: "Named by a File= line in ROOT.chts and read from the same cheat directory. Carried in the assets of 6.1.4 and absent from this build." + source_ref: "Cheatopedia.java:270-300, 335-344, iNES-Android-6104.apk assets/super-mario-brothers.chts" + + - name: custom.chts + required: false + category: game_data + unsourceable: "cheat codes the user writes, in the format the documentation prints" + description: "user cheat sets added to the Cheatopedia menu" + note: "Pulled in by the File= line that ROOT.chts carries, written out as /sdcard/iNES/custom.chts. The browser swaps the leading /sdcard/ for the home directory, so the set is opened as /iNES/custom.chts, an absolute path read straight from storage." + source_ref: "Cheatopedia.java:270-300, 335-341" + + - name: Controls.png + required: false + category: game_data + size: 22587 + md5: d10635cb6f101ed733f3d1133bc78f61 + sha1: 14c4ab8ccc8ecb81ebf99fec336a3e872c13aabc + crc32: "dc9da322" + description: "virtual joystick skin" + note: "Read as /Controls.png by the overlay button loader when the custom skin is selected, and by the layout editor. A built-in drawable stands in when the file does not load. The author publishes the template to draw over at fms.komkon.org/EmuAndroid/Controls.png." + source_ref: "MainActivity.java:1589-1600, LayoutEditor.java:226" + + - name: Backdrop.png + required: false + category: game_data + unsourceable: "any picture the user places behind the emulated screen" + description: "backdrop drawn around the emulated screen" + note: "Read as /Backdrop.png while the decorum option is on. A built-in drawable stands in when the file is absent." + source_ref: "MainActivity.java:1720-1745" + + - name: ".back.png" + required: false + category: game_data + unsourceable: "any picture the user places behind one title" + description: "backdrop for one title" + note: "Named from the loaded ROM path and preferred over the shared backdrop for that game." + source_ref: "MainActivity.java:1734-1736" - name: ".ips" required: false unsourceable: "a patch the user supplies for one title" category: game_data description: "IPS patch applied to the loaded ROM" - note: "Named from the ROM path by MakeFileName and applied by ApplyIPS when present. A patch chosen by hand goes through the same call in LoadFile." - source_ref: "libmain.so LoadNES 0x3bc43 (ApplyIPS 0x3bc93), LoadFile 0x3acf8" + note: "Named from the ROM path by MakeFileName and applied by ApplyIPS when present. A file chosen by hand that starts with the PATCH signature goes to LoadIPS from LoadFile." + source_ref: "libmain.so LoadNES 0x39ff4 (ApplyIPS 0x3a02c), LoadFile 0x392ac-0x392c4" - name: ".cht" required: false unsourceable: "cheat codes the user writes or collects per title" category: game_data description: "cheat codes for one title" - note: "Named from the ROM path by MakeFileName and read by LoadCHT when present. Distinct from the .chts sets of the Cheatopedia browser. The menu handler reaches the same loader for a file picked by hand." - source_ref: "libmain.so LoadNES 0x3bcdc (LoadCHT 0x3bcec), Joystick 0x39e7f" + note: "Named from the ROM path by MakeFileName and read by LoadCHT when present. Distinct from the .chts sets of the Cheatopedia browser. A file picked by hand whose name ends in .CHT reaches the same loader through LoadFile, and so does the menu handler." + source_ref: "libmain.so LoadNES 0x3a05e (LoadCHT 0x3a06a), LoadFile 0x392e2-0x392ec, Joystick 0x388d2" - name: ".pal" required: false unsourceable: "any 64 colour palette the user picks for one title" category: game_data description: "colour palette for one title" - note: "Named from the ROM path by MakeFileName and read by LoadPAL when present, taking precedence over the startup palette for that game." - source_ref: "libmain.so LoadNES 0x3bd2b" + note: "Named from the ROM path by MakeFileName and read by LoadPAL when present, taking precedence over the startup palette for that game. A file picked by hand whose name ends in .PAL reaches the same loader through LoadFile." + source_ref: "libmain.so LoadNES 0x3a094 (LoadPAL 0x3a09e), LoadFile 0x392ce-0x392d8" exclusion_note: > Left out are the files iNES writes and reads back itself, which are emulator @@ -173,5 +303,5 @@ exclusion_note: > reach the emulator through the palette entries above rather than a path of their own. Neither the VS System nor the FamilyBASIC keyboards need a file: DISKSYS.ROM is the only image the binary names. - ref: libmain.so LoadNES 0x3bb49, 0x3bd52, libmain.so InitAudio 0x12cfc, + ref: libmain.so LoadNES 0x39f5e, 0x3a0ac, libmain.so InitAudio 0x18250-0x18252, iNES61-Ubuntu-x86-bin ines DEFAULT.STA, iNES61-Windows-bin.zip Palettes/