mirror of
https://github.com/ksherlock/mpw.git
synced 2025-01-18 12:30:29 +00:00
OpenRF
This commit is contained in:
parent
68852c9d16
commit
db9fa7aa23
@ -283,13 +283,25 @@ namespace OS
|
|||||||
return d0;
|
return d0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint16_t Open(uint16_t trap)
|
uint16_t Open(uint16_t trap)
|
||||||
{
|
{
|
||||||
uint32_t d0;
|
uint32_t d0;
|
||||||
|
|
||||||
uint32_t parm = cpuGetAReg(0);
|
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 ioCompletion = memoryReadLong(parm + 12);
|
||||||
uint32_t namePtr = memoryReadLong(parm + 18);
|
uint32_t namePtr = memoryReadLong(parm + 18);
|
||||||
@ -331,6 +343,11 @@ namespace OS
|
|||||||
|
|
||||||
//todo -- FD table w/ flag for text/binary
|
//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);
|
int fd = ::open(sname.c_str(), access);
|
||||||
if (fd < 0 && ioPermission == fsCurPerm && errno == EACCES)
|
if (fd < 0 && ioPermission == fsCurPerm && errno == EACCES)
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,8 @@ namespace ToolBox {
|
|||||||
uint32_t d0 = 0;
|
uint32_t d0 = 0;
|
||||||
switch (trap)
|
switch (trap)
|
||||||
{
|
{
|
||||||
case 0xa000:
|
case 0xa000: // open
|
||||||
|
case 0xa00a: // openrf
|
||||||
d0 = OS::Open(trap);
|
d0 = OS::Open(trap);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user