--- nono/vm/tas.cpp 2026/04/29 17:04:50 1.1.1.3 +++ nono/vm/tas.cpp 2026/04/29 17:05:14 1.1.1.7 @@ -4,22 +4,34 @@ // Licensed under nono-license.txt // +// // TAS ポート +// #include "tas.h" -std::unique_ptr gTAS; +// グローバル参照用 +TASDevice *gTAS; // コンストラクタ TASDevice::TASDevice() + : inherited("TAS") { - logname = "tas"; - devname = "TAS"; } // デストラクタ TASDevice::~TASDevice() { + gTAS = NULL; +} + +// リセット +void +TASDevice::ResetHard(bool poweron) +{ + // 初期値は 0 らしい (LUNA88K PROM 1.20 がそう期待している)。 + // いつリセットされるかは分からないけど、さすがにリセットされるだろう。 + tas = 0; } // XXX: RMW サイクルが発行される前提のレジスタだが @@ -28,7 +40,7 @@ TASDevice::~TASDevice() uint64 TASDevice::Read(uint32 offset) { - putlog(2, "読み込み 0x%02x", (uint8)tas); + putlog(2, "Read 0x%02x", (uint8)tas); return tas; } @@ -40,7 +52,7 @@ TASDevice::Write(uint32 offset, uint32 d // LUNA88K では BFFF 接続なので bit31 に相当。 // 最上位ビット以外のビットは「不定」。 tas = data; - putlog(1, "書き込み 0x%02x", data); + putlog(1, "Write 0x%02x", data); return 0; }