def libretroSystemList(self):
        systems = []
        for k, v in self.coreInfo['cores'].items():

            if "categories" not in v or v["categories"] != "Emulator":
                continue

            if "database" in v:
                name = v["database"].split("|")

                for n in name:
                    systems.append(n)

                    # Split console and manufacturer names
                    # Not really necessary for Libretro identifiers
                    #tup = n.split(" - ")
                    #
                    ## "MAME"
                    #if len(tup) == 1:
                    #    systems.append(tup[0])
                    #
                    ## Nearly every one
                    #elif len(tup) == 2:
                    #    systems.append(tup[1])
                    #
                    ## Sega - Master System - Mark III
                    ## Sega - Mega Drive - Genesis
                    #elif len(tup) == 3:
                    #    systems.append(tup[1])

            # There are some cores that do not have "database" defined
            elif "systemname" in v:
                systems.append(v["systemname"])

        systems = list(set(systems))
        systems.sort()
        return systems