List of Core Requiring BIOS Files

For topics which do not fit in other specific forums.
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

List of Core Requiring BIOS Files

Unread post by Moondandy »

I have been looking to get all the right BIOS files named properly and in the right folders, and presumably aren't the only one.

I've also been learning Python this evening and have written a basic script to check the games folders for cores I know need a BIOS file and flag up if it is missing, and am wanting to work for all cores and build my python skills as I go. I also imagine some of the computer cores needs specific files in specific places to run.

Any help would be super useful and I can update this first post so it contains a master list of all the cores requiring a BIOS:

Official Cores:
Bally Astrocade: boot.rom
Famicom Disk System: boot0.rom
Gameboy Advance: boot.rom (note: optional way to use official BIOS)
Gameboy Colour: boot1.rom
Mega CD: cd_bios.rom
PC CD Engine: cd_bios.rom
Neo Geo: 000-lo.lo + sfix.sfix + sp-s2.sp1 (MVS) + neo-epo.sp1 (AES) + uni-bios.rom

Unofficial Cores:
Atari Jaguar: boot.rom

Computer Cores:
Acorn Archimedes : /games/ARCHIE/riscos.rom
Amiga : KICK.ROM file must be in SD card root
Amstrad boot.rom : /games/Amstrad/boot.rom
ao486 (PC 486) boot0.rom, boot1.rom : /games/ao486/boot0.rom (+boot1.rom)
Apogee EXTROM : /_Computer/apogee.rom
Apple Macintosh Plus : /games/MacPlus/boot.rom
Commodore 16 boot.rom : /games/C16/boot.rom (Optional)
Commodore VIC-20 : /games/VIC20/boot.rom (Optional)
Sinclair QL : /games/QL/boot.rom

UPDATE: see script and more info in thread below
Lancelot
Posts: 29
Joined: Mon May 25, 2020 4:56 am
Location: Campinas
Has thanked: 1 time
Contact:

Re: List of Core Requiring BIOS Files

Unread post by Lancelot »

GBA?
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

Following on from a conversation on the discord channel, here is my very crude python script for checking to see if the needed console BIOS files are present in the right directories with correct naming, as well as key files needed for the computer cores. Hopefully it is of use to someone developing a more advanced script to actually grab all these files (the BIOS getter script that also in the update all script does (most of?) the console cores already.

Keep in mind this is my first ever script, so it is probably laughable to anyone who knows even a bit of python, but I had fun writing it and found it useful.

# To run this script first plug the MiSTer_Data SD card into your Mac.
# Copy this file to the root folder on the MiSTer_Data SD card
# Type in Terminal:
# "cd /Volumes/MiSTer_Data"
# Then type:
# "python3 mister-missing-bios-check-3.py" or whatever this script's name now is.

from pathlib import Path

print("Below is a breakdown of the Console cores requiring additional files in order to run and if present in your folder structure:")

my_file = Path("MISTer.ini")
if my_file.is_file():
print("")#MISTer.ini present
else:
print("! MISTer.ini file MISSING! : MISTer.ini should be in SD card root")

my_file = Path("names.txt")
if my_file.is_file():
print("")#names.txt present
else:
print("! names.txt file MISSING! : names.txt should be in SD card root")

my_file = Path("games/Jaguar/boot.rom")
if my_file.is_file():
print("Atari Jaguar BIOS present")
else:
print("! Atari Jaguar BIOS MISSING! : /games/Jaguar/boot.rom")

my_file = Path("games/Astrocade/boot.rom")
if my_file.is_file():
print("Bally Astrocade BIOS present")
else:
print("! Bally Astrocade BIOS MISSING! : /games/Astrocade/boot.rom")

my_file = Path("games/NES/boot0.rom")
if my_file.is_file():
print("Famicom Disk System BIOS present")
else:
print("! Famicom Disk System BIOS MISSING! : /games/NES/boot0.rom")

my_file = Path("games/GBA/boot.rom")
if my_file.is_file():
print("Gameboy Advance Official BIOS present")
else:
print("! Gameboy Advance Official BIOS MISSING! (Optional) : /games/GBA/boot.rom")

my_file = Path("games/GAMEBOY/boot1.rom")
if my_file.is_file():
print("Gameboy Colour BIOS present")
else:
print("! Gameboy Colour BIOS MISSING! : /games/GAMEBOY/boot1.rom")

my_file = Path("games/MegaCD/boot.rom")
if my_file.is_file():
print("Mega CD BIOS present")
else:
print("! Mega CD BIOS MISSING! : /games/MegaCD/boot.rom")

my_file = Path("games/TGFX16-CD/cd_bios.rom")
if my_file.is_file():
print("Turbo GFX / PC Engine CD BIOS present")
else:
print("! Turbo GFX / PC Engine CD BIOS MISSING! : /games/TGFX16-CD/cd_bios.rom")

my_file = Path("games/NeoGeo/000-lo.lo")
if my_file.is_file():
print("Neo Geo 000-lo.lo BIOS present")
else:
print("! Neo Geo 000-lo.lo BIOS MISSING! : /games/NeoGeo/000-lo.lo")

my_file = Path("games/NeoGeo/sfix.sfix")
if my_file.is_file():
print("Neo Geo sfix.sfix BIOS present")
else:
print("! Neo Geo sfix.sfix BIOS MISSING! : /games/NeoGeo/sfix.sfix")

my_file = Path("games/NeoGeo/sp-s2.sp1")
if my_file.is_file():
print("Neo Geo sp-s2.sp1 BIOS present")
else:
print("! Neo Geo sp-s2.sp1 BIOS MISSING! : /games/NeoGeo/sp-s2.sp1")

my_file = Path("games/NeoGeo/neo-epo.sp1")
if my_file.is_file():
print("Neo Geo neo-epo.sp1 BIOS present")
else:
print("! Neo Geo neo-epo.sp1 BIOS MISSING! : /games/NeoGeo/neo-epo.sp1")

my_file = Path("games/NeoGeo/uni-bios.rom")
if my_file.is_file():
print("Neo Geo uni-bios.rom BIOS present")
else:
print("! Neo Geo uni-bios.rom BIOS MISSING! : /games/NeoGeo/uni-bios.rom")

print("")
print("Below is a breakdown of the Computer cores requiring additional files in order to run and if present in your folder structure:")
print("")

file = Path("games/ARCHIE/riscos.rom")
if my_file.is_file():
print("Acorn Archimedes RiscOS ROM riscos.rom BIOS present")
else:
print("! Acorn Archimedes RiscOS ROM riscos.rom BIOS MISSING! : /games/ARCHIE/riscos.rom")

file = Path("KICK.ROM")
if my_file.is_file():
print("Amiga KICK.ROM image present")
else:
print("! Amiga KICK.ROM image MISSING! : KICK.ROM file must be in SD card root")

file = Path("games/Amstrad/boot.rom")
if my_file.is_file():
print("Amstrad boot.rom BIOS present")
else:
print("! Amstrad boot.rom BIOS MISSING! : /games/Amstrad/boot.rom")

file = Path("games/ao486/boot0.rom")
if my_file.is_file():
print("ao486 (PC 486) boot0.rom BIOS present")
else:
print("! ao486 (PC 486) boot0.rom BIOS MISSING! : /games/ao486/boot0.rom")

file = Path("games/ao486/boot1.rom")
if my_file.is_file():
print("ao486 (PC 486) boot1.rom BIOS present")
else:
print("! ao486 (PC 486) boot1.rom BIOS MISSING! : /games/ao486/boot1.rom")

file = Path("/_Computer/apogee.rom")
if my_file.is_file():
print("Apogee EXTROM apogee.rom file present")
else:
print("! Apogee EXTROM apogee.rom file MISSING! : /_Computer/apogee.rom")

file = Path("games/MacPlus/boot.rom")
if my_file.is_file():
print("Apple Macintosh Plus boot.rom BIOS present")
else:
print("! Apple Macintosh Plus boot.rom BIOS MISSING! : /games/MacPlus/boot.rom")

file = Path("games/C16/boot.rom")
if my_file.is_file():
print("Commodore 16 boot.rom BIOS present")
else:
print("! Commodore 16 boot.rom BIOS MISSING! (Optional) : /games/C16/boot.rom")

file = Path("games/VIC20/boot.rom")
if my_file.is_file():
print("Commodore VIC-20 boot.rom BIOS present")
else:
print("! Commodore VIC-20 boot.rom BIOS MISSING! (Optional) : /games/VIC20/boot.rom")

file = Path("games/QL/boot.rom")
if my_file.is_file():
print("Sinclair QL boot.rom BIOS present")
else:
print("! Sinclair QL boot.rom BIOS MISSING! : /games/QL/boot.rom")


print("")
print("Script complete.")
print("")

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: List of Core Requiring BIOS Files

Unread post by akeley »

So does C16 actually need the boot.rom, or is it optional?

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

retrorepair
Posts: 257
Joined: Sun May 24, 2020 9:06 pm
Has thanked: 64 times
Been thanked: 13 times

Re: List of Core Requiring BIOS Files

Unread post by retrorepair »

Nice, I didn't know about a few of those. Could you update your first post based on the findings in your script?

As above, does GBA not use the real BIOS then?
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

Sure, I can update it later.

With GBA:

"Opensource Bios from Normmatt is included, however it has issues with some games. Original GBA BIOS can be placed to GBA folder with name boot.rom"

https://github.com/MiSTer-devel/GBA_MiSTer

With C16:

"Put boot.rom into C16 folder."

https://github.com/MiSTer-devel/C16_MiSTer

I assume this means you need to add that file, but it's not a core I have tried.
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

I fixed a bug in the script for Astrocade and added in a check for the official GBA one. After running update all script with the bios getter script in it here is what I get (although I had a few BIOS in already i.e. Jaguar).
Below is a breakdown of the Console cores requiring additional files in order to run and if present in your folder structure:


Atari Jaguar BIOS present
Bally Astrocade BIOS present
Famicom Disk System BIOS present
Gameboy Advance Official BIOS present
Gameboy Colour BIOS present
Mega CD BIOS present
Turbo GFX / PC Engine CD BIOS present
Neo Geo 000-lo.lo BIOS present
Neo Geo sfix.sfix BIOS present
! Neo Geo sp-s2.sp1 BIOS MISSING! : /games/NEOGEO/sp-s2.sp1
! Neo Geo neo-epo.sp1 BIOS MISSING! : /games/NEOGEO/neo-epo.sp1
Neo Geo uni-bios.rom BIOS present

Below is a breakdown of the Computer cores requiring additional files in order to run and if present in your folder structure:

! Acorn Archimedes RiscOS ROM riscos.rom BIOS MISSING! : /games/ARCHIE/riscos.rom
! Amiga KICK.ROM image MISSING! : KICK.ROM file must be in SD card root
! Amstrad boot.rom BIOS MISSING! : /games/Amstrad/boot.rom
! ao486 (PC 486) boot0.rom BIOS MISSING! : /games/ao486/boot0.rom
! ao486 (PC 486) boot1.rom BIOS MISSING! : /games/ao486/boot1.rom
! Apogee EXTROM apogee.rom file MISSING! : /_Computer/apogee.rom
! Apple Macintosh Plus boot.rom BIOS MISSING! : /games/MacPlus/boot.rom
! Commodore 16 boot.rom BIOS MISSING! (Optional) : /games/C16/boot.rom
! Commodore VIC-20 boot.rom BIOS MISSING! (Optional) : /games/VIC20/boot.rom
! Sinclair QL boot.rom BIOS MISSING! : /games/QL/boot.rom

Script complete.
akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: List of Core Requiring BIOS Files

Unread post by akeley »

Moondandy wrote: Tue Jul 07, 2020 12:05 pm With C16:

"Put boot.rom into C16 folder."

https://github.com/MiSTer-devel/C16_MiSTer

I assume this means you need to add that file, but it's not a core I have tried.
I thought so too, but now I think it's optional. The wording in the wiki suggests that, but it's the same with VIC-20 and yet that core does not require boot.rom (it adds some functionality but is not necessary).

PS: It's "Commodore", btw :)

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

Thanks for that, have updated script and ran again and updated the output also. Noted that the Commodore ones are optional and fixed the spelling. If you notice anything else please let me know!

Likewise, if you can think of any other files that it is worth validating for that would be cool to chuck in it is helping me learn Python if nothing else. I have it checking for the names.txt and MiSter.ini file already.

I had thought a validation script that checked each games folder and flagged any files that weren't supported could be a useful tool, but right now that is a bit beyond me and is a lot of work. It would be good to get this script so it doesn't have to be put onto the SD card to be run first (ideally be able to check of SSH).
User avatar
lomdar67
Posts: 184
Joined: Sun May 24, 2020 8:27 pm
Has thanked: 14 times
Been thanked: 9 times

Re: List of Core Requiring BIOS Files

Unread post by lomdar67 »

This script would be even more useful if it would do a checksum check on the bios files. So you would be sure you have the right bios file... ;-)
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

I'm on day 1 Python scripting right now, that feels like day 2 ;-). That seems a good idea though, but issue would be what to check against and there are different versions of various BIOS to be used - unless I am missing something.

Am I right in thinking there is no way to run a python script from within the MiSter its self? Only bash scripts?
User avatar
lomdar67
Posts: 184
Joined: Sun May 24, 2020 8:27 pm
Has thanked: 14 times
Been thanked: 9 times

Re: List of Core Requiring BIOS Files

Unread post by lomdar67 »

Moondandy wrote: Tue Jul 07, 2020 3:20 pm I'm on day 1 Python scripting right now, that feels like day 2 ;-). That seems a good idea though, but issue would be what to check against and there are different versions of various BIOS to be used - unless I am missing something.

Am I right in thinking there is no way to run a python script from within the MiSter its self? Only bash scripts?
Yea probably day two or three... ;-)

I think the biggest problem will be collecting all the data you need (the right checksums) and keeping that data up to date. Especially if you include beta builds like e.g. the X68000 and PC88 cores.
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 102 times

Re: List of Core Requiring BIOS Files

Unread post by Moondandy »

Well that seems like a long way off goal, and TBH I am not sure anyone is going to ever use this. I'm going to try get my head around lists and loops next and see if I can do this a bit cleaner and add in some more validation easily.

I've fixed another bug and now the only two files I seem to be missing are:

! Neo Geo sp-s2.sp1 BIOS MISSING! : /games/NEOGEO/sp-s2.sp1
! Neo Geo neo-epo.sp1 BIOS MISSING! : /games/NEOGEO/neo-epo.sp1

Now, the bios getter script only downloads these 3:
NeoGeo

000-lo.lo
sfix.sfix
uni-bios-40
It seems although Neo Geo Core the readme states this:
In addition, several bios files must be placed in the NEOGEO folder for the core to function properly:

000-lo.lo
sfix.sfix
sp-s2.sp1 (MVS)
neo-epo.sp1 (AES)
uni-bios.rom

Sometimes these files may be named slightly differently depending on where they are obtained, but they must be renamed to match the filenames above to work with MiSTer. You may choose between using original system BIOS (sp-s2.sp1/neo-epo.sp1) and uni-bios.rom. Using uni-bios is recommended, and can be obtained here.
Which confused me, I think it should say you either need sp-s2.sp1 or neo-epo.sp1 or uni-bios.rom, not all 3. I need to look at the core, and how bios switching works.
User avatar
lomdar67
Posts: 184
Joined: Sun May 24, 2020 8:27 pm
Has thanked: 14 times
Been thanked: 9 times

Re: List of Core Requiring BIOS Files

Unread post by lomdar67 »

sp-s2.sp1 (MVS) and neo-epo.sp1 (AES) are the original bios versions for MVS/AES.

uni-bios.rom is they “Universe“ bios including AES/MVS and Europe/Japan/US.

So you don’t necessarily need all three. These are more alternatives.
We raise hopes here...until they're old enough to fend for themselves.
--Mike Callahan
MrX_Cuci
Posts: 33
Joined: Mon May 25, 2020 7:09 pm

Re: List of Core Requiring BIOS Files

Unread post by MrX_Cuci »

Are the hashes of the used files documented somewhere? Lots of trial and error without those.
retrorepair
Posts: 257
Joined: Sun May 24, 2020 9:06 pm
Has thanked: 64 times
Been thanked: 13 times

Re: List of Core Requiring BIOS Files

Unread post by retrorepair »

MrX_Cuci wrote: Wed Jul 08, 2020 7:48 pm Are the hashes of the used files documented somewhere? Lots of trial and error without those.
I don't know that any of these cores check the hash? I don't really think they should anyway, there are lots of revisions of most of these BIOS files so unless we are going to use naming conventions a la MAME then hashes aren't very useful.
MrX_Cuci
Posts: 33
Joined: Mon May 25, 2020 7:09 pm

Re: List of Core Requiring BIOS Files

Unread post by MrX_Cuci »

It has nothing to do with a naming convention. Let's look at the example above:
sp-s2.sp1 (MVS) and neo-epo.sp1 (AES) are the original bios versions for MVS/AES.
That's great to know, but there are a dozen files named like this, some good, some bad, some malware (Yikes!). How do we know we have the original files? This is weere the hash comes in. See this https://wiki.neogeodev.org/index.php?title=System_ROM for the original hash of those files. I now only have to figure out what hash my files have and delete the bad ones.

So if anyone has a list of the correct original / oficial BIOS files, I would be greatfull. Mister is all about accuracy isn't it.
retrorepair
Posts: 257
Joined: Sun May 24, 2020 9:06 pm
Has thanked: 64 times
Been thanked: 13 times

Re: List of Core Requiring BIOS Files

Unread post by retrorepair »

MrX_Cuci wrote: Thu Jul 09, 2020 6:27 pm It has nothing to do with a naming convention. Let's look at the example above:
sp-s2.sp1 (MVS) and neo-epo.sp1 (AES) are the original bios versions for MVS/AES.
That's great to know, but there are a dozen files named like this, some good, some bad, some malware (Yikes!). How do we know we have the original files? This is weere the hash comes in. See this https://wiki.neogeodev.org/index.php?title=System_ROM for the original hash of those files. I now only have to figure out what hash my files have and delete the bad ones.

So if anyone has a list of the correct original / oficial BIOS files, I would be greatfull. Mister is all about accuracy isn't it.
It's up to you to find the right file, if the file names are as you quoted, they will work. If they aren't working you must have a crap file. Malware? Find a better website, hashes won't help with that.

Mega CD (E) - M1 V1.00.bin
Mega CD (E) - M2 V2.00 ().bin
Mega CD (E) - M2 V2.00.bin
Mega CD (E) - M2 V2.00w.bin
Mega CD (J(E)) - M1 V1.00s.bin
Mega CD (J(UE)) - M2 V2.00 ().bin
Mega CD (J) - M1 V1.00p.bin
Sega CD (U) - M1 V1.10.bin
Sega CD (U) - M2 V2.00 (Non-Working).bin
Sega CD (U) - M2 V2.00w.bin
Sega CD (U) - M2 V2.11x (2.00).bin
Sega CD (U) - M2 V2.21.bin
X'EYE (JUE) - V2.00.bin

See the problem with hashes? There's four versions of the US model 2 BIOS there, how do you intend to hash those without having a different name for each? More over, if you want to pick one of them to have as "the bios", your accuracy argument goes out the window since you have no choice but to use an arbitrary revision.

Also you don't want to exclude hacks like the region free bios so it's a pointless exercise. If it's a bad rom it won't work, if it's a good rom it will. Real hardware works the same way, can't get more accurate than that.

Also, how often will you need to find these bios files? Once you are set up, back up, then just play.
User avatar
H3ML5XLAXBKU
Posts: 17
Joined: Wed Jun 24, 2020 4:43 am
Has thanked: 5 times
Been thanked: 5 times

Re: List of Core Requiring BIOS Files

Unread post by H3ML5XLAXBKU »

I had a crack at refactoring your code. Now it is pretty straight forward to add another bios check

Code: Select all

# To run this script first plug the MiSTer_Data SD card into your Mac.
# Copy this file to the root folder on the MiSTer_Data SD card
# Type in Terminal:
# "cd /Volumes/MiSTer_Data"
# Then type:
# "python3 mister-missing-bios-check-3.py" or whatever this script's name now is.

# file_name, path, required
mister_files = [
  ('MISTer.ini', 'MISTer.ini', False),
  ('names.txt', 'names.txt', False),
]
console_files = [
  ('Atari Jaguar BIOS', 'games/Jaguar/boot.rom', True),
  ('Bally Astrocade BIOS', 'games/Astrocade/boot.rom', True),
  ('Famicom Disk System BIOS', 'games/NES/boot0.rom', True),
  ('Gameboy Advance Official BIOS', 'games/GBA/boot.rom', False),
  ('Gameboy Colour BIOS', 'games/GAMEBOY/boot1.rom', True),
  ('Mega CD BIOS', 'games/MegaCD/boot.rom', True),
  ('Turbo GFX / PC Engine CD BIOS', 'games/TGFX16-CD/cd_bios.rom', True),
  ('Neo Geo 000-lo.lo BIOS', 'games/NeoGeo/000-lo.lo', True),
  ('Neo Geo sfix.sfix BIOS', 'games/NeoGeo/sfix.sfix', True),
  ('Neo Geo sp-s2.sp1 BIOS', 'games/NeoGeo/sp-s2.sp1', True),
  ('Neo Geo neo-epo.sp1 BIOS', 'games/NeoGeo/neo-epo.sp1', True),
  ('Neo Geo uni-bios.rom BIOS', 'games/NeoGeo/uni-bios.rom', True),
]
computer_files = [
  ('Acorn Archimedes RiscOS ROM riscos.rom BIOS', 'games/ARCHIE/riscos.rom', True),
  ('Amiga KICK.ROM image', 'KICK.ROM', True),
  ('Amstrad boot.rom BIOS', 'games/Amstrad/boot.rom', True),
  ('ao486 (PC 486) boot0.rom BIOS', 'games/ao486/boot0.rom', True),
  ('ao486 (PC 486) boot1.rom BIOS', 'games/ao486/boot1.rom', True),
  ('Apogee EXTROM apogee.rom', '_Computer/apogee.rom', True),
  ('Apple Macintosh Plus boot.rom BIOS', 'games/MacPlus/boot.rom', True),
  ('Commodore 16 boot.rom BIOS', 'games/C16/boot.rom', False),
  ('Commodore VIC-20 boot.rom BIOS', 'games/VIC20/boot.rom', False),
  ('Sinclair QL boot.rom BIOS', 'games/QL/boot.rom', True),
]

from pathlib import Path

def check_presence(files):
  for file_name, path, required in files:
    file = Path(path)
    if file.is_file():
      print(f"{file_name} is present")
    else:
      print(f"! {file_name} MISSING! {('(Optional)', '')[required]}: {path}")

print("Below is a breakdown of the Console cores requiring additional files in order to run and if present in your folder structure:")
print("")
check_presence(mister_files)
check_presence(console_files)
print("")
print("Below is a breakdown of the Computer cores requiring additional files in order to run and if present in your folder structure:")
print("")
check_presence(computer_files)
print("")
print("Script complete.")
print("")
One thing I noticed is that the script doesn't care if the directory is present or not. You might consider skipping the warning if the directory is not present.
Post Reply