--- nono/vm/human68k.h 2026/04/29 17:05:10 1.1.1.8 +++ nono/vm/human68k.h 2026/04/29 17:05:18 1.1.1.9 @@ -11,8 +11,9 @@ #pragma once #include "device.h" -#include "ram.h" -#include "m68030.h" +#include "mainram.h" + +class MPU680x0Device; // Human68k 構造 class Human68k : public Device @@ -65,17 +66,20 @@ class Human68k : public Device bool Init() override; - bool FLineOp(m68kcpu *cpu); + bool FLineOp(); + + // MSXDOSDevice からも呼ぶ + static void RequestExit(int code); private: // Human Emulation API - void RequestExit(int code); int32 OpenFile(uint32 fileaddr, uint16 atr, int mode); int32 CloseFile(int32 fileno); int32 WriteFile(int32 fileno, uint32 dataaddr, uint32 size); void FputsFile(int32 fileno, uint32 dataaddr); - void IOCS(m68kcpu *cpu); + void IOCS(); + void DOS_PRINT(uint32 dataptr); bool LoadR(uint8 *memfile, uint size); bool LoadX(uint8 *memfile, uint size); @@ -85,8 +89,6 @@ class Human68k : public Device bool isext(const char *file, const char *ext); - RAMDevice *ram {}; - const char *human68k_file {}; std::string human68k_arg {}; @@ -103,6 +105,7 @@ class Human68k : public Device uint32 bss_size {}; // BSS セクションサイズ(記録用) File Files[FilesCount] {}; -}; -extern Human68k *gHuman68k; + MainRAMDevice *ram {}; + MPU680x0Device *mpu {}; +};