diff --git a/toolbox/os.cpp b/toolbox/os.cpp index db40ec8..d07aef1 100644 --- a/toolbox/os.cpp +++ b/toolbox/os.cpp @@ -605,6 +605,17 @@ namespace OS return d0; } + uint16_t FlushVol(uint16_t trap) + { + uint32_t parm = cpuGetAReg(0); + + Log("%04x FlushVol(%08x)\n", trap, parm); + + // ioResult + memoryWriteWord(0, parm + 16); + + return 0; + } // return the name of the default volume. // this does not translate well. diff --git a/toolbox/os.h b/toolbox/os.h index 297ea9f..c0ff239 100644 --- a/toolbox/os.h +++ b/toolbox/os.h @@ -38,6 +38,7 @@ namespace OS uint16_t Close(uint16_t trap); uint16_t Create(uint16_t trap); uint16_t Delete(uint16_t trap); + uint16_t FlushVol(uint16_t trap); uint16_t GetFileInfo(uint16_t trap); uint16_t SetFileInfo(uint16_t trap); diff --git a/toolbox/toolbox.cpp b/toolbox/toolbox.cpp index ea8acb1..e9d6db1 100644 --- a/toolbox/toolbox.cpp +++ b/toolbox/toolbox.cpp @@ -68,6 +68,9 @@ namespace ToolBox { case 0xa012: d0 = OS::SetEOF(trap); break; + case 0xa013: + d0 = OS::FlushVol(trap); + break; case 0xa014: d0 = OS::GetVol(trap); @@ -289,7 +292,7 @@ namespace ToolBox { case 0xa9ba: d0 = Utility::GetString(trap); break; - + default: fprintf(stderr, "Unsupported tool trap: %04x\n", trap); fprintf(stderr, "pc: %08x\n", cpuGetPC());