From 8d28bde119b79f487ef9d9fd0ffd9932d89c7404 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 23 Apr 2026 23:11:09 +0900 Subject: [PATCH] taud base note def changed (A3@440Hz) --- assets/disk0/tvdos/bin/taut.js | 3 +++ assets/disk0/tvdos/include/taud.mjs | 4 ++-- s3m2taud.py | 2 +- terranmon.txt | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/assets/disk0/tvdos/bin/taut.js b/assets/disk0/tvdos/bin/taut.js index b7e3374..684a744 100644 --- a/assets/disk0/tvdos/bin/taut.js +++ b/assets/disk0/tvdos/bin/taut.js @@ -10,6 +10,9 @@ const taud = require("taud") font.setHighRom("A:/tvdos/bin/tautfont_high.chr") +const BUILD_DATE = "260423" +const TRACKER_SIGNATURE = "TsvmTaut"+BUILD_DATE // 14-byte string + const MIDDOT = "\u00FA" const BIGDOT = "\u00F9" const BULLET = "\u00847u" diff --git a/assets/disk0/tvdos/include/taud.mjs b/assets/disk0/tvdos/include/taud.mjs index 83a0817..98504f1 100644 --- a/assets/disk0/tvdos/include/taud.mjs +++ b/assets/disk0/tvdos/include/taud.mjs @@ -219,8 +219,8 @@ function captureTrackerDataToFile(outFile) { numPats & 0xFF, (numPats >>> 8) & 0xFF, // numPatterns Uint16 LE bpmStored, // BPM with −24 bias tickRate, // initial tick-rate - 0x40,0, // basenote - 0x13,0xd0,0x82,0x43, // basefreq + 0x00,0x4C, // basenote (0x4C00 -- A3) + 0x00,0x00,0xDC,0x43, // basefreq (440 Hz) 0, // padding ] diff --git a/s3m2taud.py b/s3m2taud.py index fc056c7..527b740 100644 --- a/s3m2taud.py +++ b/s3m2taud.py @@ -904,7 +904,7 @@ def assemble_taud(h: S3MHeader, instruments: list, patterns: list) -> bytes: num_taud_pats_hi, bpm_stored, speed, - ) + b'\x40\x00' + b'\x13\xd0\x82\x43' + b'\x00' + ) + b'\x00\x4C' + b'\x00\x00\xDC\x43' + b'\x00' assert len(song_table) == TAUD_SONG_ENTRY # Cue sheet (using remapped pattern indices) diff --git a/terranmon.txt b/terranmon.txt index 603aad4..095a22f 100644 --- a/terranmon.txt +++ b/terranmon.txt @@ -2210,8 +2210,8 @@ Rows of 16 bytes: Uint16 Number of patterns (0 is invalid. pattern bin length = numPats * 8 bytes) Uint8 Initial BPM (bias of -24. 0x00=24, 0xFF=279) Uint8 Initial Tickrate (0 is invalid) - Uint16 Current Tuning base note (1..65533), assuming octave 3. C3 (the default value) is 0x4000. If zero, assume the default value - Float32 Frequency at the base note. Default (A440) is 261.6255653. If zero, assume the default value + Uint16 Current Tuning base note (1..65533). A3 (the default value) is 0x4C00. If zero, assume the default value + Float32 Frequency at the base note. Default (A440) is 440.0. If zero, assume the default value Byte[1] Reserved for future versions Taud device can queue up to 2 "playdata" in its buffer, which can be interpreted as a song.