trying nested device structure

This commit is contained in:
cmclark00 2024-10-16 00:08:46 -04:00
parent fda3bb25dc
commit c57183a0e5
3 changed files with 786 additions and 232 deletions

View file

@ -228,237 +228,375 @@
} }
], ],
"imager": { "imager": {
"devices": [{ "manufacturers": [
"name": "Anbernic RG40XXH", {
"tags": ["rg40xxh"], "name": "Anbernic",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20H.png?raw=true" "devices": [
}, {
{ "name": "RG40XXH",
"name": "Anbernic RG40XXV", "tags": [
"tags": ["rg40xxv"], "rg40xxh"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20V.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20H.png?raw=true"
{ },
"name": "Anbernic RG35XXH", {
"tags": ["rg35xxh"], "name": "RG40XXV",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20H.png?raw=true" "tags": [
}, "rg40xxv"
{ ],
"name": "Anbernic RG35XX Plus", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20V.png?raw=true"
"tags": ["rg35xx_plus"], },
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%20PLUS.png?raw=true" {
}, "name": "RG35XXH",
{ "tags": [
"name": "Anbernic RG35XX SP", "rg35xxh"
"tags": ["rg35xx_sp"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20SP.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20H.png?raw=true"
}, },
{ {
"name": "Anbernic RG35XX 2024", "name": "RG35XX Plus",
"tags": ["rg35xx_2024"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%202024.png?raw=true" "rg35xx_plus"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%20PLUS.png?raw=true"
"name": "Anbernic RG28XX", },
"tags": ["rg28xx"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG28XX.png?raw=true" "name": "RG35XX SP",
}, "tags": [
{ "rg35xx_sp"
"name": "Anbernic RG351P", ],
"tags": ["rg351p"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20SP.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "RG35XX 2024",
"name": "Anbernic RG351M", "tags": [
"tags": ["rg351m"], "rg35xx_2024"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%202024.png?raw=true"
{ },
"name": "Anbernic RG351V", {
"tags": ["rg351v"], "name": "RG28XX",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "tags": [
}, "rg28xx"
{ ],
"name": "Game Console R33S", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG28XX.png?raw=true"
"tags": ["r33s"], },
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" {
}, "name": "RG351P",
{ "tags": [
"name": "Game Console R35S", "rg351p"
"tags": ["r35s"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}, },
{ {
"name": "Game Console R36S", "name": "RG351M",
"tags": ["r36s"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "rg351m"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"name": "ODROID Go Advance", },
"tags": ["oga"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "RG351V",
}, "tags": [
{ "rg351v"
"name": "ODROID Go Super", ],
"tags": ["ogs"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "RG353P",
"name": "MagicX XU10", "tags": [
"tags": ["xu10"], "rg353p"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
{ },
"name": "Powkiddy V10", {
"tags": ["v10"], "name": "RG353M",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "tags": [
}, "rg353m"
{ ],
"name": "Powkiddy RGB10", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"tags": ["rgb10"], },
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" {
}, "name": "RG353V",
{ "tags": [
"name": "Anbernic RG353P", "rg353v"
"tags": ["rg353p"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}, },
{ {
"name": "Anbernic RG353M", "name": "RG353VS",
"tags": ["rg353m"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "rg353vs"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"name": "Anbernic RG353V", },
"tags": ["rg353v"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "RG353PS",
}, "tags": [
{ "rg353ps"
"name": "Anbernic RG353VS", ],
"tags": ["rg353vs"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "RG503",
"name": "Anbernic RG353PS", "tags": [
"tags": ["rg353ps"], "rg503"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
{ },
"name": "Anbernic RG503", {
"tags": ["rg503"], "name": "RG Arc-D",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "tags": [
}, "rg_arc_d"
{ ],
"name": "Anbernic RG Arc-D", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"tags": ["rg_arc_d"], },
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" {
}, "name": "RG Arc-S",
{ "tags": [
"name": "Anbernic RG Arc-S", "rg_arc_s"
"tags": ["rg_arc_s"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}, },
{ {
"name": "Powkiddy RK2023", "name": "RG552",
"tags": ["rk2023"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "rg552"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"name": "Powkiddy RGB10 Max 3", }
"tags": ["rgb10_max_3"], ]
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "GameConsole",
"name": "Powkiddy RGB30", "devices": [
"tags": ["rgb30"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "R33S",
}, "tags": [
{ "r33s"
"name": "Powkiddy RGB20SX", ],
"tags": ["rgb20sx"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "R35S",
"name": "Anbernic RG552", "tags": [
"tags": ["rg552"], "r35s"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
{ },
"name": "ODROID Go Ultra", {
"tags": ["ogu"], "name": "R36S",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "tags": [
}, "r36s"
{ ],
"name": "Powkiddy RGB10 Max 3 Pro", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"tags": ["rgb10_max_3_pro"], }
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ]
}, },
{ {
"name": "ODROID N2", "name": "ODROID",
"tags": ["on2"], "devices": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" {
}, "name": "Go Advance",
{ "tags": [
"name": "ODROID N2 Plus", "oga"
"tags": ["on2_plus"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}, },
{ {
"name": "ODROID N2L", "name": "Go Super",
"tags": ["on2l"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "ogs"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"name": "Gameforce Ace (default)", },
"tags": ["ace"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "Go Ultra",
}, "tags": [
{ "ogu"
"name": "Orange Pi 5", ],
"tags": ["orange_pi_5"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" },
}, {
{ "name": "N2",
"name": "Orange Pi 5 Plus", "tags": [
"tags": ["orange_pi_5_plus"], "on2"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" ],
}, "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
{ },
"name": "Radxa Rock 5a", {
"tags": ["radxa_rock_5a"], "name": "N2 Plus",
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "tags": [
}, "on2_plus"
{ ],
"name": "Radxa Rock 5b", "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"tags": ["radxa_rock_5b"], },
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" {
}, "name": "N2L",
{ "tags": [
"name": "Radxa Rock 5b Plus", "on2l"
"tags": ["radxa_rock_5b_plus"], ],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}, }
{ ]
"name": "Radxa Rock CM5", },
"tags": ["radxa_rock_cm5"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "MagicX",
}, "devices": [
{ {
"name": "Indiedroid Nova (Must set dtb in extlinuix.conf)", "name": "XU10",
"tags": ["nova"], "tags": [
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "xu10"
}, ],
{ "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"name": "Powkiddy X55", },
"tags": ["x55"], {
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" "name": "XU Mini M",
}, "tags": [
{ "xu_mini_m"
"name": "MagicX XU Mini M", ],
"tags": ["xu_mini_m"], "icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true" }
} ]
] },
} {
"name": "Powkiddy",
"devices": [
{
"name": "V10",
"tags": [
"v10"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10",
"tags": [
"rgb10"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RK2023",
"tags": [
"rk2023"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10 Max 3",
"tags": [
"rgb10_max_3"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB30",
"tags": [
"rgb30"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB20SX",
"tags": [
"rgb20sx"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10 Max 3 Pro",
"tags": [
"rgb10_max_3_pro"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "X55",
"tags": [
"x55"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Gameforce",
"devices": [
{
"name": "Ace (default)",
"tags": [
"ace"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Orange Pi",
"devices": [
{
"name": "Pi 5",
"tags": [
"orange_pi_5"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Pi 5 Plus",
"tags": [
"orange_pi_5_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Radxa",
"devices": [
{
"name": "Rock 5a",
"tags": [
"radxa_rock_5a"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock 5b",
"tags": [
"radxa_rock_5b"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock 5b Plus",
"tags": [
"radxa_rock_5b_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock CM5",
"tags": [
"radxa_rock_cm5"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Indiedroid",
"devices": [
{
"name": "Nova (Must set dtb in extlinuix.conf)",
"tags": [
"nova"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
}
]
}
} }

43
src/restructure.py Normal file
View file

@ -0,0 +1,43 @@
import json
from collections import defaultdict
# Load the JSON file
with open('os_list.json', 'r') as f:
data = json.load(f)
# Initialize a new dictionary to store the restructured data
restructured_data = {
"imager": {
"manufacturers": []
}
}
# Create a dictionary to hold manufacturers temporarily
manufacturers = defaultdict(list)
# Go through the devices listed in the original file
for device_entry in data['imager']['devices']:
# Extract manufacturer name from the device name
manufacturer_name = device_entry['name'].split()[0]
# Remove manufacturer prefix from the device name to keep it clean
device_name = " ".join(device_entry['name'].split()[1:])
# Add device entry to the manufacturer's list
manufacturers[manufacturer_name].append({
"name": device_name,
"tags": device_entry['tags'],
"icon": device_entry['icon']
})
# Transform the manufacturers dictionary into the desired JSON structure
for manufacturer, devices in manufacturers.items():
restructured_data['imager']['manufacturers'].append({
"name": manufacturer,
"devices": devices
})
# Save the new JSON structure to a new file
with open('restructured_os_list.json', 'w') as f:
json.dump(restructured_data, f, indent=4)
print("JSON restructuring completed. Check 'restructured_os_list.json' for the updated file.")

View file

@ -0,0 +1,373 @@
{
"imager": {
"manufacturers": [
{
"name": "Anbernic",
"devices": [
{
"name": "RG40XXH",
"tags": [
"rg40xxh"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20H.png?raw=true"
},
{
"name": "RG40XXV",
"tags": [
"rg40xxv"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG40XX%20V.png?raw=true"
},
{
"name": "RG35XXH",
"tags": [
"rg35xxh"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20H.png?raw=true"
},
{
"name": "RG35XX Plus",
"tags": [
"rg35xx_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%20PLUS.png?raw=true"
},
{
"name": "RG35XX SP",
"tags": [
"rg35xx_sp"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20SP.png?raw=true"
},
{
"name": "RG35XX 2024",
"tags": [
"rg35xx_2024"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX%20-%202024.png?raw=true"
},
{
"name": "RG28XX",
"tags": [
"rg28xx"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG28XX.png?raw=true"
},
{
"name": "RG351P",
"tags": [
"rg351p"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG351M",
"tags": [
"rg351m"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG351V",
"tags": [
"rg351v"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG353P",
"tags": [
"rg353p"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG353M",
"tags": [
"rg353m"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG353V",
"tags": [
"rg353v"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG353VS",
"tags": [
"rg353vs"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG353PS",
"tags": [
"rg353ps"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG503",
"tags": [
"rg503"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG Arc-D",
"tags": [
"rg_arc_d"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG Arc-S",
"tags": [
"rg_arc_s"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RG552",
"tags": [
"rg552"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "GameConsole",
"devices": [
{
"name": "R33S",
"tags": [
"r33s"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "R35S",
"tags": [
"r35s"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "R36S",
"tags": [
"r36s"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "ODROID",
"devices": [
{
"name": "Go Advance",
"tags": [
"oga"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Go Super",
"tags": [
"ogs"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Go Ultra",
"tags": [
"ogu"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "N2",
"tags": [
"on2"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "N2 Plus",
"tags": [
"on2_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "N2L",
"tags": [
"on2l"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "MagicX",
"devices": [
{
"name": "XU10",
"tags": [
"xu10"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "XU Mini M",
"tags": [
"xu_mini_m"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Powkiddy",
"devices": [
{
"name": "V10",
"tags": [
"v10"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10",
"tags": [
"rgb10"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RK2023",
"tags": [
"rk2023"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10 Max 3",
"tags": [
"rgb10_max_3"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB30",
"tags": [
"rgb30"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB20SX",
"tags": [
"rgb20sx"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "RGB10 Max 3 Pro",
"tags": [
"rgb10_max_3_pro"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "X55",
"tags": [
"x55"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Gameforce",
"devices": [
{
"name": "Ace (default)",
"tags": [
"ace"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Orange Pi",
"devices": [
{
"name": "Pi 5",
"tags": [
"orange_pi_5"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Pi 5 Plus",
"tags": [
"orange_pi_5_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Radxa",
"devices": [
{
"name": "Rock 5a",
"tags": [
"radxa_rock_5a"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock 5b",
"tags": [
"radxa_rock_5b"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock 5b Plus",
"tags": [
"radxa_rock_5b_plus"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
},
{
"name": "Rock CM5",
"tags": [
"radxa_rock_cm5"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
},
{
"name": "Indiedroid",
"devices": [
{
"name": "Nova (Must set dtb in extlinuix.conf)",
"tags": [
"nova"
],
"icon": "https://github.com/cmclark00/retro-imager/blob/dev/src/icons/RG35XX.png?raw=true"
}
]
}
]
}
}