Repository navigation
BlueRetro - PlayStation 1 Custom Edition (v0.7.3)
BlueRetro — PlayStation 1 Custom Edition (v0.7.3)
Tag: v0.7.3 (o nome v0.7.3 já pertence a uma tag antiga do
upstream e não é tocado).
Esta versão tem uma correção funcional e uma refatoração sem mudança de
comportamento. Nada de clock/timing do SIO0 foi alterado.
Correção: máscara de turbo no Multitap Virtual (MT_SLOT_1)
Com o Multitap Virtual ativo na Porta 1, a Porta 2 atende o slot 4
(Jogador 5) pelo caminho direto do driver SPI. A máscara de turbo era gerada
com port->id em vez de port->mt_first_port, então era gravada no buffer do
slot 1 (Jogador 1B) — que é apenas recalculado a cada quadro — e o slot 4 nunca
recebia máscara alguma. Resultado: turbo e auto-fire não funcionavam no
Jogador 5.
- ps_gen_turbo_mask(&wired_adapter.data[port->id]);
+ ps_gen_turbo_mask(&wired_adapter.data[port->mt_first_port]);Sem multitap, mt_first_port é igual a port->id (0 e 1), então o uso normal de
1 ou 2 jogadores não muda. MT_SLOT_2 e MT_DUAL usam o laço do multitap, que
não foi tocado.
Refatoração: acesso ao LED indicador de modo
As rotinas de status analógico/digital passaram a usar port->led_pin em vez de
recalcular o índice em ps_ctrl_ports[]. O pino resolvido é o mesmo — sem
mudança de comportamento.
O que NÃO mudou
- clock/timing do SIO0;
- leitura do DTR: a dupla amostragem já existia na v0.7.2 nas duas portas;
nesta versão só foi adicionado um comentário explicativo; - rumble, Memory Card virtual, identificação de controles, modo analógico,
deadzone e saturação.
Ajustes de deadzone, saturação ou timing do SIO exigem medição em hardware e
não foram feitos aqui.
Arquivos
| arquivo | bytes | SHA-256 |
|---|---|---|
BlueRetro_hw1_playstation.bin |
557.712 | 8abb26d99b49054d6c46a24420f99a8021347247688fe55acaf1e9b6ff45ba94 |
BlueRetro_PS1_Custom_v0.7.3_Package.zip |
359.802 | 5b6f210efe7596cb8a8396ac263458ba84287d58a1197e63f9724131b58112c8 |
Build: CI run 40344034355 (commit 5e54482), ESP-IDF
v5.5-dev-698-g030c9957db. O firmware reporta v0.7.3 ps1-custom.
Gravação
Bluetooth / OTA (recomendado, sem abrir o console): ligue o PlayStation 1
com os controles Bluetooth desligados e execute flash_bluetooth_ota.bat
(requer pip install bleak). Alternativa no navegador: blueretro.io/ota.html
com o arquivo BlueRetro_hw1_playstation.bin.
Cabo USB: conecte o ESP32 e execute flash_windows.bat.
Manual (esptool):
python -m esptool --chip esp32 --port COMx -b 921600 --before default_reset \
--after hard_reset write_flash --flash_mode dio --flash_size 4MB --flash_freq 40m \
0x1000 bootloader.bin 0x8000 partition-table.bin 0xd000 ota_data_initial.bin \
0x10000 BlueRetro_hw1_playstation.bin