--- nono/vm/printer.cpp 2026/04/29 17:04:28 1.1 +++ nono/vm/printer.cpp 2026/04/29 17:05:14 1.1.1.7 @@ -1,26 +1,38 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt +// + +// +// プリンタポート // #include "printer.h" +#include "mpu.h" +// グローバル参照用 +PrinterDevice *gPrinter; + +// コンストラクタ PrinterDevice::PrinterDevice() + : inherited("Printer") { - logname = "printer"; - devname = "Printer"; devaddr = baseaddr; devlen = 0x2000; } +// デストラクタ PrinterDevice::~PrinterDevice() { + gPrinter = NULL; } uint64 PrinterDevice::Read8(uint32 addr) { // 書き込み専用 + gMPU->AddCycle(7); // InsideOut p.135 return (uint64)-1; } @@ -28,19 +40,24 @@ uint64 PrinterDevice::Read16(uint32 addr) { // 書き込み専用 + gMPU->AddCycle(7); // InsideOut p.135 return (uint64)-1; } uint64 PrinterDevice::Write8(uint32 addr, uint32 data) { + gMPU->AddCycle(7); // InsideOut p.135 + uint32 offset = addr - baseaddr; switch (offset) { case 0: - putlog(0, "未実装データ書き込み"); + // データ書き込み + putlog(0, "Write Data (NOT IMPLEMENTED)"); break; case 3: - putlog(0, "未実装ストローブ書き込み"); + // ストローブ書き込み + putlog(0, "Write Strobe (NOT IMPLEMENTED)"); return 0; default: break;