4. FAQ - zach-morris/plugin.program.iagl GitHub Wiki

1. What is this??!?!?

It's an addon for your HTPC running Kodi, so that you can play retro games....

Which games you ask?
Game List 1G1R Games Total Games

Amstrad CPC
Amstrad CPC

0 2217

Apple Macintosh
Apple Macintosh

0 534

Arduboy Inc Arduboy
Arduboy Inc Arduboy

424 532

Atari 2600
Atari 2600

483 843

Atari 5200
Atari 5200

71 120

Atari 7800
Atari 7800

58 243

Atari 8-bit Family
Atari 8-bit Family

5 23

Atari Jaguar
Atari Jaguar

46 282

Atari Lynx
Atari Lynx

74 396

Atari ST
Atari ST

314 314

Atomiswave
Atomiswave

0 34

Bandai WonderSwan
Bandai WonderSwan

111 256

Bandai WonderSwan (T-En)
Bandai WonderSwan (T-En)

0 9

Bandai WonderSwan Color
Bandai WonderSwan Color

91 251

Bandai WonderSwan Color (T-En)
Bandai WonderSwan Color (T-En)

0 13

Cannonball
Cannonball

0 2

Casio Loopy
Casio Loopy

10 12

Casio PV-1000
Casio PV-1000

13 13

Cave Story
Cave Story

0 1

Coleco ColecoVision
Coleco ColecoVision

139 201

Commodore 64
Commodore 64

230 347

Commodore Amiga
Commodore Amiga

2792 3169

Commodore Amiga - WHDLoad Collection
Commodore Amiga - WHDLoad Collection

0 2252

Commodore Amiga CD
Commodore Amiga CD

90 559

Commodore Amiga CD32
Commodore Amiga CD32

153 199

Commodore Amiga CDTV
Commodore Amiga CDTV

50 62

Commodore Plus-4
Commodore Plus-4

5 18

Commodore VIC-20
Commodore VIC-20

173 293

DOOM
DOOM

0 46

Dinothawr
Dinothawr

0 1

Easy RPG
Easy RPG

0 221

Emerson Arcadia 2001
Emerson Arcadia 2001

48 48

Entex Adventure Vision
Entex Adventure Vision

4 5

Epoch Super Cassette Vision
Epoch Super Cassette Vision

30 34

FBNeo - Arcade
FBNeo - Arcade

0 6928

Fairchild Channel F
Fairchild Channel F

27 37

GCE Vectrex
GCE Vectrex

29 46

Hartung Game Master
Hartung Game Master

18 19

Infocom Z-Machine
Infocom Z-Machine

0 28

Karaoke
Karaoke

0 19478

LaserDisc
LaserDisc

0 2

Lutro
Lutro

0 9

MAME
MAME

0 10351

MAME 2003+
MAME 2003+

0 4005

MS-DOS
MS-DOS

0 2594

MS-DOS - Total DOS Collection
MS-DOS - Total DOS Collection

0 7783

Magnavox Odyssey 2
Magnavox Odyssey 2

75 133

Mattel Intellivision
Mattel Intellivision

142 208

Mega Duck
Mega Duck

0 24

Microsoft MSX
Microsoft MSX

545 950

Microsoft MSX (T-En)
Microsoft MSX (T-En)

0 30

Microsoft MSX2
Microsoft MSX2

149 201

Microsoft MSX2 (T-En)
Microsoft MSX2 (T-En)

0 157

NEC PC Engine (T-En)
NEC PC Engine (T-En)

0 46

NEC PC Engine SuperGrafx
NEC PC Engine SuperGrafx

5 5

NEC PC-98
NEC PC-98

0 577

NEC PC-FX
NEC PC-FX

0 74

NEC PC-FX (T-En)
NEC PC-FX (T-En)

0 4

NEC TurboGrafx CD
NEC TurboGrafx CD

390 543

Nintendo - NES 2.0
Nintendo - NES 2.0

0 10173

Nintendo 64
Nintendo 64

390 1220

Nintendo 64 (Hacks)
Nintendo 64 (Hacks)

0 32

Nintendo 64 (T-En)
Nintendo 64 (T-En)

0 35

Nintendo 64DD
Nintendo 64DD

7 22

Nintendo 64DD (T-En)
Nintendo 64DD (T-En)

0 7

Nintendo DS
Nintendo DS

1074 2287

Nintendo DS (T-En)
Nintendo DS (T-En)

0 73

Nintendo DSi
Nintendo DSi

8 29

Nintendo DSi (T-En)
Nintendo DSi (T-En)

0 1

Nintendo Entertainment System
Nintendo Entertainment System

1387 6490

Nintendo Entertainment System (Hacks)
Nintendo Entertainment System (Hacks)

0 610

Nintendo Famicom (T-En)
Nintendo Famicom (T-En)

0 655

Nintendo Family Computer Disk System
Nintendo Family Computer Disk System

200 400

Nintendo Family Computer Disk System (T-En)
Nintendo Family Computer Disk System (T-En)

0 65

Nintendo Game & Watch
Nintendo Game & Watch

0 59

Nintendo Game Boy
Nintendo Game Boy

1049 2184

Nintendo Game Boy (Hacks)
Nintendo Game Boy (Hacks)

0 1

Nintendo Game Boy (T-En)
Nintendo Game Boy (T-En)

0 79

Nintendo Game Boy Advance
Nintendo Game Boy Advance

1539 3559

Nintendo Game Boy Advance (Hacks)
Nintendo Game Boy Advance (Hacks)

0 22

Nintendo Game Boy Advance (T-En)
Nintendo Game Boy Advance (T-En)

0 84

Nintendo Game Boy Color
Nintendo Game Boy Color

927 2471

Nintendo Game Boy Color (Hacks)
Nintendo Game Boy Color (Hacks)

0 12

Nintendo Game Boy Color (T-En)
Nintendo Game Boy Color (T-En)

0 85

Nintendo GameCube
Nintendo GameCube

644 1892

Nintendo Pokemon Mini
Nintendo Pokemon Mini

15 44

Nintendo Pokemon Mini (T-En)
Nintendo Pokemon Mini (T-En)

0 5

Nintendo Satellaview
Nintendo Satellaview

278 352

Nintendo Sufami Turbo
Nintendo Sufami Turbo

13 13

Nintendo Super Famicom (T-En)
Nintendo Super Famicom (T-En)

0 531

Nintendo Super Famicom Enhanced Colors
Nintendo Super Famicom Enhanced Colors

0 20

Nintendo Super Famicom MSU1
Nintendo Super Famicom MSU1

0 341

Nintendo Super Famicom Speed Hacks
Nintendo Super Famicom Speed Hacks

0 412

Nintendo Virtual Boy
Nintendo Virtual Boy

22 77

Nintendo Virtual Boy (T-En)
Nintendo Virtual Boy (T-En)

0 6

Nintendo Wii
Nintendo Wii

1209 5271

OpenLara
OpenLara

0 3

Panasonic 3DO Interactive Multiplayer
Panasonic 3DO Interactive Multiplayer

290 580

Panasonic 3DO Interactive Multiplayer (T-En)
Panasonic 3DO Interactive Multiplayer (T-En)

0 4

Philips CD-i
Philips CD-i

1257 2109

Philips Videopac+
Philips Videopac+

24 34

Quake
Quake

0 7

Quake II
Quake II

0 6

Quake III
Quake III

0 1

REminiscence
REminiscence

0 1

Rick Dangerous
Rick Dangerous

0 1

SNK Neo Geo CD
SNK Neo Geo CD

96 111

SNK Neo Geo CD (T-En)
SNK Neo Geo CD (T-En)

0 1

SNK Neo Geo Pocket Color (T-En)
SNK Neo Geo Pocket Color (T-En)

0 8

SNK NeoGeo Pocket
SNK NeoGeo Pocket

9 12

SNK NeoGeo Pocket Color
SNK NeoGeo Pocket Color

73 128

ScummVM
ScummVM

0 471

Sega 32X
Sega 32X

34 214

Sega CD
Sega CD

209 526

Sega Dreamcast
Sega Dreamcast

608 1319

Sega Game Gear
Sega Game Gear

366 866

Sega Game Gear (Hacks)
Sega Game Gear (Hacks)

0 4

Sega Game Gear (T-En)
Sega Game Gear (T-En)

0 35

Sega Genesis
Sega Genesis

932 3230

Sega Genesis (Hacks)
Sega Genesis (Hacks)

0 79

Sega Master System
Sega Master System

336 1054

Sega Master System (T-En)
Sega Master System (T-En)

0 16

Sega Mega Drive (T-En)
Sega Mega Drive (T-En)

0 75

Sega Mega Drive Enhanced
Sega Mega Drive Enhanced

0 165

Sega Mega Drive Enhanced Colors
Sega Mega Drive Enhanced Colors

0 91

Sega Naomi
Sega Naomi

0 96

Sega Naomi 2
Sega Naomi 2

0 93

Sega PICO
Sega PICO

327 447

Sega SG-1000
Sega SG-1000

74 247

Sega SG-1000 (T-En)
Sega SG-1000 (T-En)

0 5

Sega Saturn
Sega Saturn

1135 2225

Sharp X68000
Sharp X68000

0 305

Sharp X68000 (T-En)
Sharp X68000 (T-En)

0 12

Sinclair ZX Spectrum +3
Sinclair ZX Spectrum +3

0 2555

Sony PlayStation
Sony PlayStation

4212 9918

Sony PlayStation 2
Sony PlayStation 2

4355 11264

Sony PlayStation Portable
Sony PlayStation Portable

0 1967

Super Nintendo Entertainment System
Super Nintendo Entertainment System

1745 4123

TIC-80
TIC-80

0 231

Tiger Game.com
Tiger Game.com

22 25

TurboGrafx-16
TurboGrafx-16

238 485

VTech CreatiVision
VTech CreatiVision

17 39

VTech V.Smile
VTech V.Smile

62 201

WASM-4
WASM-4

0 95

Watara Supervision
Watara Supervision

65 73

Win3xO
Win3xO

0 1138

Wolfenstein 3D
Wolfenstein 3D

0 5

eXoDOS
eXoDOS

0 5191

Total space required for all games: 30.94 TB

2. Where are the games downloaded to?

IAGL uses a temporary cache folder in the Kodi userdata folder by default (folder is named game_cache). ..path_to_userdata/addon_data/plugin.program.iagl/game_cache

You can change the cache folder size in the addon settings.

The cache size is by default set to Zero, meaning the addon will not keep the files. You can increase the cache size to something bigger. What you choose depends on what kind of games you play and how often you play them. Atari games for example are just a few kb. CD based systems are easily over 500MB per game.

If you don't want the files for a particular game to be deleted and want them available for 'instant launching', you can change the download location. You can mix and match which games are cached and which are saved to alternate locations on a per-archive basis.

See here for instructions.

3. I want to use emulator XXX instead!

No problemo, IAGL is setup to support external emulators. By default, IAGL is shipped with external commands to support Retroarch and a few choice others. If your emulator of choice isn't listed, you can provide your own command line. To do that:

  • Highlight the game archive of interest
  • Bring up the context menu (right click or press c)
  • Choose Update Launch Command
  • Choose the option Manually enter launch command. Then simply enter the command into the prompt just as you would on the command line. You can also use the variables in your command. The variables you can use to support launching:
XXROM_PATHXX:  The full path to the file.  i.e.  'C:/Downloads/my cool file (USA).nes'
XXROM_NAMEXX:  Just the filename of the file.  i.e. 'my cool file (USA).nes'
XXROM_NAME_QUOTEDXX:  The filename url quoted.  i.e.  'my%20cool%20file%20%28USA%29.nes'
XXROM_NAME_QUOTESPACEXX:  The filename spaces quoted.  i.e.  'my%20cool%20file%20(USA).nes'
XXROM_STEMXX:  Just the file stem of the file.  i.e. 'my cool file (USA)'
XXROM_STEM_QUOTEDXX:  The filestem url quoted.  i.e.  'my%20cool%20file%20%28USA%29'
XXROM_STEM_QUOTESPACEXX:  The filestem spaces quoted.  i.e.  'my%20cool%20file%20(USA)'
XXNETPLAY_COMMANDXX:  An IAGL appended netplay command (i.e. --nick="Zach Morris" --host)

If you've got a common launcher command you would like included, let me know so I can add it to the default list provided in the next update.

4. I want you to add game system XXX to IAGL!

OK. Go here here, and include a note with some info on what you are interested in, along with an essay and TPS report in triplicate. There are no guarantees that I'll add it.

5. I don't want the addon to show XXX archive.

No problem. Just select the archive you don't want to see, then bring up the context menu (right click or press C) and select Hide Game List

6. Wait wait, I guess I do want to see that archive after all!

Make up your mind! OK. Now go to IAGL settings Context Menu / Settings / Views and Navigation / (Advance Level Setting) Unhide Game Lists

7. Can I manually edit the games lists?

IAGL v4.0+ has changed from using xml files to using a sqlite database. This makes it way faster, but more difficult to edit. However, a standard sql editor can edit the database file. I recommend dBeaver Community Edition.

8. How do you get Retroarch/Retroplayer to do XYZ?

Hold on there tiger. This addon is a game LAUNCHER. Not an emulator. I'm no where near an expert on all the in's and out's of Retroarch (or whatever you're favorite emulator is). I suggest taking a look here. Or, head on over to the libretro forum or the libretro wiki.

9. When I try to start the addon, it fails. The error log says something about "ImportError: No module named XXX"

The error you got is due to dependencies that did not install for some reason (which should auto install if you install IAGL by zip or by my repo, you likely copied the files manually so the dependencies weren't installed). To avoid this, install the addon using the repository as discussed on the install page.

To fix this, you can manually install the dependencies by searching for them. The dependancies are listed here.

10. This addon shows up as a video addon, and a game addon?!?

Yes, thats by design. This addon will show up as both a game addon and video addon. Kodi skins tend to have more views available for video addons rather than game addons. Most skins in Kodi are desined around making video's pretty. You can also change what media is presented as in IAGL settings Context Menu / Settings / Views and Navigation / (Advance Level Setting) Games are Presented As

11. Game XYZ does not work, your addon is broken!

11a. Game XYZ starts, but has issues, your addon is broken!

Maybe. But probably not...

If the game launches, then IAGL is no longer "in the loop". The addon did its job. The game launched (or was at least told to). Done.

After that, it's up to whatever is emulating the game. So if the game launches, but has some sort of issue, then I suggest you google search for the specific issue you are experiencing along with the emulator being used (the retroarch core, or Retroplayer addon, etc), look at your settings, etc.

11b. I pressed launch but nothing happened, your addon is broken!

Maybe. But probably not...

In a nutshell this is how IAGL works:

  1. Downloads the required files you requested from the archive
  2. Processes those files (if necessary) to get them ready to launch (unzip for example, some others have config files automatically generated).
  3. (In the case of external launching) Executes a command line command to launch the game. This would in theory be the same exact command you would use to launch the game from the command line.

Most likely causes that game XYZ does not work are (in no particular order):

  • You did not setup your emulator exactly as required for the game to work
  • The settings for your emulator need to be tweaked for the game to work
  • The game is not supported / is not compatible yet with the emulator you tried
  • IAGL did not send the right launch command or did not provide (all) the required files
  • IAGL did not download the file, or all the files required, or they're no longer available, or... you're not connected to the internet (did you try this)

For troubleshooting purposes, I suggest the following:

  1. Review the launch commands for the archive you're having trouble with. You can do this by selecting the archive list in IAGL, then bringing up the context menu and selecting "View List Settings". Ensure the launch command looks correct for the emulator / core you're using. Note that the wizard is not 100% correct, and Retroarch / core functionality changes often so it could require the command be tweaked to work. See here on info on tweaking.

  2. Assuming the game downloads from IAGL correctly. Start Retroarch and launch the game directly from the emulator (i.e. start retroarch and try and launch the game file that IAGL downloaded). If that doesn't work, then the problem lies with your setup or the emulator (hint: It's probably a BIOS file issue).

  3. You can turn on debug logging in Kodi, attempt to launch your game, it will still fail, but then you can review the log and see what command is sent. Review the command, or even better, copy and paste the command into the command line for your computer and see what error you get.

If you believe you found a bug, let me know and I'll see if I can fix it. You must provide a debug log so I can follow what the issue is.

11c. I can launch games but there's no sound, your addon is broken!

You are probably using a Raspberry Pi. Am I right? Per the libreelec builds page All the emulators use ALSA by default. Some times there are more than one sound card or more than one output and the sound will go to the wrong place by default. In this case you should have a look at /storage/.config/asound.conf.sample. Use it as a template and save the edited one as /storage/.config/asound.conf. When done correctly the command "speaker-test" should output noise. If it doesn't you need to fix your asound.conf

11d. I try and download a game and I got an error!

Some archives on archive.org are only available after you login to the site. Enter your user EMAIL and password for archive.org in the addon settings. You can also check your login in addon settings.

If you did enter your email and password and it still gives you this message, it's entirely possible archive.org no longer provides the file(s). If this is the case, submit an issue with 1-2 examples of failed games, along with a debug log showing the failure.

12. I'm on Android and my controller stops working when I launch Retroarch using IAGL

If you have no input from any of your controllers (buttons not working) when launching games from within Kodi using IAGL but you do when launching from Retroarch standalone then change the Poll Type Behavior under the Retroarch Settings / Input to Early.

13. Bugs

The addon isn't perfect, but it's close! Here are the current known issues

14. DMCA

To the best of my knowledge, in cases where DMCA applies, Internet Archive follows the DMCA requirements. The Internet Archive has an exception to the standard DMCA-related copyright rules found in the United States.

Reference this wikipedia entry, summarized below:

The Internet Archive has created an archive of what it describes as 'vintage software', as a way to preserve them... the exemption is 'for the purpose of preservation or archival reproduction of published digital works by a library or archive.' ... the exemption was renewed in 2006, and in 2009 was indefinitely extended pending further rulemakings... In 2013, the Internet Archive began to provide abandonware video games browser-playable emulators such as MESS...

Further documentation of the exemption can be found here, and here, and here.

This addon accesses archive.org data and web pages. Review the terms of use for archive.org here. Specifically archive.org states:

Some of the content available through the Archive may be governed by local, national, and/or international laws and regulations, and your use of such content is solely at your own risk

In addition to the terms on the website, the addon presents these same terms to users prior to using this addon.

15. How can I help?

  • I've made this addon for the fun of it, so personally not looking for any donations. BUT, I highly recommend a small donation to the internet archive to support their cause and their bandwidth.

Please donate here: https://archive.org/donate/

⚠️ **GitHub.com Fallback** ⚠️