Apêndice C — Observações técnicas e pontos de atenção
Coisas encontradas durante a leitura do código que valem nota para quem for mexer no projeto:
- Senhas de rede (FSP/FTP/SMB) são salvas em texto puro no
global.ini— só são mascaradas na tela. - A opção “Init network at startup” (Configurações → Rede) não tem tradução para PT-BR no código atual.
- Os campos de IP fixo/Gateway/DHCP da placa de rede são editáveis na tela, mas não parecem ser gravados de volta no
global.inido jeito esperado — só a Máscara de Rede realmente persiste entre reinícios. - No menu Gerenciar Arquivo, a opção “Ocultar/Reexibir” (botão L) usa a mesma verificação de permissão de “Renomear” no código, não uma checagem própria.
- No seletor de dispositivo, ao usar “Copiar/Mover” para um dispositivo sem suporte a escrita, o botão A não dá feedback visível de erro — um
TODOno código confirma que esse caso não está tratado. - Histórico: este fork teve, por um tempo, um seletor de combinação de botões para o IGR. Testes em hardware real isolaram essa mudança como a causa de uma regressão que quebrava o IGR por completo. A funcionalidade foi removida e o IGR voltou ao combo fixo original (A+Z+Start).
- Corrigido: os valores de várias opções de configuração vinham de listas fixas em inglês e nunca eram traduzidos (ex: “Disabled” em vez de “Desativado”). Um helper
trVal()foi adicionado para traduzir só as palavras genéricas (No→Não, Yes→Sim, On→Ativado, Off→Desativado, None→Nenhum, Disabled→Desativado), mantendo as listas originais intactas. Termos secundários (Lazy, Region Switch, Sound 1/2, Game/All, Serial Port 2) continuam em inglês de propósito. - Cartão Virtual + Transmissão de Áudio juntos — resolvido neste fork: no Swiss original, em SD/FAT o hypervisor só roda um modo de emulação por vez e o áudio tem prioridade, então cerca de 200 jogos com áudio pelo disco (Crazy Taxi, Mario Kart: Double Dash!!, Pikmin, Star Fox Adventures…) ficavam sem Cartão Virtual (swiss-gc#493). A causa é espaço: o hypervisor precisa caber em 9216 bytes de memória baixa, e a versão com os dois recursos passa disso. Este fork a gera em duas partes — a de sempre e um pedaço de ~1,5 KB no topo da RAM, na área que o jogo já é instruído a não usar. Custo: ~1,5 KB de RAM do jogo. Salvar durante a música pode causar um corte curto no som.
- Continua valendo: “Emular Velocidade de Leitura” e “Emular Adaptador de Banda Larga” ainda desativam o Cartão Virtual em jogos sem Transmissão de Áudio. Ex.: Tales of Symphonia vem com a primeira ligada por padrão — desligue só para esse jogo (Configurações → página 6/6) para usar o Cartão Virtual.
- Menus cortados em TV de tubo — resolvido neste fork: o Swiss desenha os menus de ponta a ponta e ainda estica a imagem para 704 dos 720 pixels da linha, e uma TV de tubo costuma esconder de 3% a 7% de cada borda (overscan). A opção “Tamanho da Interface” (Configurações → Interface, de 80% a 100%) encolhe tudo por igual, sem redesenhar nenhuma tela, e o fundo de tela continua cobrindo a tela toda. Em 100% (o padrão) nada muda, e os jogos não são afetados. Fica salvo no
global.ini(InterfaceSize=).