Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

ADMIN, DELETE.

Featured Replies

  • Author
  • Localization

zeaofsuos, posted Fri Jan 10, 2020 4:54 pm (53135)


ADMIN, DELETE.
  • Author
  • Localization

Pepper, posted Sat Jan 11, 2020 6:25 pm (53175)


looks like xma starting at 0x800
  • Author
  • Localization

aluigi, posted Thu Mar 26, 2020 1:06 pm (55130)


Yes xma.
Not sure what tool should be used to play that data and how the final WAV should look like, the following is an experiment:
Code:
endian big
idstring "PASX"
get ZERO long
get SOME_OFF long
get SIZE long
get INFO_OFF long
get DUMMY_SIZE long
get OFFSET long
goto INFO_OFF
get CODEC short
get CHANNELS short
get FREQUENCY long
get BLKALIGN long
get BITS short
get WAV_BITS short
get NAME basename
string NAME ".wav"

endian little
callfunction TOWAV 1

# Requirements: CODEC, BITS, FREQUENCY, CHANNELS, OFFSET, SIZE and NAME
# Optional:     RIFF_MORE/RIFF_MORE_SIZE, BLKALIGN and SAMPLES
startfunction TOWAV # (aka DUMP_WAV) 0.2
    math AVGBYTES = 0
    if BLKALIGN == 0
        if BITS >= 8
            math BLKALIGN = BITS
            math BLKALIGN / 8
        else
            math BLKALIGN = 1
        endif
        math BLKALIGN * CHANNELS
        math AVGBYTES = FREQUENCY
        math AVGBYTES * BLKALIGN
    endif
    if CODEC == 0x69
        xmath BLOCKALIGN "36 * CHANNELS"
        xmath AVGBYTES "(689 * BLOCKALIGN) 4"
    endif

    log MEMORY_FILE 0 0
    putdstring "RIFF" 4 MEMORY_FILE
    put 0 long          MEMORY_FILE
    putdstring "WAVE" 4 MEMORY_FILE

    # "fmt "
    putdstring "fmt " 4 MEMORY_FILE
    put 0 long          MEMORY_FILE
    put CODEC short     MEMORY_FILE # wFormatTag: Microsoft PCM Format (0x0001)
    put CHANNELS short  MEMORY_FILE # wChannels
    put FREQUENCY long  MEMORY_FILE # dwSamplesPerSec
    put AVGBYTES long   MEMORY_FILE # dwAvgBytesPerSec
    put BLKALIGN short  MEMORY_FILE # wBlockAlign
    put BITS short      MEMORY_FILE # wBitsPerSample
    if RIFF_MORE_SIZE > 0
        putdstring RIFF_MORE RIFF_MORE_SIZE MEMORY_FILE
    endif
    get MEM_SIZE asize MEMORY_FILE
    math RIFFTMP = MEM_SIZE
    math RIFFTMP - 0x14
    putvarchr MEMORY_FILE 0x10 RIFFTMP long

    # "fact"
    if CODEC != 1
        if SAMPLES > 0
            putdstring "fact" 4 MEMORY_FILE
            put 4 long          MEMORY_FILE
            put SAMPLES long    MEMORY_FILE
        endif
    endif

    # "data"
    putdstring "data" 4 MEMORY_FILE
    put SIZE long       MEMORY_FILE

    get MEM_SIZE asize MEMORY_FILE
    math RIFFTMP = SIZE
    math RIFFTMP MEM_SIZE
    math RIFFTMP - 8
    putvarchr MEMORY_FILE 4 RIFFTMP long

    log NAME 0 MEM_SIZE MEMORY_FILE
    append
    log NAME OFFSET SIZE
    append
endfunction
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.