mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 11:51:49 +09:00
TAV: pcm8 audio
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// High Speed Disk Peripheral Adapter (HSDPA) Driver for TVDOS
|
||||
// This driver treats each disk from HSDPA as a single large file
|
||||
// Created by Claude on 2025-08-16
|
||||
// Created by CuriousTorvald and Claude on 2025-08-16
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Add TAPE device names to reserved names
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Created by Claude on 2025-09-13.
|
||||
// Created by CuriousTorvald and Claude on 2025-09-13.
|
||||
// TSVM Advanced Video (TAV) Format Decoder - DWT-based compression
|
||||
// Adapted from the working playtev.js decoder
|
||||
// Usage: playtav moviefile.tav [options]
|
||||
@@ -1279,10 +1279,18 @@ try {
|
||||
let zstdLen = seqread.readInt()
|
||||
let zstdPtr = sys.malloc(zstdLen)
|
||||
seqread.readBytes(zstdLen, zstdPtr)
|
||||
let pcmLen = gzip.decompFromTo(zstdPtr, zstdLen, SND_BASE_ADDR - 65536)
|
||||
// serial.println(`PCM8 audio (${zstdLen} -> ????)`)
|
||||
let pcmPtr = sys.malloc(65536) //SND_BASE_ADDR - 65536
|
||||
let pcmLen = gzip.decompFromTo(zstdPtr, zstdLen, pcmPtr) // <- segfaults!
|
||||
if (pcmLen > 65536) throw Error(`PCM data too long -- got ${pcmLen} bytes`)
|
||||
|
||||
audio.putPcmDataByPtr(pcmPtr, pcmLen, 0)
|
||||
|
||||
audio.setSampleUploadLength(0, pcmLen)
|
||||
audio.startSampleUpload(0)
|
||||
sys.free(zstdPtr)
|
||||
|
||||
sys.free(pcmPtr)
|
||||
}
|
||||
else if (packetType === TAV_PACKET_SUBTITLE) {
|
||||
// Subtitle packet - same format as TEV
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Created by Claude on 2025-08-18.
|
||||
// Created by CuriousTorvald and Claude on 2025-08-18.
|
||||
// TSVM Enhanced Video (TEV) Format Decoder - YCoCg-R 4:2:0 Version
|
||||
// Usage: playtev moviefile.tev [options]
|
||||
// Options: -i (interactive), -debug-mv (show motion vector debug visualization)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TSVM Universal Cue Format (UCF) Player
|
||||
// Created by Claude on 2025-09-22
|
||||
// Created by CuriousTorvald and Claude on 2025-09-22
|
||||
// Usage: playucf cuefile.ucf [options]
|
||||
// Options: -i (interactive mode)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user