I'm thinking of adding automatic mounting functionality to fdman.
That is, whenever opening with "open" e.g. "hdd0:PP.XXXX-11111..DATA:pfs0:/file.txt", it will mount "hdd0:PP.XXXX-11111..DATA" to "pfs0:" then return the fd of opening "pfs0:/file.txt".
Whenever closing the returned fd, it will also automatically unmount "pfs0:".
Looks like macOS 26 drops IEEE1394/FireWire support. Now it appears that Linux is one of the few remaining currently updated systems that can handle IEEE1394.
I can confirm that the power supplies AC-E1320D1 (13V), AC-S125V25A (12.5V), and AC-E1320 (13V), and CUH-ZAC1 (12V) (but a bit loosely) fits in the power socket of SCPH-20400.
For reference purposes, the above power supplies also fit in the power socket of SA-NS310 (accepting 13V).
Node.js 20 is used in Github Actions. However that version of Node is built against a glibc that prevents using container images from older OS like Red Hat Linux 5.2/6.2 (used in DTL-T) or Ubuntu 18.04.
What I will likely need to do in that scenario is to nest another Podman instance, since it can run rootless.
I destructively took removed the casing by scraping alongside one of the sides until I could put in a spudger, then twist it to remove the casing in a top half and a bottom half.
On one side of the PCB there exists a chip with the marking:
SIL
2104
F2217
1350+
This appears to be the CP2104 (cp210x) based USB to serial interface.
On the other side of the PCB there exists a chip with the marking:
P5X9R
W1402
This appears to be the UEI chip responsible for handling the IR blasting.
Found "DC Power 5.5mm x 2.1mm Female Jack to 5.0mm x 3.0mm Male Pin Right Angle Adapter" which works with SCPH-20400 and DTL-H20400. https://www.ebay.com/itm/252832602828
Using a USB-A QC trigger or USB-C PD trigger to barrel cable, it is possible to power it from a more efficient/universal voltage USB charger that supports 12v output.
The Samsung laptop 5.5mm * 3.0mm plug also fits, but it is not 12v output, so don't use it with SCPH-20400 and DTL-H20400. However, if you snip off the cable and hook it up to a 12v power supply that will work fine.
For this month, I migrated most of my projects using Meson to CMake mainly for consistency purposes, and fixed Github Actions whenever it was broken due to outdated runner or actions.
The remaining one is pfsshell, since I need to figure out the Dokany stuff first.
Some notes after looking at KDL-22PX300 (AZ1-L) service manual:
Other than the high level block diagram, there is nothing about how the integrated PS2 is connected to the rest of the system or other info (schematics parts etc) about the integrated PS2.
AV1 port -> M_SCART1, Component -> M_COMP2, so based on process of elimination, internal PS2 is connected to M_D1/COMP1/SCART2.
Mimas (MB91F313, appears to be power management IC) appears to be connected to Micro (probably Mechacon on PS2 side). There are 3 connections: arrow to Micro (probably SIRCS), connection also to Power Button, and connection also to Green LED.
UART is not muxed on the PC/VGA port. It is a separate internal debug connector.
There appears to be some BD related lines: UART_TXD, UART_RXD, BD_DISC2_DET, BD_DISC1_DET, and BD_EJT_DET. But they appear to be connected only in KDL-40EX40B/KDL-32EX40B/KDL-40EX43B/KDL-32EX43B (AZ1-BD).
KDL-22PX300 uses the same processor as the following models:
With further improvements to GCC EE MMI support and VU support edge264 would be a good candidate for AVC high profile decoding support. It would be impressive if after benchmarking, it performs around the same or better than ffmpeg and openh264.
"BRAVIA" Internet Widgets came afterwards, and appears to be incompatible with AppliCast. It appears to be a rebranded Yahoo! TV Widget. Thankfully that is archived: https://web.archive.org/web/20110125071648/http://connectedtv.yahoo.com/developer/wdk/
Not sure about USB support on this one.
Related filenames:
ywe-wdk-1.0.0.0c-i386.zip
ywe-wdk-i386.zip
S-Command 0x03 subcommand 0x32 appears to toggle the /PS_MODE pin on MechaCon firmware 6.00+ (originally used for eject LED on older models), which appears to toggle the +8.5v rail on the memory card ports on those models.
One of the last major pieces is SSBUSC interfacing.
The SSBUSC interface runs at around ~36Mhz in PS2 mode. For DMAT->15 and WDMA->1 this would be around 32bits*36Mhz -> ~1152 Mbps (~144 MB/s)
RP2040 can run at 133Mhz for ~66.5Mbps (~8.3 MB/s) SPI and ~266Mbps (~33.25 MB/s) QSPI, or 200Mhz for ~100Mbps (~12.5 MB/s) SPI and ~400Mbps (~50 MB/s) QSPI. (However, the SSI XIP interface can only read)
RP2350 can run at 150Mhz for ~75Mbps (~9.3 MB/s) SPI and ~300Mbps (~37.5 MB/s) QSPI.
(See "clock ratios" section in each microcontroller's datasheet)
For achieving the maximum SSBUSC transfer speed, could use multiple microcontrollers with the following
* Round robin: Have the first microcontroller read the 32bit data, and the second microcontroller read the 32bit data, ...
* Segmentation: Have the first microcontroller read the low 16bits of the 32bit data, and the second microcontroller read the high 16bits of the 32bit data.
---
When BDP-S1200/BDP-BX320/BDP-S2200/BDP-S3200 introduced USB update, they also changed the firmware encryption so the lut2 method doesn't work anymore.
If there is SONY_VUP.ID, it is a MIPS based player and uses scfs encryption and/or compression (not RE'd yet).
If there is USB update functionality and does not use SONY_VUP.ID, it is a ARM based player and uses a different encryption (no public tools yet).
If the update files follow a basic format MSBXX-FW.BIN and supports only network and disc update, then it is a ARM based player.
A special case is the HES-V1000 which does not follow any of those formats. Its update is a iSO image to be burned that does not have a standard filesystem.
Some references to test discs in service manuals, of which most of its contents are not archived:
3-702-101-01/YEDS-18: CD; appears on Internet Archive
4-225-203-01/PATD-012: CD
J-2501-307-A/HLX-A1: CD
J-6090-071-A/HLX-501: DVD; NTSC dual layer
J-6090-068-A/HLX-502: DVD; NTSC dual layer
J-6090-069-A/HLX-503: DVD; NTSC single layer
J-6090-088-A/HLX-504: DVD; NTSC single layer
J-6090-089-A/HLX-505: DVD; NTSC dual layer
J-6090-077-A/HLX-506: DVD; PAL single layer
J-6090-078-A/HLX-507: DVD; PAL dual layer
HLX-511: DVD; PAL
J-2501-305-A/HLX-513: DVD; NTSC single layer
J-2501-306-A/HLX-514: DVD; NTSC dual layer
J-6090-199-A/BLX-104: BD; single layer
J-6090-200-A/BLX-204: BD; dual layer