The SONY PlayStation 2 TOOL's AIF interface

Discussion in 'Sony Programming and Development' started by sp193, May 22, 2014.

  1. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Hi guys,

    I've been playing around with my DTL-T10000H J unit's AIF interface, and here is what I've gathered so far:

    The nice-looking AIF register names were derived from the SONY PS2 Linux aif.c file. The RTC seems to be a Motorola MC146818A.

    I'm not very used to using a TOOL, so I do not know what happens if one reads either a write-only register or an unmapped register. A lot of those "unknown" registers seem to be giving phantom values, so I find it hard to determine whether they are populated or not.

    But so far, it seems quite likely that the AIF's ATA interface does not support DMA. There might be actually a second IDE channel, since it seems like there is a second set of ATA registers and there is an unknown bit in the interrupt registers.

    The COUNT_L and COUNT_H registers seem to be showing output from a clock. The values just keep changing.
     
    Last edited: May 24, 2014
  2. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Basic AIF support module pack

    Hi guys,

    I've modified a copy of DEV9 (ps2dev9.irx) to include support for the AIF and its peripherals (ATA0, RTC and PCMCIA), without affecting its original functionality.

    The AIFATAD module provides low-level access to the ATA port on the AIF. The AIFTEST module displays information on the connected HDD unit.

    It will also display the time, as provided by the AIF's RTC. However, I cannot tell whether it is really working incorrectly or not because I couldn't find a way to check the time on my unit's RTC. I do see some incorrect time and date values, but it's possible that it's my RTC that is wrong because I had change the battery on the SBC.

    The poweroff.irx module that is within the archive is from the homebrew PS2SDK, provided for convenience.

    Module load order, via dsidb:

    1. poweroff.irx
    2. ps2dev9.irx
    3. aifatad.irx
    4. aiftext.irx


    The AIFATAD module sets up the AIF ATA interface to operate in PIO mode 4 by default, with IORDY enabled.

    Note: full access to the AIF's HDD is still not possible with these simple modules because new filesystem drivers will probably have to be written, as it was reported that this HDD is not partitioned with the usual PlayStation 2 APA partitioning scheme.

    Downloads/links
    :
    Basic AIF support module pack (bin+src, 140524): https://www.mediafire.com/?25rprpdc94nmr5m
     
    Last edited: May 24, 2014
  3. ilikelinux

    ilikelinux Member

    Joined:
    Jun 12, 2014
    Messages:
    6
    Likes Received:
    0
    The RTC time is displayed at the administrative page for the TOOL. It can also be resynched, I just don't recall how I did it before. But its time and date settings can be set on the page and I think synching the Linux and TOOL clocks is done via the Linux side of the TOOL, as I recall.
     
  4. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    I used to think so too. Until I realised that other than the fact that none of those controls affected the AIF RTC, the pages never mentioned the AIF either.

    Therefore, the TOOL has 3 RTCs: the PC RTC, the MECHACON RTC (Used by games), and the undocumented and unused AIF RTC.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page