This commit is contained in:
Kelvin Sherlock 2013-03-02 20:54:43 -05:00
parent 68852c9d16
commit db9fa7aa23
2 changed files with 20 additions and 2 deletions

View File

@ -283,13 +283,25 @@ namespace OS
return d0;
}
uint16_t Open(uint16_t trap)
{
uint32_t d0;
uint32_t parm = cpuGetAReg(0);
Log("%04x Open(%08x)\n", trap, parm);
bool rf = trap == 0xa00a;
switch(trap)
{
case 0xa000:
Log("%04x Open(%08x)\n", trap, parm);
break;
case 0xa00a:
Log("%04x OpenRF(%08x)\n", trap, parm);
break;
}
//uint32_t ioCompletion = memoryReadLong(parm + 12);
uint32_t namePtr = memoryReadLong(parm + 18);
@ -331,6 +343,11 @@ namespace OS
//todo -- FD table w/ flag for text/binary
std::string xname = sname;
if (rf)
sname.append(_PATH_RSRCFORKSPEC);
int fd = ::open(sname.c_str(), access);
if (fd < 0 && ioPermission == fsCurPerm && errno == EACCES)
{

View File

@ -30,7 +30,8 @@ namespace ToolBox {
uint32_t d0 = 0;
switch (trap)
{
case 0xa000:
case 0xa000: // open
case 0xa00a: // openrf
d0 = OS::Open(trap);
break;