==========================================================================

CONFIRA ANTES DE INVESTIGAR: tools/check_bios.ps1 compara cada arquivo com o
MD5 registrado aqui, reconhece ponteiro do Git LFS pelo cabecalho e mostra o
que os cores reclamaram no log. Foi ele que descobriu que dois "downloads bem
sucedidos" tinham 131 bytes de texto no lugar da ROM. Um arquivo com o nome
certo e o conteudo errado carrega e falha depois, longe da causa.
 BIOS NECESSARIAS - Karamelo
 Lista completa, sistema por sistema, com nome exato de arquivo, MD5
 esperado (quando documentado pelo core) e onde colocar.
 Gerado em 2026-09-04. Fonte: documentacao oficial de cada core em
 docs.libretro.com, cruzada com o que esta de fato presente nesta pasta.
==========================================================================

Regra geral: quase tudo vai solto dentro de app/bios/ (mesmo nivel deste
arquivo). As excecoes com subpasta propria estao marcadas abaixo.
Escolha os arquivos pelo HASH (MD5), nao pelo nome - sets de BIOS trazem
variantes regionais com nomes parecidos e so uma bate com o que o core
espera.

--------------------------------------------------------------------------
BLOQUEANTE - sem isso o sistema nao roda NENHUM jogo
--------------------------------------------------------------------------

[3DO] cores/3do.dll (Opera)
  Status: PRESENTE E CONFERIDO (21/09) - panafz1.bin veio corrigido nesta
  sessao (o ponteiro do Git LFS de 09/09 foi substituido por uma ROM real
  de 1.048.576 bytes) e panafz10.bin foi baixado de outra fonte e conferido
  do mesmo jeito.
  Precisa de UM destes (qualquer um serve, sao variantes regionais do
  mesmo boot ROM):
    panafz1.bin        MD5 f47264dd47fe30f73ab3c010015c155b   [confere]
    panafz10.bin        MD5 51f2f43ae2f3508a14d9f56597e2d3ce   [confere - 1.048.576 bytes]
    panafz10-norsa.bin
    panafz10e-anvil.bin
    panafz10e-anvil-norsa.bin
    panafz1j.bin
    panafz1j-norsa.bin
    goldstar.bin
    sanyotry.bin
    3do_arcade_saot.bin
  Pasta: app/bios/

[Atari5200] cores/atari5200.dll (Atari800)
  Status: PRESENTE E CONFERIDO (22/10) - Todos os 5 chips conferidos por MD5.
    5200.rom           MD5 281f20ea4320404ec820fb7ec0693b38
    ATARIXL.ROM        MD5 06daac977823773a3eea3422fd26a703
    ATARIBAS.ROM       MD5 0bac0c6a50104045d902df4503a4c30b
    ATARIOSA.ROM       MD5 eb1f32f5d9f382db1bbfb8d7f9cb343a
    ATARIOSB.ROM       MD5 a3e8d617c95d08031fe1b20d541434b2 (Rev 1) ou 4177f386a3bac989a981d3fe3388cb6c (Rev 2 - presente)
  Pasta: app/bios/

[Lynx] cores/lynx.dll (Handy)
  Status: PRESENTE E CONFERIDO (09/09)
    lynxboot.img       MD5 fcd403db69f54290b51035d82f835e7b
  Pasta: app/bios/

[PC-FX] cores/pcfx.dll (Beetle PC-FX)
  Status: PRESENTE E CONFERIDO (09/09)
    pcfx.rom           MD5 08e36edbea28a017f79f8d4f7ff9b6d7
  Pasta: app/bios/

[FM Towns / FM Towns Marty] cores/fmtowns.dll (Geartowns)
  Status: PRESENTE E CONFERIDO (22/10) - ROMs do Towns OS instaladas e conferidas por MD5.
  Ambos os sets (Towns Model 1/2 e Towns Marty/Fresh/UX) sao aceitos e compativeis.
    FMT_SYS.ROM        MD5 86fb6f7280689259f0ca839dd3dd6cde (Marty/UX) ou 3a4f31cbf48737db6f2df8ef036ab7d4 (Model 1)
    FMT_DOS.ROM        MD5 0585b19930d4a7f4c71bcc8a33746588 (Towns OS v2.1) ou fa0c98f5a6b0c61ee34f9a72138fc6b5 (v1.1)
    FMT_FNT.ROM        MD5 b91300e55b70227ce98b59c5f02fa8dd (256KB) ou a35ee3364f26b5270be7f3f185ef3577
    FMT_DIC.ROM        MD5 8fa4e553f28cfc0c30a0a1e589799942 ou e28e67838634891b8d6505417ec651db (524.288 bytes)
    FMT_F20.ROM        MD5 ac0c7021e9bf48ca84b51ab651169a88 ou 9559e2ab176041ec1eaae92795c6f671 [opcional - Kanji 20-dot]
  Pasta: app/bios/ (e app/bios/fmtowns/)

[NEC PC-9801 / PC-9821] cores/pc98.dll (NP2kai)
  Status: PRESENTE E CONFERIDO (22/10) - Pacote oficial completo instalado em app/bios/np2kai/
  (font.bmp, font.rom, bios.rom, bios9821.rom, itf.rom, sound.rom, ide.rom, sasi.rom, scsi.rom, pci.rom, d8000.rom e 6 samples ritmicos YM2608).
    font.bmp           [presente - 524.350 bytes - mapa de fontes Kanji/Kana japonesas]
    bios.rom           MD5 cd237e16e7e77c06bb58540e9e9fca68 ou a4fc2355403063f9cfb403f56b50eec3 (98.304 bytes)
    itf.rom            MD5 72ea51443070f0e9212bfc9b793ee28e ou 185078a63503aa3ca8bb64b38d3ab16e (ITF boot)
    sound.rom          MD5 524473c1a5a03b17e21d86a0408ff827 (YM2608 PC-9801-86) ou 97800c7329524da5f6efb2e4d9c74567
    2608_bd.wav, 2608_sd.wav, 2608_top.wav, 2608_hh.wav, 2608_tom.wav, 2608_rim.wav [presentes - ritmos YM2608]
  Pasta: PRECISA estar em app/bios/np2kai/ (subpasta dedicada do core).


--------------------------------------------------------------------------
JA COMPLETO - confira o MD5 se algum jogo especifico reclamar
--------------------------------------------------------------------------

[MSX / MSX2 / MSX2+] cores/msx.dll (fMSX)
  Status: COMPLETO E CONFERIDO (sessao atual)
    MSX.ROM            MD5 364a1a579fe5cb8dba54519bcfcdac0d   [obrigatorio p/ MSX1]
    MSX2.ROM           MD5 ec3a01c91f24fbddcbcab0ad301bc9ef   [obrigatorio p/ MSX2]
    MSX2EXT.ROM        MD5 2183c2aff17cf4297bdb496de78c2e8a   [obrigatorio p/ MSX2]
    MSX2P.ROM          MD5 847cc025ffae665487940ff2639540e5   [obrigatorio p/ MSX2+ - presente com MD5 diferente, revisao regional, tamanho correto]
    MSX2PEXT.ROM       MD5 7c8243c71d8f143b2531f01afa6a05dc   [obrigatorio p/ MSX2+ - confere]
    DISK.ROM                                                  [opcional - disquete/BDOS]
    FMPAC.ROM          MD5 6f69cc8b5ed761b03afd78000dfb0e19   [opcional - som FM - confere]
    MSXDOS2.ROM        MD5 6418d091cd6907bbcf940324339e43bb   [opcional - confere]
    PAINTER.ROM        MD5 403cdea1cbd2bb24fae506941f8f655e   [opcional - confere]
    KANJI.ROM          MD5 febe8782b466d7c3b16de6d104826b34   [opcional - confere]
  Pasta: app/bios/
  Nota: o app forca fmsx_mode para MSX1 ou MSX2 conforme a extensao do
  arquivo (.mx1/.mx2/outros) - o padrao MSX2+ do core vem quebrado nesta
  build (tela preta), por isso nunca fica selecionado sozinho.

[Dreamcast / Arcade Naomi] cores/dreamcast.dll (Flycast)
  Status: COMPLETO E CONFERIDO
    dc_boot.bin        MD5 e10c53c2f8b90bab96ead2d368858623   [confere]
  Pasta: app/bios/dc/ (uma copia solta em app/bios/ tambem existe, inofensiva)
  Tambem presentes: naomi.zip, awbios.zip (BIOS de arcade Naomi/Atomiswave)

[Nintendo DS] cores/nds.dll (melonDS)
  Status: PRESENTE (opcional, mas recomendado - sem eles o core usa HLE)
    bios7.bin          MD5 df692a80a5b1bc90728bc3dfc76cd948   [confere]
    bios9.bin          MD5 a392174eb3e572fed6447e956bde4b25   [confere]
    firmware.bin                                              [presente, sem hash publicado pelo core]
  Pasta: app/bios/
  Falta (so importa para jogos exclusivos de DSi): dsi_bios7.bin,
  dsi_bios9.bin, dsi_firmware.bin, dsi_nand.bin, dsi_sd_card.bin

[PSP] cores/psp.dll (PPSSPP)
  Status: PRESENTE (nao e BIOS - sao assets do proprio projeto PPSSPP,
  open source, nao ROM do PSP real)
    app/bios/PPSSPP/ com fontes (.ttf, flash0/font/*.pgf), sons de UI,
    compat.ini, lang/, shaders/, themes/ etc.
  Pasta: app/bios/PPSSPP/ (arquivos soltos direto ali, sem subpasta extra
  "assets" no meio - o core procura direto em app/bios/PPSSPP/<arquivo>)
  Sem isso: o menu interno do PPSSPP fica sem nenhum texto e o jogo trava
  ao fechar a sessao (corrigido nesta sessao).

[Sega Saturn] cores/saturn.dll (Beetle Saturn)
  Status: PRESENTE (varias variantes regionais)
    sega_101.bin, sega_100.bin, mpr-17933.bin, saturn.bin,
    saturn_bios.bin, saturn_eu.bin, Sega Saturn BIOS (EUR/USA/JAP).bin
  Pasta: app/bios/
  So uma dessas bate exatamente com o que o core pede - se um jogo
  reclamar de BIOS ausente, confira o MD5 da variante da regiao do jogo.

[NeoGeo AES/MVS] cores/neogeo.dll (Geolith)
  Status: PRESENTE
    neo-epo.bin, neo-po.bin, sp-1v1_3db8c.bin, front-sp1.bin, top-sp1.bin,
    japan-j3.bin, asia-s3.rom, uni-bios_*.rom (varias versoes do UniBIOS)
  Pasta: app/bios/
  Nota: o core tambem aceita os arquivos empacotados como neogeo.zip/
  aes.zip - qualquer uma das duas formas funciona.

[NeoGeo CD] cores/neocd_alt.dll (NeoCD)
  Status: PRESENTE
    neocd_f.rom, neocd_t.rom, neocd_z.rom, neocd_sf.rom, neocd_st.rom,
    neocd_sz.rom, uni-bioscd.rom, ng-lo.rom, neocd.bin, neocdz.bin,
    neodebug.bin
  Pasta: PRECISA estar em app/bios/neocd/ (uma subpasta). Os .rom soltos
  direto em app/bios/ NAO funcionam para este core - da erro "No BIOS
  detected!". Confirme que existe app/bios/neocd/ com copias desses
  arquivos dentro.

[Mega CD / Sega CD] cores/genesis.dll (Genesis Plus GX)
  Status: PRESENTE
    bios_CD_U.bin (USA), bios_CD_E.bin (Europa), bios_CD_J.bin (Japao)
  Pasta: app/bios/

[TurboGrafx-CD / PC Engine CD] cores/pce.dll (Beetle PCE)
  Status: PRESENTE
    syscard3.pce
  Pasta: app/bios/
  Necessario so para jogos em CD; cartucho roda sem.

[PlayStation] cores/psx.dll (Beetle PSX)
  Status: COMPLETO E CONFERIDO POR MD5 (09/09) - as tres regioes
    scph5501.bin (NTSC-U)   MD5 1e68c231d0896b7eadcad1d7d8e76129
    scph5502.bin (PAL)      MD5 32736f17079d0b2b7024407c39bd3050
    scph5500.bin (NTSC-J)   MD5 8dd7d5296a650fac7319bce665a6a53c
    Os tres tem 524288 bytes. Se algum vier menor, nao e BIOS - conferir
    com tools/check_bios.ps1 antes de culpar o core.
  Pasta: app/bios/
  Um jogo japones sem o scph5500.bin ainda tenta bootar com outra regiao
  e o core avisa "Firmware is missing: scph5500.bin" - vale completar se
  for jogar titulos japoneses.

[PlayStation 2] cores/ps2.dll (LRPS2 / PCSX2)
  Status: PRESENTE E CONFERIDO (sessao atual)
    SCPH-70012_BIOS_V12_USA_200.BIN   MD5 d333558cc14561c1fdc334c75d5f37b7   [4.194.304 bytes - 4MB]
    SCPH-70012_BIOS_V12_USA_200.mec   MD5 3faf7c064a4984f53e2ef5e80ed543bc   [configuracao MEC]
    SCPH-70012_BIOS_V12_USA_200.nvm   MD5 116b0e0f3d0ecef3997cf53266fa27a1   [memoria NVRAM persistente]
    GameIndex.yaml                    (base de dados de compatibilidade e correcoes do PCSX2)
  Pasta: pode ficar solto direto em app/bios/ ou bios/, ou na subpasta app/bios/pcsx2/bios/
  (o Karamelo detecta automaticamente qualquer BIOS de PS2 solta na pasta bios,
  sincroniza para a subpasta do PCSX2 e repassa para o core sem necessidade de configuracao manual).
  Nota: O core oficial PCSX2 / LRPS2 utiliza BIOS real para emulacao precisa,
  permitindo mapeamento integral de 32MB de memoria RAM para RetroAchievements
  (compativel com rcheevos) e aceleracao por hardware OpenGL a 60 FPS cravados.

[ColecoVision] cores/coleco.dll
  Status: PRESENTE E CONFERIDO
    coleco.rom         MD5 2c66f5911e5b42b8ebe113403548eee7   [confere]
  Pasta: app/bios/

--------------------------------------------------------------------------
OPCIONAL - a maioria dos jogos funciona sem, so amplia compatibilidade
--------------------------------------------------------------------------

[Amiga] cores/amiga.dll (PUAE)
  Status: COMPLETO (22/10) - A500, CD32 e Kickstart 3.1 (A1200 AGA) presentes.
    kick34005.A500 (Kickstart 1.3)       - presente
    kick40060.CD32 (Kickstart CD32)      - presente
    kick40060.CD32.ext (ROM estendida)   - presente
    kick40068.A1200 (Kickstart 3.1 AGA)  - presente
    Sem a ROM estendida o CD32 nao da boot em CD: o core carrega o
    Kickstart, nao encontra a extensao e para na tela pedindo disquete,
    como se o jogo nao existisse. O Kickstart sozinho nao basta, e os
    dois arquivos andam juntos.
  Pasta: app/bios/

[Master System / Game Gear] cores/sms.dll (Gearsystem)
  Status: PRESENTE (22/10) - Todas as variantes regionais instaladas.
    bios_U.sms (EUA), bios_E.sms (Europa), bios_J.sms (Japao), bios.gg (Game Gear)
  Pasta: app/bios/

[Atari 7800] cores/atari7800.dll (ProSystem)
  Status: PRESENTE E CONFERIDO (22/10)
    7800 BIOS (U).rom     MD5 0763f1ffb006ddbe32e52d497ee848ae   [confere]
  Pasta: app/bios/

[Commodore 64] cores/c64.dll (VICE)
  Status: nao precisa de nada - tudo embutido no core.
  Opcional: JiffyDOS (JiffyDOS_C64.bin, JiffyDOS_1541-II.bin) em
  app/bios/vice/ - so acelera o disco, nao e necessario pra jogar.

[ZX Spectrum] cores/spectrum.dll (Fuse)
  Status: nao precisa de nada para Spectrum 48K/128K/+2/+3 padrao.
  So precisa de ROMs extras (em app/bios/fuse/) se for emular os clones
  russos Pentagon ou Scorpion - nao e o caso normal de uso.

[Arcade - FinalBurn Neo] cores/arcade_fbneo.dll
  Status: PARCIAL
  neogeo.zip (compartilhado com o NeoGeo AES/MVS) cobre os jogos de
  arcade baseados em placa Neo Geo (MVS). Outros drivers de arcade tem
  BIOS proprias empacotadas dentro do proprio romset do jogo (o .zip do
  jogo ja traz o que precisa) - nao ha uma lista fixa aqui, depende de
  qual jogo for adicionado.

--------------------------------------------------------------------------
NAO PRECISA DE BIOS NENHUMA (nada a fazer)
--------------------------------------------------------------------------
32X, Atari 2600, Nintendo 64 (todos os 3 cores: Gopher64/ParaLLEl/
Mupen64Plus-Next), DOSBox Pure, Jaguar, Neo Geo Pocket, WonderSwan,
Genesis/Mega Drive (cartucho), NES, SNES, Game Boy/Color, Game Boy Advance,
MAME 2003/2010 (sem BIOS fixa de sistema - depende do romset de cada jogo).

[GameCube] cores/gamecube.dll (Dolphin)
  Status: PRESENTE - pacote de dados completo do Dolphin
  Pasta: app/bios/dolphin-emu/Sys/ (nao e uma BIOS unica, e todo o
  conjunto de arquivos de sistema que o Dolphin precisa - ja instalado)

[Nintendo 3DS] cores/3ds.dll (Citra)
  Status: PRESENTE - nao usa BIOS tradicional (e HLE), so precisa de
  aes_keys.txt para decriptar alguns jogos comerciais.
  Pasta: app/saves/3DS/Citra/sysdata/aes_keys.txt

==========================================================================
Como confirmar um MD5 no Windows (PowerShell):
  Get-FileHash "app\bios\NOMEDOARQUIVO" -Algorithm MD5
==========================================================================
