diff --git a/docs/ROMinfo b/docs/ROMinfo
index 9d506b5d..b209bc17 100644
--- a/docs/ROMinfo
+++ b/docs/ROMinfo
@@ -103,7 +103,7 @@ Minor work that needs to be done
OpenCPicture just calls OpenPicture.
- RestoreClutDevice needs work
+ RestoreDeviceClut needs work
inverse color table routines don't do a good job of discriminating
between colors that are close to each other.
diff --git a/docs/faq.xml b/docs/faq.xml
index 31497de9..835f8252 100644
--- a/docs/faq.xml
+++ b/docs/faq.xml
@@ -2087,7 +2087,7 @@ GetStdFilterProc, SetDialogCancelItem, SetDialogTracksCursor, OutlineMetrics, Fl
GDeviceChanged, PortChanged, PixPatChanged and CTabChanged are poorly
implemented. GetCPixel doesn't work for bpp > 8. OpenCPicture just
-calls OpenPicture. RestoreClutDevice's implementation is shaky. Our
+calls OpenPicture. RestoreDeviceClut's implementation is shaky. Our
inverse color table routines don't do a good job of discriminating
between colors that are close to each other.
diff --git a/docs/faq/t1.html b/docs/faq/t1.html
index 921a856b..6bcc1621 100644
--- a/docs/faq/t1.html
+++ b/docs/faq/t1.html
@@ -4305,7 +4305,7 @@
>
GDeviceChanged, PortChanged, PixPatChanged and CTabChanged are poorly
implemented. GetCPixel doesn't work for bpp > 8. OpenCPicture just
-calls OpenPicture. RestoreClutDevice's implementation is shaky. Our
+calls OpenPicture. RestoreDeviceClut's implementation is shaky. Our
inverse color table routines don't do a good job of discriminating
between colors that are close to each other.
8. OpenCPicture just
-calls OpenPicture. RestoreClutDevice's implementation is shakey.
+calls OpenPicture. RestoreDeviceClut's implementation is shakey.
diff --git a/src/AE.cpp b/src/AE.cpp
index 6ab0d60d..b9bf9cdb 100644
--- a/src/AE.cpp
+++ b/src/AE.cpp
@@ -18,6 +18,7 @@
#include "rsys/mman.h"
#include "rsys/flags.h"
+#include "rsys/functions.impl.h"
namespace Executor
{
@@ -555,7 +556,7 @@ OSErr Executor::C_AEDisposeToken(AEDesc *theToken)
return noErr;
}
-OSErr Executor::C_AEREesolve(AEDesc *objectSpecifier, INTEGER callbackFlags,
+OSErr Executor::C_AEResolve(AEDesc *objectSpecifier, INTEGER callbackFlags,
AEDesc *theToken)
{
warning_unimplemented(NULL_STRING);
diff --git a/src/AE_desc.cpp b/src/AE_desc.cpp
index 7c41d587..cdaa020c 100644
--- a/src/AE_desc.cpp
+++ b/src/AE_desc.cpp
@@ -1093,7 +1093,7 @@ OSErr Executor::C_AEGetAttributePtr(AppleEvent *evt, AEKeyword keyword,
data, max_size, size_out);
AE_RETURN_ERROR(AEDisposeDesc(coerced_desc));
}
-
+/* This does not exist.
OSErr Executor::C_AEDeleteAttribute(AppleEvent *evt, AEKeyword keyword)
{
if(!APPLE_EVENT_CLASS_P(evt))
@@ -1104,7 +1104,7 @@ OSErr Executor::C_AEDeleteAttribute(AppleEvent *evt, AEKeyword keyword)
else
AE_RETURN_ERROR(noErr);
}
-
+*/
OSErr Executor::C_AESizeOfAttribute(AppleEvent *evt, AEKeyword keyword,
GUEST *type_out,
GUEST *size_out)
diff --git a/src/AE_hdlr.cpp b/src/AE_hdlr.cpp
index 2dae07f4..8e95169d 100644
--- a/src/AE_hdlr.cpp
+++ b/src/AE_hdlr.cpp
@@ -134,7 +134,7 @@ hdlr_table_elt(AE_hdlr_table_h table,
}
OSErr Executor::C__AE_hdlr_table_alloc(int32_t unknown_1, int32_t unknown_2,
- int32_t unknown_3, int8 unknown_p,
+ int32_t unknown_3, int8_t unknown_p,
GUEST *table_return)
{
AE_hdlr_table_h table;
@@ -424,6 +424,7 @@ OSErr Executor::C_AEInstallSpecialHandler(
if(function_class == keySelectProc)
{
AE_OSL_select_fn = US_TO_SYN68K((void *)hdlr_fn);
+ warning_unimplemented("AEInstallSpecialHandler: keySelectProc set");
AE_RETURN_ERROR(noErr);
}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 880fd097..b03dc7ee 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -50,7 +50,6 @@ add_subdirectory(config/arch/generic_le)
add_subdirectory(config/os/win32)
add_subdirectory(config/os/macosx)
-
function(linkheader from to variant)
if(DEFINED ARGV3)
set(input ${ARGV3})
@@ -177,19 +176,21 @@ set(num_sources bindec.cpp float4.cpp float5.cpp float7.cpp floatnext.cpp toolma
mathlib.cpp)
source_group(Numerics FILES ${num_sources})
-set(misc_sources desk.cpp device.cpp disk.cpp diskinit.cpp dump.cpp trapname.cpp font.cpp
+set(misc_sources
+ traps.cpp logging.cpp
+ desk.cpp device.cpp disk.cpp diskinit.cpp dump.cpp trapname.cpp font.cpp
gestalt.cpp globals.cpp iu.cpp launch.cpp main.cpp mman.cpp mmansubr.cpp notify.cpp hle.cpp
osevent.cpp osutil.cpp pack.cpp scrap.cpp script.cpp segment.cpp serial.cpp
slash.cpp stdfile.cpp romlib_stubs.cpp syserr.cpp toolevent.cpp toolutil.cpp time.cpp
vbl.cpp syncint.cpp virtualint.cpp refresh.cpp autorefresh.cpp aboutbox.cpp
- option.cpp parseopt.cpp parsenum.cpp desperate.cpp
+ option.cpp parseopt.cpp parsenum.cpp
version.cpp shutdown.cpp uniquefile.cpp screen-dump.cpp
process.cpp alias.cpp string.cpp tempmem.cpp edition.cpp fontIMVI.cpp balloon.cpp
error.cpp adb.cpp color_wheel_bits.cpp finder.cpp system_error.cpp ibm_keycodes.cpp
icon.cpp redrawscreen.cpp ini.cpp checkpoint.cpp qt.cpp
paramline.c fauxdbm.cpp commtool.cpp cfm.cpp pef_hash.cpp
interfacelib.cpp mixed_mode.cpp suffix_maps.cpp appearance.cpp lockrange.cpp
- emutrap.cpp emutraptables.cpp emustubs.cpp unix_like.cpp parse.ypp check_structs.cpp
+ emutrap.cpp emustubs.cpp unix_like.cpp parse.ypp check_structs.cpp
executor.cpp crc.cpp)
set(include_sources hintemplate.h
@@ -255,7 +256,6 @@ set(include_sources hintemplate.h
include/rsys/dcache.h
include/rsys/depthconv.h
include/rsys/desk.h
- include/rsys/desperate.h
include/rsys/device.h
include/rsys/dial.h
include/rsys/dirtyrect.h
@@ -274,6 +274,8 @@ set(include_sources hintemplate.h
include/rsys/float_fcw.h
include/rsys/floatconv.h
include/rsys/font.h
+ include/rsys/functions.h
+ include/rsys/functions.impl.h
include/rsys/gestalt.h
include/rsys/glue.h
include/rsys/gworld.h
@@ -292,6 +294,7 @@ set(include_sources hintemplate.h
include/rsys/launch.h
include/rsys/list.h
include/rsys/lockunlock.h
+ include/rsys/logging.h
include/rsys/lowglobals.h
include/rsys/m68kint.h
include/rsys/macros.h
@@ -322,7 +325,6 @@ set(include_sources hintemplate.h
include/rsys/print.h
include/rsys/process.h
include/rsys/PSstrings.h
- include/rsys/pstuff.h
include/rsys/qcolor.h
include/rsys/quick.h
include/rsys/rawblt.h
@@ -357,7 +359,8 @@ set(include_sources hintemplate.h
include/rsys/toolutil.h
include/rsys/trapglue.h
include/rsys/trapname.h
- include/rsys/types.h
+ include/rsys/traps.h
+ include/rsys/traps.impl.h
include/rsys/uniquefile.h
include/rsys/vbl.h
include/rsys/vdriver.h
@@ -387,12 +390,15 @@ set(include_sources hintemplate.h
mkvol/mkvol.h
mkvol/mkvol_internal.h)
+include(trap_instances/trap_instances.cmake)
+
set(sources ${ctl_sources} ${dial_sources}
${list_sources} ${menu_sources}
${print_sources} ${qd_sources} ${res_sources}
${te_sources} ${wind_sources} ${ae_sources}
${sound_sources} ${num_sources} ${misc_sources}
${file_sources} ${hfs_sources}
+ ${trap_instance_sources}
${include_sources})
add_executable(executor ${sources}
@@ -408,3 +414,4 @@ else()
endif()
target_link_libraries(executor Threads::Threads syn68k)
+
diff --git a/src/PSprint.cpp b/src/PSprint.cpp
index df7f2c9a..2f53c21e 100644
--- a/src/PSprint.cpp
+++ b/src/PSprint.cpp
@@ -1359,7 +1359,7 @@ num_image_bytes(int numbytes, int pixelsize, int direct_color_p)
#define ROWMASK 0x1FFF
#endif
-void Executor::NeXTPrBits(BitMap *srcbmp, Rect *srcrp, Rect *dstrp,
+void Executor::NeXTPrBits(const BitMap *srcbmp, const Rect *srcrp, const Rect *dstrp,
LONGINT mode, RgnHandle mask, GrafPtr thePortp)
{
float scalex, scaley;
diff --git a/src/aboutbox.cpp b/src/aboutbox.cpp
index 1a1e18b7..0daef630 100644
--- a/src/aboutbox.cpp
+++ b/src/aboutbox.cpp
@@ -117,7 +117,7 @@ static struct
static WindowPtr about_box;
static ControlHandle about_scrollbar;
static TEHandle about_te;
-static ProcPtr scroll_bar_callback;
+static ControlActionUPP scroll_bar_callback;
enum
{
@@ -649,7 +649,7 @@ event_loop(bool executor_p)
if(TrackControl(c, local_pt,
(part == inThumb
- ? (ProcPtr)-1
+ ? (ControlActionUPP)-1
: scroll_bar_callback))
== inThumb)
{
@@ -664,7 +664,7 @@ event_loop(bool executor_p)
old_scroll_bar_value = GetCtlValue(about_scrollbar);
}
- else if(TrackControl(c, local_pt, (ProcPtr)-1)
+ else if(TrackControl(c, local_pt, (ControlActionUPP)-1)
== inButton)
{
int new_text;
@@ -702,8 +702,8 @@ void Executor::do_about_box(void)
{
busy_p = true; /* Only allow one about box at a time. */
- if(scroll_bar_callback == 0)
- scroll_bar_callback = (ProcPtr)SYN68K_TO_US(callback_install(scroll_stub, NULL));
+ if(scroll_bar_callback == nullptr)
+ scroll_bar_callback = (ControlActionUPP)SYN68K_TO_US(callback_install(scroll_stub, NULL));
{
TheZoneGuard guard(LM(SysZone));
diff --git a/src/adb.cpp b/src/adb.cpp
index ae2c2600..871bb12c 100644
--- a/src/adb.cpp
+++ b/src/adb.cpp
@@ -8,7 +8,6 @@
#include "ADB.h"
#include "rsys/adb.h"
#include "rsys/osevent.h"
-#include "rsys/pstuff.h"
#include
/*
@@ -64,7 +63,7 @@ enum
SPOOFED_MOUSE_ADDR = 3
};
-static GUEST adb_service_procp = nullptr; /* stored as though in lowglobal */
+static GUEST adb_service_procp = nullptr; /* stored as though in lowglobal */
static Ptr adb_data_ptr = (Ptr)0x90ABCDEF;
void
@@ -91,7 +90,7 @@ Executor::GetIndADB(ADBDataBlock *adbp, INTEGER index)
adbp->devType = CB(0); /* should check on Mac to see what mouse is */
adbp->origADBAddr = CB(SPOOFED_MOUSE_ADDR);
if(!adb_service_procp)
- adb_service_procp = RM((Ptr)P_adb_service_stub);
+ adb_service_procp = RM((ProcPtr)&adb_service_stub);
adbp->dbServiceRtPtr = adb_service_procp;
adbp->dbDataAreaAddr = RM(adb_data_ptr);
retval = SPOOFED_MOUSE_ADDR;
@@ -132,7 +131,7 @@ Executor::SetADBInfo(ADBSetInfoBlock *adbp, INTEGER address)
static bool
adb_vector_is_not_our_own(void)
{
- return adb_service_procp && adb_service_procp != RM((Ptr)P_adb_service_stub);
+ return adb_service_procp && adb_service_procp != RM((ProcPtr)&adb_service_stub);
}
static void
diff --git a/src/bindec.cpp b/src/bindec.cpp
index b9289662..8d81434d 100644
--- a/src/bindec.cpp
+++ b/src/bindec.cpp
@@ -10,7 +10,7 @@
using namespace Executor;
-void Executor::NumToString(LONGINT l, StringPtr s)
+void Executor::C_NumToString(LONGINT l, StringPtr s)
{
Byte *p = s + 1;
LONGINT d;
@@ -49,7 +49,7 @@ void Executor::NumToString(LONGINT l, StringPtr s)
s[0] = p - (s + 1);
}
-void Executor::StringToNum(StringPtr s, LONGINT *lp)
+void Executor::C_StringToNum(StringPtr s, LONGINT *lp)
{
char *p = (char *)s + 1;
char *ep = p + s[0];
diff --git a/src/blockdev.cpp b/src/blockdev.cpp
index 6b255d53..4128387d 100644
--- a/src/blockdev.cpp
+++ b/src/blockdev.cpp
@@ -81,9 +81,9 @@ bool Executor::blockdev_read(blockdev_t *b, uint32_t offset, void *buf, uint32_t
for(n = 0; n < num_bytes;)
{
- uint8 *p;
+ uint8_t *p;
- p = (uint8 *)buf + n;
+ p = (uint8_t *)buf + n;
/* First try to read from the cache. */
if(dcache_read(b->dcache_tag, p, offset + n, b->block_size))
@@ -144,9 +144,9 @@ bool Executor::blockdev_write(blockdev_t *b, uint32_t offset, const void *buf,
for(n = 0; n < num_bytes;)
{
uint32_t bytes_to_write;
- uint8 *p;
+ uint8_t *p;
- p = (uint8 *)buf + n;
+ p = (uint8_t *)buf + n;
/* Seek if necessary. */
if(offset + n != b->fpos)
diff --git a/src/cfm.cpp b/src/cfm.cpp
index 76bc8bb0..e06c113f 100644
--- a/src/cfm.cpp
+++ b/src/cfm.cpp
@@ -1,11 +1,6 @@
/* Copyright 2000 by Abacus Research and
* Development, Inc. All rights reserved.
*/
-#if defined(CFM_PROBLEMS)
-
-// FIXME: #warning "No CFM support for now, even though it limped previously."
-
-#elif defined(powerpc)
/*
* In addition to fleshing this out, it probably makes sense to use mmap
@@ -22,6 +17,7 @@
#include "MemoryMgr.h"
#include "SegmentLdr.h"
#include "AliasMgr.h"
+#include "ResourceMgr.h"
#include "rsys/cfm.h"
#include "rsys/pef.h"
@@ -32,10 +28,45 @@
#include "rsys/hfs.h"
#include "rsys/string.h"
-#include "ppc_stubs.h"
-
using namespace Executor;
+#if 1
+
+OSErr Executor::C_CloseConnection(ConnectionID *cidp)
+{
+ warning_trace_info("cidp = %p, cid = 0x%p", cidp, *cidp);
+ return noErr;
+}
+
+OSErr Executor::C_GetSharedLibrary(Str63 library, OSType arch,
+ LoadFlags loadflags, GUEST *cidp,
+ GUEST *mainaddrp, Str255 errName)
+{
+ return paramErr;
+}
+
+OSErr Executor::C_GetMemFragment(void *addr, uint32_t length, Str63 fragname,
+ LoadFlags flags, GUEST *connp,
+ GUEST *mainAddrp, Str255 errname)
+{
+ return paramErr;
+}
+
+OSErr Executor::C_GetDiskFragment(FSSpecPtr fsp, LONGINT offset,
+ LONGINT length, Str63 fragname,
+ LoadFlags flags, GUEST *connp,
+ GUEST *mainAddrp, Str255 errname)
+{
+ return paramErr;
+}
+
+ConnectionID
+ROMlib_new_connection(uint32_t n_sects)
+{
+ return nullptr;
+}
+
+#else
typedef enum {
process_share = 1,
global_share = 4,
@@ -135,21 +166,21 @@ load_unpacked_section(const void *mmapped_addr,
if(retval == noErr)
{
memcpy(addr, (char *)mmapped_addr + section_offset, packed_size);
- memset(addr + unpacked_size, 0, total_size - unpacked_size);
+ memset((char *)addr + unpacked_size, 0, total_size - unpacked_size);
}
}
if(retval == noErr)
{
- infop->start = US_TO_SYN68K(addr);
- infop->length = total_size;
+ infop->start = RM(addr);
+ infop->length = CL(total_size);
}
return retval;
}
static OSErr
-repeat_block(uint32_t repeat_count, uint32_t block_size, uint8 **destpp,
- const uint8 **srcpp, uint32_t *dest_lengthp, uint32_t *src_lengthp)
+repeat_block(uint32_t repeat_count, uint32_t block_size, uint8_t **destpp,
+ const uint8_t **srcpp, uint32_t *dest_lengthp, uint32_t *src_lengthp)
{
OSErr retval;
uint32_t total_bytes_to_write;
@@ -173,11 +204,11 @@ repeat_block(uint32_t repeat_count, uint32_t block_size, uint8 **destpp,
}
static OSErr
-extract_count(const uint8 **srcpp, uint32_t *lengthp, uint32_t *countp)
+extract_count(const uint8_t **srcpp, uint32_t *lengthp, uint32_t *countp)
{
OSErr retval;
uint32_t count;
- uint8 next_piece;
+ uint8_t next_piece;
count = *countp;
do
@@ -198,9 +229,9 @@ extract_count(const uint8 **srcpp, uint32_t *lengthp, uint32_t *countp)
}
static OSErr
-interleave(uint32_t repeat_count, uint32_t custom_size, uint8 **destpp,
- const uint8 **srcpp, uint32_t *dest_lengthp, uint32_t *src_lengthp,
- uint32_t common_size, const uint8 *common_mem)
+interleave(uint32_t repeat_count, uint32_t custom_size, uint8_t **destpp,
+ const uint8_t **srcpp, uint32_t *dest_lengthp, uint32_t *src_lengthp,
+ uint32_t common_size, const uint8_t *common_mem)
{
OSErr retval;
uint32_t total_size;
@@ -234,7 +265,7 @@ interleave(uint32_t repeat_count, uint32_t custom_size, uint8 **destpp,
}
static OSErr
-pattern_initialize(uint8 *addr, const uint8 *patmem, uint32_t packed_size,
+pattern_initialize(uint8_t *addr, const uint8_t *patmem, uint32_t packed_size,
uint32_t unpacked_size)
{
OSErr retval;
@@ -242,7 +273,7 @@ pattern_initialize(uint8 *addr, const uint8 *patmem, uint32_t packed_size,
retval = noErr;
while(retval == noErr && packed_size > 0)
{
- uint8 opcode;
+ uint8_t opcode;
uint32_t count;
opcode = *patmem >> 5;
@@ -299,7 +330,7 @@ pattern_initialize(uint8 *addr, const uint8 *patmem, uint32_t packed_size,
&repeat_count);
if(retval == noErr)
{
- const uint8 *common_mem;
+ const uint8_t *common_mem;
if(opcode == 4)
common_mem = 0;
@@ -351,16 +382,16 @@ load_pattern_section(const void *mmapped_addr,
retval = try_to_get_memory(&addr, default_address, total_size, alignment);
if(retval == noErr)
{
- uint8 *patmem;
+ uint8_t *patmem;
patmem = (decltype(patmem))((char *)mmapped_addr + section_offset);
- retval = pattern_initialize(addr, patmem, packed_size, unpacked_size);
+ retval = pattern_initialize((uint8_t*)addr, patmem, packed_size, unpacked_size);
if(retval == noErr)
{
- memset(addr + unpacked_size, 0,
+ memset((char*)addr + unpacked_size, 0,
total_size - unpacked_size);
- infop->start = US_TO_SYN68K(addr);
- infop->length = total_size;
+ infop->start = RM(addr);
+ infop->length = CL(total_size);
}
}
@@ -368,21 +399,21 @@ load_pattern_section(const void *mmapped_addr,
}
static void
-repeatedly_relocate(uint32_t count, uint8 **relocAddressp, uint32_t val)
+repeatedly_relocate(uint32_t count, uint8_t **relocAddressp, uint32_t val)
{
- uint32_t *p;
- p = (uint32_t *)*relocAddressp;
+ GUEST *p;
+ p = (GUEST *)*relocAddressp;
while(count-- > 0)
{
*p = CL(CL(*p) + val);
++p;
}
- *relocAddressp = (uint8 *)p;
+ *relocAddressp = (uint8_t *)p;
}
static OSErr
check_existing_connections(Str63 library, OSType arch, LoadFlags loadflags,
- ConnectionID *cidp, Ptr *mainaddrp, Str255 errName)
+ GUEST *cidp, GUEST *mainaddrp, Str255 errName)
{
/* TODO */
// FIXME: #warning TODO
@@ -400,7 +431,7 @@ get_root_and_app(INTEGER *root_vrefp, LONGINT *root_diridp,
static OSErr
check_file(INTEGER vref, LONGINT dirid, Str255 file, bool shlb_test_p,
Str63 library, OSType arch, LoadFlags loadflags,
- ConnectionID *cidp, Ptr *mainaddrp, Str255 errName)
+ GUEST *cidp, GUEST *mainaddrp, Str255 errName)
{
OSErr retval;
FSSpec fs;
@@ -416,7 +447,7 @@ check_file(INTEGER vref, LONGINT dirid, Str255 file, bool shlb_test_p,
FInfo finfo;
err = FSpGetFInfo(&fs, &finfo);
- if(err != noErr || finfo.fdType != TICK("shlb"))
+ if(err != noErr || CL(finfo.fdType) != TICK("shlb"))
retval = fragLibNotFound;
}
if(retval == noErr)
@@ -444,7 +475,7 @@ check_file(INTEGER vref, LONGINT dirid, Str255 file, bool shlb_test_p,
else
retval = GetDiskFragment(&fs,
CFIR_OFFSET_TO_FRAGMENT(cfirp),
- CFIR_FRAGMENT_LENGTH(cfirp), "",
+ CFIR_FRAGMENT_LENGTH(cfirp), (Byte*)"",
loadflags, cidp, mainaddrp,
errName);
}
@@ -457,9 +488,9 @@ check_file(INTEGER vref, LONGINT dirid, Str255 file, bool shlb_test_p,
}
static OSErr
-check_vanddir(INTEGER vref, LONGINT dirid, int descend_count, Str63 library,
- OSType arch, LoadFlags loadflags, ConnectionID *cidp,
- Ptr *mainaddrp, Str255 errName)
+check_vanddir(GUEST vref, GUEST dirid, int descend_count, Str63 library,
+ OSType arch, LoadFlags loadflags, GUEST *cidp,
+ GUEST *mainaddrp, Str255 errName)
{
CInfoPBRec pb;
Str255 s;
@@ -470,7 +501,7 @@ check_vanddir(INTEGER vref, LONGINT dirid, int descend_count, Str63 library,
retval = fragLibNotFound;
pb.hFileInfo.ioNamePtr = RM(&s[0]);
- pb.hFileInfo.ioVRefNum = CW(vref);
+ pb.hFileInfo.ioVRefNum = vref;
err = noErr;
errcount = 0;
for(dirindex = 1;
@@ -478,7 +509,7 @@ check_vanddir(INTEGER vref, LONGINT dirid, int descend_count, Str63 library,
dirindex++)
{
pb.hFileInfo.ioFDirIndex = CW(dirindex);
- pb.hFileInfo.ioDirID = CL(dirid);
+ pb.hFileInfo.ioDirID = dirid;
err = PBGetCatInfo(&pb, false);
if(err)
{
@@ -495,7 +526,7 @@ check_vanddir(INTEGER vref, LONGINT dirid, int descend_count, Str63 library,
{
if(descend_count > 0)
{
- retval = check_vanddir(vref, CL(pb.hFileInfo.ioDirID),
+ retval = check_vanddir(vref, pb.hFileInfo.ioDirID,
descend_count - 1, library,
arch, loadflags, cidp, mainaddrp,
errName);
@@ -523,8 +554,8 @@ check_vanddir(INTEGER vref, LONGINT dirid, int descend_count, Str63 library,
*/
OSErr Executor::C_GetSharedLibrary(Str63 library, OSType arch,
- LoadFlags loadflags, ConnectionID *cidp,
- Ptr *mainaddrp, Str255 errName)
+ LoadFlags loadflags, GUEST *cidp,
+ GUEST *mainaddrp, Str255 errName)
{
OSErr retval;
@@ -554,8 +585,8 @@ OSErr Executor::C_GetSharedLibrary(Str63 library, OSType arch,
loadflags, cidp, mainaddrp, errName);
if(retval != noErr)
{
- INTEGER extensions_vref;
- LONGINT extensions_dirid;
+ GUEST extensions_vref;
+ GUEST extensions_dirid;
if(FindFolder(0, kExtensionFolderType, false, &extensions_vref,
&extensions_dirid)
@@ -580,10 +611,11 @@ OSErr Executor::C_GetSharedLibrary(Str63 library, OSType arch,
OSErr Executor::C_CloseConnection(ConnectionID *cidp)
{
- warning_trace_info("cidp = %p, cid = 0x%x", cidp, (uint32_t)*cidp);
+ warning_trace_info("cidp = %p, cid = 0x%p", cidp, *cidp);
return noErr;
}
+#if 0
enum
{
tracking_val_start = 0x88123456
@@ -631,20 +663,21 @@ tracking_value(const char *symbol_name)
warning_trace_info("name = '%s' (%p)\n", symbol_name, (Ptr)retval);
return retval;
}
+#endif
static OSErr
-symbol_lookup(uint32_t *indexp, Ptr *valp, uint8 imports[][4],
+symbol_lookup(uint32_t *indexp, Ptr *valp, uint8_t imports[][4],
const char *symbol_names, CFragClosureID closure_id)
{
OSErr retval;
int index;
- uint8 flags;
- uint8 class;
+ uint8_t flags;
+ uint8_t class1;
const char *symbol_name;
index = *indexp;
flags = imports[index][0] >> 4;
- class = imports[index][0] & 0xf;
+ class1 = imports[index][0] & 0xf;
symbol_name = (symbol_names + (imports[index][1] << 16) + (imports[index][2] << 8) + (imports[index][3] << 0));
{
@@ -685,34 +718,34 @@ symbol_lookup(uint32_t *indexp, Ptr *valp, uint8 imports[][4],
static OSErr
relocate(const PEFLoaderRelocationHeader_t reloc_headers[],
- int section, uint32_t reloc_count, uint8 reloc_instrs[][2],
- uint8 imports[][4], const char *symbol_names,
+ int section, uint32_t reloc_count, uint8_t reloc_instrs[][2],
+ uint8_t imports[][4], const char *symbol_names,
CFragClosureID closure_id, ConnectionID connp)
{
OSErr retval;
- uint8 *relocAddress;
+ uint8_t *relocAddress;
uint32_t importIndex;
- syn68k_addr_t sectionC;
- syn68k_addr_t sectionD;
+ uint32_t sectionC;
+ uint32_t sectionD;
int32_t repeat_remaining;
repeat_remaining = -1; /* i.e. not currently processing RelocSmRepeat or
RelocLgRepeat */
- relocAddress = (uint8 *)SYN68K_TO_US(connp->sects[section].start);
+ relocAddress = (uint8_t *)MR(connp->sects[section].start);
importIndex = 0;
- sectionC = connp->sects[0].start;
- sectionD = connp->sects[1].start;
+ sectionC = ptr_to_longint(MR(connp->sects[0].start));
+ sectionD = ptr_to_longint(MR(connp->sects[1].start));
retval = noErr;
while(reloc_count-- > 0)
{
- uint8 msb;
+ uint8_t msb;
msb = reloc_instrs[0][0];
if((msb >> 6) == 0)
{
- uint8 lsb;
+ uint8_t lsb;
int skipCount;
int relocCount;
@@ -844,7 +877,7 @@ relocate(const PEFLoaderRelocationHeader_t reloc_headers[],
--repeat_remaining;
else
{
- uint8 lsb;
+ uint8_t lsb;
lsb = reloc_instrs[0][1];
repeat_remaining = lsb + 1;
@@ -871,7 +904,7 @@ relocate(const PEFLoaderRelocationHeader_t reloc_headers[],
offset = ((msb & 3) << 24 | (reloc_instrs[0][1]) << 16 | (reloc_instrs[0][2]) << 8 | (reloc_instrs[0][3]));
relocAddress
- = (uint8 *)
+ = (uint8_t *)
SYN68K_TO_US(connp->sects[section].start)
+ offset;
}
@@ -972,9 +1005,9 @@ load_loader_section(const void *addr,
uint32_t n_imports;
uint32_t n_reloc_headers;
PEFImportedLibrary_t *libs;
- uint8(*imports)[4];
+ uint8_t(*imports)[4];
PEFLoaderRelocationHeader_t *reloc_headers;
- uint8 *relocation_area;
+ uint8_t *relocation_area;
char *symbol_names;
int i;
CFragClosureID closure_id;
@@ -985,7 +1018,7 @@ load_loader_section(const void *addr,
n_libs = PEFLIH_IMPORTED_LIBRARY_COUNT(lihp);
libs = (PEFImportedLibrary_t *)&lihp[1];
n_imports = PEFLIH_IMPORTED_SYMBOL_COUNT(lihp);
- imports = (uint8(*)[4]) & libs[n_libs];
+ imports = (uint8_t(*)[4]) & libs[n_libs];
n_reloc_headers = PEFLIH_RELOC_SECTION_COUNT(lihp);
reloc_headers = (PEFLoaderRelocationHeader_t *)imports[n_imports];
@@ -998,7 +1031,7 @@ load_loader_section(const void *addr,
for(i = 0, retval = noErr; retval == noErr && i < n_reloc_headers; ++i)
{
uint32_t reloc_count;
- uint8(*reloc_instrs)[2];
+ uint8_t(*reloc_instrs)[2];
reloc_count = PEFRLH_RELOC_COUNT(&reloc_headers[i]);
reloc_instrs = (decltype(reloc_instrs))(relocation_area
@@ -1528,4 +1561,4 @@ OSErr Executor::C_GetDiskFragment(FSSpecPtr fsp, LONGINT offset,
return retval;
}
-#endif
+#endif
\ No newline at end of file
diff --git a/src/config/arch/i386/i386.cpp b/src/config/arch/i386/i386.cpp
index 2eae6cb9..18b1f648 100644
--- a/src/config/arch/i386/i386.cpp
+++ b/src/config/arch/i386/i386.cpp
@@ -13,7 +13,7 @@ bool Executor::arch_init(void)
{
#if !defined(ALWAYS_ON_I486)
uint32_t scratch1, scratch2;
- uint8 i486_p;
+ uint8_t i486_p;
/* Adapted from _Assembly Language: For Real Programmers Only_ p. 561.
* This code determines if we are on an i486 or higher. We care because
diff --git a/src/config/arch/i386/i386.h b/src/config/arch/i386/i386.h
index caa1c39a..ef3740cf 100644
--- a/src/config/arch/i386/i386.h
+++ b/src/config/arch/i386/i386.h
@@ -22,7 +22,7 @@
#define ALWAYS_ON_I486
#endif
-#include "rsys/types.h"
+#include
#include "i386_djgpp_version.h"
#define SWAP16_FUNC_DEFN \
diff --git a/src/config/front-ends/qt/qt.cpp b/src/config/front-ends/qt/qt.cpp
index 31eb7c8e..13e059d2 100644
--- a/src/config/front-ends/qt/qt.cpp
+++ b/src/config/front-ends/qt/qt.cpp
@@ -318,11 +318,9 @@ class ExecutorWindow : public QRasterWindow
switch(ev->type())
{
case QEvent::FocusIn:
- std::cout << "focusin\n";
sendresumeevent(true);
break;
case QEvent::FocusOut:
- std::cout << "focusout\n";
sendsuspendevent();
break;
diff --git a/src/config/front-ends/sdl/map.h b/src/config/front-ends/sdl/map.h
index a19846f8..f59d114d 100644
--- a/src/config/front-ends/sdl/map.h
+++ b/src/config/front-ends/sdl/map.h
@@ -1,4 +1,4 @@
#if defined(CYGWIN32)
-extern void ROMlib_try_to_map(uint8 *first_byte_unavailable);
+extern void ROMlib_try_to_map(uint8_t *first_byte_unavailable);
#endif
diff --git a/src/config/front-ends/sdl/sdlscrap.cpp b/src/config/front-ends/sdl/sdlscrap.cpp
index 0726054b..7dceeb36 100644
--- a/src/config/front-ends/sdl/sdlscrap.cpp
+++ b/src/config/front-ends/sdl/sdlscrap.cpp
@@ -163,17 +163,17 @@ surface_from_dib(void *lp)
typedef struct
{
- uint8 zero PACKED;
- uint8 red PACKED;
- uint8 green PACKED;
- uint8 blue PACKED;
+ uint8_t zero PACKED;
+ uint8_t red PACKED;
+ uint8_t green PACKED;
+ uint8_t blue PACKED;
} sdl_pixel;
typedef struct
{
- uint8 blue PACKED;
- uint8 red PACKED;
- uint8 green PACKED;
+ uint8_t blue PACKED;
+ uint8_t red PACKED;
+ uint8_t green PACKED;
} dib_pixel;
int pixels_per_line;
bool inverted_p;
diff --git a/src/config/front-ends/sdl/sdlwin.cpp b/src/config/front-ends/sdl/sdlwin.cpp
index 2e921bce..48f00a51 100644
--- a/src/config/front-ends/sdl/sdlwin.cpp
+++ b/src/config/front-ends/sdl/sdlwin.cpp
@@ -29,7 +29,7 @@ static SDL_Surface *screen;
namespace Executor
{
/* These variables are required by the vdriver interface. */
-uint8 *vdriver_fbuf;
+uint8_t *vdriver_fbuf;
int vdriver_row_bytes;
int vdriver_width = 0;
int vdriver_height = 0;
@@ -170,12 +170,12 @@ bool Executor::vdriver_set_mode(int width, int height, int bpp, bool grayscale_p
/* WARNING! This results in surface memory that is unsafe to access! */
if(SDL_LockSurface(screen) < 0)
return (false);
- vdriver_fbuf = (uint8 *)screen->pixels;
+ vdriver_fbuf = (uint8_t *)screen->pixels;
SDL_UnlockSurface(screen);
fprintf(stderr, "Warning: Executor performing unsafe video access\n");
}
else
- vdriver_fbuf = (uint8 *)screen->pixels;
+ vdriver_fbuf = (uint8_t *)screen->pixels;
sdl_syswm_init();
diff --git a/src/config/front-ends/win32/windib.c b/src/config/front-ends/win32/windib.c
index 61011530..7beed189 100644
--- a/src/config/front-ends/win32/windib.c
+++ b/src/config/front-ends/win32/windib.c
@@ -150,7 +150,7 @@ bool vdriver_acceptable_mode_p(int width, int height, int bpp,
bool vdriver_set_mode(int width, int height, int bpp, bool grayscale_p)
{
HDC hdc;
- uint8 *dummy_fbuf;
+ uint8_t *dummy_fbuf;
if(!vdriver_acceptable_mode_p(width, height, bpp, grayscale_p, false))
return (false);
diff --git a/src/config/front-ends/win32/windriver.c b/src/config/front-ends/win32/windriver.c
index ccfbb7e4..a4a9e3d6 100644
--- a/src/config/front-ends/win32/windriver.c
+++ b/src/config/front-ends/win32/windriver.c
@@ -14,7 +14,7 @@
HWND Win_Window;
/* Variables required by the vdriver interface */
-uint8 *vdriver_fbuf = NULL;
+uint8_t *vdriver_fbuf = NULL;
int vdriver_row_bytes;
int vdriver_width = VDRIVER_DEFAULT_SCREEN_WIDTH;
int vdriver_height = VDRIVER_DEFAULT_SCREEN_HEIGHT;
diff --git a/src/config/front-ends/x/x.cpp b/src/config/front-ends/x/x.cpp
index 2e01cf21..abae96e5 100644
--- a/src/config/front-ends/x/x.cpp
+++ b/src/config/front-ends/x/x.cpp
@@ -73,7 +73,7 @@ ROMlib_set_use_scancodes(bool val)
namespace Executor
{
-uint8 *vdriver_fbuf;
+uint8_t *vdriver_fbuf;
int vdriver_row_bytes;
@@ -405,7 +405,7 @@ void alloc_x_image(int bpp, int width, int height,
#define R9 0x88
#define NOTKEY 0x89
-static uint8 latin_one_table_data[] = {
+static uint8_t latin_one_table_data[] = {
MKV_PRINT_SCREEN,
NOTKEY, /* 1 */
NOTKEY, /* 2 */
@@ -531,7 +531,7 @@ static uint8 latin_one_table_data[] = {
MKV_z, /* z */
};
-static uint8 misc_table_data[] = {
+static uint8_t misc_table_data[] = {
MKV_BACKSPACE, /* 8 back space */
MKV_TAB, /* 9 tab */
LINEFD, /* 10 line feed */
@@ -791,10 +791,10 @@ static uint8 misc_table_data[] = {
typedef struct key_table_data
{
- uint8 high_byte;
+ uint8_t high_byte;
int min;
int size;
- uint8 *data;
+ uint8_t *data;
} key_table_t;
key_table_t key_tables[] = {
@@ -814,7 +814,7 @@ x_keysym_to_mac_keywhat(unsigned int keysym, int16_t button_state,
unsigned char *virt_out)
{
key_table_t *table;
- uint8 keysym_high_byte, keysym_low_byte;
+ uint8_t keysym_high_byte, keysym_low_byte;
int16_t keywhat;
int i;
@@ -859,11 +859,11 @@ x_keysym_to_mac_keywhat(unsigned int keysym, int16_t button_state,
}
static bool
-keydown(uint8 key)
+keydown(uint8_t key)
{
bool retval;
int i;
- uint8 bit;
+ uint8_t bit;
retval = false;
@@ -1052,7 +1052,7 @@ post_pending_x_events(syn68k_addr_t interrupt_addr, void *unused)
modifier = 0;
if(use_scan_codes)
{
- uint8 keycode;
+ uint8_t keycode;
keycode = evt.xkey.keycode;
if(keycode < NELEM(x_keycode_to_mac_virt))
@@ -1992,7 +1992,7 @@ void init_x_cmap(void)
}
static ColorSpec cmap[256];
-static uint8 depth_table_space[DEPTHCONV_MAX_TABLE_SIZE];
+static uint8_t depth_table_space[DEPTHCONV_MAX_TABLE_SIZE];
void Executor::vdriver_get_colors(int first_color, int num_colors,
ColorSpec *colors)
diff --git a/src/config/os/cygwin32/win_queue.c b/src/config/os/cygwin32/win_queue.c
index 4237797d..e5f23100 100644
--- a/src/config/os/cygwin32/win_queue.c
+++ b/src/config/os/cygwin32/win_queue.c
@@ -11,7 +11,7 @@
static bool timer_driven_events_p = true;
PUBLIC void
-win_queue(volatile uint8 *pendingp)
+win_queue(volatile uint8_t *pendingp)
{
if(timer_driven_events_p)
*pendingp = true;
diff --git a/src/config/os/cygwin32/win_queue.h b/src/config/os/cygwin32/win_queue.h
index 75743c4f..9603542f 100644
--- a/src/config/os/cygwin32/win_queue.h
+++ b/src/config/os/cygwin32/win_queue.h
@@ -1,7 +1,7 @@
#if !defined(__WIN_QUEUE_H__)
#define __WIN_QUEUE_H__
-extern void win_queue(volatile uint8 *pendingp);
+extern void win_queue(volatile uint8_t *pendingp);
extern void set_timer_driven_events(bool value);
#endif
diff --git a/src/config/os/cygwin32/win_serial.c b/src/config/os/cygwin32/win_serial.c
index 55659cea..c6083928 100644
--- a/src/config/os/cygwin32/win_serial.c
+++ b/src/config/os/cygwin32/win_serial.c
@@ -46,7 +46,7 @@ enum
static struct
{
int val; /* 0 = COM1, 1 = COM2 ... */
- uint8 key;
+ uint8_t key;
} serial_port_map[] = {
{ 0, 0 },
{ 1, 1 },
@@ -267,7 +267,7 @@ enum
#define COM_TEMPLATE "COM1"
static HANDLE
-port_to_handle(uint8 port)
+port_to_handle(uint8_t port)
{
HANDLE retval;
int com_minus_1;
@@ -315,7 +315,7 @@ port_to_handle(uint8 port)
*/
static int
-dos_serial_bios_init_port(uint8 port,
+dos_serial_bios_init_port(uint8_t port,
uint32_t baud,
uint32_t parity,
uint32_t stop_bits,
diff --git a/src/config/os/win32/win_serial.cpp b/src/config/os/win32/win_serial.cpp
index 3d1c5ef7..210053d3 100644
--- a/src/config/os/win32/win_serial.cpp
+++ b/src/config/os/win32/win_serial.cpp
@@ -43,7 +43,7 @@ int LOOKUP_KEY(ValType *valp, KeyType thekey, const MapType (&map)[n])
static struct
{
int val; /* 0 = COM1, 1 = COM2 ... */
- uint8 key;
+ uint8_t key;
} serial_port_map[] = {
{ 0, 0 },
{ 1, 1 },
@@ -264,7 +264,7 @@ enum
#define COM_TEMPLATE "COM1"
static HANDLE
-port_to_handle(uint8 port)
+port_to_handle(uint8_t port)
{
HANDLE retval;
int com_minus_1;
@@ -312,7 +312,7 @@ port_to_handle(uint8 port)
*/
static int
-dos_serial_bios_init_port(uint8 port,
+dos_serial_bios_init_port(uint8_t port,
uint32_t baud,
uint32_t parity,
uint32_t stop_bits,
diff --git a/src/ctlArrows.cpp b/src/ctlArrows.cpp
index e39495c0..d8298885 100644
--- a/src/ctlArrows.cpp
+++ b/src/ctlArrows.cpp
@@ -731,7 +731,7 @@ LONGINT Executor::C_cdef16(INTEGER var, ControlHandle c, INTEGER mess,
RectRgn(rh, &HxX(c, contrlRect));
dlp.ctl = c;
dlp.param = param;
- DeviceLoop(rh, (DeviceLoopDrawingProcPtr)P_new_draw_scroll, ptr_to_longint(&dlp), 0);
+ DeviceLoop(rh, &new_draw_scroll, ptr_to_longint(&dlp), 0);
DisposeRgn(rh);
}
SetPenState(&ps);
@@ -789,7 +789,7 @@ LONGINT Executor::C_cdef16(INTEGER var, ControlHandle c, INTEGER mess,
RectRgn(rh, &HxX(c, contrlRect));
dlp.ctl = c;
dlp.param = param;
- DeviceLoop(rh, (DeviceLoopDrawingProcPtr)P_new_pos_ctl, ptr_to_longint(&dlp), 0);
+ DeviceLoop(rh, &new_pos_ctl, ptr_to_longint(&dlp), 0);
DisposeRgn(rh);
}
break;
diff --git a/src/ctlMisc.cpp b/src/ctlMisc.cpp
index 8226ba37..2d2544e3 100644
--- a/src/ctlMisc.cpp
+++ b/src/ctlMisc.cpp
@@ -14,6 +14,7 @@
#include "rsys/ctl.h"
#include "rsys/resource.h"
#include "rsys/hook.h"
+#include "rsys/functions.impl.h"
/* cheat, and make this a plain ctab, so we can use our old accessor
macros */
@@ -125,15 +126,15 @@ LONGINT Executor::C_GetCRefCon(ControlHandle c) /* IMI-327 */
return Hx(c, contrlRfCon);
}
-void Executor::C_SetCtlAction(ControlHandle c, ProcPtr a) /* IMI-328 */
+void Executor::C_SetCtlAction(ControlHandle c, ControlActionUPP a) /* IMI-328 */
{
- if(a != (ProcPtr)-1)
+ if(a != (ControlActionUPP)-1)
HxX(c, contrlAction) = RM(a);
else
- HxX(c, contrlAction) = guest_cast(CLC(-1));
+ HxX(c, contrlAction) = guest_cast(CLC(-1));
}
-ProcPtr Executor::C_GetCtlAction(ControlHandle c) /* IMI-328 */
+ControlActionUPP Executor::C_GetCtlAction(ControlHandle c) /* IMI-328 */
{
return HxP(c, contrlAction);
}
@@ -194,18 +195,17 @@ int32_t Executor::ROMlib_ctlcall(ControlHandle c, int16_t i, int32_t l)
cp = (ctlfuncp)STARH(defproc);
- if(cp == P_cdef0)
- retval = C_cdef0(VAR(c), c, i, l);
- else if(cp == P_cdef16)
- retval = C_cdef16(VAR(c), c, i, l);
- else if(cp == P_cdef1008)
- retval = C_cdef1008(VAR(c), c, i, l);
+ if(cp == &cdef0)
+ retval = cdef0(VAR(c), c, i, l);
+ else if(cp == &cdef16)
+ retval = cdef16(VAR(c), c, i, l);
+ else if(cp == &cdef1008)
+ retval = cdef1008(VAR(c), c, i, l);
else
{
ROMlib_hook(ctl_cdefnumber);
HLockGuard guard(defproc);
- retval = CToPascalCall((void *)(ctlfuncp)STARH(defproc),
- ctop(&C_cdef0), VAR(c), c, i, l);
+ retval = cp(VAR(c), c, i, l);
}
return retval;
diff --git a/src/ctlMouse.cpp b/src/ctlMouse.cpp
index b2689d98..0935d203 100644
--- a/src/ctlMouse.cpp
+++ b/src/ctlMouse.cpp
@@ -16,9 +16,9 @@
#include "rsys/ctl.h"
#include "rsys/wind.h"
-#include "rsys/pstuff.h"
#include "rsys/stdfile.h"
#include "rsys/hook.h"
+#include
/*
* Loser suggests that controls are tested in the opposite order that
@@ -66,23 +66,20 @@ INTEGER Executor::C_FindControl(Point p, WindowPtr w,
return retval;
}
-typedef void (*actionp)(ControlHandle c, INTEGER part);
-static inline void CALLACTION(ControlHandle ch, INTEGER inpart, ProcPtr a)
+static inline void CALLACTION(ControlHandle ch, INTEGER inpart, ControlActionUPP a)
{
ROMlib_hook(ctl_cdefnumber);
- HOOKSAVEREGS();
- if(a == (ProcPtr)P_ROMlib_mytrack)
- C_ROMlib_mytrack(ch, inpart);
- else if(a == (ProcPtr)P_ROMlib_stdftrack)
- C_ROMlib_stdftrack(ch, inpart);
+ if(a == &ROMlib_mytrack)
+ ROMlib_mytrack(ch, inpart);
+ else if(a == &ROMlib_stdftrack)
+ ROMlib_stdftrack(ch, inpart);
else
- CToPascalCall((void *)a, ctop(&C_ROMlib_mytrack), ch, inpart);
- HOOKRESTOREREGS();
+ a(ch, inpart);
}
INTEGER Executor::C_TrackControl(ControlHandle c, Point p,
- ProcPtr a) /* IMI-323 */
+ ControlActionUPP a) /* IMI-323 */
{
INTEGER partstart, inpart;
EventRecord ev;
@@ -122,12 +119,12 @@ INTEGER Executor::C_TrackControl(ControlHandle c, Point p,
goto done;
}
- if(a == (ProcPtr)-1L)
+ if(a == (ControlActionUPP)-1)
a = CTL_ACTION(c);
/* #if 0 reading the above code suggests that
it's impossible to get here */
- if(0 && a == (ProcPtr)-1L)
+ if(0 && a == (ControlActionUPP)-1)
{
/* totally custom */
while(!GetOSEvent(mUpMask, &ev))
@@ -161,7 +158,7 @@ INTEGER Executor::C_TrackControl(ControlHandle c, Point p,
PATASSIGN(LM(DragPattern), ltGray);
l = DragTheRgn(rh, p, &thumb._tlimit, &thumb._tslop,
- CW(thumb._taxis), a);
+ CW(thumb._taxis), (ProcPtr)a);
if((uint32_t)l != 0x80008000)
{
CTLCALL(c, posCntl, l);
diff --git a/src/ctlPopup.cpp b/src/ctlPopup.cpp
index bd1dfb2a..045cf38b 100644
--- a/src/ctlPopup.cpp
+++ b/src/ctlPopup.cpp
@@ -61,7 +61,7 @@ init(ControlHandle ctl)
CTL_DATA_X(ctl) = RM((Handle)data);
- CTL_ACTION_X(ctl) = guest_cast(CLC(-1));
+ CTL_ACTION_X(ctl) = guest_cast(CLC(-1));
CTL_VALUE_X(ctl) = CWC(1);
CTL_MIN_X(ctl) = CWC(1);
CTL_MAX_X(ctl) = CW(CountMItems(mh));
@@ -338,7 +338,7 @@ draw(ControlHandle ctl, draw_state_t draw_state,
appropriate */
{
int title_left, title_right;
- uint8 title_length;
+ uint8_t title_length;
set_text_face(true, flags, item_info);
@@ -353,7 +353,7 @@ draw(ControlHandle ctl, draw_state_t draw_state,
title_right -= StringWidth((StringPtr)ellipsis);
- title_length = *(uint8 *)item_title;
+ title_length = *(uint8_t *)item_title;
for(i = 1, width = 0; i <= title_length; i++)
{
width += CharWidth(item_title[i]);
@@ -368,11 +368,11 @@ draw(ControlHandle ctl, draw_state_t draw_state,
MoveTo(title_right, baseline);
DrawString((StringPtr)ellipsis);
- *(uint8 *)item_title = i;
+ *(uint8_t *)item_title = i;
MoveTo(item_left + icon_info.width,
baseline);
DrawString(item_title);
- *(uint8 *)item_title = title_length;
+ *(uint8_t *)item_title = title_length;
}
else
{
diff --git a/src/dcache.cpp b/src/dcache.cpp
index 635ab563..c363e2a0 100644
--- a/src/dcache.cpp
+++ b/src/dcache.cpp
@@ -14,7 +14,7 @@ typedef struct _dcache_entry_t
uint32_t fd; /* tag */
uint32_t offset; /* block's offset */
uint32_t when_last_accessed; /* the smaller the older; 0 means invalid */
- uint8 data[DCACHE_BLOCK_SIZE]; /* actual cached data */
+ uint8_t data[DCACHE_BLOCK_SIZE]; /* actual cached data */
write_callback_funcp_t dirty_callback; /* callback to write dirty data
(only set if the data is indeed
dirty) */
@@ -121,7 +121,7 @@ fill_run(dcache_entry_t *dps[], int nelems, int *indexp, int offset_increment,
}
static void
-copy_buffer(uint8 **bufpp, dcache_entry_t *d)
+copy_buffer(uint8_t **bufpp, dcache_entry_t *d)
{
memcpy(*bufpp, d->data, sizeof d->data);
*bufpp += DCACHE_BLOCK_SIZE;
@@ -129,7 +129,7 @@ copy_buffer(uint8 **bufpp, dcache_entry_t *d)
}
static void
-coalesce_writes(uint32_t fd, uint8 **bufpp, uint32_t *lengthp, uint32_t *offsetp)
+coalesce_writes(uint32_t fd, uint8_t **bufpp, uint32_t *lengthp, uint32_t *offsetp)
{
dcache_entry_t *backwards_dps[MAX_BACKWARDS];
int backwards_index;
@@ -148,8 +148,8 @@ coalesce_writes(uint32_t fd, uint8 **bufpp, uint32_t *lengthp, uint32_t *offsetp
if(backwards_index > 0 || forwards_index > 0)
{
int n_bufs;
- uint8 *bufp;
- uint8 *outbufp;
+ uint8_t *bufp;
+ uint8_t *outbufp;
uint32_t length;
dcache_entry_t *d;
int i;
@@ -158,7 +158,7 @@ coalesce_writes(uint32_t fd, uint8 **bufpp, uint32_t *lengthp, uint32_t *offsetp
/* allocate space for run */
length = n_bufs * DCACHE_BLOCK_SIZE;
- bufp = (uint8 *)malloc(length);
+ bufp = (uint8_t *)malloc(length);
outbufp = bufp;
for(i = backwards_index - 1; i >= 0; --i)
@@ -186,7 +186,7 @@ dcache_flush_entry(dcache_entry_t *dp)
retval = true;
else
{
- uint8 *bufp;
+ uint8_t *bufp;
uint32_t length;
uint32_t offset;
write_callback_funcp_t dirty_callback;
@@ -272,7 +272,7 @@ static dcache_entry_t *
read_cylinder(uint32_t fd, uint32_t offset, read_callback_funcp_t read_callback)
{
uint32_t nread;
- uint8 buf[SECTORS_PER_FLOPPY_CYLINDER * 512], *bufp;
+ uint8_t buf[SECTORS_PER_FLOPPY_CYLINDER * 512], *bufp;
dcache_entry_t *retval;
uint32_t new_offset;
@@ -360,7 +360,7 @@ Executor::dcache_read(uint32_t fd, void *buf, uint32_t offset, uint32_t count,
uint32_t n_to_copy;
n_to_copy = MIN((uint32_t)DCACHE_BLOCK_SIZE, count - n);
- memcpy((uint8 *)buf + n, d->data, n_to_copy);
+ memcpy((uint8_t *)buf + n, d->data, n_to_copy);
retval += n_to_copy;
}
offset += DCACHE_BLOCK_SIZE;
@@ -401,7 +401,7 @@ Executor::dcache_write(uint32_t fd, const void *buf, uint32_t offset, uint32_t c
}
}
d->dirty_callback = dirty_callback;
- memcpy(d->data, (const uint8 *)buf + n, DCACHE_BLOCK_SIZE);
+ memcpy(d->data, (const uint8_t *)buf + n, DCACHE_BLOCK_SIZE);
d->when_last_accessed = now;
retval += DCACHE_BLOCK_SIZE;
}
diff --git a/src/dcconvert.cpp b/src/dcconvert.cpp
index c05ca306..9855cdfc 100644
--- a/src/dcconvert.cpp
+++ b/src/dcconvert.cpp
@@ -41,8 +41,8 @@ namespace Executor
compute_add, table_type) \
void \
func_name(const void *raw_table, \
- const uint8 *src_base, int src_row_bytes, \
- uint8 *dst_base, int dst_row_bytes, \
+ const uint8_t *src_base, int src_row_bytes, \
+ uint8_t *dst_base, int dst_row_bytes, \
int top, int left, int bottom, int right) \
{ \
int byte_width, height; \
@@ -119,8 +119,8 @@ namespace Executor
*/
#define INP_OUTP_DECL \
- register const uint8 *inp asm("%si"); \
- register uint8 *outp asm("%di")
+ register const uint8_t *inp asm("%si"); \
+ register uint8_t *outp asm("%di")
/* This can do unaligned movsl's, but it's not clear who would ever
* call this anyway, so I'm not going to worry about it.
@@ -452,8 +452,8 @@ namespace Executor
#if !defined(INP_OUTP_DECL)
#define INP_OUTP_DECL \
- const uint8 *inp; \
- uint8 *outp
+ const uint8_t *inp; \
+ uint8_t *outp
#endif /* !defined (INP_OUTP_DECL) */
#if !defined(CONVERT_COPY)
@@ -603,7 +603,7 @@ namespace Executor
do \
{ \
int w, shift; \
- uint8 v; \
+ uint8_t v; \
\
shift = 8 - (out_bpp); \
v = 0; \
diff --git a/src/dcmaketables.cpp b/src/dcmaketables.cpp
index 7e76e674..1c9599bd 100644
--- a/src/dcmaketables.cpp
+++ b/src/dcmaketables.cpp
@@ -33,7 +33,7 @@ namespace Executor
* You can also use the DEPTHCONV_MAX_TABLE_SIZE macro, which is
* guaranteed to always be "big enough":
*
- * static uint8 table[DEPTHCONV_MAX_TABLE_SIZE];
+ * static uint8_t table[DEPTHCONV_MAX_TABLE_SIZE];
*
* depthconv_make_ind_to_ind_table (table, 1, 8, &size, cspec_array);
*
@@ -194,25 +194,25 @@ DEPTH_INCREASING_BY_FACTOR_OF_2(8, 16)
} \
}
-DEPTH_NONDECREASING(1, 1, uint8)
+DEPTH_NONDECREASING(1, 1, uint8_t)
/* 1 -> 2 handled above by `DEPTH_INCREASING_BY_FACTOR_OF_2'. */
DEPTH_NONDECREASING(1, 4, uint32_t)
DEPTH_NONDECREASING(1, 8, uint32_t)
DEPTH_NONDECREASING(1, 16, uint32_t)
DEPTH_NONDECREASING(1, 32, uint32_t)
-DEPTH_NONDECREASING(2, 2, uint8)
+DEPTH_NONDECREASING(2, 2, uint8_t)
/* 2 -> 4 handled above by `DEPTH_INCREASING_BY_FACTOR_OF_2'. */
DEPTH_NONDECREASING(2, 8, uint32_t)
DEPTH_NONDECREASING(2, 16, uint32_t)
DEPTH_NONDECREASING(2, 32, uint32_t)
-DEPTH_NONDECREASING(4, 4, uint8)
+DEPTH_NONDECREASING(4, 4, uint8_t)
/* 4 -> 8 handled above by `DEPTH_INCREASING_BY_FACTOR_OF_2'. */
DEPTH_NONDECREASING(4, 16, uint32_t)
DEPTH_NONDECREASING(4, 32, uint32_t)
-DEPTH_NONDECREASING(8, 8, uint8)
+DEPTH_NONDECREASING(8, 8, uint8_t)
/* 8 -> 16 handled above by `DEPTH_INCREASING_BY_FACTOR_OF_2'. */
DEPTH_NONDECREASING(8, 32, uint32_t)
@@ -221,13 +221,13 @@ DEPTH_NONDECREASING(8, 32, uint32_t)
maketable_##bpp1##_##bpp2(void *d, const uint32_t *map) \
{ \
int c; \
- uint8 *dst; \
+ uint8_t *dst; \
\
- for(c = 0, dst = (uint8 *)d; c < 256; c++) \
+ for(c = 0, dst = (uint8_t *)d; c < 256; c++) \
{ \
long offset; \
int r, l; \
- uint8 new1; \
+ uint8_t new1; \
\
/* Loop over all input pixels and create the lookup table entry. */ \
for(r = 8 - bpp1, l = (8 * bpp2 / bpp1) - bpp2, new1 = 0; \
diff --git a/src/desperate.cpp b/src/desperate.cpp
deleted file mode 100644
index b7af66b2..00000000
--- a/src/desperate.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 1996 by Abacus Research and
- * Development, Inc. All rights reserved.
- */
-
-#include "rsys/common.h"
-#include "rsys/file.h"
-#include "rsys/desperate.h"
-#include "OSUtil.h"
-
-using namespace Executor;
-
-static int
-desperate_switch_index(int argc, char **argv)
-{
- int i;
- for(i = 0; i < argc; i++)
- if(!strcmp("-desperate", argv[i]))
- return i;
- return -1;
-}
-
-static void
-print_cmd_line_arg(const char *str)
-{
- char *c;
-
- c = (char *)alloca(strlen(str) + 1);
- strcpy(c, str);
-#if defined(MSDOS)
- convert_slashs_to_backslashs(c);
-#endif
-
- if(c[0] == '\0' || strchr(c, ' ') || strchr(c, '\t'))
- printf(" \"%s\"", c);
- else
- printf(" %s", c);
-}
-
-/* FIXME - these should be moved to configuration files somehow. */
-#if defined(LINUX)
-static const char *desperate_switches[] = {
- "-nosound",
- "-nodrivesearch",
- "-memory",
- "2M",
-};
-#else
-static const char *desperate_switches[] = {
- "-nosound",
- "-memory",
- "2M",
-};
-#endif
-
-/* Searches for an occurrence of "-desperate" in the command line.
- * If it finds one, it is replaced with a list of command-line
- * switches whose purpose is to put Executor into "desperate" mode,
- * where it uses as few system features as possible. If such
- * a switch is found, *argcp and *argvp are modified to reflect
- * the new command line switches.
- *
- * Returns true except in case of a parsing error (right now that
- * can only happen with duplicate "-desperate" switches).
- */
-bool Executor::handle_desperate_switch(int *argcp, char ***argvp)
-{
- bool success_p;
- char **argv, **new_argv;
- int i, s, argc, new_argc;
-
- argc = *argcp;
- argv = *argvp;
-
- /* See if the "-desperate" switch is in the list. */
- s = desperate_switch_index(argc, argv);
- if(s == -1)
- {
- success_p = true;
- goto done;
- }
-
- /* See if the "-desperate" switch is in the list twice. */
- if(desperate_switch_index(argc - s - 1, argv + s + 1) != -1)
- {
- fprintf(stderr, "Duplicate \"-desperate\" switch.\n");
- success_p = false;
- goto done;
- }
-
- /* Construct the new list by replacing the "-desperate" switch
- * with all of the switches it implies. There is a small memory
- * leak here since we'll never reclaim this memory.
- */
- new_argc = argc + NELEM(desperate_switches) - 1;
- new_argv = (char **)malloc((new_argc + 1) * sizeof new_argv[0]);
- memcpy(new_argv, argv, s * sizeof new_argv[0]);
- memcpy(new_argv + s, desperate_switches, sizeof desperate_switches);
- memcpy(new_argv + s + NELEM(desperate_switches),
- argv + s + 1, (argc - s - 1) * sizeof new_argv[0]);
- new_argv[new_argc] = NULL;
-
- puts(
- "Executor is now entering desperation mode and attempting to use as few\n"
- "system features as possible. This is useful if you find that Executor\n"
- "won't start for you, a problem usually caused by driver conflicts. If\n"
- "you find that this \"desperation mode\" works, you can experiment and\n"
- "see which of these command-line switches are necessary for you to get\n"
- "Executor to work:\n");
- for(i = 0; i < new_argc; i++)
- print_cmd_line_arg(new_argv[i]);
-
- fputs("\n\nWaiting ten seconds...", stdout);
- fflush(stdout);
-#if !defined(CYGWIN32)
- sleep(10);
-#else
- Delay(60 * 10, (LONGINT *)0);
-#endif
- puts("done.");
- fflush(stdout);
-
- *argcp = new_argc;
- *argvp = new_argv;
- success_p = true;
-
-done:
- return success_p;
-}
diff --git a/src/dialAlert.cpp b/src/dialAlert.cpp
index e797a657..61e6d202 100644
--- a/src/dialAlert.cpp
+++ b/src/dialAlert.cpp
@@ -39,7 +39,7 @@ static icon_item_template_t icon_item_template = {
/* to be filled in later */ CWC((short)-1),
};
-INTEGER Executor::C_Alert(INTEGER id, ProcPtr fp) /* IMI-418 */
+INTEGER Executor::C_Alert(INTEGER id, ModalFilterProcPtr fp) /* IMI-418 */
{
alth ah;
Handle h;
@@ -172,19 +172,19 @@ INTEGER Executor::C_Alert(INTEGER id, ProcPtr fp) /* IMI-418 */
return CW(hit);
}
-INTEGER Executor::C_StopAlert(INTEGER id, ProcPtr fp) /* IMI-419 */
+INTEGER Executor::C_StopAlert(INTEGER id, ModalFilterProcPtr fp) /* IMI-419 */
{
alert_extra_icon_id = stopIcon;
return Alert(id, fp);
}
-INTEGER Executor::C_NoteAlert(INTEGER id, ProcPtr fp) /* IMI-420 */
+INTEGER Executor::C_NoteAlert(INTEGER id, ModalFilterProcPtr fp) /* IMI-420 */
{
alert_extra_icon_id = noteIcon;
return Alert(id, fp);
}
-INTEGER Executor::C_CautionAlert(INTEGER id, ProcPtr fp) /* IMI-420 */
+INTEGER Executor::C_CautionAlert(INTEGER id, ModalFilterProcPtr fp) /* IMI-420 */
{
alert_extra_icon_id = cautionIcon;
return Alert(id, fp);
diff --git a/src/dialDispatch.cpp b/src/dialDispatch.cpp
index 2b68c1c2..59717640 100644
--- a/src/dialDispatch.cpp
+++ b/src/dialDispatch.cpp
@@ -4,7 +4,6 @@
#include "rsys/common.h"
#include "EventMgr.h"
-#include "rsys/pstuff.h"
#include "DialogMgr.h"
@@ -14,7 +13,7 @@ using namespace Executor;
OSErr Executor::C_GetStdFilterProc(GUEST *proc)
{
- *proc = RM((ProcPtr)P_ROMlib_myfilt);
+ *proc = RM((ProcPtr)&ROMlib_myfilt);
warning_unimplemented("no specs"); /* i.e. no documentation on how this
routine is *supposed* to work, so
we may be blowing off something
diff --git a/src/dialHandle.cpp b/src/dialHandle.cpp
index 3f735b21..a851f938 100644
--- a/src/dialHandle.cpp
+++ b/src/dialHandle.cpp
@@ -25,18 +25,19 @@
#include "rsys/mman.h"
#include "rsys/itm.h"
#include "rsys/prefs.h"
-#include "rsys/pstuff.h"
#include "rsys/stdfile.h"
#include "rsys/print.h"
#include "rsys/hook.h"
#include "rsys/executor.h"
#include "rsys/osevent.h"
+#include
using namespace Executor;
-BOOLEAN Executor::C_ROMlib_myfilt(DialogPeek dp, EventRecord *evt,
+BOOLEAN Executor::C_ROMlib_myfilt(DialogPtr dlg, EventRecord *evt,
GUEST *ith) /* IMI-415 */
{
+ DialogPeek dp = (DialogPeek)dlg;
itmp ip;
ControlHandle c;
WriteWhenType when;
@@ -68,8 +69,8 @@ BOOLEAN Executor::C_ROMlib_myfilt(DialogPeek dp, EventRecord *evt,
#define DIALOGEVTS \
(mDownMask | mUpMask | keyDownMask | autoKeyMask | updateMask | activMask)
-typedef BOOLEAN (*modalprocp)(DialogPtr dial, EventRecord *evtp,
- GUEST *iht);
+using modalprocp = UPP *iht)>;
#define CALLMODALPROC(dp, evtp, ip, fp2) \
ROMlib_CALLMODALPROC((dp), (evtp), (ip), (modalprocp)(fp2))
@@ -78,27 +79,11 @@ static inline BOOLEAN
ROMlib_CALLMODALPROC(DialogPtr dp,
EventRecord *evtp, GUEST *ip, modalprocp fp)
{
- BOOLEAN retval;
-
- if(fp == (modalprocp)P_ROMlib_myfilt)
- retval = C_ROMlib_myfilt((DialogPeek)dp, evtp, ip);
- else if(fp == (modalprocp)P_ROMlib_stdffilt)
- retval = C_ROMlib_stdffilt((DialogPeek)dp, evtp, ip);
- else if(fp == (modalprocp)P_ROMlib_numsonlyfilterproc)
- retval = C_ROMlib_numsonlyfilterproc((DialogPeek)dp, evtp, ip);
- else if(fp == (modalprocp)P_ROMlib_stlfilterproc)
- retval = C_ROMlib_stlfilterproc((DialogPeek)dp, evtp, ip);
- else
- {
- ROMlib_hook(dial_modalnumber);
- HOOKSAVEREGS();
- retval = CToPascalCall((void *)fp, ctop(&C_ROMlib_myfilt), dp, evtp, ip);
- HOOKRESTOREREGS();
- }
- return retval;
+ ROMlib_hook(dial_modalnumber);
+ return fp(dp, evtp, ip);
}
-typedef void (*useritemp)(WindowPtr wp, INTEGER item);
+using useritemp = UPP;
#define CALLUSERITEM(dp, inum, temph) \
ROMlib_CALLUSERITEM(dp, inum, (useritemp)(temph))
@@ -107,17 +92,8 @@ static inline void
ROMlib_CALLUSERITEM(DialogPtr dp,
INTEGER inum, useritemp temph)
{
- if(temph == (useritemp)P_ROMlib_filebox)
- C_ROMlib_filebox((DialogPeek)dp, inum);
- else if(temph == (useritemp)P_ROMlib_circle_ok)
- C_ROMlib_circle_ok((DialogPeek)dp, inum);
- else if(temph == (useritemp)P_ROMlib_orientation)
- C_ROMlib_orientation((DialogPeek)dp, inum);
- else
- {
- ROMlib_hook(dial_usernumber);
- CToPascalCall((void *)temph, ctop(&C_ROMlib_filebox), dp, inum);
- }
+ ROMlib_hook(dial_usernumber);
+ temph(dp, inum);
}
#define _FindWindow(pt, wp) \
@@ -140,7 +116,7 @@ ROMlib_CALLUSERITEM(DialogPtr dp,
small, but THEGDEVICE_SAVE_EXCURSION prevents us from using #if, so
we have a lot of replicated code. This is scary and should be fixed. */
-void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
+void Executor::C_ModalDialog(ModalFilterProcPtr fp, GUEST *item) /* IMI-415 */
{
/*
* The code used to save thePort and restore it at the end of the
@@ -154,7 +130,7 @@ void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
DialogPeek dp;
GUEST ndp;
TEHandle idle;
- ProcPtr fp2;
+ ModalFilterProcPtr fp2;
Point whereunswapped;
bool done;
@@ -167,7 +143,7 @@ void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
if(fp)
fp2 = fp;
else
- fp2 = (ProcPtr)P_ROMlib_myfilt;
+ fp2 = &ROMlib_myfilt;
for(done = false; !done;)
{
WindowPtr temp_wp;
@@ -213,7 +189,7 @@ void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
#else /* defined (ALLOW_MOVABLE_MODAL) */
-void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
+void Executor::C_ModalDialog(ModalFilterProcPtr fp, GUEST *item) /* IMI-415 */
{
/*
* The code used to save thePort and restore it at the end of the
@@ -228,7 +204,7 @@ void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
DialogPeek dp;
GUEST ndp;
TEHandle idle;
- ProcPtr fp2;
+ ModalFilterProcPtr fp2;
Point whereunswapped;
bool done;
@@ -241,7 +217,7 @@ void Executor::C_ModalDialog(ProcPtr fp, GUEST *item) /* IMI-415 */
if(fp)
fp2 = fp;
else
- fp2 = (ProcPtr)P_ROMlib_myfilt;
+ fp2 = &ROMlib_myfilt;
for(done = false; !done;)
{
WindowPtr temp_wp;
@@ -690,14 +666,12 @@ void Executor::BEEPER(INTEGER n)
{
if(LM(DABeeper))
{
- if((void (*)(INTEGER))MR(LM(DABeeper)) == P_ROMlib_mysound)
+ if(MR(LM(DABeeper)) == &ROMlib_mysound)
C_ROMlib_mysound((n));
else
{
- HOOKSAVEREGS();
ROMlib_hook(dial_soundprocnumber);
- Executor::CToPascalCall((void *)(soundprocp)MR(LM(DABeeper)), ctop(&C_ROMlib_mysound), n);
- HOOKRESTOREREGS();
+ MR(LM(DABeeper))(n);
}
}
}
diff --git a/src/dialInit.cpp b/src/dialInit.cpp
index 8f812ae9..6ff5439e 100644
--- a/src/dialInit.cpp
+++ b/src/dialInit.cpp
@@ -22,7 +22,7 @@ void Executor::C_ROMlib_mysound(INTEGER i)
SysBeep(5);
}
-void Executor::C_ErrorSound(ProcPtr sp) /* IMI-411 */
+void Executor::C_ErrorSound(SoundProcPtr sp) /* IMI-411 */
{
LM(DABeeper) = RM(sp);
}
@@ -35,7 +35,7 @@ void Executor::C_InitDialogs(ProcPtr rp) /* IMI-411 */
LM(DlgFont) = CWC(systemFont);
LM(ResumeProc) = RM(rp);
- ErrorSound((ProcPtr)P_ROMlib_mysound);
+ ErrorSound(&ROMlib_mysound);
Handle tmp;
PtrToHand(nothing, &tmp, (LONGINT)1);
LM(DAStrings)[0] = RM(tmp);
diff --git a/src/diskinit.cpp b/src/diskinit.cpp
index 1e6fa488..219c24cf 100644
--- a/src/diskinit.cpp
+++ b/src/diskinit.cpp
@@ -62,7 +62,7 @@ typedef struct
LONGINT pos;
} our_file_info_t;
-typedef OSErrRET (*func_t)(ParmBlkPtr pb, BOOLEAN async);
+typedef OSErr (*func_t)(ParmBlkPtr pb, BOOLEAN async);
static OSErr
raw_read_write(func_t func, our_file_info_t *op, LONGINT *lengthp,
diff --git a/src/dump.cpp b/src/dump.cpp
index 61b79467..e0020c23 100644
--- a/src/dump.cpp
+++ b/src/dump.cpp
@@ -350,19 +350,19 @@ void Executor::dump_qdprocs(QDProcsPtr x)
indent += 2;
if(x != NULL)
{
- iprintf((o_fp, "textProc %p;\n", MR(x->textProc)));
- iprintf((o_fp, "lineProc %p;\n", MR(x->lineProc)));
- iprintf((o_fp, "rectProc %p;\n", MR(x->rectProc)));
- iprintf((o_fp, "rRectProc %p;\n", MR(x->rRectProc)));
- iprintf((o_fp, "ovalProc %p;\n", MR(x->ovalProc)));
- iprintf((o_fp, "arcProc %p;\n", MR(x->arcProc)));
- iprintf((o_fp, "polyProc %p;\n", MR(x->polyProc)));
- iprintf((o_fp, "rgnProc %p;\n", MR(x->rgnProc)));
- iprintf((o_fp, "bitsProc %p;\n", MR(x->bitsProc)));
- iprintf((o_fp, "commentProc %p;\n", MR(x->commentProc)));
- iprintf((o_fp, "txMeasProc %p;\n", MR(x->txMeasProc)));
- iprintf((o_fp, "getPicProc %p;\n", MR(x->getPicProc)));
- iprintf((o_fp, "putPicProc %p;\n", MR(x->putPicProc)));
+ iprintf((o_fp, "textProc %p;\n", (ProcPtr)MR(x->textProc)));
+ iprintf((o_fp, "lineProc %p;\n", (ProcPtr)MR(x->lineProc)));
+ iprintf((o_fp, "rectProc %p;\n", (ProcPtr)MR(x->rectProc)));
+ iprintf((o_fp, "rRectProc %p;\n", (ProcPtr)MR(x->rRectProc)));
+ iprintf((o_fp, "ovalProc %p;\n", (ProcPtr)MR(x->ovalProc)));
+ iprintf((o_fp, "arcProc %p;\n", (ProcPtr)MR(x->arcProc)));
+ iprintf((o_fp, "polyProc %p;\n", (ProcPtr)MR(x->polyProc)));
+ iprintf((o_fp, "rgnProc %p;\n", (ProcPtr)MR(x->rgnProc)));
+ iprintf((o_fp, "bitsProc %p;\n", (ProcPtr)MR(x->bitsProc)));
+ iprintf((o_fp, "commentProc %p;\n", (ProcPtr)MR(x->commentProc)));
+ iprintf((o_fp, "txMeasProc %p;\n", (ProcPtr)MR(x->txMeasProc)));
+ iprintf((o_fp, "getPicProc %p;\n", (ProcPtr)MR(x->getPicProc)));
+ iprintf((o_fp, "putPicProc %p;\n", (ProcPtr)MR(x->putPicProc)));
}
else
iprintf((o_fp, "\n"));
@@ -598,25 +598,25 @@ void Executor::dump_cqdprocs(CQDProcsPtr x)
indent += 2;
if(x != NULL)
{
- iprintf((o_fp, "textProc %p;\n", MR(x->textProc)));
- iprintf((o_fp, "lineProc %p;\n", MR(x->lineProc)));
- iprintf((o_fp, "rectProc %p;\n", MR(x->rectProc)));
- iprintf((o_fp, "rRectProc %p;\n", MR(x->rRectProc)));
- iprintf((o_fp, "ovalProc %p;\n", MR(x->ovalProc)));
- iprintf((o_fp, "arcProc %p;\n", MR(x->arcProc)));
- iprintf((o_fp, "polyProc %p;\n", MR(x->polyProc)));
- iprintf((o_fp, "rgnProc %p;\n", MR(x->rgnProc)));
- iprintf((o_fp, "bitsProc %p;\n", MR(x->bitsProc)));
- iprintf((o_fp, "commentProc %p;\n", MR(x->commentProc)));
- iprintf((o_fp, "txMeasProc %p;\n", MR(x->txMeasProc)));
- iprintf((o_fp, "getPicProc %p;\n", MR(x->getPicProc)));
- iprintf((o_fp, "putPicProc %p;\n", MR(x->putPicProc)));
- iprintf((o_fp, "newProc1Proc %p;\n", MR(x->newProc1Proc)));
- iprintf((o_fp, "newProc2Proc %p;\n", MR(x->newProc2Proc)));
- iprintf((o_fp, "newProc3Proc %p;\n", MR(x->newProc3Proc)));
- iprintf((o_fp, "newProc4Proc %p;\n", MR(x->newProc4Proc)));
- iprintf((o_fp, "newProc5Proc %p;\n", MR(x->newProc5Proc)));
- iprintf((o_fp, "newProc6Proc %p;\n", MR(x->newProc6Proc)));
+ iprintf((o_fp, "textProc %p;\n", (ProcPtr)MR(x->textProc)));
+ iprintf((o_fp, "lineProc %p;\n", (ProcPtr)MR(x->lineProc)));
+ iprintf((o_fp, "rectProc %p;\n", (ProcPtr)MR(x->rectProc)));
+ iprintf((o_fp, "rRectProc %p;\n", (ProcPtr)MR(x->rRectProc)));
+ iprintf((o_fp, "ovalProc %p;\n", (ProcPtr)MR(x->ovalProc)));
+ iprintf((o_fp, "arcProc %p;\n", (ProcPtr)MR(x->arcProc)));
+ iprintf((o_fp, "polyProc %p;\n", (ProcPtr)MR(x->polyProc)));
+ iprintf((o_fp, "rgnProc %p;\n", (ProcPtr)MR(x->rgnProc)));
+ iprintf((o_fp, "bitsProc %p;\n", (ProcPtr)MR(x->bitsProc)));
+ iprintf((o_fp, "commentProc %p;\n", (ProcPtr)MR(x->commentProc)));
+ iprintf((o_fp, "txMeasProc %p;\n", (ProcPtr)MR(x->txMeasProc)));
+ iprintf((o_fp, "getPicProc %p;\n", (ProcPtr)MR(x->getPicProc)));
+ iprintf((o_fp, "putPicProc %p;\n", (ProcPtr)MR(x->putPicProc)));
+ iprintf((o_fp, "newProc1Proc %p;\n", (ProcPtr)MR(x->newProc1Proc)));
+ iprintf((o_fp, "newProc2Proc %p;\n", (ProcPtr)MR(x->newProc2Proc)));
+ iprintf((o_fp, "newProc3Proc %p;\n", (ProcPtr)MR(x->newProc3Proc)));
+ iprintf((o_fp, "newProc4Proc %p;\n", (ProcPtr)MR(x->newProc4Proc)));
+ iprintf((o_fp, "newProc5Proc %p;\n", (ProcPtr)MR(x->newProc5Proc)));
+ iprintf((o_fp, "newProc6Proc %p;\n", (ProcPtr)MR(x->newProc6Proc)));
}
else
iprintf((o_fp, "\n"));
@@ -1066,7 +1066,7 @@ void dump_control(ControlHandle x)
dump_field(dump_handle, CTL_DEFPROC(x), "contrlDefProc");
dump_field(dump_ptr, CTL_DATA(x), "contrlData");
- iprintf((o_fp, "contrlAction %p\n", CTL_ACTION(x)));
+ iprintf((o_fp, "contrlAction %p\n", (ProcPtr)CTL_ACTION(x)));
iprintf((o_fp, "contrlRfCon %d\n", (int)CTL_REF_CON(x)));
dump_field(dump_string, CTL_TITLE(x), "contrlTitle");
indent -= 2;
@@ -1076,15 +1076,15 @@ void dump_control(ControlHandle x)
void dump_memlocs(uint32_t to_look_for, int size, const void *start_addr,
const void *end_addr)
{
- const uint8 *ucp;
+ const uint8_t *ucp;
const uint16_t *usp;
const uint32_t *ulp;
switch(size)
{
case 1:
- for(ucp = (const uint8 *)start_addr; ucp < (uint8 *)end_addr; ++ucp)
- if(*ucp == (uint8)to_look_for)
+ for(ucp = (const uint8_t *)start_addr; ucp < (uint8_t *)end_addr; ++ucp)
+ if(*ucp == (uint8_t)to_look_for)
iprintf((o_fp, "%p\n", ucp));
break;
case 2:
diff --git a/src/edition.cpp b/src/edition.cpp
index c8c4f2ae..be3a715e 100644
--- a/src/edition.cpp
+++ b/src/edition.cpp
@@ -8,7 +8,7 @@
using namespace Executor;
-OSErr Executor::C_InitEditionPack(INTEGER unused)
+OSErr Executor::C_InitEditionPackVersion(INTEGER unused)
{
warning_unimplemented("someone is calling the edition manager");
return noErr;
diff --git a/src/emustubs.cpp b/src/emustubs.cpp
index 498b278e..ce51a68a 100644
--- a/src/emustubs.cpp
+++ b/src/emustubs.cpp
@@ -48,7 +48,6 @@
#include "CommTool.h"
#include "SpeechManager.h"
-#include "rsys/pstuff.h"
#include "rsys/file.h"
#include "rsys/time.h"
#include "rsys/mman.h"
@@ -67,28 +66,10 @@ namespace Executor
#define RTS() return POPADDR()
#define STUB(x) syn68k_addr_t _##x(syn68k_addr_t ignoreme, \
- void **ignoreme2)
-
-#define ADJUST_CC_BASED_ON_D0() \
- do \
- { \
- cpu_state.ccc = 0; \
- cpu_state.ccn = (cpu_state.regs[0].sw.n < 0); \
- cpu_state.ccv = 0; \
- cpu_state.ccx = cpu_state.ccx; /* unchanged */ \
- cpu_state.ccnz = (cpu_state.regs[0].sw.n != 0); \
- } while(0)
-
-#define STUB_NEG1_D0(x) \
- STUB(x) \
- { \
- EM_D0 = -1; \
- ADJUST_CC_BASED_ON_D0(); \
- RTS(); \
- }
-
-#define STUB_RTS(x) \
- STUB(x) { RTS(); }
+ void *ignoreme2)
+void C_unknown574()
+{
+}
STUB(GetDefaultStartup)
{
@@ -185,29 +166,6 @@ STUB(LoadSeg)
RTS();
}
-STUB(zerod0SetCtlValue)
-{
- syn68k_addr_t retaddr;
- short arg0;
-
- retaddr = POPADDR();
- arg0 = POPUW();
- C_SetCtlValue((ControlHandle)SYN68K_TO_US(POPUL()), arg0);
- EM_D0 = 0;
- ADJUST_CC_BASED_ON_D0();
- PUSHADDR(retaddr);
- RTS();
-}
-
-STUB(HWPriv)
-{
- HWPriv(EM_D0, EM_A0); /* NOTE: A0 shouldn't be convered from SYN to US
- here because it's often used as a long. See
- the implementation of HWPriv in segment.c
- for details */
- RTS();
-}
-
STUB(ResourceStub)
{
EM_A0 = US_TO_SYN68K_CHECK0(ROMlib_mgetres2(
@@ -216,16 +174,18 @@ STUB(ResourceStub)
RTS();
}
-STUB_NEG1_D0(DrvrInstall)
-
-STUB_NEG1_D0(DrvrRemove)
-
-STUB(ADBReInit)
+STUB(DrvrInstall)
{
- ADBReInit();
+ EM_D0 = -1;
RTS();
}
+STUB(DrvrRemove)
+{
+ EM_D0 = -1;
+ RTS();
+}
+
STUB(ADBOp)
{
adbop_t *p;
@@ -237,433 +197,6 @@ STUB(ADBOp)
RTS();
}
-STUB(CountADBs)
-{
- cpu_state.regs[0].sw.n = CountADBs();
- RTS();
-}
-
-STUB(GetIndADB)
-{
- cpu_state.regs[0].sw.n = GetIndADB((ADBDataBlock *)SYN68K_TO_US_CHECK0(EM_A0), (char)EM_D0);
- RTS();
-}
-
-STUB(GetADBInfo)
-{
- cpu_state.regs[0].sw.n = GetADBInfo((ADBDataBlock *)SYN68K_TO_US_CHECK0(EM_A0), (char)EM_D0);
- RTS();
-}
-
-STUB(SetADBInfo)
-{
- cpu_state.regs[0].sw.n = SetADBInfo((ADBSetInfoBlock *)SYN68K_TO_US_CHECK0(EM_A0), (char)EM_D0);
- RTS();
-}
-
-STUB(_GetResource)
-{
- syn68k_addr_t retaddr;
- short arg0;
- void *retval;
-
- retaddr = POPADDR();
- arg0 = POPUW();
- retval = C_GetResource(POPUL(), arg0);
- WRITEUL(EM_A7, US_TO_SYN68K_CHECK0(retval));
- PUSHADDR(retaddr);
- EM_D0 = 0;
- RTS();
-}
-
-static void
-do_selector_error(uint32_t selector,
- const char *trap_name,
- syn68k_addr_t (*trap_fp)(syn68k_addr_t, void **))
-{
- bool found_trapno_p = false;
- int trapno = /* dummy */ -1, i;
- char buf[256];
-
- /* search for the trap fp in the trap tables */
-
- for(i = 0; i < 0x400; i++)
- if(toolstuff[i].ptoc.wheretogo == trap_fp)
- {
- trapno = i + 0xA800;
- found_trapno_p = true;
- break;
- }
- if(!found_trapno_p)
- for(i = 0; i < 0x100; i++)
- if(osstuff[i].func == trap_fp)
- {
- trapno = i + 0xA000;
- found_trapno_p = true;
- break;
- }
-
- if(found_trapno_p)
- sprintf(buf,
- "Fatal error.\r"
- "unknown trap selector `%ld' in trap `%s' trapno `%X'.",
- (long)selector, trap_name, trapno);
- else
- sprintf(buf,
- "Fatal error.\r"
- "unknown trap selector `%ld' in trap `%s'.",
- (long)selector, trap_name);
-
- system_error(buf, 0,
- "Restart", NULL, NULL,
- NULL, NULL, NULL);
-
- ExitToShell();
-}
-
-typedef struct
-{
- unsigned long first;
- unsigned long last;
- unsigned long divide;
- ptocblock_t *descriptorp;
-} selectorblock_t;
-
-#define do_selector_block(sbp, sel, trap) \
- ({ _do_selector_block(sbp, sel, #trap, _##trap); })
-
-typedef syn68k_addr_t (*trap_stuff)(syn68k_addr_t, void **);
-
-static syn68k_addr_t
-_do_selector_block(const selectorblock_t *sbp, unsigned long sel,
- const char *trap_name,
- trap_stuff trap_fp)
-{
- char done;
- ptocblock_t *ptocp;
- const selectorblock_t *orig_sbp;
-
- orig_sbp = sbp;
- for(done = false;
- (!(sbp->first == 0
- && sbp->last == 0)
- && !done);
- ++sbp)
- {
- if(sel >= sbp->first && sel <= sbp->last)
- {
- ptocp = &sbp->descriptorp[(sel - sbp->first) / sbp->divide];
- if(ptocp->wheretogo)
- return PascalToCCall(0, ptocp);
- done = true;
- }
- }
-
- do_selector_error(sel, trap_name, trap_fp);
-
- /* quiet gcc */
- abort();
-}
-
-typedef struct selector_table_entry
-{
- uint32_t selector;
- ptocblock_t ptoc;
-} selector_table_entry_t;
-
-#define do_selector_table(selector, table, table_size, fail_fn, trap) \
- ({ _do_selector_table(selector, table, table_size, fail_fn, \
- #trap, _##trap); })
-
-static syn68k_addr_t
-_do_selector_table(uint32_t selector,
- selector_table_entry_t *table, int table_size,
- syn68k_addr_t (*fail_fn)(void),
- const char *trap_name,
- syn68k_addr_t (*trap_fp)(syn68k_addr_t, void **))
-{
- int i;
-
- for(i = 0; i < table_size; i++)
- {
- if(table[i].selector == selector)
- return PascalToCCall(0, &table[i].ptoc);
- }
-
- if(fail_fn)
- return (*fail_fn)();
- else
- do_selector_error(selector, trap_name, trap_fp);
-
- /* quiet gcc */
- abort();
-}
-
-#define PTOCBLOCK(name) \
- { \
- (void *)C_##name, ptoc(&C_##name) \
- }
-
-#define ZERO_PTOCBLOCK \
- { \
- nullptr, 0 \
- }
-
-static ptocblock_t scriptptoc0[] = {
- PTOCBLOCK(FontScript), /* 0 FontScript */
- PTOCBLOCK(IntlScript), /* 2 IntlScript */
- PTOCBLOCK(KeyScript), /* 4 KybdScript */
- PTOCBLOCK(Font2Script), /* 6 Font2Script */
- PTOCBLOCK(GetEnvirons), /* 8 */
- PTOCBLOCK(SetEnvirons), /* 10 */
- PTOCBLOCK(GetScript), /* 12 */
- PTOCBLOCK(SetScript), /* 14 */
- PTOCBLOCK(CharByte), /* 16 CharByte */
- PTOCBLOCK(CharType), /* 18 CharType */
- PTOCBLOCK(Pixel2Char), /* 20 Pixel2Char */
- PTOCBLOCK(Char2Pixel), /* 22 Char2Pixel */
- PTOCBLOCK(Transliterate), /* 24 Translit*/
- PTOCBLOCK(FindWord), /* 26 FindWord */
- PTOCBLOCK(HiliteText), /* 28 HiliteText */
- PTOCBLOCK(DrawJust), /* 30 DrawJust */
- PTOCBLOCK(MeasureJust), /* 0x20 */
-
- PTOCBLOCK(ParseTable), /* 0x22 */
- ZERO_PTOCBLOCK, /* PortionText 0x24 */
- PTOCBLOCK(FindScriptRun), /* 0x26 */
- PTOCBLOCK(VisibleLength), /* 0x28 */
- ZERO_PTOCBLOCK, /* IsSpecialFont 0x2A */
- ZERO_PTOCBLOCK, /* RawPrinterValues 0x2C */
- PTOCBLOCK(PixelToChar), /* 0x2E */
- PTOCBLOCK(CharToPixel), /* 0x30 */
- PTOCBLOCK(DrawJustified), /* 0x32 */
- PTOCBLOCK(NMeasureJust), /* 0x34 */
- PTOCBLOCK(PortionLine), /* 0x36 */
-};
-
-/* D0 IsCmdChar */
-
-static ptocblock_t scriptptoc1[] = {
- PTOCBLOCK(ReplaceText), /* 0xDC */
-
-#if defined(NEWSTUBS)
- PTOCBLOCK(TruncText), /* 0xde */
- PTOCBLOCK(TruncString), /* 0xE0 */
- PTOCBLOCK(NFindWord), /* 0xe2 */
- PTOCBLOCK(ValidDate), /* 0xe4 */
- PTOCBLOCK(FormatStr2X), /* 0xe6 */
- PTOCBLOCK(FormatX2Str), /* 0xe8 */
- PTOCBLOCK(Format2Str), /* 0xea */
- PTOCBLOCK(Str2Format), /* 0xec */
- PTOCBLOCK(ToggleDate), /* 0xee */
-#else
- ZERO_PTOCBLOCK, /* 0xDE */
- PTOCBLOCK(TruncString), /* 0xE0 */
- ZERO_PTOCBLOCK, /* 0xE2 */
- ZERO_PTOCBLOCK, /* 0xE4 */
- PTOCBLOCK(StringToExtended), /* 0xE6 */
- PTOCBLOCK(ExtendedToString), /* 0xE8 */
- ZERO_PTOCBLOCK, /* 0xEA */
- PTOCBLOCK(StringToFormatRec), /* 0xEC */
- PTOCBLOCK(ToggleDate), /* 0xEE */
-#endif
-
- PTOCBLOCK(LongSecs2Date), /* 0xf0 */
- PTOCBLOCK(LongDate2Secs), /* 0xf2 */
-
- PTOCBLOCK(String2Time), /* 0xF4 String2Time */
- PTOCBLOCK(String2Date), /* 0xF6 String2Date */
- PTOCBLOCK(InitDateCache), /* 0xF8 InitDateCache */
-
-#if defined(NEWSTUBS)
- PTOCBLOCK(IntlTokenize), /* 0xfa */
- PTOCBLOCK(GetFormatOrder), /* 0xfc */
-#else
- ZERO_PTOCBLOCK, /* 0xFA */
- ZERO_PTOCBLOCK, /* 0xFC */
-#endif
- PTOCBLOCK(StyledLineBreak), /* 0xFE */
-
-};
-
-static selectorblock_t scriptutil_block[] = {
- { 0, 0x36, 2, scriptptoc0 },
- { 0xDC, 0xFE, 2, scriptptoc1 },
- { 0, 0, 0, 0 },
-};
-
-static ptocblock_t high_scriptutil_ptoc0[] = {
- PTOCBLOCK(CharacterByteType), /* 0x10; 0xc2060010 */
- PTOCBLOCK(CharacterType), /* 0x12; 0xC2060012 */
- ZERO_PTOCBLOCK, /* 0x14 */
- ZERO_PTOCBLOCK, /* 0x16 */
- PTOCBLOCK(TransliterateText), /* 0x18; 0xC20E0018 */
- ZERO_PTOCBLOCK, /* 0x1A */
- ZERO_PTOCBLOCK, /* 0x1C */
- ZERO_PTOCBLOCK, /* 0x1E */
- ZERO_PTOCBLOCK, /* 0x20 */
- PTOCBLOCK(FillParseTable), /* 0x22; 0xC2040022 */
-#if 0
- GetScriptUtilityAddress /* 0x38; 0xC4040038 */
- SetScriptUtilityAddress /* 0x3A; 0xC008003A */
- GetScriptQDPatchAddress /* 0x3C; 0xC406003C */
- SetScriptQDPatchAddress /* 0x3E; 0xC00A003E */
-#endif
-};
-
-static selectorblock_t high_scriptutil_block[] = {
- { 0x10, 0x22, 2, high_scriptutil_ptoc0 },
- { 0, 0, 0, 0 },
-};
-
-static ptocblock_t textutils_ptoc[] = {
- PTOCBLOCK(LowercaseText), /* 0x0000 */
- PTOCBLOCK(StripDiacritics), /* 0x0200 */
- PTOCBLOCK(UppercaseText), /* 0x0400 */
- PTOCBLOCK(UppercaseStripDiacritics), /* 0x0600 */
-};
-
-static selectorblock_t textutils_block[] = {
- { 0x0000, 0x0600, 0x0200, textutils_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(ScriptUtil)
-{
- syn68k_addr_t retaddr;
- uint32_t selector;
- uint8 low_selector_byte;
- bool use_high_table_p;
- syn68k_addr_t retval;
-
- retaddr = POPADDR();
-
- selector = POPUL();
-
- if(selector == 0x800affb6)
- {
- uint16_t sel2;
-
- sel2 = POPUW();
- PUSHADDR(retaddr);
- retval = do_selector_block(textutils_block, sel2, ScriptUtil);
- }
- else
- {
- PUSHADDR(retaddr);
-
- use_high_table_p = ((selector & 0x40000000) == 0x40000000);
-
- low_selector_byte = selector & 0xFF;
-
- retval = do_selector_block((use_high_table_p
- ? high_scriptutil_block
- : scriptutil_block),
- low_selector_byte,
- ScriptUtil);
- }
- return retval;
-}
-
-#if defined(NEWSTUBS)
-{
- BOn 0 AOn 4 AOnIgnoreModem 5 BOff 80 AOff 84
-}
-#endif
-
-static ptocblock_t tedispatchptoc[] = {
- PTOCBLOCK(TEStylPaste), /* 0 */
- PTOCBLOCK(TESetStyle), /* 1 */
- PTOCBLOCK(TEReplaceStyle), /* 2 */
- PTOCBLOCK(TEGetStyle), /* 3 */
- PTOCBLOCK(GetStylHandle), /* 4 */
- PTOCBLOCK(SetStylHandle), /* 5 */
- PTOCBLOCK(GetStylScrap), /* 6 */
- PTOCBLOCK(TEStylInsert), /* 7 */
- PTOCBLOCK(TEGetPoint), /* 8 */
- PTOCBLOCK(TEGetHeight), /* 9 */
- PTOCBLOCK(TEContinuousStyle), /* 10 */
- PTOCBLOCK(SetStylScrap), /* 11 */
- PTOCBLOCK(TECustomHook), /* 12 */
- PTOCBLOCK(TENumStyles), /* 13 */
- PTOCBLOCK(TEFeatureFlag), /* 14 */
-};
-
-static selectorblock_t tedispatchblock[] = {
- { 0, 14, 1, tedispatchptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(TEDispatch)
-{
- syn68k_addr_t retaddr;
- unsigned short us;
-
- retaddr = POPADDR();
- us = POPUW();
- PUSHADDR(retaddr);
-
- return do_selector_block(tedispatchblock, us, TEDispatch);
-}
-
-static ptocblock_t fontdispatch_ptoc[] = {
- PTOCBLOCK(IsOutline), /* 0x0 */
- PTOCBLOCK(SetOutlinePreferred), /* 0x1 */
- ZERO_PTOCBLOCK, /* 0x2 */
- ZERO_PTOCBLOCK, /* 0x3 */
- ZERO_PTOCBLOCK, /* 0x4 */
- ZERO_PTOCBLOCK, /* 0x5 */
- ZERO_PTOCBLOCK, /* 0x6 */
- ZERO_PTOCBLOCK, /* 0x7 */
- PTOCBLOCK(OutlineMetrics), /* 0x8 */
- PTOCBLOCK(GetOutlinePreferred), /* 0x9 */
- PTOCBLOCK(SetPreserveGlyph), /* 0xA */
- PTOCBLOCK(GetPreserveGlyph), /* 0xB */
- PTOCBLOCK(FlushFonts), /* 0xC */
-};
-
-static selectorblock_t fontdispatch_block[] = {
- { 0x0, 0xC, 1, fontdispatch_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(FontDispatch)
-{
- return do_selector_block(fontdispatch_block, EM_D0 & 0xF, FontDispatch);
-}
-
-static ptocblock_t resource_dispatch_ptoc[] = {
- PTOCBLOCK(ReadPartialResource), /* 0x1 */
- PTOCBLOCK(WritePartialResource), /* 0x2 */
- PTOCBLOCK(SetResourceSize), /* 0x3 */
-};
-
-static ptocblock_t resource_dispatch_ptoc10[] = {
- PTOCBLOCK(GetNextFOND), /* 10 */
-};
-
-static selectorblock_t resource_dispatch_block[] = {
- { 0x1, 0x3, 1, resource_dispatch_ptoc },
- { 10, 10, 1, resource_dispatch_ptoc10 },
- { 0, 0, 0, 0 },
-};
-
-STUB(ResourceDispatch)
-{
- return do_selector_block(resource_dispatch_block, EM_D0 & 0xF,
- ResourceDispatch);
-}
-
-#if defined(NEWSTUBS)
-{
- InitDBPack 100 DBKill 20e DBDisposeQuery 210 DBRemoveResultHandler 215 DBGetNewQuery 30f DBEnd 403 DBExec 408 DBState 409 DBUnGetItem 40d DBResultsToText 413 DBBreak 50b DBInstallResultHandler 514 DBGetResultHandler 516 DBGetSessionNum 605 DBSend 706 DBStartQuery 811 DBGetQueryResults a12
- DBSendItem b07
- DBInit e02
- DBGetErr e0a
- DBGetItem 100c DBGetConnInfo 1704
-}
-#endif
-
STUB(Fix2X)
{
syn68k_addr_t retaddr;
@@ -698,123 +231,6 @@ STUB(Frac2X)
return retaddr;
}
-#define SAVE_A1_D1_D2() \
- uint32_t savea1, saved1, saved2; \
- savea1 = EM_A1; \
- saved1 = EM_D1; \
- saved2 = EM_D2
-
-#define RESTORE_A1_D1_D2() \
- EM_A1 = savea1; \
- EM_D1 = saved1; \
- EM_D2 = saved2
-
-STUB(HandToHand)
-{
- Handle vp;
-
- SAVE_A1_D1_D2();
- vp = (Handle)SYN68K_TO_US_CHECK0(EM_A0);
- EM_D0 = HandToHand(&vp);
- EM_A0 = US_TO_SYN68K_CHECK0(vp);
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
-
-STUB(PtrToHand)
-{
- Handle dsthand;
-
- SAVE_A1_D1_D2();
- EM_D0 = PtrToHand((Ptr)SYN68K_TO_US_CHECK0(EM_A0),
- &dsthand, EM_D0);
- EM_A0 = US_TO_SYN68K_CHECK0(dsthand);
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
-
-STUB(PtrToXHand)
-{
- long save_a1;
-
- SAVE_A1_D1_D2();
- save_a1 = EM_A1;
- EM_D0 = PtrToXHand((Ptr)SYN68K_TO_US_CHECK0(EM_A0),
- (Handle)SYN68K_TO_US_CHECK0(EM_A1), EM_D0);
- EM_A0 = save_a1; /* a1 == dsthand, which goes into a0 at end */
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
-
-STUB(HandAndHand)
-{
- long savehand;
-
- SAVE_A1_D1_D2();
- savehand = EM_A1;
- EM_D0 = HandAndHand((Handle)SYN68K_TO_US_CHECK0(EM_A0),
- (Handle)SYN68K_TO_US_CHECK0(EM_A1));
- EM_A0 = savehand;
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
-
-STUB(PtrAndHand)
-{
- long savehand;
-
- SAVE_A1_D1_D2();
- savehand = EM_A1;
- EM_D0 = PtrAndHand((Ptr)SYN68K_TO_US_CHECK0(EM_A0),
- (Handle)SYN68K_TO_US_CHECK0(EM_A1), EM_D0);
- EM_A0 = savehand;
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
-
-STUB(Date2Secs)
-{
- ULONGINT l;
-
- SAVE_A1_D1_D2();
- Date2Secs((DateTimeRec *)SYN68K_TO_US_CHECK0(EM_A0), &l);
- EM_D0 = l;
- RESTORE_A1_D1_D2();
- RTS();
-}
-
-STUB(Secs2Date)
-{
- SAVE_A1_D1_D2();
- Secs2Date(EM_D0, (DateTimeRec *)SYN68K_TO_US_CHECK0(EM_A0));
- RESTORE_A1_D1_D2();
- RTS();
-}
-
-STUB(Enqueue)
-{
- SAVE_A1_D1_D2();
- Enqueue((QElemPtr)SYN68K_TO_US_CHECK0(EM_A0),
- (QHdrPtr)SYN68K_TO_US_CHECK0(EM_A1)); /* TODO: check to see if Mac
- alters D0 */
- RESTORE_A1_D1_D2();
- RTS();
-}
-
-STUB(Dequeue)
-{
- SAVE_A1_D1_D2();
- EM_D0 = Dequeue((QElemPtr)SYN68K_TO_US_CHECK0(EM_A0),
- (QHdrPtr)SYN68K_TO_US_CHECK0(EM_A1));
- RESTORE_A1_D1_D2();
- ADJUST_CC_BASED_ON_D0();
- RTS();
-}
/*
* NOTE: The LM(Key1Trans) and LM(Key2Trans) implementations are just transcriptions
@@ -843,839 +259,12 @@ STUB(Key2Trans)
KEYTRANSMACRO();
}
-STUB(NMInstall)
-{
- EM_D0 = NMInstall((NMRecPtr)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-STUB(NMRemove)
-{
- EM_D0 = NMRemove((NMRecPtr)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-static ptocblock_t alias_dispatch_ptoc[] = {
- PTOCBLOCK(FindFolder), /* 00 */
- ZERO_PTOCBLOCK,
- PTOCBLOCK(NewAlias), /* 02 */
- PTOCBLOCK(ResolveAlias), /* 03 */
- ZERO_PTOCBLOCK,
- PTOCBLOCK(MatchAlias), /* 05 */
- PTOCBLOCK(UpdateAlias), /* 06 */
- PTOCBLOCK(GetAliasInfo), /* 07 */
- PTOCBLOCK(NewAliasMinimal), /* 08 */
- PTOCBLOCK(NewAliasMinimalFromFullPath), /* 09 */
- ZERO_PTOCBLOCK,
- ZERO_PTOCBLOCK,
- PTOCBLOCK(ResolveAliasFile), /* 0C */
-};
-
-static selectorblock_t alias_dispatch_block[] = {
- { 0, 0xC, 1, alias_dispatch_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(AliasDispatch)
-{
- return do_selector_block(alias_dispatch_block,
- EM_D0 & 0xFFFF, AliasDispatch);
-}
-
-static ptocblock_t pack4ptoc[] = {
- PTOCBLOCK(ROMlib_Faddx), /* 00 */
- PTOCBLOCK(ROMlib_Fsetenv), /* 01 */
- PTOCBLOCK(ROMlib_Fsubx), /* 02 */
- PTOCBLOCK(ROMlib_Fgetenv), /* 03 */
- PTOCBLOCK(ROMlib_Fmulx), /* 04 */
- PTOCBLOCK(ROMlib_Fsethv), /* 05 */
- PTOCBLOCK(ROMlib_Fdivx), /* 06 */
- PTOCBLOCK(ROMlib_Fgethv), /* 07 */
- PTOCBLOCK(ROMlib_Fcmpx), /* 08 */
- PTOCBLOCK(ROMlib_Fdec2x), /* 09 */
- PTOCBLOCK(ROMlib_FcpXx), /* 0A */
- PTOCBLOCK(ROMlib_Fx2dec), /* 0B */
- PTOCBLOCK(ROMlib_Fremx), /* 0C */
- PTOCBLOCK(ROMlib_FnegX), /* 0D */
- PTOCBLOCK(ROMlib_Fx2X), /* 0E */
- PTOCBLOCK(ROMlib_FabsX), /* 0F */
- PTOCBLOCK(ROMlib_FX2x), /* 10 */
- PTOCBLOCK(ROMlib_Fcpysgnx), /* 11 */
- PTOCBLOCK(ROMlib_FsqrtX), /* 12 */
- PTOCBLOCK(ROMlib_FnextX), /* 13 */
- PTOCBLOCK(ROMlib_FrintX), /* 14 */
- ZERO_PTOCBLOCK, /* 15 */
- PTOCBLOCK(ROMlib_FtintX), /* 16 */
- PTOCBLOCK(ROMlib_Fprocentry), /* 17 */
- PTOCBLOCK(ROMlib_FscalbX), /* 18 */
- PTOCBLOCK(ROMlib_Fprocexit), /* 19 */
- PTOCBLOCK(ROMlib_FlogbX), /* 1A */
- PTOCBLOCK(ROMlib_Ftestxcp), /* 1B */
- PTOCBLOCK(ROMlib_Fclassx), /* 1C */
-};
-
-static selectorblock_t pack4block[] = {
- { 0, 0x1C, 1, pack4ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack4)
-{
- unsigned short us;
-
- us = READUW(EM_A7 + 4);
- return do_selector_block(pack4block, us & 0xFF, Pack4);
-}
-
-static ptocblock_t pack5ptoc[] = {
- PTOCBLOCK(ROMlib_FlnX), /* 00 */
- PTOCBLOCK(ROMlib_Flog2X), /* 02 */
- PTOCBLOCK(ROMlib_Fln1X), /* 04 */
- PTOCBLOCK(ROMlib_Flog21X), /* 06 */
- PTOCBLOCK(ROMlib_FexpX), /* 08 */
- PTOCBLOCK(ROMlib_Fexp2X), /* 0A */
- PTOCBLOCK(ROMlib_Fexp1X), /* 0C */
- PTOCBLOCK(ROMlib_Fexp21X), /* 0E */
- PTOCBLOCK(ROMlib_Fxpwri), /* 10 */
- PTOCBLOCK(ROMlib_Fxpwry), /* 12 */
- PTOCBLOCK(ROMlib_Fcompound), /* 14 */
- PTOCBLOCK(ROMlib_Fannuity), /* 16 */
- PTOCBLOCK(ROMlib_FsinX), /* 18 */
- PTOCBLOCK(ROMlib_FcosX), /* 1A */
- PTOCBLOCK(ROMlib_FtanX), /* 1C */
- PTOCBLOCK(ROMlib_FatanX), /* 1E */
- PTOCBLOCK(ROMlib_FrandX), /* 20 */
-};
-
-static selectorblock_t pack5block[] = {
- { 0, 0x20, 2, pack5ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack5)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack5block, uw & 0xFF, Pack5);
-}
-
-static ptocblock_t pack0ptoc[] = {
- PTOCBLOCK(LActivate), /* 0 */
- PTOCBLOCK(LAddColumn), /* 1 */
- PTOCBLOCK(LAddRow), /* 2 */
- PTOCBLOCK(LAddToCell), /* 3 */
- PTOCBLOCK(LAutoScroll), /* 4 */
- PTOCBLOCK(LCellSize), /* 5 */
- PTOCBLOCK(LClick), /* 6 */
- PTOCBLOCK(LClrCell), /* 7 */
- PTOCBLOCK(LDelColumn), /* 8 */
- PTOCBLOCK(LDelRow), /* 9 */
- PTOCBLOCK(LDispose), /* 10 */
- PTOCBLOCK(LDoDraw), /* 11 */
- PTOCBLOCK(LDraw), /* 12 */
- PTOCBLOCK(LFind), /* 13 */
- PTOCBLOCK(LGetCell), /* 14 */
- PTOCBLOCK(LGetSelect), /* 15 */
- PTOCBLOCK(LLastClick), /* 16 */
- PTOCBLOCK(LNew), /* 17 */
- PTOCBLOCK(LNextCell), /* 18 */
- PTOCBLOCK(LRect), /* 19 */
- PTOCBLOCK(LScroll), /* 20 */
- PTOCBLOCK(LSearch), /* 21 */
- PTOCBLOCK(LSetCell), /* 22 */
- PTOCBLOCK(LSetSelect), /* 23 */
- PTOCBLOCK(LSize), /* 24 */
- PTOCBLOCK(LUpdate), /* 25 */
-};
-
-static selectorblock_t pack0block[] = {
- { 0, 100, 4, pack0ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack0)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack0block, uw, Pack0);
-}
-
-static ptocblock_t osdispatch_ptoc0[] = {
- PTOCBLOCK(TempMaxMem), /* 0x0015 */
- PTOCBLOCK(TempTopMem), /* 0x0016 */
- ZERO_PTOCBLOCK, /* 0x0017 */
- PTOCBLOCK(TempFreeMem), /* 0x0018 */
-};
-
-static ptocblock_t osdispatch_ptoc2[] = {
- PTOCBLOCK(TempNewHandle), /* 0x001D */
- PTOCBLOCK(TempHLock), /* 0x001E */
- PTOCBLOCK(TempHUnlock), /* 0x001F */
- PTOCBLOCK(TempDisposeHandle), /* 0x0020 */
-};
-
-static ptocblock_t osdispatch_ptoc3[] = {
- PTOCBLOCK(AcceptHighLevelEvent), /* 0x0033 */
- PTOCBLOCK(PostHighLevelEvent), /* 0x0034 */
- PTOCBLOCK(GetProcessSerialNumberFromPortName), /* 0x0035 */
-#if 0
- PTOCBLOCK (LaunchDeskAccessory), /* 0x0036 */
-#endif
-};
-
-static ptocblock_t osdispatch_ptoc4[] = {
- PTOCBLOCK(GetCurrentProcess), /* 0x0037 */
- PTOCBLOCK(GetNextProcess), /* 0x0038 */
- PTOCBLOCK(GetFrontProcess), /* 0x0039 */
- PTOCBLOCK(GetProcessInformation), /* 0x003A */
- PTOCBLOCK(SetFrontProcess), /* 0x003B */
- PTOCBLOCK(WakeUpProcess), /* 0x003C */
- PTOCBLOCK(SameProcess), /* 0x003D */
-};
-
-static ptocblock_t osdispatch_ptoc5[] = {
- PTOCBLOCK(GetSpecificHighLevelEvent), /* 0x0045 */
- PTOCBLOCK(GetPortNameFromProcessSerialNumber), /* 0x0046 */
-};
-
-static selectorblock_t osdispatch_block[] = {
- { 0x0015, 0x0018, 1, osdispatch_ptoc0 },
- { 0x001D, 0x0020, 1, osdispatch_ptoc2 },
-
- { 0x0033, 0x0035, 1, osdispatch_ptoc3 },
- { 0x0037, 0x003D, 1, osdispatch_ptoc4 },
- { 0x0045, 0x0046, 1, osdispatch_ptoc5 },
- { 0, 0, 0, 0 },
-};
-
-STUB(OSDispatch)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(osdispatch_block, uw, OSDispatch);
-}
-
-static selector_table_entry_t pack8_table[] = {
- { 0x011E, PTOCBLOCK(AESetInteractionAllowed) },
- { 0x0204, PTOCBLOCK(AEDisposeDesc) },
- { 0x0219, PTOCBLOCK(AEResetTimer) },
- { 0x021A, PTOCBLOCK(AEGetTheCurrentEvent) },
- { 0x021B, PTOCBLOCK(AEProcessAppleEvent) },
- { 0x021D, PTOCBLOCK(AEGetInteractionAllowed) },
- { 0x022B, PTOCBLOCK(AESuspendTheCurrentEvent) },
- { 0x022C, PTOCBLOCK(AESetTheCurrentEvent) },
- { 0x023A, PTOCBLOCK(AEDisposeToken) },
- { 0x0405, PTOCBLOCK(AEDuplicateDesc) },
- { 0x0407, PTOCBLOCK(AECountItems) },
- { 0x040E, PTOCBLOCK(AEDeleteItem) },
- /* AEDeleteParam */
- { 0x0413, PTOCBLOCK(AEDeleteKeyDesc) },
- { 0x0441, PTOCBLOCK(AEManagerInfo) },
- { 0x0500, PTOCBLOCK(AEInstallSpecialHandler) },
- { 0x0501, PTOCBLOCK(AERemoveSpecialHandler) },
- { 0x052D, PTOCBLOCK(AEGetSpecialHandler) },
- { 0x0536, PTOCBLOCK(AEREesolve) },
- { 0x0603, PTOCBLOCK(AECoerceDesc) },
- { 0x0609, PTOCBLOCK(AEPutDesc) },
- /* AEPutParamDesc */
- { 0x0610, PTOCBLOCK(AEPutKeyDesc) },
- { 0x061C, PTOCBLOCK(AEInteractWithUser) },
- { 0x0627, PTOCBLOCK(AEPutAttributeDesc) },
- { 0x0632, PTOCBLOCK(_AE_hdlr_delete) }, /* internal */
- { 0x0706, PTOCBLOCK(AECreateList) },
- { 0x0720, PTOCBLOCK(AERemoveEventHandler) },
- { 0x0723, PTOCBLOCK(AERemoveCoercionHandler) },
- { 0x0738, PTOCBLOCK(AERemoveObjectAccessor) },
- { 0x0812, PTOCBLOCK(AEGetKeyDesc) },
- { 0x0818, PTOCBLOCK(AEResumeTheCurrentEvent) },
- { 0x0825, PTOCBLOCK(AECreateDesc) },
- { 0x0826, PTOCBLOCK(AEGetAttributeDesc) },
- { 0x0828, PTOCBLOCK(AESizeOfAttribute) },
- { 0x0829, PTOCBLOCK(AESizeOfKeyDesc) },
- { 0x082A, PTOCBLOCK(AESizeOfNthItem) },
- { 0x0831, PTOCBLOCK(_AE_hdlr_install) }, /* internal */
- { 0x0833, PTOCBLOCK(_AE_hdlr_lookup) }, /* internal */
- { 0x091F, PTOCBLOCK(AEInstallEventHandler) },
- { 0x0921, PTOCBLOCK(AEGetEventHandler) },
- { 0x092E, PTOCBLOCK(_AE_hdlr_table_alloc) }, /* internal */
- { 0x0937, PTOCBLOCK(AEInstallObjectAccessor) },
- { 0x0939, PTOCBLOCK(AEGetObjectAccessor) },
- { 0x0A02, PTOCBLOCK(AECoercePtr) },
- { 0x0A08, PTOCBLOCK(AEPutPtr) },
- { 0x0A0B, PTOCBLOCK(AEGetNthDesc) },
- { 0x0A0F, PTOCBLOCK(AEPutKeyPtr) },
- { 0x0A16, PTOCBLOCK(AEPutAttributePtr) },
- { 0x0A22, PTOCBLOCK(AEInstallCoercionHandler) },
- { 0x0B0D, PTOCBLOCK(AEPutArray) },
- { 0x0B14, PTOCBLOCK(AECreateAppleEvent) },
- { 0x0B24, PTOCBLOCK(AEGetCoercionHandler) },
- { 0x0C3B, PTOCBLOCK(AECallObjectAccessor) },
- { 0x0D0C, PTOCBLOCK(AEGetArray) },
- { 0x0D17, PTOCBLOCK(AESend) },
- /* AEGetParamPtr */
- { 0x0E11, PTOCBLOCK(AEGetKeyPtr) },
- { 0x0E15, PTOCBLOCK(AEGetAttributePtr) },
- { 0x0E35, PTOCBLOCK(AESetObjectCallbacks) },
- { 0x100A, PTOCBLOCK(AEGetNthPtr) },
-};
-
-static syn68k_addr_t
-pack8_fail_fn()
-{
- syn68k_addr_t retaddr;
-
- if(AE_OSL_select_fn == 0)
- C_pack8_unknown_selector();
-
- warning_unexpected("calling OSL 'selh' special handler");
-
- retaddr = POPADDR();
-
- /* #### just clobber a1? */
- EM_A1 = US_TO_SYN68K_CHECK0(P_pack8_unknown_selector);
-
- CALL_EMULATOR(AE_OSL_select_fn);
-
- return retaddr;
-}
-
-STUB(Pack8)
-{
- return do_selector_table(EM_D0 & 0xFFFF,
- pack8_table, NELEM(pack8_table),
- pack8_fail_fn,
- Pack8);
-}
-}
-
-void Executor::C_pack8_unknown_selector()
-{
- do_selector_error(EM_D0 & 0xFFFF, "Pack8", _Pack8);
-}
-
-namespace Executor
-{
-
-static ptocblock_t pack12ptoc[] = {
- PTOCBLOCK(Fix2SmallFract), /* 1 */
- PTOCBLOCK(SmallFract2Fix), /* 2 */
- PTOCBLOCK(CMY2RGB), /* 3 */
- PTOCBLOCK(RGB2CMY), /* 4 */
- PTOCBLOCK(HSL2RGB), /* 5 */
- PTOCBLOCK(RGB2HSL), /* 6 */
- PTOCBLOCK(HSV2RGB), /* 7 */
- PTOCBLOCK(RGB2HSV), /* 8 */
- PTOCBLOCK(GetColor), /* 9 */
-};
-
-static selectorblock_t pack12block[] = {
- { 1, 9, 1, pack12ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack12)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack12block, uw, Pack12);
-}
-
-/*
- * NOTE: We only look at the last two bytes as the Palette selector. Some
- * Apps don't load the other bytes "properly".
- */
-
-static ptocblock_t palette_dispatch_ptoc_1[] = {
- PTOCBLOCK(Entry2Index), /* 0x00 */
- ZERO_PTOCBLOCK, /* 0x01 */
- PTOCBLOCK(RestoreClutDevice), /* 0x02 */
- PTOCBLOCK(ResizePalette), /* 0x03 */
-};
-
-static ptocblock_t palette_dispatch_ptoc_2[] = {
- PTOCBLOCK(SaveFore), /* 0x40D */
- PTOCBLOCK(SaveBack), /* 0x40E */
- PTOCBLOCK(RestoreFore), /* 0x40F */
- PTOCBLOCK(RestoreBack), /* 0x410 */
- ZERO_PTOCBLOCK, /* 0x11 */
- ZERO_PTOCBLOCK, /* 0x12 */
- PTOCBLOCK(SetDepth), /* 0xA13 */
- PTOCBLOCK(HasDepth), /* 0xA14 */
- PTOCBLOCK(PMgrVersion), /* 0x15 */
- PTOCBLOCK(SetPaletteUpdates), /* 0x616 */
- PTOCBLOCK(GetPaletteUpdates), /* 0x417 */
- ZERO_PTOCBLOCK, /* 0x18 */
- PTOCBLOCK(GetGray), /* 0x1219 */
-};
-
-static selectorblock_t palette_dispatch_block[] = {
- { 0x00, 0x03, 1, palette_dispatch_ptoc_1 },
- { 0x0D, 0x19, 1, palette_dispatch_ptoc_2 },
- { 0, 0, 0, 0 },
-};
-
-STUB(PaletteDispatch)
-{
- /* FIXME: inspection of the register contents seems to indicate the
- selector is passed in d0, more reliable sources should verify
- this */
- return do_selector_block(palette_dispatch_block,
- EM_D0 & 0xFF, PaletteDispatch);
-}
-
-static ptocblock_t QDExtensions_ptoc[] = {
- PTOCBLOCK(NewGWorld), /* 0 */
- PTOCBLOCK(LockPixels), /* 1 */
- PTOCBLOCK(UnlockPixels), /* 2 */
- PTOCBLOCK(UpdateGWorld), /* 3 */
- PTOCBLOCK(DisposeGWorld), /* 4 */
- PTOCBLOCK(GetGWorld), /* 5 */
- PTOCBLOCK(SetGWorld), /* 6 */
- PTOCBLOCK(CTabChanged), /* 7 */
- PTOCBLOCK(PixPatChanged), /* 8 */
- PTOCBLOCK(PortChanged), /* 9 */
- PTOCBLOCK(GDeviceChanged), /* 10 */
- PTOCBLOCK(AllowPurgePixels), /* 11 */
- PTOCBLOCK(NoPurgePixels), /* 12 */
- PTOCBLOCK(GetPixelsState), /* 13 */
- PTOCBLOCK(SetPixelsState), /* 14 */
- PTOCBLOCK(GetPixBaseAddr), /* 15 */
- PTOCBLOCK(NewScreenBuffer),
- PTOCBLOCK(DisposeScreenBuffer),
- PTOCBLOCK(GetGWorldDevice),
- PTOCBLOCK(QDDone),
- PTOCBLOCK(OffscreenVersion),
- PTOCBLOCK(NewTempScreenBuffer),
- PTOCBLOCK(PixMap32Bit),
- PTOCBLOCK(GetGWorldPixMap),
-};
-
-static selectorblock_t QDExtensions_block[] = {
- { 0x0, 0x17, 1, QDExtensions_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(QDExtensions)
-{
- unsigned long selector;
-
- /* i don't think this should have the `&' rewrite the selector
- blocks to handle the actual selector values */
- selector = EM_D0 & 0xFFFF;
- return do_selector_block(QDExtensions_block, selector, QDExtensions);
-}
-
-static ptocblock_t shutdwn_ptoc[] = {
- PTOCBLOCK(ShutDwnPower),
- PTOCBLOCK(ShutDwnStart),
- PTOCBLOCK(ShutDwnInstall),
- PTOCBLOCK(ShutDwnRemove),
-};
-
-static selectorblock_t shutdwn_block[] = {
- {
- 1, 4, 1, shutdwn_ptoc,
- },
- { 0, 0, 0, 0 },
-};
-
-STUB(ShutDown)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(shutdwn_block, uw, ShutDown);
-}
-
-static ptocblock_t pack3ptoc[] = {
- PTOCBLOCK(SFPutFile), /* 1 */
- PTOCBLOCK(SFGetFile), /* 2 */
- PTOCBLOCK(SFPPutFile), /* 3 */
- PTOCBLOCK(SFPGetFile), /* 4 */
- PTOCBLOCK(StandardPutFile), /* 5 */
- PTOCBLOCK(StandardGetFile), /* 6 */
- PTOCBLOCK(CustomPutFile), /* 7 */
- PTOCBLOCK(CustomGetFile), /* 8 */
-};
-
-static selectorblock_t pack3block[] = {
- { 1, 8, 1, pack3ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack3)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack3block, uw, Pack3);
-}
-
-static ptocblock_t pack2ptoc[] = {
- PTOCBLOCK(DIBadMount), /* 0 */
- PTOCBLOCK(DILoad), /* 2 */
- PTOCBLOCK(DIUnload), /* 4 */
- PTOCBLOCK(DIFormat), /* 6 */
- PTOCBLOCK(DIVerify), /* 8 */
- PTOCBLOCK(DIZero), /* 10 */
-};
-
-static selectorblock_t pack2block[] = {
- { 0, 10, 2, pack2ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack2)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack2block, uw, Pack2);
-}
-
-static ptocblock_t pack6ptoc[] = {
- PTOCBLOCK(IUDateString), /* 0x00 */
- PTOCBLOCK(IUTimeString), /* 0x02 */
- PTOCBLOCK(IUMetric), /* 0x04 */
- PTOCBLOCK(IUGetIntl), /* 0x06 */
- PTOCBLOCK(IUSetIntl), /* 0x08 */
- PTOCBLOCK(IUMagString), /* 0x0A */
- PTOCBLOCK(IUMagIDString), /* 0x0C */
- PTOCBLOCK(IUDatePString), /* 0x0E */
- PTOCBLOCK(IUTimePString), /* 0x10 */
- PTOCBLOCK(IUMystery), /* 0x12 */
- PTOCBLOCK(IULDateString), /* 0x14 */
- PTOCBLOCK(IULTimeString), /* 0x16 */
- PTOCBLOCK(IUClearCache), /* 0x18 */
- PTOCBLOCK(IUMagPString), /* 0x1A */
- PTOCBLOCK(IUMagIDPString), /* 0x1C */
- PTOCBLOCK(IUScriptOrder), /* 0x1E */
- PTOCBLOCK(IULangOrder), /* 0x20 */
- PTOCBLOCK(IUTextOrder), /* 0x22 */
- PTOCBLOCK(IUGetItlTable), /* 0x24 */
-
-};
-
-static selectorblock_t pack6block[] = {
- { 0, 36, 2, pack6ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack6)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(pack6block, uw, Pack6);
-}
-
-static ptocblock_t pack7ptoc[] = {
- PTOCBLOCK(ROMlib_Fpstr2dec), /* 02 */
- PTOCBLOCK(ROMlib_Fdec2str), /* 03 */
- PTOCBLOCK(ROMlib_Fcstr2dec), /* 04 */
-};
-
-static selectorblock_t pack7block[] = {
- { 2, 4, 1, pack7ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack7)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
- LONGINT l;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- switch(uw)
- {
- case 0:
- NumToString(EM_D0, (StringPtr)SYN68K_TO_US_CHECK0(EM_A0));
- break;
- case 1:
- StringToNum((StringPtr)SYN68K_TO_US_CHECK0(EM_A0), &l);
- EM_D0 = l;
- break;
- default:
- return do_selector_block(pack7block, uw, Pack7);
- }
-
- RTS();
-}
-
-static ptocblock_t pack11_ptoc0[] = {
- PTOCBLOCK(InitEditionPack), /* 0x0100 */
-};
-
-static ptocblock_t pack11_ptoc1[] = {
- PTOCBLOCK(UnRegisterSection), /* 0x0206 */
- PTOCBLOCK(IsRegisteredSection), /* 0x0208 */
- ZERO_PTOCBLOCK, /* 0x020A */
- ZERO_PTOCBLOCK, /* 0x020C */
- ZERO_PTOCBLOCK, /* 0x020E */
- PTOCBLOCK(DeleteEditionContainerFile) /* 0x0210 */
-};
-
-static ptocblock_t pack11_ptoc2[] = {
- PTOCBLOCK(GoToPublisherSection), /* 0x0224 */
- PTOCBLOCK(GetLastEditionContainerUsed), /* 0x0226 */
- ZERO_PTOCBLOCK, /* 0x0228 */
- PTOCBLOCK(GetEditionOpenerProc), /* 0x022A */
- PTOCBLOCK(SetEditionOpenerProc), /* 0x022C */
- ZERO_PTOCBLOCK, /* 0x022E */
- ZERO_PTOCBLOCK, /* 0x0230 */
- PTOCBLOCK(NewSubscriberDialog), /* 0x0232 */
- ZERO_PTOCBLOCK, /* 0x0234 */
- PTOCBLOCK(NewPublisherDialog), /* 0x0236 */
- ZERO_PTOCBLOCK, /* 0x0238 */
- PTOCBLOCK(SectionOptionsDialog), /* 0x023A */
-};
-
-static ptocblock_t pack11_ptoc3[] = {
- PTOCBLOCK(CloseEdition), /* 0x0316 */
-};
-
-static ptocblock_t pack11_ptoc4[] = {
- PTOCBLOCK(AssociateSection), /* 0x040C */
- ZERO_PTOCBLOCK, /* 0x040E */
- ZERO_PTOCBLOCK, /* 0x0410 */
- PTOCBLOCK(OpenEdition), /* 0x0412 */
-};
-
-static ptocblock_t pack11_ptoc5[] = {
- PTOCBLOCK(GetEditionInfo), /* 0x0422 */
-};
-
-static ptocblock_t pack11_ptoc6[] = {
- PTOCBLOCK(CreateEditionContainerFile), /* 0x050E */
-};
-
-static ptocblock_t pack11_ptoc7[] = {
- PTOCBLOCK(CallEditionOpenerProc), /* 0x052E */
- PTOCBLOCK(CallFormatIOProc), /* 0x0530 */
-};
-
-static ptocblock_t pack11_ptoc8[] = {
- PTOCBLOCK(RegisterSection), /* 0x0604 */
-};
-
-static ptocblock_t pack11_ptoc9[] = {
- PTOCBLOCK(EditionHasFormat), /* 0x0618 */
- ZERO_PTOCBLOCK, /* 0x061A */
- ZERO_PTOCBLOCK, /* 0x061C */
- PTOCBLOCK(GetEditionFormatMark), /* 0x061E */
- PTOCBLOCK(SetEditionFormatMark), /* 0x0620 */
-};
-
-static ptocblock_t pack11_ptoc10[] = {
- PTOCBLOCK(OpenNewEdition), /* 0x0814 */
- ZERO_PTOCBLOCK, /* 0x0816 */
- ZERO_PTOCBLOCK, /* 0x0818 */
- PTOCBLOCK(ReadEdition), /* 0x081A */
- PTOCBLOCK(WriteEdition), /* 0x081C */
-};
-
-static ptocblock_t pack11_ptoc11[] = {
- PTOCBLOCK(NewSection), /* 0x0A02 */
-};
-
-static ptocblock_t pack11_ptoc12[] = {
- PTOCBLOCK(GetStandardFormats), /* 0x0A28 */
-};
-
-static ptocblock_t pack11_ptoc13[] = {
- PTOCBLOCK(NewSubscriberExpDialog), /* 0x0B34 */
- PTOCBLOCK(NewPublisherExpDialog), /* 0x0B38 */
- PTOCBLOCK(SectionOptionsExpDialog), /* 0x0B3C */
-};
-
-static selectorblock_t pack11block[] = {
- { 0x0100, 0x0100, 1, pack11_ptoc0 },
- { 0x0206, 0x0210, 2, pack11_ptoc1 },
- { 0x0224, 0x023A, 2, pack11_ptoc2 },
- { 0x0316, 0x0316, 1, pack11_ptoc3 },
- { 0x040C, 0x0412, 2, pack11_ptoc4 },
- { 0x0422, 0x0422, 1, pack11_ptoc5 },
- { 0x050E, 0x050E, 1, pack11_ptoc6 },
- { 0x052E, 0x0530, 2, pack11_ptoc7 },
- { 0x0604, 0x0604, 1, pack11_ptoc8 },
- { 0x0618, 0x0620, 2, pack11_ptoc9 },
- { 0x0814, 0x081C, 2, pack11_ptoc10 },
- { 0x0A02, 0x0A02, 1, pack11_ptoc11 },
- { 0x0A28, 0x0A28, 1, pack11_ptoc12 },
- { 0x0B34, 0x0B3C, 4, pack11_ptoc13 },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack11)
-{
- return do_selector_block(pack11block, EM_D0 & 0xFFFF, Pack11);
-}
-
-static ptocblock_t highlevel_fs_dispatch_ptoc[] = {
- PTOCBLOCK(FSMakeFSSpec), /* 0x0001 */
- PTOCBLOCK(FSpOpenDF), /* 0x0002 */
- PTOCBLOCK(FSpOpenRF), /* 0x0003 */
- PTOCBLOCK(FSpCreate), /* 0x0004 */
- PTOCBLOCK(FSpDirCreate), /* 0x0005 */
- PTOCBLOCK(FSpDelete), /* 0x0006 */
- PTOCBLOCK(FSpGetFInfo), /* 0x0007 */
- PTOCBLOCK(FSpSetFInfo), /* 0x0008 */
- PTOCBLOCK(FSpSetFLock), /* 0x0009 */
- PTOCBLOCK(FSpRstFLock), /* 0x000A */
- PTOCBLOCK(FSpRename), /* 0x000B */
- PTOCBLOCK(FSpCatMove), /* 0x000C */
- PTOCBLOCK(FSpOpenResFile), /* 0x000D */
- PTOCBLOCK(FSpCreateResFile), /* 0x000E */
- PTOCBLOCK(FSpExchangeFiles), /* 0x000F */
-};
-
-static selectorblock_t highlevel_fs_dispatch_block[] = {
- { 0x0001, 0x000F, 1, highlevel_fs_dispatch_ptoc },
-};
-
-STUB(HighLevelFSDispatch)
-{
- return do_selector_block(highlevel_fs_dispatch_block,
- EM_D0 & 0xF, HighLevelFSDispatch);
-}
-
-static ptocblock_t dialog_dispatch_ptoc0[] = {
- PTOCBLOCK(GetStdFilterProc), /* 0x0203 */
-};
-
-static ptocblock_t dialog_dispatch_ptoc1[] = {
- PTOCBLOCK(SetDialogDefaultItem), /* 0x0304 */
- PTOCBLOCK(SetDialogCancelItem), /* 0x0305 */
- PTOCBLOCK(SetDialogTracksCursor), /* 0x0306 */
-};
-
-static selectorblock_t dialog_dispatch_block[] = {
- { 0x0203, 0x0203, 1, dialog_dispatch_ptoc0 },
- { 0x0304, 0x0306, 1, dialog_dispatch_ptoc1 },
-};
-
-STUB(DialogDispatch)
-{
- return do_selector_block(dialog_dispatch_block,
- EM_D0 & 0xFFFF, DialogDispatch);
-}
-
STUB(IMVI_PPC)
{
EM_D0 = paramErr; /* this is good enough for NetScape */
RTS();
}
-#if defined(NEWSTUBS)
-{
- PPCBrowser, /* 0x0d00 */
-}
-
-{
- PPCInit, /* 0x0 */
- PPCOpen, /* 0x1 */
- PPCStart, /* 0x2 */
- PPCInform, /* 0x3 */
- PPCAccept, /* 0x4 */
- PPCReject, /* 0x5 */
- PPCWrite, /* 0x6 */
- PPCRead, /* 0x7 */
- PPCEnd, /* 0x8 */
- PPCClose, /* 0x9 */
- IPCListPorts, /* 0xa */
- DeleteUserIdentity, /* 0xc */
- GetDefaultUser, /* 0xd */
- StartSecureSession, /* 0xe */
-}
-
-#endif
-
-static ptocblock_t balloon_ptoc[] = {
- PTOCBLOCK(HMGetHelpMenuHandle), /* 0x0200, */
- PTOCBLOCK(HMShowBalloon), /* 0x0b01, */
- PTOCBLOCK(HMRemoveBalloon), /* 0x0002, */
- PTOCBLOCK(HMGetBalloons), /* 0x0003, */
- PTOCBLOCK(HMSetBalloons), /* 0x0104, */
- PTOCBLOCK(HMShowMenuBalloon), /* 0x0e05, */
- PTOCBLOCK(HMGetIndHelpMsg), /* 0x1306, */
- PTOCBLOCK(HMIsBalloon), /* 0x0007, */
- PTOCBLOCK(HMSetFont), /* 0x0108, */
- PTOCBLOCK(HMSetFontSize), /* 0x0109, */
- PTOCBLOCK(HMGetFont), /* 0x020a, */
- PTOCBLOCK(HMGetFontSize), /* 0x020b, */
- PTOCBLOCK(HMSetDialogResID), /* 0x010c, */
- PTOCBLOCK(HMSetMenuResID), /* 0x020d, */
- PTOCBLOCK(HMBalloonRect), /* 0x040e, */
- PTOCBLOCK(HMGetMenuResID), /* 0x040f, */
- PTOCBLOCK(HMScanTemplateItems), /* 0x0410, */
- PTOCBLOCK(HMExtractHelpMsg), /* 0x0711, */
- ZERO_PTOCBLOCK, /* 0x0012, */
- PTOCBLOCK(HMGetDialogResID), /* 0x0213, */
- PTOCBLOCK(HMGetMenuResID), /* 0x0314, */
- PTOCBLOCK(HMGetBalloonWindow), /* 0x0215, */
-};
-
-static selectorblock_t balloon_block[] = {
- { 0x00, 0x015, 1, balloon_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack14)
-{
- return do_selector_block(balloon_block, EM_D0 & 0xFF, Pack14);
-}
-
-static ptocblock_t pack15_ptoc[] = {
- PTOCBLOCK(GetPictInfo), /* 0x00 */
- PTOCBLOCK(GetPixMapInfo), /* 0x01 */
- PTOCBLOCK(NewPictInfo), /* 0x02 */
- PTOCBLOCK(RecordPictInfo), /* 0x03 */
- PTOCBLOCK(RecordPixMapInfo), /* 0x04 */
- PTOCBLOCK(RetrievePictInfo), /* 0x05 */
- PTOCBLOCK(DisposePictInfo), /* 0x06 */
-};
-
-static selectorblock_t pack15_block[] = {
- { 0x00, 0x06, 1, pack15_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(Pack15)
-{
- return do_selector_block(pack15_block, EM_D0 & 0xFF, Pack15);
-}
-
STUB(CommToolboxDispatch)
{
comm_toolbox_dispatch_args_t *arg_block;
@@ -1724,12 +313,6 @@ STUB(CommToolboxDispatch)
RTS();
}
-STUB(SysEnvirons)
-{
- EM_D0 = SysEnvirons(EM_D0, (SysEnvRecPtr)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
STUB(PostEvent)
{
GUEST qelemp;
@@ -1741,94 +324,6 @@ STUB(PostEvent)
RTS();
}
-STUB(FlushEvents)
-{
- FlushEvents(EM_D0, EM_D0 >> 16);
- EM_D0 = 0; /* LIE? */
- RTS();
-}
-
-STUB(GetOSEvent)
-{
- EM_D0 = GetOSEvent(EM_D0, (EventRecord *)SYN68K_TO_US_CHECK0(EM_A0)) ? 0 : -1;
- RTS();
-}
-
-STUB(OSEventAvail)
-{
- EM_D0 = OSEventAvail(EM_D0, (EventRecord *)SYN68K_TO_US_CHECK0(EM_A0)) ? 0 : -1;
- RTS();
-}
-
-STUB(SlotVInstall)
-{
- /* FIXME: for now, ignore the slot argument */
- EM_D0 = SlotVInstall((VBLTaskPtr)SYN68K_TO_US_CHECK0(EM_A0),
- (INTEGER)EM_D0);
- RTS();
-}
-
-STUB(VInstall)
-{
- EM_D0 = VInstall((VBLTaskPtr)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-STUB(SlotVRemove)
-{
- EM_D0 = SlotVRemove((VBLTaskPtr)SYN68K_TO_US_CHECK0(EM_A0),
- (INTEGER)EM_D0);
- RTS();
-}
-
-STUB(VRemove)
-{
- EM_D0 = VRemove((VBLTaskPtr)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-STUB(InsTime)
-{
- InsTime((QElemPtr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = 0;
- RTS();
-}
-
-STUB(RmvTime)
-{
- RmvTime((QElemPtr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = 0;
- RTS();
-}
-
-STUB(PrimeTime)
-{
- PrimeTime((QElemPtr)SYN68K_TO_US_CHECK0(EM_A0), EM_D0);
- EM_D0 = 0;
- RTS();
-}
-
-STUB(ReadDateTime)
-{
- EM_D0 = ReadDateTime((GUEST *)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-STUB(SetDateTime)
-{
- EM_D0 = SetDateTime(EM_D0);
- RTS();
-}
-
-STUB(Delay)
-{
- LONGINT tempp;
-
- // FIXME: #warning is a0 really the argument to delay? That sounds weird
- Delay(EM_A0, &tempp);
- EM_D0 = tempp;
- RTS();
-}
#define DIACBIT (1 << 9)
#define CASEBIT (1 << 10)
@@ -1851,264 +346,24 @@ STUB(RelString)
RTS();
}
-STUB(UprString)
-{
- long savea0;
-
- savea0 = EM_A0;
- ROMlib_UprString((StringPtr)SYN68K_TO_US_CHECK0(EM_A0),
- !(EM_D1 & DIACBIT), EM_D0);
- EM_A0 = savea0;
- RTS();
-}
-
-STUB(StripAddress)
-{
- RTS();
-}
-
-static ptocblock_t prglueptoc[] = {
- PTOCBLOCK(PrOpenDoc), /* 0 */
- PTOCBLOCK(PrCloseDoc), /* 1 */
- PTOCBLOCK(PrOpenPage), /* 2 */
- PTOCBLOCK(PrClosePage), /* 3 */
- PTOCBLOCK(PrintDefault), /* 4 */
- PTOCBLOCK(PrStlDialog), /* 5 */
- PTOCBLOCK(PrJobDialog), /* 6 */
- PTOCBLOCK(PrStlInit), /* 7 */
- PTOCBLOCK(PrJobInit), /* 8 */
- PTOCBLOCK(PrDlgMain), /* 9 */
- PTOCBLOCK(PrValidate), /* 10 */
- PTOCBLOCK(PrJobMerge), /* 11 */
- PTOCBLOCK(PrPicFile), /* 12 */
- ZERO_PTOCBLOCK, /* 13 */
- PTOCBLOCK(PrGeneral), /* 14 */
- ZERO_PTOCBLOCK, /* 15 */
- PTOCBLOCK(PrDrvrOpen), /* 16 */
- PTOCBLOCK(PrDrvrClose), /* 17 */
- PTOCBLOCK(PrDrvrDCE), /* 18 */
- PTOCBLOCK(PrDrvrVers), /* 19 */
- PTOCBLOCK(PrCtlCall), /* 20 */
- ZERO_PTOCBLOCK /*PrPurge*/, /* 21 */
- ZERO_PTOCBLOCK /*PrNoPurge*/, /* 22 */
- PTOCBLOCK(PrError), /* 23 */
- PTOCBLOCK(PrSetError), /* 24 */
- PTOCBLOCK(PrOpen), /* 25 */
- PTOCBLOCK(PrClose), /* 26 */
-};
-
-static selectorblock_t prglueblock[] = {
- { 0, 26, 1, prglueptoc },
- { 0, 0, 0, 0 },
-};
-
-static long
-apparent_nop(long unused1, long unused2)
-{
- long retval;
-
- retval = 0;
-
- warning_unexpected("d0 = 0x%lx", (unsigned long)EM_D0);
- return retval;
-}
-
-STUB(PrGlue)
-{
- syn68k_addr_t retaddr;
- unsigned long ul;
-
- retaddr = POPADDR();
- ul = POPUL();
- PUSHADDR(retaddr);
- return do_selector_block(prglueblock, ul >> 27, PrGlue);
-}
-
-typedef OSErrRET (*fsprocp_t)(void *, BOOLEAN);
-
-fsprocp_t hfstab[] = {
- (fsprocp_t)apparent_nop, /* 0 */
- (fsprocp_t)PBOpenWD, /* 1 */
- (fsprocp_t)PBCloseWD, /* 2 */
- (fsprocp_t)apparent_nop, /* 3 */
- (fsprocp_t)apparent_nop, /* 4 */
- (fsprocp_t)PBCatMove, /* 5 */
- (fsprocp_t)PBDirCreate, /* 6 */
- (fsprocp_t)PBGetWDInfo, /* 7 */
- (fsprocp_t)PBGetFCBInfo, /* 8 */
- (fsprocp_t)PBGetCatInfo, /* 9 */
- (fsprocp_t)PBSetCatInfo, /* 10 */
- (fsprocp_t)PBSetVInfo, /* 11 */
- (fsprocp_t)apparent_nop, /* 12 */
- (fsprocp_t)apparent_nop, /* 13 */
- (fsprocp_t)apparent_nop, /* 14 */
- (fsprocp_t)apparent_nop, /* 15 */
- (fsprocp_t)PBLockRange, /* 0x10 */
- (fsprocp_t)PBUnlockRange, /* 0x11 */
- (fsprocp_t)apparent_nop, /* 0x12 */
- (fsprocp_t)apparent_nop, /* 0x13 */
- (fsprocp_t)PBCreateFileIDRef, /* 0x14 */
- (fsprocp_t)PBDeleteFileIDRef, /* 0x15 */
- (fsprocp_t)PBResolveFileIDRef, /* 0x16 */
- (fsprocp_t)PBExchangeFiles, /* 0x17 */
- (fsprocp_t)PBCatSearch, /* 0x18 */
- (fsprocp_t)0, /* 0x19 */
- (fsprocp_t)PBOpenDF, /* 0x1A */
-#if !defined(NEWSTUBS)
- (fsprocp_t)0, /* 0x1B */
-#else
- (fsprocp_t)PBMakeFSSpec, /* 0x1B */
-#endif
- (fsprocp_t)0, /* 0x1C */
- (fsprocp_t)0, /* 0x1D */
- (fsprocp_t)0, /* 0x1E */
- (fsprocp_t)0, /* 0x1F */
- (fsprocp_t)PBDTGetPath, /* 0x20 */
- (fsprocp_t)PBDTCloseDown, /* 0x21 */
- (fsprocp_t)PBDTAddIcon, /* 0x22 */
- (fsprocp_t)PBDTGetIcon, /* 0x23 */
- (fsprocp_t)PBDTGetIconInfo, /* 0x24 */
- (fsprocp_t)PBDTAddAPPL, /* 0x25 */
- (fsprocp_t)PBDTRemoveAPPL, /* 0x26 */
- (fsprocp_t)PBDTGetAPPL, /* 0x27 */
- (fsprocp_t)PBDTSetComment, /* 0x28 */
- (fsprocp_t)PBDTRemoveComment, /* 0x29 */
- (fsprocp_t)PBDTGetComment, /* 0x2A */
- (fsprocp_t)PBDTFlush, /* 0x2B */
- (fsprocp_t)PBDTReset, /* 0x2C */
- (fsprocp_t)PBDTGetInfo, /* 0x2D */
- (fsprocp_t)PBDTOpenInform, /* 0x2E */
- (fsprocp_t)PBDTDelete, /* 0x2F */
- (fsprocp_t)PBHGetVolParms, /* 0x30 */
- (fsprocp_t)PBHGetLogInInfo, /* 0x31 */
- (fsprocp_t)PBHGetDirAccess, /* 0x32 */
- (fsprocp_t)PBHSetDirAccess, /* 0x33 */
- (fsprocp_t)PBHMapID, /* 0x34 */
- (fsprocp_t)PBHMapName, /* 0x35 */
- (fsprocp_t)PBHCopyFile, /* 0x36 */
- (fsprocp_t)PBHMoveRename, /* 0x37 */
- (fsprocp_t)OpenDeny, /* 0x38 */
-#if 0
- (fsprocp_t) OpenRFDeny, /* 0x39 */
- (fsprocp_t) 0, /* 0x3A */
- (fsprocp_t) 0, /* 0x3b */
- (fsprocp_t) 0, /* 0x3c */
- (fsprocp_t) 0, /* 0x3d */
- (fsprocp_t) 0, /* 0x3e */
- (fsprocp_t) PBGetVolMountInfoSize, /* 0x3f */
- (fsprocp_t) PBGetVolMountInfo, /* 0x40 */
- (fsprocp_t) 0, /* 0x41 */
- (fsprocp_t) 0, /* 0x42 */
- (fsprocp_t) 0, /* 0x43 */
- (fsprocp_t) 0, /* 0x44 */
- (fsprocp_t) 0, /* 0x45 */
- (fsprocp_t) 0, /* 0x46 */
- (fsprocp_t) 0, /* 0x47 */
- (fsprocp_t) 0, /* 0x48 */
- (fsprocp_t) 0, /* 0x49 */
- (fsprocp_t) 0, /* 0x4a */
- (fsprocp_t) 0, /* 0x4b */
- (fsprocp_t) 0, /* 0x4c */
- (fsprocp_t) 0, /* 0x4d */
- (fsprocp_t) 0, /* 0x4e */
- (fsprocp_t) 0, /* 0x4f */
- (fsprocp_t) 0, /* 0x50 */
- (fsprocp_t) 0, /* 0x51 */
- (fsprocp_t) 0, /* 0x52 */
- (fsprocp_t) 0, /* 0x53 */
- (fsprocp_t) 0, /* 0x54 */
- (fsprocp_t) 0, /* 0x55 */
- (fsprocp_t) 0, /* 0x56 */
- (fsprocp_t) 0, /* 0x57 */
- (fsprocp_t) 0, /* 0x58 */
- (fsprocp_t) 0, /* 0x59 */
- (fsprocp_t) 0, /* 0x5a */
- (fsprocp_t) 0, /* 0x5b */
- (fsprocp_t) 0, /* 0x5c */
- (fsprocp_t) 0, /* 0x5d */
- (fsprocp_t) 0, /* 0x5e */
- (fsprocp_t) 0, /* 0x5f */
- (fsprocp_t) PBGetForeignPrivs, /* 0x60 */
- (fsprocp_t) PBSetForeignPrivs, /* 0x61 */
-#endif
-};
-
-#define ASYNCBIT (1 << 10)
-#define HFSBIT (1 << 9)
-
-STUB(HFSDispatch)
-{
- fsprocp_t vp;
-
- if((EM_D0 & 0xFFFF) >= NELEM(hfstab))
- {
- warning_unexpected("d0 = 0x%lx", (unsigned long)EM_D0);
- EM_D0 = paramErr;
- }
- else
- {
- if(((EM_D0 & 0xFFFF) == 0x1A) && (EM_D1 & 0x200) == 0)
- vp = (fsprocp_t)PBOpen;
- else
- vp = hfstab[(EM_D0 & 0xFFFF)];
- if(vp)
- EM_D0 = (*vp)(SYN68K_TO_US_CHECK0(EM_A0),
- !!(EM_D1 & ASYNCBIT));
- else
- {
- warning_unexpected("d0 = 0x%lx", (unsigned long)EM_D0);
- EM_D0 = paramErr;
- }
- }
- RTS();
-}
-
-#if defined(NEWSTUBS)
-{
- AppendDITL, /* 0x402 */
- CountDITL, /* 0x403 */
- ShortenDITL, /* 0x404 */
-};
-
-{
- DebuggerGetMax, /* 0x0 */
- DebuggerEnter, /* 0x1 */
- DebuggerExit, /* 0x2 */
- DebuggerPoll, /* 0x3 */
- GetPageState, /* 0x4 */
- PageFaultFatal, /* 0x5 */
- DebuggerLockMemory, /* 0x6 */
- DebuggerUnlockMemory, /* 0x7 */
- EnterSupervisorMode, /* 0x8 */
-};
-
+STUB(UprString)
{
- GetCPUSpeed, /* 0xffff */
- EnableIdle, /* 0x0000 */
- DisableIdle, /* 0x0001 */
-};
+ long savea0;
-{
- HoldMemory, /* 0 */
- UnholdMemory, /* 1 */
- LockMemory, /* 2 */
- UnlockMemory, /* 3 */
- LockMemoryCongiguous, /* 4 */
- GetPhysical, /* 5 */
-};
-#endif
+ savea0 = EM_A0;
+ ROMlib_UprString((StringPtr)SYN68K_TO_US_CHECK0(EM_A0),
+ !(EM_D1 & DIACBIT), EM_D0);
+ EM_A0 = savea0;
+ RTS();
+}
-STUB(FInitQueue)
+STUB(StripAddress)
{
RTS();
}
-STUB(HFSRoutines)
+STUB(FInitQueue)
{
- fsprocp_t vp;
-
- vp = (fsprocp_t)((EM_D1 & HFSBIT) ? ignoreme2[1] : ignoreme2[0]);
- EM_D0 = (*vp)(SYN68K_TO_US_CHECK0(EM_A0), !!(EM_D1 & ASYNCBIT));
RTS();
}
@@ -2214,7 +469,7 @@ add_to_bad_trap_addresses(bool tool_p, unsigned short index)
if(tool_p)
aline_trap += 0x800;
- for(i = 0; i < n_bad_traps && bad_traps[i] != aline_trap; ++i)
+ for(i = 0; i < n_bad_traps && i < NELEM(bad_traps) && bad_traps[i] != aline_trap; ++i)
;
if(i >= n_bad_traps)
{
@@ -2287,7 +542,7 @@ ROMlib_GetTrapAddress_helper(uint32_t *d0p, uint32_t d1, uint32_t *a0p)
if(*a0p == (uint32_t)tooltraptable[UNIMPLEMENTEDINDEX])
{
add_to_bad_trap_addresses(tool_p, *d0p);
- *a0p = US_TO_SYN68K_CHECK0(P_bad_trap_unimplemented);
+ *a0p = US_TO_SYN68K_CHECK0((Ptr)&stub_bad_trap_unimplemented);
}
*d0p = 0;
}
@@ -2317,7 +572,7 @@ STUB(SetTrapAddress)
STUB(Gestalt)
{
GUEST l;
- ProcPtr oldp;
+ SelectorFunctionUPP oldp;
switch(EM_D1 & 0xFFFF)
{
@@ -2331,10 +586,10 @@ STUB(Gestalt)
if(EM_D0 == DONGLE_GESTALT)
EM_D0 = Gestalt(EM_D0, (GUEST *)SYN68K_TO_US_CHECK0(EM_A0));
else
- EM_D0 = NewGestalt(EM_D0, (ProcPtr)SYN68K_TO_US_CHECK0(EM_A0));
+ EM_D0 = NewGestalt(EM_D0, (SelectorFunctionUPP)SYN68K_TO_US_CHECK0(EM_A0));
break;
case 0xA5AD:
- EM_D0 = ReplaceGestalt(EM_D0, (ProcPtr)SYN68K_TO_US_CHECK0(EM_A0),
+ EM_D0 = ReplaceGestalt(EM_D0, (SelectorFunctionUPP)SYN68K_TO_US_CHECK0(EM_A0),
&oldp);
EM_A0 = US_TO_SYN68K_CHECK0((void *)oldp);
break;
@@ -2388,82 +643,6 @@ STUB(WackyQD32Trap)
gui_fatal("This trap shouldn't be called");
}
-STUB(HGetState)
-{
- EM_D0 = HGetState((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- RTS();
-}
-
-STUB(HSetState)
-{
- HSetState((Handle)SYN68K_TO_US_CHECK0(EM_A0), EM_D0);
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HLock)
-{
- HLock((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HUnlock)
-{
- HUnlock((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HPurge)
-{
- HPurge((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HNoPurge)
-{
- HNoPurge((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HSetRBit)
-{
- HSetRBit((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HClrRBit)
-{
- HClrRBit((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(InitApplZone)
-{
- InitApplZone();
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(SetApplBase)
-{
- SetApplBase((Ptr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(MoreMasters)
-{
- MoreMasters();
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
STUB(InitZone)
{
initzonehiddenargs_t *ip;
@@ -2475,236 +654,6 @@ STUB(InitZone)
RTS();
}
-STUB(SetZone)
-{
- SetZone((THz)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(DisposHandle)
-{
- DisposHandle((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(GetHandleSize)
-{
- EM_D0 = GetHandleSize((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- if(CW(LM(MemErr)) < 0)
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(SetHandleSize)
-{
- SetHandleSize((Handle)SYN68K_TO_US_CHECK0(EM_A0), EM_D0);
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(ReallocHandle)
-{
- ReallocHandle((Handle)SYN68K_TO_US_CHECK0(EM_A0), EM_D0);
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(DisposPtr)
-{
- DisposPtr((Ptr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(GetPtrSize)
-{
- EM_D0 = GetPtrSize((Ptr)SYN68K_TO_US_CHECK0(EM_A0));
- if(CW(LM(MemErr)) < 0)
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(SetPtrSize)
-{
- SetPtrSize((Ptr)SYN68K_TO_US_CHECK0(EM_A0), EM_D0);
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(FreeMem)
-{
- EM_D0 = _FreeMem_flags(SYS_P(EM_D1, 0xA01C));
- RTS();
-}
-
-STUB(CompactMem)
-{
- EM_D0 = _CompactMem_flags(EM_D0, SYS_P(EM_D1, 0xA04C));
- RTS();
-}
-
-STUB(ResrvMem)
-{
- _ResrvMem_flags(EM_D0, SYS_P(EM_D1, 0xA040));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(PurgeMem)
-{
- _PurgeMem_flags(EM_D0, SYS_P(EM_D1, 0xA04D));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(BlockMove)
-{
- BlockMove_the_trap((Ptr)SYN68K_TO_US_CHECK0(EM_A0),
- (Ptr)SYN68K_TO_US_CHECK0(EM_A1), EM_D0,
- !(EM_D1 & 0x200));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(MaxApplZone)
-{
- MaxApplZone();
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(MoveHHi)
-{
- MoveHHi((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(MaxBlock)
-{
- EM_D0 = _MaxBlock_flags(SYS_P(EM_D1, 0xA061));
- RTS();
-}
-
-STUB(StackSpace)
-{
- EM_D0 = StackSpace();
- RTS();
-}
-
-STUB(SetApplLimit)
-{
- SetApplLimit((Ptr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(SetGrowZone)
-{
- SetGrowZone((GrowZoneProcPtr)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(GetZone)
-{
- EM_A0 = US_TO_SYN68K_CHECK0(GetZone());
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(NewEmptyHandle)
-{
- EM_A0 = US_TO_SYN68K_CHECK0(_NewEmptyHandle_flags(SYS_P(EM_D1, 0xA166)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(NewHandle)
-{
- /* #### d1 options */
-
- EM_A0 = (uint32_t)US_TO_SYN68K_CHECK0(_NewHandle_flags(EM_D0, SYS_P(EM_D1, 0xA122),
- CLEAR_P(EM_D1, 0xA122)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(HandleZone)
-{
- EM_A0 = (uint32_t)
- US_TO_SYN68K_CHECK0(HandleZone((Handle)SYN68K_TO_US_CHECK0(EM_A0)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(RecoverHandle)
-{
- EM_A0 = US_TO_SYN68K_CHECK0(
- _RecoverHandle_flags((Ptr)SYN68K_TO_US_CHECK0(EM_A0),
- SYS_P(EM_D1, 0xA128)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(NewPtr)
-{
- EM_A0 = US_TO_SYN68K_CHECK0(_NewPtr_flags(EM_D0, SYS_P(EM_D1, 0xA11E),
- CLEAR_P(EM_D1, 0xA11E)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(PtrZone)
-{
- EM_A0 = US_TO_SYN68K_CHECK0(PtrZone((Ptr)SYN68K_TO_US_CHECK0(EM_A0)));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(MaxMem)
-{
- EM_D0 = _MaxMem_flags((Size *)&EM_A0, SYS_P(EM_D1, 0xA11D));
- RTS();
-}
-
-STUB(PurgeSpace)
-{
- int32_t total, contig;
-
- _PurgeSpace_flags(&total, &contig, SYS_P(EM_D1, 0xA062));
- EM_D0 = total;
- EM_A0 = contig;
- RTS();
-}
-
-STUB(EmptyHandle)
-{
- EmptyHandle((Handle)SYN68K_TO_US_CHECK0(EM_A0));
- EM_D0 = CW(LM(MemErr));
- RTS();
-}
-
-STUB(WriteParam)
-{
- EM_D0 = WriteParam();
- RTS();
-}
-
-STUB(InitUtil)
-{
- EM_D0 = InitUtil();
- RTS();
-}
-
-STUB(flushcache)
-{
- flushcache();
- RTS();
-}
-
STUB(Microseconds)
{
unsigned long ms = msecs_elapsed();
@@ -2713,148 +662,6 @@ STUB(Microseconds)
RTS();
}
-static selector_table_entry_t icon_dispatch_table[] = {
- { 0x0207, PTOCBLOCK(NewIconSuite) },
- { 0x0217, PTOCBLOCK(GetSuiteLabel) },
- { 0x0302, PTOCBLOCK(DisposeIconSuite) },
- { 0x0316, PTOCBLOCK(SetSuiteLabel) },
- { 0x0419, PTOCBLOCK(GetIconCacheData) },
- { 0x041A, PTOCBLOCK(SetIconCacheData) },
- { 0x041B, PTOCBLOCK(GetIconCacheProc) },
- { 0x041C, PTOCBLOCK(SetIconCacheProc) },
- { 0x0500, PTOCBLOCK(PlotIconID) },
- { 0x0501, PTOCBLOCK(GetIconSuite) },
- { 0x050B, PTOCBLOCK(GetLabel) },
- { 0x0603, PTOCBLOCK(PlotIconSuite) },
- { 0x0604, PTOCBLOCK(MakeIconCache) },
- { 0x0606, PTOCBLOCK(LoadIconCache) },
- { 0x0608, PTOCBLOCK(AddIconToSuite) },
- { 0x0609, PTOCBLOCK(GetIconFromSuite) },
- { 0x060D, PTOCBLOCK(PtInIconID) },
- { 0x0610, PTOCBLOCK(RectInIconID) },
- { 0x0613, PTOCBLOCK(IconIDToRgn) },
- { 0x061D, PTOCBLOCK(PlotIconHandle) },
- { 0x061E, PTOCBLOCK(PlotSICNHandle) },
- { 0x061F, PTOCBLOCK(PlotCIconHandle) },
- { 0x070E, PTOCBLOCK(PtInIconSuite) },
- { 0x0711, PTOCBLOCK(RectInIconSuite) },
- { 0x0714, PTOCBLOCK(IconSuiteToRgn) },
- { 0x080A, PTOCBLOCK(ForEachIconDo) },
- { 0x0805, PTOCBLOCK(PlotIconMethod) },
- { 0x090F, PTOCBLOCK(PtInIconMethod) },
- { 0x0912, PTOCBLOCK(RectInIconMethod) },
- { 0x0915, PTOCBLOCK(IconMethodToRgn) },
-};
-
-STUB(IconDispatch)
-{
- return do_selector_table(EM_D0 & 0xFFFF,
- icon_dispatch_table, NELEM(icon_dispatch_table),
- NULL,
- IconDispatch);
-}
-
-// FIXME: #warning should include speech manager selectors
-/*
- * NOTE: IM Sound p. 4-109 has a table of speech manager selectors:
- *
- * 0x0000000c SpeechManagerVersion
- * 0x003c000c SpeechBusy
- * 0x0040000c SpeechBusySystemWide
- * 0x0108000c CountVoices
- * 0x021c000c DisposeSpeechChannel
- * 0x0220000c SpeakString
- * 0x022c000c StopSpeech
- * 0x0238000c ContinueSpeech
- * 0x030c000c GetIndVoice
- * 0x0418000c NewSpeechChannel
- * 0x0430000c StopSpeechAt
- * 0x0434000c PauseSpeechAt
- * 0x0444000c SetSpeechRate
- * 0x0448000c GetSpeechRate
- * 0x044c000c SetSpeechPitch
- * 0x0450000c GetSpeechPitch
- * 0x0460000c UseDictionary
- * 0x0604000c MakeVoiceSpec
- * 0x0610000c GetVoiceDescription
- * 0x0614000c GetVoiceInfo
- * 0x0624000c SpeakText
- * 0x0654000c SetSpeechInfo
- * 0x0658000c GetSpeechInfo
- * 0x0828000c SpeakBuffer
- * 0x0a5c000c TextToPhonemes
-
-static selector_table_entry_t speech_table[] = {
- { 0x0000000c, PTOCBLOCK(SpeechManagerVersion) },
- { 0x003c000c, PTOCBLOCK(SpeechBusy) },
- { 0x0040000c, PTOCBLOCK(SpeechBusySystemWide) }
-}; */
-
-static selector_table_entry_t sound_table[] = {
- { 0x00000000, PTOCBLOCK(FinaleUnknown1) },
- { 0x00000004, PTOCBLOCK(DirectorUnknown3) },
- { 0x00000010, PTOCBLOCK(MACEVersion) },
- { 0x00000014, PTOCBLOCK(SPBVersion) },
- { 0x00040004, PTOCBLOCK(FinaleUnknown2) },
- { 0x00040010, PTOCBLOCK(Comp3to1) },
- { 0x00080010, PTOCBLOCK(Exp1to3) },
- { 0x000C0008, PTOCBLOCK(SndSoundManagerVersion) },
- { 0x000C0010, PTOCBLOCK(Comp6to1) },
- { 0x00100008, PTOCBLOCK(SndChannelStatus) }, /* may be wrong */
- { 0x00100010, PTOCBLOCK(Exp1to6) },
- { 0x00140008, PTOCBLOCK(SndManagerStatus) }, /* may be wrong */
- { 0x00180008, PTOCBLOCK(SndGetSysBeepState) }, /* may be wrong */
- { 0x001C0004, PTOCBLOCK(DirectorUnknown4) },
- { 0x001C0008, PTOCBLOCK(SndSetSysBeepState) }, /* may be wrong */
- { 0x00200008, PTOCBLOCK(SndPlayDoubleBuffer) }, /* may be wrong */
- { 0x01100014, PTOCBLOCK(SPBSignOutDevice) },
- { 0x011C0008, PTOCBLOCK(SndSetSysBeepState) },
- { 0x02040008, PTOCBLOCK(SndPauseFilePlay) },
- { 0x02180008, PTOCBLOCK(SndGetSysBeepState) },
- { 0x021C0014, PTOCBLOCK(SPBCloseDevice) },
- { 0x02240018, PTOCBLOCK(GetSysBeepVolume) },
- { 0x02280014, PTOCBLOCK(SPBPauseRecording) },
- { 0x02280018, PTOCBLOCK(SetSysBeepVolume) },
- { 0x022C0014, PTOCBLOCK(SPBResumeRecording) },
- { 0x022C0018, PTOCBLOCK(GetDefaultOutputVolume) },
- { 0x02300014, PTOCBLOCK(SPBStopRecording) },
- { 0x02300018, PTOCBLOCK(SetDefaultOutputVolume) },
- { 0x03080008, PTOCBLOCK(SndStopFilePlay) },
- { 0x030C0014, PTOCBLOCK(SPBSignInDevice) },
- { 0x03140008, PTOCBLOCK(SndManagerStatus) },
- { 0x03200014, PTOCBLOCK(SPBRecord) },
- { 0x04040018, PTOCBLOCK(GetSoundHeaderOffset) },
- { 0x04200008, PTOCBLOCK(SndPlayDoubleBuffer) },
- { 0x04240014, PTOCBLOCK(SPBRecordToFile) },
- { 0x04400014, PTOCBLOCK(SPBMillisecondsToBytes) },
- { 0x04440014, PTOCBLOCK(SPBBytesToMilliseconds) },
- { 0x05100008, PTOCBLOCK(SndChannelStatus) },
- { 0x05140014, PTOCBLOCK(SPBGetIndexedDevice) },
- { 0x05180014, PTOCBLOCK(SPBOpenDevice) },
- { 0x060C0018, PTOCBLOCK(UnsignedFixedMulDiv) },
- { 0x06340018, PTOCBLOCK(SetSoundPreference) },
- { 0x06380014, PTOCBLOCK(SPBGetDeviceInfo) },
- { 0x06380018, PTOCBLOCK(GetSoundPreference) },
- { 0x063C0014, PTOCBLOCK(SPBSetDeviceInfo) },
- { 0x063C0018, PTOCBLOCK(SndGetInfo) },
- { 0x06400018, PTOCBLOCK(SndSetInfo) },
- { 0x07080014, PTOCBLOCK(SndRecordToFile) },
- { 0x07100018, PTOCBLOCK(GetCompressionInfo) },
- { 0x08040014, PTOCBLOCK(SndRecord) },
- { 0x0B4C0014, PTOCBLOCK(SetupAIFFHeader) },
- { 0x0D000008, PTOCBLOCK(SndStartFilePlay) },
- { 0x0D480014, PTOCBLOCK(SetupSndHeader) },
- { 0x0E340014, PTOCBLOCK(SPBGetRecordingStatus) },
-};
-
-STUB(SoundDispatch)
-{
- return do_selector_table(EM_D0,
- sound_table, NELEM(sound_table),
- NULL,
- SoundDispatch);
-}
-
STUB(IMVI_ReadXPRam)
{
/* I, ctm, don't have the specifics for ReadXPram, but Bolo suggests that
@@ -2869,44 +676,6 @@ STUB(IMVI_ReadXPRam)
RTS();
}
-/* These are the QuickTime routines called by Quicken Preview from Quicken 6
- Deluxe, which is going to be our first QT 3.0 test application */
-
-static selector_table_entry_t qt_table[] = {
- { 1, PTOCBLOCK(EnterMovies) },
- { 2, PTOCBLOCK(ExitMovies) },
- { 5, PTOCBLOCK(MoviesTask) },
- { 6, PTOCBLOCK(PrerollMovie) },
- { 9, PTOCBLOCK(SetMovieActive) },
- { 11, PTOCBLOCK(StartMovie) },
- { 12, PTOCBLOCK(StopMovie) },
- { 13, PTOCBLOCK(GoToBeginningOfMovie) },
- { 22, PTOCBLOCK(SetMovieGWorld) },
- { 31, PTOCBLOCK(UpdateMovie) },
- { 35, PTOCBLOCK(DisposeMovie) },
- { 46, PTOCBLOCK(GetMovieVolume) },
- { 213, PTOCBLOCK(CloseMovieFile) },
- { 221, PTOCBLOCK(IsMovieDone) },
- { 240, PTOCBLOCK(NewMovieFromFile) },
- { 243, PTOCBLOCK(GetMoviePreferredRate) },
- { 249, PTOCBLOCK(GetMovieBox) },
- { 250, PTOCBLOCK(SetMovieBox) },
- { 394, PTOCBLOCK(NewMovieController) },
- { 395, PTOCBLOCK(DisposeMovieController) },
- { 402, PTOCBLOCK(OpenMovieFile) },
-};
-
-STUB(QuickTime)
-{
- return do_selector_table(EM_D0 & 0xFFFF, qt_table, NELEM(qt_table),
- NULL, QuickTime);
-}
-
-#if defined(__ppc__)
-
-// FIXME: #warning "Need to get CFM going before we can enable this glue."
-
-#elif defined(powerpc)
/*
* modeswitch is special; we don't return to from where we came.
@@ -2925,7 +694,7 @@ STUB(modeswitch)
EM_A7 += 4;
retaddr = POPADDR();
- rp = (RoutineDescriptor *)((char *)ignoreme); /* UGH! */
+ rp = (RoutineDescriptor *)(SYN68K_TO_US(ignoreme)); /* UGH! */
n_routines = CW(rp->routineCount) + 1;
for(i = 0;
@@ -2950,9 +719,13 @@ STUB(modeswitch)
warning_trace_info("calling universal from mixed mode using "
"register conventions");
+#if 0
retval = CallUniversalProc_from_native_common(unused, args_via_68k_regs,
MR(rp->routineRecords[i].procDescriptor),
procinfo);
+#else
+ retval = 0;
+#endif
retwidth = (procinfo >> 4) & 3;
ret_reg = (procinfo >> 6) & 31;
switch(retwidth)
@@ -3023,9 +796,13 @@ STUB(modeswitch)
uint32_t retval;
warning_trace_info("calling universal from mixed mode");
+#if 0
retval = CallUniversalProc_from_native_common(unused, args_via_68k_stack,
MR(rp->routineRecords[i].procDescriptor),
procinfo);
+#else
+ retval = 0;
+#endif
warning_trace_info("just got back from calling universal from mixed mode");
rettype = (procinfo >> kCallingConventionWidth)
& ((1 << kResultSizeWidth) - 1);
@@ -3046,51 +823,4 @@ STUB(modeswitch)
return retaddr;
}
-static ptocblock_t codefrag_ptoc[] = {
- PTOCBLOCK(GetSharedLibrary),
- PTOCBLOCK(GetDiskFragment),
- PTOCBLOCK(GetMemFragment),
- PTOCBLOCK(CloseConnection),
- PTOCBLOCK(FindSymbol),
- PTOCBLOCK(CountSymbols),
- PTOCBLOCK(GetIndSymbol),
-};
-
-static selectorblock_t codefrag_block[] = {
- {
- 1, 7, 1, codefrag_ptoc,
- },
- { 0, 0, 0, 0 },
-};
-
-STUB(CodeFragment)
-{
- syn68k_addr_t retaddr;
- unsigned short uw;
-
- retaddr = POPADDR();
- uw = POPUW();
- PUSHADDR(retaddr);
- return do_selector_block(codefrag_block, uw, CodeFragment);
-}
-
-static ptocblock_t mixed_modedispatch_ptoc[] = {
- PTOCBLOCK(NewRoutineDescriptor), /* 0x0 */
- PTOCBLOCK(DisposeRoutineDescriptor), /* 0x1 */
- PTOCBLOCK(NewFatRoutineDescriptor), /* 0x2 */
- PTOCBLOCK(SaveMixedModeState), /* 0x3 */
- PTOCBLOCK(RestoreMixedModeState), /* 0x4 */
-};
-
-static selectorblock_t mixed_modedispatch_block[] = {
- { 0x0, 0xC, 1, mixed_modedispatch_ptoc },
- { 0, 0, 0, 0 },
-};
-
-STUB(MixedMode)
-{
- return do_selector_block(mixed_modedispatch_block, EM_D0 & 0xF, MixedMode);
-}
-
-#endif
}
diff --git a/src/emutrap.cpp b/src/emutrap.cpp
index 31242c2b..d3e1c656 100644
--- a/src/emutrap.cpp
+++ b/src/emutrap.cpp
@@ -42,240 +42,6 @@ using namespace Executor;
*
*/
-#define SYN68K_TO_US_CHECK0_CHECKNEG1(addr) \
- ({ \
- syn68k_addr_t __t; \
- \
- __t = addr; \
- (__t == (syn68k_addr_t)-1) ? (uint16_t *)-1 : SYN68K_TO_US_CHECK0(__t); \
- })
-
-#define US_TO_SYN68K_CHECK0_CHECKNEG1(addr) \
- ({ \
- void *__t; \
- \
- __t = addr; \
- (__t == (void *)-1) ? (syn68k_addr_t)-1 : US_TO_SYN68K_CHECK0(__t); \
- })
-
-syn68k_addr_t Executor::PascalToCCall(syn68k_addr_t ignoreme,
- ptocblock_t *infop)
-{
- unsigned short pth, ptv;
- uintptr_t args[11], retval;
-#if defined(powerpc)
- Point points[11];
- int point_count = 0;
-#endif
- uint64_t magic = infop->magic;
- int count, rettype;
- void *funcp;
- int sizeflag;
- typedef uintptr_t (*func0argsp_t)(void);
- typedef uintptr_t (*func1argsp_t)(uintptr_t);
- typedef uintptr_t (*func2argsp_t)(uintptr_t, uintptr_t);
- typedef uintptr_t (*func3argsp_t)(uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func4argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func5argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func6argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func7argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func8argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func9argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func10argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- typedef uintptr_t (*func11argsp_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
- syn68k_addr_t retaddr;
-
- count = 0;
-
- retaddr = POPADDR();
-
- rettype = magic & 7;
- magic >>= 3;
- while((sizeflag = magic & 7))
- {
- switch(sizeflag)
- {
- case 1:
- args[count++] = POPSB();
- break;
- case 2:
- args[count++] = POPSW();
- break;
- case 3:
- ptv = POPSW();
- pth = POPSW();
-#if !defined(LITTLEENDIAN)
- args[count++] = (ptv << 16) | pth;
-#else /* defined(LITTLEENDIAN) */
- args[count++] = (pth << 16) | ptv;
-#endif /* defined(LITTLEENDIAN) */
- break;
- case 4:
- args[count++] = POPSL();
- break;
- case 5:
- args[count++] = (uintptr_t)SYN68K_TO_US_CHECK0_CHECKNEG1(POPSL());
- break;
- }
- magic >>= 3;
- }
-
- funcp = infop->wheretogo;
- switch(count)
- {
- case 0:
- retval = (*(func0argsp_t)funcp)();
- break;
- case 1:
- retval = (*(func1argsp_t)funcp)(args[0]);
- break;
- case 2:
- retval = (*(func2argsp_t)funcp)(args[1], args[0]);
- break;
- case 3:
- retval = (*(func3argsp_t)funcp)(args[2], args[1], args[0]);
- break;
- case 4:
- retval = (*(func4argsp_t)funcp)(args[3], args[2], args[1], args[0]);
- break;
- case 5:
- retval = (*(func5argsp_t)funcp)(args[4], args[3], args[2], args[1],
- args[0]);
- break;
- case 6:
- retval = (*(func6argsp_t)funcp)(args[5], args[4], args[3], args[2],
- args[1], args[0]);
- break;
- case 7:
- retval = (*(func7argsp_t)funcp)(args[6], args[5], args[4], args[3],
- args[2], args[1], args[0]);
- break;
- case 8:
- retval = (*(func8argsp_t)funcp)(args[7], args[6], args[5], args[4],
- args[3], args[2], args[1], args[0]);
- break;
- case 9:
- retval = (*(func9argsp_t)funcp)(args[8], args[7], args[6], args[5],
- args[4], args[3], args[2], args[1], args[0]);
- break;
- case 10:
- retval = (*(func10argsp_t)funcp)(args[9], args[8], args[7], args[6],
- args[5], args[4], args[3], args[2],
- args[1], args[0]);
- break;
- case 11:
- retval = (*(func11argsp_t)funcp)(args[10], args[9], args[8], args[7],
- args[6], args[5], args[4], args[3],
- args[2], args[1], args[0]);
- break;
-#if !defined(LETGCCWAIL)
- default:
- retval = 0;
-#endif
- }
-
- switch(rettype)
- {
- case 1:
- WRITEUW(EM_A7, 0); /* needed for WordPerfect */
- WRITEUB(EM_A7, retval);
- break;
- case 2:
- WRITEUW(EM_A7, retval);
- break;
- case 4:
- WRITEUL(EM_A7, retval);
- break;
- case 5:
- WRITEUL(EM_A7, US_TO_SYN68K_CHECK0_CHECKNEG1((void *)retval));
- break;
- }
- return retaddr;
-}
-
-static uintptr_t
-CToPascalCall_m68k(void *wheretogo, uint64_t magic, va_list ap)
-{
- uintptr_t retval;
- uintptr_t ul;
- int retvaltype;
- M68kReg saveregs[14];
-
- memcpy(saveregs, &EM_D1, sizeof(saveregs)); /* d1-d7/a0-a6 */
-
- retvaltype = magic & 7;
- switch(retvaltype)
- {
- case 1:
- case 2:
- PUSHUW(0);
- break;
- case 4:
- case 5:
- PUSHUL(0);
- break;
- }
- magic >>= 3;
- while(magic)
- {
- switch(magic & 7)
- {
- case 1:
- PUSHUB((unsigned char)va_arg(ap, uintptr_t));
- break;
- case 2:
- PUSHUW((unsigned short)va_arg(ap, uintptr_t));
- break;
- case 3:
- ul = va_arg(ap, uintptr_t);
-#if !defined(LITTLEENDIAN)
- PUSHUW(ul);
- PUSHUW(ul >> 16);
-#else /* defined(LITTLEENDIAN) */
- PUSHUW(ul >> 16);
- PUSHUW(ul);
-#endif /* defined(LITTLEENDIAN) */
- break;
- case 4:
- PUSHUL(va_arg(ap, uintptr_t));
- break;
- case 5:
- PUSHUL(US_TO_SYN68K_CHECK0_CHECKNEG1((void *)va_arg(ap, uintptr_t)));
- break;
- }
- magic >>= 3;
- }
- va_end(ap);
-
- CALL_EMULATOR(US_TO_SYN68K(wheretogo));
-
- switch(retvaltype)
- {
- case 0:
- retval = 0;
- break;
- case 1:
- retval = POPSB();
- break;
- case 2:
- retval = POPSW();
- break;
- case 4:
- retval = POPSL();
- break;
- case 5:
- retval = (uintptr_t)SYN68K_TO_US_CHECK0_CHECKNEG1(POPSL());
- break;
-#if !defined(LETGCCWAIL)
- default:
- retval = 0;
- break;
-#endif
- }
- memcpy(&EM_D1, saveregs, sizeof(saveregs)); /* d1-d7/a0-a6 */
- return retval;
-}
-
#if defined(powerpc) || defined(__ppc__)
static long
@@ -328,7 +94,7 @@ CToRoutineDescriptorCall(const RoutineDescriptor *p, unsigned long long magic,
{
case 1:
{
- arg = (uint8)va_arg(ap, unsigned long);
+ arg = (uint8_t)va_arg(ap, unsigned long);
arg = CB(arg);
procinfo |= STACK_ROUTINE_PARAMETER(n_args, kOneByteCode);
}
@@ -460,20 +226,3 @@ is_routine_descriptor_ptr(uint16_t *addr)
return retval;
}
#endif
-
-uintptr_t Executor::CToPascalCall(void *wheretogo, uint64_t magic, ...)
-{
- va_list ap;
- uintptr_t retval;
- va_start(ap, magic);
-
-#if defined(powerpc) || defined(__ppc__)
- if(is_routine_descriptor_ptr(wheretogo))
- retval = CToRoutineDescriptorCall((RoutineDescriptor *)wheretogo,
- magic, ap);
- else
-#endif
- retval = CToPascalCall_m68k(wheretogo, magic, ap);
- va_end(ap);
- return retval;
-}
diff --git a/src/emutraptables.cpp b/src/emutraptables.cpp
deleted file mode 100644
index 4ba4b430..00000000
--- a/src/emutraptables.cpp
+++ /dev/null
@@ -1,1729 +0,0 @@
-/* Copyright 1994, 1995, 1996 by Abacus Research and
- * Development, Inc. All rights reserved.
- */
-
-#include "rsys/common.h"
-#include "rsys/everything.h"
-
-#include "OSUtil.h"
-#include "Gestalt.h"
-#include "SysErr.h"
-
-#include "rsys/trapglue.h"
-#include "rsys/stdfile.h"
-#include "rsys/tesave.h"
-#include "rsys/resource.h"
-#include "rsys/ctl.h"
-#include "rsys/list.h"
-#include "rsys/menu.h"
-#include "rsys/wind.h"
-#include "rsys/print.h"
-#include "rsys/osutil.h"
-#include "rsys/vbl.h"
-#include "rsys/soundopts.h"
-#include "rsys/refresh.h"
-#include "rsys/gestalt.h"
-#include "rsys/emustubs.h"
-#include "rsys/executor.h"
-
-using namespace Executor;
-
-syn68k_addr_t Executor::tooltraptable[0x400]; /* Gets filled in at run time */
-syn68k_addr_t Executor::ostraptable[0x100]; /* Gets filled in at run time */
-
-#define C_Pack9 _Unimplemented /* PPCBrowser */
-#define C_Pack10 _Unimplemented
-
-#define C_Pack13 _Unimplemented /* DB stuff */
-#define C_Pack1 _Unimplemented
-
-#define _AddDrive _Unimplemented
-#define _RDrvrInstall _Unimplemented
-/* #define (void*)_IMVI_ReadXPRam (void*)_Unimplemented */
-#define _IMVI_WriteXPRam _Unimplemented
-#define _IMVI_MemoryDispatch _Unimplemented
-/* #define (void*)_SlotManager (void*)_Unimplemented */
-/* #define (void*)_SlotVInstall (void*)_Unimplemented */
-/* #define (void*)_SlotVRemove (void*)_Unimplemented */
-#define _AttachVBL _Unimplemented
-#define _DoVBLTask _Unimplemented
-#define _DTInstall _Unimplemented
-#define _SIntRemove _Unimplemented
-#define _InternalWait _Unimplemented
-#define _SIntInstall _Unimplemented
-#define _IMVI_IdleUpdate _Unimplemented
-#define _IMVI_SlpQInstall _Unimplemented
-#define _IMVI_DebugUtil _Unimplemented
-#define _IMVI_DeferUserFn _Unimplemented
-#define _IMVI_Translate24To32 _Unimplemented
-
-#define _GetMaskTable _Unimplemented
-#define _Debugger _Unimplemented
-
-void C_unknown574(void)
-{
-}
-
-static const toolstuff_t unimplemented_toolstuff = { { (void *)&_Unimplemented, static_cast(-1) }, 0 };
-
-toolstuff_t Executor::toolstuff[0x400] = {
- { { (void *)&_SoundDispatch, static_cast(-1) }, 0 },
- { { (void *)&C_SndDisposeChannel, ptoc(&C_SndDisposeChannel) }, 0 },
- { { (void *)&C_SndAddModifier, ptoc(&C_SndAddModifier) }, 0 },
- { { (void *)&C_SndDoCommand, ptoc(&C_SndDoCommand) }, 0 },
- { { (void *)&C_SndDoImmediate, ptoc(&C_SndDoImmediate) }, 0 },
- { { (void *)&C_SndPlay, ptoc(&C_SndPlay) }, 0 },
- { { (void *)&C_SndControl, ptoc(&C_SndControl) }, 0 },
- { { (void *)&C_SndNewChannel, ptoc(&C_SndNewChannel) }, 0 },
- { { (void *)&C_InitProcMenu, ptoc(&C_InitProcMenu) }, 0 },
- { { (void *)&C_GetCVariant, ptoc(&C_GetCVariant) }, 0 },
- { { (void *)&C_GetWVariant, ptoc(&C_GetWVariant) }, 0 },
- { { (void *)&C_PopUpMenuSelect, ptoc(&C_PopUpMenuSelect) }, 0 },
- { { (void *)&C_RGetResource, ptoc(&C_RGetResource) }, 0 },
- { { (void *)&C_Count1Resources, ptoc(&C_Count1Resources) }, 0 },
- { { (void *)&C_Get1IndResource, ptoc(&C_Get1IndResource) }, 0 },
- { { (void *)&C_Get1IndType, ptoc(&C_Get1IndType) }, 0 },
- { { (void *)&C_Unique1ID, ptoc(&C_Unique1ID) }, 0 },
- { { (void *)&C_TESelView, ptoc(&C_TESelView) }, 0 },
- { { (void *)&C_TEPinScroll, ptoc(&C_TEPinScroll) }, 0 },
- { { (void *)&C_TEAutoView, ptoc(&C_TEAutoView) }, 0 },
- { { (void *)&C_SetFractEnable, ptoc(&C_SetFractEnable) }, 0 },
- { { (void *)&_SCSIDispatch, static_cast(-1) }, 0 },
- { { (void *)&_Pack8, static_cast(-1) }, 0 },
- { { (void *)&C_CopyMask, ptoc(&C_CopyMask) }, 0 },
- { { (void *)&C_FixAtan2, ptoc(&C_FixAtan2) }, 0 },
- { { (void *)&_Unimplemented, static_cast(-1) }, 0 },
- { { (void *)&C_HOpenResFile, ptoc(&C_HOpenResFile) }, 0 },
- { { (void *)&C_HCreateResFile, ptoc(&C_HCreateResFile) }, 0 },
- { { (void *)&C_Count1Types, ptoc(&C_Count1Types) }, 0 },
- { { (void *)&C_InvalMenuBar, ptoc(&C_InvalMenuBar) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_Get1Resource, ptoc(&C_Get1Resource) }, 0 },
- { { (void *)&C_Get1NamedResource, ptoc(&C_Get1NamedResource) }, 0 },
- { { (void *)&C_MaxSizeRsrc, ptoc(&C_MaxSizeRsrc) }, 0 },
- { { (void *)&_ResourceDispatch, static_cast(-1) }, 0 },
- { { (void *)&_AliasDispatch, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_InsMenuItem, ptoc(&C_InsMenuItem) }, 0 },
- { { (void *)&C_HideDItem, ptoc(&C_HideDItem) }, 0 },
- { { (void *)&C_ShowDItem, ptoc(&C_ShowDItem) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_Pack9, static_cast(-1) }, 0 },
- { { (void *)&C_Pack10, static_cast(-1) }, 0 },
- { { (void *)&_Pack11, static_cast(-1) }, 0 },
- { { (void *)&_Pack12, static_cast(-1) }, 0 },
- { { (void *)&C_Pack13, static_cast(-1) }, 0 },
- { { (void *)&_Pack14, static_cast(-1) }, 0 },
- { { (void *)&_Pack15, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_SetFScaleDisable, ptoc(&C_SetFScaleDisable) }, 0 },
- { { (void *)&C_FontMetrics, ptoc(&C_FontMetrics) }, 0 },
- { { (void *)&_GetMaskTable, static_cast(-1) }, 0 },
- { { (void *)&C_MeasureText, ptoc(&C_MeasureText) }, 0 },
- { { (void *)&C_CalcMask, ptoc(&C_CalcMask) }, 0 },
- { { (void *)&C_SeedFill, ptoc(&C_SeedFill) }, 0 },
- { { (void *)&C_ZoomWindow, ptoc(&C_ZoomWindow) }, 0 },
- { { (void *)&C_TrackBox, ptoc(&C_TrackBox) }, 0 },
- { { (void *)&C_TEGetOffset, ptoc(&C_TEGetOffset) }, 0 },
- { { (void *)&_TEDispatch, static_cast(-1) }, 0 },
- { { (void *)&C_TEStylNew, ptoc(&C_TEStylNew) }, 0 },
- { { (void *)&C_Long2Fix, ptoc(&C_Long2Fix) }, 0 },
- { { (void *)&C_Fix2Long, ptoc(&C_Fix2Long) }, 0 },
- { { (void *)&C_Fix2Frac, ptoc(&C_Fix2Frac) }, 0 },
- { { (void *)&C_Frac2Fix, ptoc(&C_Frac2Fix) }, 0 },
- { { (void *)&_Fix2X, static_cast(-1) }, 0 },
- { { (void *)&C_R_X2Fix, ptoc(&C_R_X2Fix) }, 0 },
- { { (void *)&_Frac2X, static_cast(-1) }, 0 },
- { { (void *)&C_R_X2Frac, ptoc(&C_R_X2Frac) }, 0 },
- { { (void *)&C_FracCos, ptoc(&C_FracCos) }, 0 },
- { { (void *)&C_FracSin, ptoc(&C_FracSin) }, 0 },
- { { (void *)&C_FracSqrt, ptoc(&C_FracSqrt) }, 0 },
- { { (void *)&C_FracMul, ptoc(&C_FracMul) }, 0 },
- { { (void *)&C_FracDiv, ptoc(&C_FracDiv) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_FixDiv, ptoc(&C_FixDiv) }, 0 },
- { { (void *)&C_GetItemCmd, ptoc(&C_GetItemCmd) }, 0 },
- { { (void *)&C_SetItemCmd, ptoc(&C_SetItemCmd) }, 0 },
- { { (void *)&C_InitCursor, ptoc(&C_InitCursor) }, 0 },
- { { (void *)&C_SetCursor, ptoc(&C_SetCursor) }, 0 },
- { { (void *)&C_HideCursor, ptoc(&C_HideCursor) }, 0 },
- { { (void *)&C_ShowCursor, ptoc(&C_ShowCursor) }, 0 },
- { { (void *)&_FontDispatch, static_cast(-1) }, 0 },
- { { (void *)&C_ShieldCursor, ptoc(&C_ShieldCursor) }, 0 },
- { { (void *)&C_ObscureCursor, ptoc(&C_ObscureCursor) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_BitAnd, ptoc(&C_BitAnd) }, 0 },
- { { (void *)&C_BitXor, ptoc(&C_BitXor) }, 0 },
- { { (void *)&C_BitNot, ptoc(&C_BitNot) }, 0 },
- { { (void *)&C_BitOr, ptoc(&C_BitOr) }, 0 },
- { { (void *)&C_BitShift, ptoc(&C_BitShift) }, 0 },
- { { (void *)&C_BitTst, ptoc(&C_BitTst) }, 0 },
- { { (void *)&C_BitSet, ptoc(&C_BitSet) }, 0 },
- { { (void *)&C_BitClr, ptoc(&C_BitClr) }, 0 },
- { { (void *)&C_WaitNextEvent, ptoc(&C_WaitNextEvent) }, 0 },
- { { (void *)&C_Random, ptoc(&C_Random) }, 0 },
- { { (void *)&C_ForeColor, ptoc(&C_ForeColor) }, 0 },
- { { (void *)&C_BackColor, ptoc(&C_BackColor) }, 0 },
- { { (void *)&C_ColorBit, ptoc(&C_ColorBit) }, 0 },
- { { (void *)&C_GetPixel, ptoc(&C_GetPixel) }, 0 },
- { { (void *)&C_StuffHex, ptoc(&C_StuffHex) }, 0 },
- { { (void *)&C_LongMul, ptoc(&C_LongMul) }, 0 },
- { { (void *)&C_FixMul, ptoc(&C_FixMul) }, 0 },
- { { (void *)&C_FixRatio, ptoc(&C_FixRatio) }, 0 },
- { { (void *)&C_HiWord, ptoc(&C_HiWord) }, 0 },
- { { (void *)&C_LoWord, ptoc(&C_LoWord) }, 0 },
- { { (void *)&C_FixRound, ptoc(&C_FixRound) }, 0 },
- { { (void *)&C_InitPort, ptoc(&C_InitPort) }, 0 },
- { { (void *)&C_InitGraf, ptoc(&C_InitGraf) }, 0 },
- { { (void *)&C_OpenPort, ptoc(&C_OpenPort) }, 0 },
- { { (void *)&C_LocalToGlobal, ptoc(&C_LocalToGlobal) }, 0 },
- { { (void *)&C_GlobalToLocal, ptoc(&C_GlobalToLocal) }, 0 },
- { { (void *)&C_GrafDevice, ptoc(&C_GrafDevice) }, 0 },
- { { (void *)&C_SetPort, ptoc(&C_SetPort) }, 0 },
- { { (void *)&C_GetPort, ptoc(&C_GetPort) }, 0 },
- { { (void *)&C_SetPortBits, ptoc(&C_SetPortBits) }, 0 },
- { { (void *)&C_PortSize, ptoc(&C_PortSize) }, 0 },
- { { (void *)&C_MovePortTo, ptoc(&C_MovePortTo) }, 0 },
- { { (void *)&C_SetOrigin, ptoc(&C_SetOrigin) }, 0 },
- { { (void *)&C_SetClip, ptoc(&C_SetClip) }, 0 },
- { { (void *)&C_GetClip, ptoc(&C_GetClip) }, 0 },
- { { (void *)&C_ClipRect, ptoc(&C_ClipRect) }, 0 },
- { { (void *)&C_BackPat, ptoc(&C_BackPat) }, 0 },
- { { (void *)&C_ClosePort, ptoc(&C_ClosePort) }, 0 },
- { { (void *)&C_AddPt, ptoc(&C_AddPt) }, 0 },
- { { (void *)&C_SubPt, ptoc(&C_SubPt) }, 0 },
- { { (void *)&C_SetPt, ptoc(&C_SetPt) }, 0 },
- { { (void *)&C_EqualPt, ptoc(&C_EqualPt) }, 0 },
- { { (void *)&C_StdText, ptoc(&C_StdText) }, 0 },
- { { (void *)&C_DrawChar, ptoc(&C_DrawChar) }, 0 },
- { { (void *)&C_DrawString, ptoc(&C_DrawString) }, 0 },
- { { (void *)&C_DrawText, ptoc(&C_DrawText) }, 0 },
- { { (void *)&C_TextWidth, ptoc(&C_TextWidth) }, 0 },
- { { (void *)&C_TextFont, ptoc(&C_TextFont) }, 0 },
- { { (void *)&C_TextFace, ptoc(&C_TextFace) }, 0 },
- { { (void *)&C_TextMode, ptoc(&C_TextMode) }, 0 },
- { { (void *)&C_TextSize, ptoc(&C_TextSize) }, 0 },
- { { (void *)&C_GetFontInfo, ptoc(&C_GetFontInfo) }, 0 },
- { { (void *)&C_StringWidth, ptoc(&C_StringWidth) }, 0 },
- { { (void *)&C_CharWidth, ptoc(&C_CharWidth) }, 0 },
- { { (void *)&C_SpaceExtra, ptoc(&C_SpaceExtra) }, 0 },
- { { (void *)&_OSDispatch, static_cast(-1) }, 0 },
- { { (void *)&C_StdLine, ptoc(&C_StdLine) }, 0 },
- { { (void *)&C_LineTo, ptoc(&C_LineTo) }, 0 },
- { { (void *)&C_Line, ptoc(&C_Line) }, 0 },
- { { (void *)&C_MoveTo, ptoc(&C_MoveTo) }, 0 },
- { { (void *)&C_Move, ptoc(&C_Move) }, 0 },
- { { (void *)&_ShutDown, static_cast(-1) }, 0 },
- { { (void *)&C_HidePen, ptoc(&C_HidePen) }, 0 },
- { { (void *)&C_ShowPen, ptoc(&C_ShowPen) }, 0 },
- { { (void *)&C_GetPenState, ptoc(&C_GetPenState) }, 0 },
- { { (void *)&C_SetPenState, ptoc(&C_SetPenState) }, 0 },
- { { (void *)&C_GetPen, ptoc(&C_GetPen) }, 0 },
- { { (void *)&C_PenSize, ptoc(&C_PenSize) }, 0 },
- { { (void *)&C_PenMode, ptoc(&C_PenMode) }, 0 },
- { { (void *)&C_PenPat, ptoc(&C_PenPat) }, 0 },
- { { (void *)&C_PenNormal, ptoc(&C_PenNormal) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_StdRect, ptoc(&C_StdRect) }, 0 },
- { { (void *)&C_FrameRect, ptoc(&C_FrameRect) }, 0 },
- { { (void *)&C_PaintRect, ptoc(&C_PaintRect) }, 0 },
- { { (void *)&C_EraseRect, ptoc(&C_EraseRect) }, 0 },
- { { (void *)&C_InvertRect, ptoc(&C_InvertRect) }, 0 },
- { { (void *)&C_FillRect, ptoc(&C_FillRect) }, 0 },
- { { (void *)&C_EqualRect, ptoc(&C_EqualRect) }, 0 },
- { { (void *)&C_SetRect, ptoc(&C_SetRect) }, 0 },
- { { (void *)&C_OffsetRect, ptoc(&C_OffsetRect) }, 0 },
- { { (void *)&C_InsetRect, ptoc(&C_InsetRect) }, 0 },
- { { (void *)&C_SectRect, ptoc(&C_SectRect) }, 0 },
- { { (void *)&C_UnionRect, ptoc(&C_UnionRect) }, 0 },
- { { (void *)&C_Pt2Rect, ptoc(&C_Pt2Rect) }, 0 },
- { { (void *)&C_PtInRect, ptoc(&C_PtInRect) }, 0 },
- { { (void *)&C_EmptyRect, ptoc(&C_EmptyRect) }, 0 },
- { { (void *)&C_StdRRect, ptoc(&C_StdRRect) }, 0 },
- { { (void *)&C_FrameRoundRect, ptoc(&C_FrameRoundRect) }, 0 },
- { { (void *)&C_PaintRoundRect, ptoc(&C_PaintRoundRect) }, 0 },
- { { (void *)&C_EraseRoundRect, ptoc(&C_EraseRoundRect) }, 0 },
- { { (void *)&C_InvertRoundRect, ptoc(&C_InvertRoundRect) }, 0 },
- { { (void *)&C_FillRoundRect, ptoc(&C_FillRoundRect) }, 0 },
- { { (void *)&_ScriptUtil, static_cast(-1) }, 0 },
- { { (void *)&C_StdOval, ptoc(&C_StdOval) }, 0 },
- { { (void *)&C_FrameOval, ptoc(&C_FrameOval) }, 0 },
- { { (void *)&C_PaintOval, ptoc(&C_PaintOval) }, 0 },
- { { (void *)&C_EraseOval, ptoc(&C_EraseOval) }, 0 },
- { { (void *)&C_InvertOval, ptoc(&C_InvertOval) }, 0 },
- { { (void *)&C_FillOval, ptoc(&C_FillOval) }, 0 },
- { { (void *)&C_SlopeFromAngle, ptoc(&C_SlopeFromAngle) }, 0 },
- { { (void *)&C_StdArc, ptoc(&C_StdArc) }, 0 },
- { { (void *)&C_FrameArc, ptoc(&C_FrameArc) }, 0 },
- { { (void *)&C_PaintArc, ptoc(&C_PaintArc) }, 0 },
- { { (void *)&C_EraseArc, ptoc(&C_EraseArc) }, 0 },
- { { (void *)&C_InvertArc, ptoc(&C_InvertArc) }, 0 },
- { { (void *)&C_FillArc, ptoc(&C_FillArc) }, 0 },
- { { (void *)&C_PtToAngle, ptoc(&C_PtToAngle) }, 0 },
- { { (void *)&C_AngleFromSlope, ptoc(&C_AngleFromSlope) }, 0 },
- { { (void *)&C_StdPoly, ptoc(&C_StdPoly) }, 0 },
- { { (void *)&C_FramePoly, ptoc(&C_FramePoly) }, 0 },
- { { (void *)&C_PaintPoly, ptoc(&C_PaintPoly) }, 0 },
- { { (void *)&C_ErasePoly, ptoc(&C_ErasePoly) }, 0 },
- { { (void *)&C_InvertPoly, ptoc(&C_InvertPoly) }, 0 },
- { { (void *)&C_FillPoly, ptoc(&C_FillPoly) }, 0 },
- { { (void *)&C_OpenPoly, ptoc(&C_OpenPoly) }, 0 },
- { { (void *)&C_ClosePoly, ptoc(&C_ClosePoly) }, 0 },
- { { (void *)&C_KillPoly, ptoc(&C_KillPoly) }, 0 },
- { { (void *)&C_OffsetPoly, ptoc(&C_OffsetPoly) }, 0 },
- { { (void *)&C_PackBits, ptoc(&C_PackBits) }, 0 },
- { { (void *)&C_UnpackBits, ptoc(&C_UnpackBits) }, 0 },
- { { (void *)&C_StdRgn, ptoc(&C_StdRgn) }, 0 },
- { { (void *)&C_FrameRgn, ptoc(&C_FrameRgn) }, 0 },
- { { (void *)&C_PaintRgn, ptoc(&C_PaintRgn) }, 0 },
- { { (void *)&C_EraseRgn, ptoc(&C_EraseRgn) }, 0 },
- { { (void *)&C_InvertRgn, ptoc(&C_InvertRgn) }, 0 },
- { { (void *)&C_FillRgn, ptoc(&C_FillRgn) }, 0 },
- { { (void *)&C_BitMapToRegion, ptoc(&C_BitMapToRegion) }, 0 },
- { { (void *)&C_NewRgn, ptoc(&C_NewRgn) }, 0 },
- { { (void *)&C_DisposeRgn, ptoc(&C_DisposeRgn) }, 0 },
- { { (void *)&C_OpenRgn, ptoc(&C_OpenRgn) }, 0 },
- { { (void *)&C_CloseRgn, ptoc(&C_CloseRgn) }, 0 },
- { { (void *)&C_CopyRgn, ptoc(&C_CopyRgn) }, 0 },
- { { (void *)&C_SetEmptyRgn, ptoc(&C_SetEmptyRgn) }, 0 },
- { { (void *)&C_SetRectRgn, ptoc(&C_SetRectRgn) }, 0 },
- { { (void *)&C_RectRgn, ptoc(&C_RectRgn) }, 0 },
- { { (void *)&C_OffsetRgn, ptoc(&C_OffsetRgn) }, 0 },
- { { (void *)&C_InsetRgn, ptoc(&C_InsetRgn) }, 0 },
- { { (void *)&C_EmptyRgn, ptoc(&C_EmptyRgn) }, 0 },
- { { (void *)&C_EqualRgn, ptoc(&C_EqualRgn) }, 0 },
- { { (void *)&C_SectRgn, ptoc(&C_SectRgn) }, 0 },
- { { (void *)&C_UnionRgn, ptoc(&C_UnionRgn) }, 0 },
- { { (void *)&C_DiffRgn, ptoc(&C_DiffRgn) }, 0 },
- { { (void *)&C_XorRgn, ptoc(&C_XorRgn) }, 0 },
- { { (void *)&C_PtInRgn, ptoc(&C_PtInRgn) }, 0 },
- { { (void *)&C_RectInRgn, ptoc(&C_RectInRgn) }, 0 },
- { { (void *)&C_SetStdProcs, ptoc(&C_SetStdProcs) }, 0 },
- { { (void *)&C_StdBits, ptoc(&C_StdBits) }, 0 },
- { { (void *)&C_CopyBits, ptoc(&C_CopyBits) }, 0 },
- { { (void *)&C_StdTxMeas, ptoc(&C_StdTxMeas) }, 0 },
- { { (void *)&C_StdGetPic, ptoc(&C_StdGetPic) }, 0 },
- { { (void *)&C_ScrollRect, ptoc(&C_ScrollRect) }, 0 },
- { { (void *)&C_StdPutPic, ptoc(&C_StdPutPic) }, 0 },
- { { (void *)&C_StdComment, ptoc(&C_StdComment) }, 0 },
- { { (void *)&C_PicComment, ptoc(&C_PicComment) }, 0 },
- { { (void *)&C_OpenPicture, ptoc(&C_OpenPicture) }, 0 },
- { { (void *)&C_ClosePicture, ptoc(&C_ClosePicture) }, 0 },
- { { (void *)&C_KillPicture, ptoc(&C_KillPicture) }, 0 },
- { { (void *)&C_DrawPicture, ptoc(&C_DrawPicture) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_ScalePt, ptoc(&C_ScalePt) }, 0 },
- { { (void *)&C_MapPt, ptoc(&C_MapPt) }, 0 },
- { { (void *)&C_MapRect, ptoc(&C_MapRect) }, 0 },
- { { (void *)&C_MapRgn, ptoc(&C_MapRgn) }, 0 },
- { { (void *)&C_MapPoly, ptoc(&C_MapPoly) }, 0 },
- { { (void *)&_PrGlue, static_cast(-1) }, 0 },
- { { (void *)&C_InitFonts, ptoc(&C_InitFonts) }, 0 },
- { { (void *)&C_GetFontName, ptoc(&C_GetFontName) }, 0 },
- { { (void *)&C_GetFNum, ptoc(&C_GetFNum) }, 0 },
- { { (void *)&C_FMSwapFont, ptoc(&C_FMSwapFont) }, 0 },
- { { (void *)&C_RealFont, ptoc(&C_RealFont) }, 0 },
- { { (void *)&C_SetFontLock, ptoc(&C_SetFontLock) }, 0 },
- { { (void *)&C_DrawGrowIcon, ptoc(&C_DrawGrowIcon) }, 0 },
- { { (void *)&C_DragGrayRgn, ptoc(&C_DragGrayRgn) }, 0 },
- { { (void *)&C_NewString, ptoc(&C_NewString) }, 0 },
- { { (void *)&C_SetString, ptoc(&C_SetString) }, 0 },
- { { (void *)&C_ShowHide, ptoc(&C_ShowHide) }, 0 },
- { { (void *)&C_CalcVis, ptoc(&C_CalcVis) }, 0 },
- { { (void *)&C_CalcVisBehind, ptoc(&C_CalcVisBehind) }, 0 },
- { { (void *)&C_ClipAbove, ptoc(&C_ClipAbove) }, 0 },
- { { (void *)&C_PaintOne, ptoc(&C_PaintOne) }, 0 },
- { { (void *)&C_PaintBehind, ptoc(&C_PaintBehind) }, 0 },
- { { (void *)&C_SaveOld, ptoc(&C_SaveOld) }, 0 },
- { { (void *)&C_DrawNew, ptoc(&C_DrawNew) }, 0 },
- { { (void *)&C_GetWMgrPort, ptoc(&C_GetWMgrPort) }, 0 },
- { { (void *)&C_CheckUpdate, ptoc(&C_CheckUpdate) }, 0 },
- { { (void *)&C_InitWindows, ptoc(&C_InitWindows) }, 0 },
- { { (void *)&C_NewWindow, ptoc(&C_NewWindow) }, 0 },
- { { (void *)&C_DisposeWindow, ptoc(&C_DisposeWindow) }, 0 },
- { { (void *)&C_ShowWindow, ptoc(&C_ShowWindow) }, 0 },
- { { (void *)&C_HideWindow, ptoc(&C_HideWindow) }, 0 },
- { { (void *)&C_GetWRefCon, ptoc(&C_GetWRefCon) }, 0 },
- { { (void *)&C_SetWRefCon, ptoc(&C_SetWRefCon) }, 0 },
- { { (void *)&C_GetWTitle, ptoc(&C_GetWTitle) }, 0 },
- { { (void *)&C_SetWTitle, ptoc(&C_SetWTitle) }, 0 },
- { { (void *)&C_MoveWindow, ptoc(&C_MoveWindow) }, 0 },
- { { (void *)&C_HiliteWindow, ptoc(&C_HiliteWindow) }, 0 },
- { { (void *)&C_SizeWindow, ptoc(&C_SizeWindow) }, 0 },
- { { (void *)&C_TrackGoAway, ptoc(&C_TrackGoAway) }, 0 },
- { { (void *)&C_SelectWindow, ptoc(&C_SelectWindow) }, 0 },
- { { (void *)&C_BringToFront, ptoc(&C_BringToFront) }, 0 },
- { { (void *)&C_SendBehind, ptoc(&C_SendBehind) }, 0 },
- { { (void *)&C_BeginUpdate, ptoc(&C_BeginUpdate) }, 0 },
- { { (void *)&C_EndUpdate, ptoc(&C_EndUpdate) }, 0 },
- { { (void *)&C_FrontWindow, ptoc(&C_FrontWindow) }, 0 },
- { { (void *)&C_DragWindow, ptoc(&C_DragWindow) }, 0 },
- { { (void *)&C_DragTheRgn, ptoc(&C_DragTheRgn) }, 0 },
- { { (void *)&C_InvalRgn, ptoc(&C_InvalRgn) }, 0 },
- { { (void *)&C_InvalRect, ptoc(&C_InvalRect) }, 0 },
- { { (void *)&C_ValidRgn, ptoc(&C_ValidRgn) }, 0 },
- { { (void *)&C_ValidRect, ptoc(&C_ValidRect) }, 0 },
- { { (void *)&C_GrowWindow, ptoc(&C_GrowWindow) }, 0 },
- { { (void *)&C_FindWindow, ptoc(&C_FindWindow) }, 0 },
- { { (void *)&C_CloseWindow, ptoc(&C_CloseWindow) }, 0 },
- { { (void *)&C_SetWindowPic, ptoc(&C_SetWindowPic) }, 0 },
- { { (void *)&C_GetWindowPic, ptoc(&C_GetWindowPic) }, 0 },
- { { (void *)&C_InitMenus, ptoc(&C_InitMenus) }, 0 },
- { { (void *)&C_NewMenu, ptoc(&C_NewMenu) }, 0 },
- { { (void *)&C_DisposeMenu, ptoc(&C_DisposeMenu) }, 0 },
- { { (void *)&C_AppendMenu, ptoc(&C_AppendMenu) }, 0 },
- { { (void *)&C_ClearMenuBar, ptoc(&C_ClearMenuBar) }, 0 },
- { { (void *)&C_InsertMenu, ptoc(&C_InsertMenu) }, 0 },
- { { (void *)&C_DeleteMenu, ptoc(&C_DeleteMenu) }, 0 },
- { { (void *)&C_DrawMenuBar, ptoc(&C_DrawMenuBar) }, 0 },
- { { (void *)&C_HiliteMenu, ptoc(&C_HiliteMenu) }, 0 },
- { { (void *)&C_EnableItem, ptoc(&C_EnableItem) }, 0 },
- { { (void *)&C_DisableItem, ptoc(&C_DisableItem) }, 0 },
- { { (void *)&C_GetMenuBar, ptoc(&C_GetMenuBar) }, 0 },
- { { (void *)&C_SetMenuBar, ptoc(&C_SetMenuBar) }, 0 },
- { { (void *)&C_MenuSelect, ptoc(&C_MenuSelect) }, 0 },
- { { (void *)&C_MenuKey, ptoc(&C_MenuKey) }, 0 },
- { { (void *)&C_GetItemIcon, ptoc(&C_GetItemIcon) }, 0 },
- { { (void *)&C_SetItemIcon, ptoc(&C_SetItemIcon) }, 0 },
- { { (void *)&C_GetItemStyle, ptoc(&C_GetItemStyle) }, 0 },
- { { (void *)&C_SetItemStyle, ptoc(&C_SetItemStyle) }, 0 },
- { { (void *)&C_GetItemMark, ptoc(&C_GetItemMark) }, 0 },
- { { (void *)&C_SetItemMark, ptoc(&C_SetItemMark) }, 0 },
- { { (void *)&C_CheckItem, ptoc(&C_CheckItem) }, 0 },
- { { (void *)&C_GetItem, ptoc(&C_GetItem) }, 0 },
- { { (void *)&C_SetItem, ptoc(&C_SetItem) }, 0 },
- { { (void *)&C_CalcMenuSize, ptoc(&C_CalcMenuSize) }, 0 },
- { { (void *)&C_GetMHandle, ptoc(&C_GetMHandle) }, 0 },
- { { (void *)&C_SetMenuFlash, ptoc(&C_SetMenuFlash) }, 0 },
- { { (void *)&C_PlotIcon, ptoc(&C_PlotIcon) }, 0 },
- { { (void *)&C_FlashMenuBar, ptoc(&C_FlashMenuBar) }, 0 },
- { { (void *)&C_AddResMenu, ptoc(&C_AddResMenu) }, 0 },
- { { (void *)&C_PinRect, ptoc(&C_PinRect) }, 0 },
- { { (void *)&C_DeltaPoint, ptoc(&C_DeltaPoint) }, 0 },
- { { (void *)&C_CountMItems, ptoc(&C_CountMItems) }, 0 },
- { { (void *)&C_InsertResMenu, ptoc(&C_InsertResMenu) }, 0 },
- { { (void *)&C_DelMenuItem, ptoc(&C_DelMenuItem) }, 0 },
- { { (void *)&C_UpdtControl, ptoc(&C_UpdtControl) }, 0 },
- { { (void *)&C_NewControl, ptoc(&C_NewControl) }, 0 },
- { { (void *)&C_DisposeControl, ptoc(&C_DisposeControl) }, 0 },
- { { (void *)&C_KillControls, ptoc(&C_KillControls) }, 0 },
- { { (void *)&C_ShowControl, ptoc(&C_ShowControl) }, 0 },
- { { (void *)&C_HideControl, ptoc(&C_HideControl) }, 0 },
- { { (void *)&C_MoveControl, ptoc(&C_MoveControl) }, 0 },
- { { (void *)&C_GetCRefCon, ptoc(&C_GetCRefCon) }, 0 },
- { { (void *)&C_SetCRefCon, ptoc(&C_SetCRefCon) }, 0 },
- { { (void *)&C_SizeControl, ptoc(&C_SizeControl) }, 0 },
- { { (void *)&C_HiliteControl, ptoc(&C_HiliteControl) }, 0 },
- { { (void *)&C_GetCTitle, ptoc(&C_GetCTitle) }, 0 },
- { { (void *)&C_SetCTitle, ptoc(&C_SetCTitle) }, 0 },
- { { (void *)&C_GetCtlValue, ptoc(&C_GetCtlValue) }, 0 },
- { { (void *)&C_GetCtlMin, ptoc(&C_GetCtlMin) }, 0 },
- { { (void *)&C_GetCtlMax, ptoc(&C_GetCtlMax) }, 0 },
- { { (void *)&C_SetCtlValue, ptoc(&C_SetCtlValue) }, 0 },
- { { (void *)&C_SetCtlMin, ptoc(&C_SetCtlMin) }, 0 },
- { { (void *)&C_SetCtlMax, ptoc(&C_SetCtlMax) }, 0 },
- { { (void *)&C_TestControl, ptoc(&C_TestControl) }, 0 },
- { { (void *)&C_DragControl, ptoc(&C_DragControl) }, 0 },
- { { (void *)&C_TrackControl, ptoc(&C_TrackControl) }, 0 },
- { { (void *)&C_DrawControls, ptoc(&C_DrawControls) }, 0 },
- { { (void *)&C_GetCtlAction, ptoc(&C_GetCtlAction) }, 0 },
- { { (void *)&C_SetCtlAction, ptoc(&C_SetCtlAction) }, 0 },
- { { (void *)&C_FindControl, ptoc(&C_FindControl) }, 0 },
- { { (void *)&C_Draw1Control, ptoc(&C_Draw1Control) }, 0 },
- { { (void *)&_Dequeue, static_cast(-1) }, 0 },
- { { (void *)&_Enqueue, static_cast(-1) }, 0 },
- { { (void *)&C_GetNextEvent, ptoc(&C_GetNextEvent) }, 0 },
- { { (void *)&C_EventAvail, ptoc(&C_EventAvail) }, 0 },
- { { (void *)&C_GetMouse, ptoc(&C_GetMouse) }, 0 },
- { { (void *)&C_StillDown, ptoc(&C_StillDown) }, 0 },
- { { (void *)&C_Button, ptoc(&C_Button) }, 0 },
- { { (void *)&C_TickCount, ptoc(&C_TickCount) }, 0 },
- { { (void *)&C_GetKeys, ptoc(&C_GetKeys) }, 0 },
- { { (void *)&C_WaitMouseUp, ptoc(&C_WaitMouseUp) }, 0 },
- { { (void *)&C_UpdtDialog, ptoc(&C_UpdtDialog) }, 0 },
- { { (void *)&C_CouldDialog, ptoc(&C_CouldDialog) }, 0 },
- { { (void *)&C_FreeDialog, ptoc(&C_FreeDialog) }, 0 },
- { { (void *)&C_InitDialogs, ptoc(&C_InitDialogs) }, 0 },
- { { (void *)&C_GetNewDialog, ptoc(&C_GetNewDialog) }, 0 },
- { { (void *)&C_NewDialog, ptoc(&C_NewDialog) }, 0 },
- { { (void *)&C_SelIText, ptoc(&C_SelIText) }, 0 },
- { { (void *)&C_IsDialogEvent, ptoc(&C_IsDialogEvent) }, 0 },
- { { (void *)&C_DialogSelect, ptoc(&C_DialogSelect) }, 0 },
- { { (void *)&C_DrawDialog, ptoc(&C_DrawDialog) }, 0 },
- { { (void *)&C_CloseDialog, ptoc(&C_CloseDialog) }, 0 },
- { { (void *)&C_DisposDialog, ptoc(&C_DisposDialog) }, 0 },
- { { (void *)&C_FindDItem, ptoc(&C_FindDItem) }, 0 },
- { { (void *)&C_Alert, ptoc(&C_Alert) }, 0 },
- { { (void *)&C_StopAlert, ptoc(&C_StopAlert) }, 0 },
- { { (void *)&C_NoteAlert, ptoc(&C_NoteAlert) }, 0 },
- { { (void *)&C_CautionAlert, ptoc(&C_CautionAlert) }, 0 },
- { { (void *)&C_CouldAlert, ptoc(&C_CouldAlert) }, 0 },
- { { (void *)&C_FreeAlert, ptoc(&C_FreeAlert) }, 0 },
- { { (void *)&C_ParamText, ptoc(&C_ParamText) }, 0 },
- { { (void *)&C_ErrorSound, ptoc(&C_ErrorSound) }, 0 },
- { { (void *)&C_GetDItem, ptoc(&C_GetDItem) }, 0 },
- { { (void *)&C_SetDItem, ptoc(&C_SetDItem) }, 0 },
- { { (void *)&C_SetIText, ptoc(&C_SetIText) }, 0 },
- { { (void *)&C_GetIText, ptoc(&C_GetIText) }, 0 },
- { { (void *)&C_ModalDialog, ptoc(&C_ModalDialog) }, 0 },
- { { (void *)&C_DetachResource, ptoc(&C_DetachResource) }, 0 },
- { { (void *)&C_SetResPurge, ptoc(&C_SetResPurge) }, 0 },
- { { (void *)&C_CurResFile, ptoc(&C_CurResFile) }, 0 },
- { { (void *)&C_InitResources, ptoc(&C_InitResources) }, 0 },
- { { (void *)&C_RsrcZoneInit, ptoc(&C_RsrcZoneInit) }, 0 },
- { { (void *)&C_OpenResFile, ptoc(&C_OpenResFile) }, 0 },
- { { (void *)&C_UseResFile, ptoc(&C_UseResFile) }, 0 },
- { { (void *)&C_UpdateResFile, ptoc(&C_UpdateResFile) }, 0 },
- { { (void *)&C_CloseResFile, ptoc(&C_CloseResFile) }, 0 },
- { { (void *)&C_SetResLoad, ptoc(&C_SetResLoad) }, 0 },
- { { (void *)&C_CountResources, ptoc(&C_CountResources) }, 0 },
- { { (void *)&C_GetIndResource, ptoc(&C_GetIndResource) }, 0 },
- { { (void *)&C_CountTypes, ptoc(&C_CountTypes) }, 0 },
- { { (void *)&C_GetIndType, ptoc(&C_GetIndType) }, 0 },
- { { (void *)&__GetResource, static_cast(-1) }, 0 },
- { { (void *)&C_GetNamedResource, ptoc(&C_GetNamedResource) }, 0 },
- { { (void *)&C_LoadResource, ptoc(&C_LoadResource) }, 0 },
- { { (void *)&C_ReleaseResource, ptoc(&C_ReleaseResource) }, 0 },
- { { (void *)&C_HomeResFile, ptoc(&C_HomeResFile) }, 0 },
- { { (void *)&C_SizeResource, ptoc(&C_SizeResource) }, 0 },
- { { (void *)&C_GetResAttrs, ptoc(&C_GetResAttrs) }, 0 },
- { { (void *)&C_SetResAttrs, ptoc(&C_SetResAttrs) }, 0 },
- { { (void *)&C_GetResInfo, ptoc(&C_GetResInfo) }, 0 },
- { { (void *)&C_SetResInfo, ptoc(&C_SetResInfo) }, 0 },
- { { (void *)&C_ChangedResource, ptoc(&C_ChangedResource) }, 0 },
- { { (void *)&C_AddResource, ptoc(&C_AddResource) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_RmveResource, ptoc(&C_RmveResource) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_ResError, ptoc(&C_ResError) }, 0 },
- { { (void *)&C_WriteResource, ptoc(&C_WriteResource) }, 0 },
- { { (void *)&C_CreateResFile, ptoc(&C_CreateResFile) }, 0 },
- { { (void *)&C_SystemEvent, ptoc(&C_SystemEvent) }, 0 },
- { { (void *)&C_SystemClick, ptoc(&C_SystemClick) }, 0 },
- { { (void *)&C_SystemTask, ptoc(&C_SystemTask) }, 0 },
- { { (void *)&C_SystemMenu, ptoc(&C_SystemMenu) }, 0 },
- { { (void *)&C_OpenDeskAcc, ptoc(&C_OpenDeskAcc) }, 0 },
- { { (void *)&C_CloseDeskAcc, ptoc(&C_CloseDeskAcc) }, 0 },
- { { (void *)&C_GetPattern, ptoc(&C_GetPattern) }, 0 },
- { { (void *)&C_GetCursor, ptoc(&C_GetCursor) }, 0 },
- { { (void *)&C_GetString, ptoc(&C_GetString) }, 0 },
- { { (void *)&C_GetIcon, ptoc(&C_GetIcon) }, 0 },
- { { (void *)&C_GetPicture, ptoc(&C_GetPicture) }, 0 },
- { { (void *)&C_GetNewWindow, ptoc(&C_GetNewWindow) }, 0 },
- { { (void *)&C_GetNewControl, ptoc(&C_GetNewControl) }, 0 },
- { { (void *)&C_GetMenu, ptoc(&C_GetMenu) }, 0 },
- { { (void *)&C_GetNewMBar, ptoc(&C_GetNewMBar) }, 0 },
- { { (void *)&C_UniqueID, ptoc(&C_UniqueID) }, 0 },
- { { (void *)&C_SystemEdit, ptoc(&C_SystemEdit) }, 0 },
- { { (void *)&C_KeyTrans, ptoc(&C_KeyTrans) }, 0 },
- { { (void *)&C_OpenRFPerm, ptoc(&C_OpenRFPerm) }, 0 },
- { { (void *)&C_RsrcMapEntry, ptoc(&C_RsrcMapEntry) }, 0 },
- { { (void *)&_Secs2Date, static_cast(-1) }, 0 },
- { { (void *)&_Date2Secs, static_cast(-1) }, 0 },
- { { (void *)&C_SysBeep, ptoc(&C_SysBeep) }, 0 },
- { { (void *)&C_SysError, ptoc(&C_SysError) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_TEGetText, ptoc(&C_TEGetText) }, 0 },
- { { (void *)&C_TEInit, ptoc(&C_TEInit) }, 0 },
- { { (void *)&C_TEDispose, ptoc(&C_TEDispose) }, 0 },
- { { (void *)&C_TextBox, ptoc(&C_TextBox) }, 0 },
- { { (void *)&C_TESetText, ptoc(&C_TESetText) }, 0 },
- { { (void *)&C_TECalText, ptoc(&C_TECalText) }, 0 },
- { { (void *)&C_TESetSelect, ptoc(&C_TESetSelect) }, 0 },
- { { (void *)&C_TENew, ptoc(&C_TENew) }, 0 },
- { { (void *)&C_TEUpdate, ptoc(&C_TEUpdate) }, 0 },
- { { (void *)&C_TEClick, ptoc(&C_TEClick) }, 0 },
- { { (void *)&C_TECopy, ptoc(&C_TECopy) }, 0 },
- { { (void *)&C_TECut, ptoc(&C_TECut) }, 0 },
- { { (void *)&C_TEDelete, ptoc(&C_TEDelete) }, 0 },
- { { (void *)&C_TEActivate, ptoc(&C_TEActivate) }, 0 },
- { { (void *)&C_TEDeactivate, ptoc(&C_TEDeactivate) }, 0 },
- { { (void *)&C_TEIdle, ptoc(&C_TEIdle) }, 0 },
- { { (void *)&C_TEPaste, ptoc(&C_TEPaste) }, 0 },
- { { (void *)&C_TEKey, ptoc(&C_TEKey) }, 0 },
- { { (void *)&C_TEScroll, ptoc(&C_TEScroll) }, 0 },
- { { (void *)&C_TEInsert, ptoc(&C_TEInsert) }, 0 },
- { { (void *)&C_TESetJust, ptoc(&C_TESetJust) }, 0 },
- { { (void *)&C_Munger, ptoc(&C_Munger) }, 0 },
- { { (void *)&_HandToHand, static_cast(-1) }, 0 },
- { { (void *)&_PtrToXHand, static_cast(-1) }, 0 },
- { { (void *)&_PtrToHand, static_cast(-1) }, 0 },
- { { (void *)&_HandAndHand, static_cast(-1) }, 0 },
- { { (void *)&C_InitPack, ptoc(&C_InitPack) }, 0 },
- { { (void *)&C_InitAllPacks, ptoc(&C_InitAllPacks) }, 0 },
- { { (void *)&_Pack0, static_cast(-1) }, 0 },
- { { (void *)&C_Pack1, static_cast(-1) }, 0 },
- { { (void *)&_Pack2, static_cast(-1) }, 0 },
- { { (void *)&_Pack3, static_cast(-1) }, 0 },
- { { (void *)&_Pack4, static_cast(-1) }, 0 },
- { { (void *)&_Pack5, static_cast(-1) }, 0 },
- { { (void *)&_Pack6, static_cast(-1) }, 0 },
- { { (void *)&_Pack7, static_cast(-1) }, 0 },
- { { (void *)&_PtrAndHand, static_cast(-1) }, 0 },
- { { (void *)&_LoadSeg, static_cast(-1) }, 0 },
- { { (void *)&C_UnloadSeg, ptoc(&C_UnloadSeg) }, 0 },
- { { (void *)&_Launch, static_cast(-1) }, 0 },
- { { (void *)&_Chain, static_cast(-1) }, 0 },
- { { (void *)&C_ExitToShell, ptoc(&C_ExitToShell) }, 0 },
- { { (void *)&C_GetAppParms, ptoc(&C_GetAppParms) }, 0 },
- { { (void *)&C_GetResFileAttrs, ptoc(&C_GetResFileAttrs) }, 0 },
- { { (void *)&C_SetResFileAttrs, ptoc(&C_SetResFileAttrs) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_InfoScrap, ptoc(&C_InfoScrap) }, 0 },
- { { (void *)&C_UnloadScrap, ptoc(&C_UnloadScrap) }, 0 },
- { { (void *)&C_LoadScrap, ptoc(&C_LoadScrap) }, 0 },
- { { (void *)&C_ZeroScrap, ptoc(&C_ZeroScrap) }, 0 },
- { { (void *)&C_GetScrap, ptoc(&C_GetScrap) }, 0 },
- { { (void *)&C_PutScrap, ptoc(&C_PutScrap) }, 0 },
- { { (void *)&_Debugger, static_cast(-1) }, 0 },
- { { (void *)&C_OpenCPort, ptoc(&C_OpenCPort) }, 0 },
- { { (void *)&C_InitCPort, ptoc(&C_InitCPort) }, 0 },
- { { (void *)&C_CloseCPort, ptoc(&C_CloseCPort) }, 0 },
- { { (void *)&C_NewPixMap, ptoc(&C_NewPixMap) }, 0 },
- { { (void *)&C_DisposPixMap, ptoc(&C_DisposPixMap) }, 0 },
- { { (void *)&C_CopyPixMap, ptoc(&C_CopyPixMap) }, 0 },
- { { (void *)&C_SetPortPix, ptoc(&C_SetPortPix) }, 0 },
- { { (void *)&C_NewPixPat, ptoc(&C_NewPixPat) }, 0 },
- { { (void *)&C_DisposPixPat, ptoc(&C_DisposPixPat) }, 0 },
- { { (void *)&C_CopyPixPat, ptoc(&C_CopyPixPat) }, 0 },
- { { (void *)&C_PenPixPat, ptoc(&C_PenPixPat) }, 0 },
- { { (void *)&C_BackPixPat, ptoc(&C_BackPixPat) }, 0 },
- { { (void *)&C_GetPixPat, ptoc(&C_GetPixPat) }, 0 },
- { { (void *)&C_MakeRGBPat, ptoc(&C_MakeRGBPat) }, 0 },
- { { (void *)&C_FillCRect, ptoc(&C_FillCRect) }, 0 },
- { { (void *)&C_FillCOval, ptoc(&C_FillCOval) }, 0 },
- { { (void *)&C_FillCRoundRect, ptoc(&C_FillCRoundRect) }, 0 },
- { { (void *)&C_FillCArc, ptoc(&C_FillCArc) }, 0 },
- { { (void *)&C_FillCRgn, ptoc(&C_FillCRgn) }, 0 },
- { { (void *)&C_FillCPoly, ptoc(&C_FillCPoly) }, 0 },
- { { (void *)&C_RGBForeColor, ptoc(&C_RGBForeColor) }, 0 },
- { { (void *)&C_RGBBackColor, ptoc(&C_RGBBackColor) }, 0 },
- { { (void *)&C_SetCPixel, ptoc(&C_SetCPixel) }, 0 },
- { { (void *)&C_GetCPixel, ptoc(&C_GetCPixel) }, 0 },
- { { (void *)&C_GetCTable, ptoc(&C_GetCTable) }, 0 },
- { { (void *)&C_GetForeColor, ptoc(&C_GetForeColor) }, 0 },
- { { (void *)&C_GetBackColor, ptoc(&C_GetBackColor) }, 0 },
- { { (void *)&C_GetCCursor, ptoc(&C_GetCCursor) }, 0 },
- { { (void *)&C_SetCCursor, ptoc(&C_SetCCursor) }, 0 },
- { { (void *)&C_AllocCursor, ptoc(&C_AllocCursor) }, 0 },
- { { (void *)&C_GetCIcon, ptoc(&C_GetCIcon) }, 0 },
- { { (void *)&C_PlotCIcon, ptoc(&C_PlotCIcon) }, 0 },
- { { (void *)&C_OpenCPicture, ptoc(&C_OpenCPicture) }, 0 },
- { { (void *)&C_OpColor, ptoc(&C_OpColor) }, 0 },
- { { (void *)&C_HiliteColor, ptoc(&C_HiliteColor) }, 0 },
- { { (void *)&C_CharExtra, ptoc(&C_CharExtra) }, 0 },
- { { (void *)&C_DisposCTable, ptoc(&C_DisposCTable) }, 0 },
- { { (void *)&C_DisposeCIcon, ptoc(&C_DisposeCIcon) }, 0 },
- { { (void *)&C_DisposCCursor, ptoc(&C_DisposCCursor) }, 0 },
- { { (void *)&C_GetMaxDevice, ptoc(&C_GetMaxDevice) }, 0 },
- { { (void *)&C_GetCTSeed, ptoc(&C_GetCTSeed) }, 0 },
- { { (void *)&C_GetDeviceList, ptoc(&C_GetDeviceList) }, 0 },
- { { (void *)&C_GetMainDevice, ptoc(&C_GetMainDevice) }, 0 },
- { { (void *)&C_GetNextDevice, ptoc(&C_GetNextDevice) }, 0 },
- { { (void *)&C_TestDeviceAttribute, ptoc(&C_TestDeviceAttribute) }, 0 },
- { { (void *)&C_SetDeviceAttribute, ptoc(&C_SetDeviceAttribute) }, 0 },
- { { (void *)&C_InitGDevice, ptoc(&C_InitGDevice) }, 0 },
- { { (void *)&C_NewGDevice, ptoc(&C_NewGDevice) }, 0 },
- { { (void *)&C_DisposeGDevice, ptoc(&C_DisposeGDevice) }, 0 },
- { { (void *)&C_SetGDevice, ptoc(&C_SetGDevice) }, 0 },
- { { (void *)&C_GetGDevice, ptoc(&C_GetGDevice) }, 0 },
- { { (void *)&C_Color2Index, ptoc(&C_Color2Index) }, 0 },
- { { (void *)&C_Index2Color, ptoc(&C_Index2Color) }, 0 },
- { { (void *)&C_InvertColor, ptoc(&C_InvertColor) }, 0 },
- { { (void *)&C_RealColor, ptoc(&C_RealColor) }, 0 },
- { { (void *)&C_GetSubTable, ptoc(&C_GetSubTable) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&C_MakeITable, ptoc(&C_MakeITable) }, 0 },
- { { (void *)&C_AddSearch, ptoc(&C_AddSearch) }, 0 },
- { { (void *)&C_AddComp, ptoc(&C_AddComp) }, 0 },
- { { (void *)&C_SetClientID, ptoc(&C_SetClientID) }, 0 },
- { { (void *)&C_ProtectEntry, ptoc(&C_ProtectEntry) }, 0 },
- { { (void *)&C_ReserveEntry, ptoc(&C_ReserveEntry) }, 0 },
- { { (void *)&C_SetEntries, ptoc(&C_SetEntries) }, 0 },
- { { (void *)&C_QDError, ptoc(&C_QDError) }, 0 },
- { { (void *)&C_SetWinColor, ptoc(&C_SetWinColor) }, 0 },
- { { (void *)&C_GetAuxWin, ptoc(&C_GetAuxWin) }, 0 },
- { { (void *)&C_SetCtlColor, ptoc(&C_SetCtlColor) }, 0 },
- { { (void *)&C_GetAuxCtl, ptoc(&C_GetAuxCtl) }, 0 },
- { { (void *)&C_NewCWindow, ptoc(&C_NewCWindow) }, 0 },
- { { (void *)&C_GetNewCWindow, ptoc(&C_GetNewCWindow) }, 0 },
- { { (void *)&C_SetDeskCPat, ptoc(&C_SetDeskCPat) }, 0 },
- { { (void *)&C_GetCWMgrPort, ptoc(&C_GetCWMgrPort) }, 0 },
- { { (void *)&C_SaveEntries, ptoc(&C_SaveEntries) }, 0 },
- { { (void *)&C_RestoreEntries, ptoc(&C_RestoreEntries) }, 0 },
- { { (void *)&C_NewCDialog, ptoc(&C_NewCDialog) }, 0 },
- { { (void *)&C_DelSearch, ptoc(&C_DelSearch) }, 0 },
- { { (void *)&C_DelComp, ptoc(&C_DelComp) }, 0 },
- { { (void *)&C_SetStdCProcs, ptoc(&C_SetStdCProcs) }, 0 },
- { { (void *)&C_CalcCMask, ptoc(&C_CalcCMask) }, 0 },
- { { (void *)&C_SeedCFill, ptoc(&C_SeedCFill) }, 0 },
- { { (void *)&C_IMVI_CopyDeepMask, ptoc(&C_IMVI_CopyDeepMask) }, 0 },
- { { (void *)&_HighLevelFSDispatch, static_cast(-1) }, 0 }, /* AA52 */
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
-#if(!defined(powerpc) && !defined(__ppc__)) || defined(CFM_PROBLEMS)
- unimplemented_toolstuff,
- unimplemented_toolstuff, /* AA5A */
-#else
- { { (void *)&_MixedMode, static_cast(-1) }, 0 },
- { { (void *)&_CodeFragment, static_cast(-1) }, 0 }, /* AA5A */
-#endif
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_DelMCEntries, ptoc(&C_DelMCEntries) }, 0 },
- { { (void *)&C_GetMCInfo, ptoc(&C_GetMCInfo) }, 0 },
- { { (void *)&C_SetMCInfo, ptoc(&C_SetMCInfo) }, 0 },
- { { (void *)&C_DispMCInfo, ptoc(&C_DispMCInfo) }, 0 },
- { { (void *)&C_GetMCEntry, ptoc(&C_GetMCEntry) }, 0 },
- { { (void *)&C_SetMCEntries, ptoc(&C_SetMCEntries) }, 0 },
- { { (void *)&C_MenuChoice, ptoc(&C_MenuChoice) }, 0 },
- unimplemented_toolstuff,
- { { (void *)&_DialogDispatch, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_InitPalettes, ptoc(&C_InitPalettes) }, 0 },
- { { (void *)&C_NewPalette, ptoc(&C_NewPalette) }, 0 },
- { { (void *)&C_GetNewPalette, ptoc(&C_GetNewPalette) }, 0 },
- { { (void *)&C_DisposePalette, ptoc(&C_DisposePalette) }, 0 },
- { { (void *)&C_ActivatePalette, ptoc(&C_ActivatePalette) }, 0 },
- { { (void *)&C_NSetPalette, ptoc(&C_NSetPalette) }, 0 },
- { { (void *)&C_GetPalette, ptoc(&C_GetPalette) }, 0 },
- { { (void *)&C_PmForeColor, ptoc(&C_PmForeColor) }, 0 },
- { { (void *)&C_PmBackColor, ptoc(&C_PmBackColor) }, 0 },
- { { (void *)&C_AnimateEntry, ptoc(&C_AnimateEntry) }, 0 },
- { { (void *)&C_AnimatePalette, ptoc(&C_AnimatePalette) }, 0 },
- { { (void *)&C_GetEntryColor, ptoc(&C_GetEntryColor) }, 0 },
- { { (void *)&C_SetEntryColor, ptoc(&C_SetEntryColor) }, 0 },
- { { (void *)&C_GetEntryUsage, ptoc(&C_GetEntryUsage) }, 0 },
- { { (void *)&C_SetEntryUsage, ptoc(&C_SetEntryUsage) }, 0 },
- { { (void *)&C_CTab2Palette, ptoc(&C_CTab2Palette) }, 0 },
- { { (void *)&C_Palette2CTab, ptoc(&C_Palette2CTab) }, 0 },
- { { (void *)&C_CopyPalette, ptoc(&C_CopyPalette) }, 0 },
- { { (void *)&_PaletteDispatch, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&_QuickTime, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
-#if defined(powerpc) && !defined(__ppc__)
- { { (void *)&_modeswitch, static_cast(-1) }, 0 },
-#else
- unimplemented_toolstuff,
-#endif
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&_WackyQD32Trap, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&_QDExtensions, static_cast(-1) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&_IconDispatch, static_cast(-1) }, 0 },
- { { (void *)&C_DeviceLoop, ptoc(&C_DeviceLoop) }, 0 },
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- unimplemented_toolstuff,
- { { (void *)&C_DebugStr, ptoc(&C_DebugStr) }, 0 },
-};
-
-pstuff_t Executor::pstuff[] = {
- { { (void *)&C_ROMlib_mytrack, ptoc(&C_ROMlib_mytrack) }, 0 },
- { { (void *)&C_ROMlib_stdftrack, ptoc(&C_ROMlib_stdftrack) }, 0 },
- { { (void *)&C_ROMlib_myfilt, ptoc(&C_ROMlib_myfilt) }, 0 },
- { { (void *)&C_ROMlib_stdffilt, ptoc(&C_ROMlib_stdffilt) }, 0 },
- { { (void *)&C_ROMlib_numsonlyfilterproc,
- ptoc(&C_ROMlib_numsonlyfilterproc) },
- 0 },
- { { (void *)&C_ROMlib_stlfilterproc, ptoc(&C_ROMlib_stlfilterproc) }, 0 },
-
- /* NOTE: the following four routines don't really use pascal calling
- conventions, but we do need pstuff entries for them so we can
- look for their addresses and short circuit calls to them. The
- zero is correct because they take no args and return no value */
-
- { { (void *)&C_ROMlib_wakeup, 0 }, 0 },
- { { (void *)&C_ROMlib_vcatch, 0 }, 0 },
- { { (void *)C_ROMlib_dotext, 0 }, 0 },
- { { (void *)&C_handle_refresh, 0 }, 0 },
-
- { { (void *)&C_ROMlib_mysound, ptoc(&C_ROMlib_mysound) }, 0 },
- { { (void *)&C_ROMlib_myjobproc, ptoc(&C_ROMlib_myjobproc) }, 0 },
- { { (void *)&C_ROMlib_mystlproc, ptoc(&C_ROMlib_mystlproc) }, 0 },
-
- { { (void *)C_cdef0, ptoc(&C_cdef0) }, 0 },
- { { (void *)&C_cdef16, ptoc(&C_cdef16) }, 0 },
- { { (void *)&C_ldef0, ptoc(&C_ldef0) }, 0 },
- { { (void *)&C_mdef0, ptoc(&C_mdef0) }, 0 },
- { { (void *)&C_mbdf0, ptoc(&C_mbdf0) }, 0 },
- { { (void *)C_wdef0, ptoc(&C_wdef0) }, 0 },
- { { (void *)&C_wdef16, ptoc(&C_wdef16) }, 0 },
- { { (void *)&C_snth5, ptoc(&C_snth5) }, 0 },
-
- { { (void *)&C_IUMagString, ptoc(&C_IUMagString) }, 0 },
- { { (void *)&C_PrStlInit, ptoc(&C_PrStlInit) }, 0 },
- { { (void *)C_PrJobInit, ptoc(&C_PrJobInit) }, 0 },
-
- { { (void *)C_StdText, ptoc(&C_StdText) }, 0 },
- { { (void *)C_StdLine, ptoc(&C_StdLine) }, 0 },
- { { (void *)C_StdRect, ptoc(&C_StdRect) }, 0 },
- { { (void *)&C_StdOval, ptoc(&C_StdOval) }, 0 },
- { { (void *)C_StdRRect, ptoc(&C_StdRRect) }, 0 },
- { { (void *)C_StdArc, ptoc(&C_StdArc) }, 0 },
- { { (void *)&C_StdRgn, ptoc(&C_StdRgn) }, 0 },
- { { (void *)&C_StdPoly, ptoc(&C_StdPoly) }, 0 },
- { { (void *)C_StdBits, ptoc(&C_StdBits) }, 0 },
- { { (void *)&C_StdComment, ptoc(&C_StdComment) }, 0 },
- { { (void *)C_StdTxMeas, ptoc(&C_StdTxMeas) }, 0 },
- { { (void *)C_StdPutPic, ptoc(&C_StdPutPic) }, 0 },
-
- { { (void *)&C_FMSwapFont, ptoc(&C_FMSwapFont) }, 0 },
- { { (void *)&C_InitCursor, ptoc(&C_InitCursor) }, 0 },
-
- { { (void *)&C_textasPS, ptoc(&C_textasPS) }, 0 },
- { { (void *)&C_PrText, ptoc(&C_PrText) }, 0 },
- { { (void *)&C_PrLine, ptoc(&C_PrLine) }, 0 },
- { { (void *)&C_PrRect, ptoc(&C_PrRect) }, 0 },
- { { (void *)&C_PrRRect, ptoc(&C_PrRRect) }, 0 },
- { { (void *)&C_PrOval, ptoc(&C_PrOval) }, 0 },
- { { (void *)&C_PrArc, ptoc(&C_PrArc) }, 0 },
- { { (void *)&C_PrPoly, ptoc(&C_PrPoly) }, 0 },
- { { (void *)&C_PrRgn, ptoc(&C_PrRgn) }, 0 },
- { { (void *)&C_PrBits, ptoc(&C_PrBits) }, 0 },
- { { (void *)&C_PrComment, ptoc(&C_PrComment) }, 0 },
- { { (void *)&C_PrTxMeas, ptoc(&C_PrTxMeas) }, 0 },
- { { (void *)&C_PrGetPic, ptoc(&C_PrGetPic) }, 0 },
- { { (void *)&C_PrPutPic, ptoc(&C_PrPutPic) }, 0 },
- { { (void *)&C_donotPrText, ptoc(&C_donotPrText) }, 0 },
- { { (void *)&C_donotPrLine, ptoc(&C_donotPrLine) }, 0 },
- { { (void *)&C_donotPrRect, ptoc(&C_donotPrRect) }, 0 },
- { { (void *)&C_donotPrRRect, ptoc(&C_donotPrRRect) }, 0 },
- { { (void *)&C_donotPrOval, ptoc(&C_donotPrOval) }, 0 },
- { { (void *)&C_donotPrArc, ptoc(&C_donotPrArc) }, 0 },
- { { (void *)&C_donotPrPoly, ptoc(&C_donotPrPoly) }, 0 },
- { { (void *)&C_donotPrRgn, ptoc(&C_donotPrRgn) }, 0 },
- { { (void *)&C_donotPrBits, ptoc(&C_donotPrBits) }, 0 },
- { { (void *)&C_donotPrGetPic, ptoc(&C_donotPrGetPic) }, 0 },
- { { (void *)&C_donotPrPutPic, ptoc(&C_donotPrPutPic) }, 0 },
- { { (void *)&C_ROMlib_filebox, ptoc(&C_ROMlib_filebox) }, 0 },
- { { (void *)&C_StdGetPic, ptoc(&C_StdGetPic) }, 0 },
-
- { { (void *)&_flushcache, static_cast(-1) }, 0 },
- { { (void *)&_Key1Trans, static_cast(-1) }, 0 },
- { { (void *)&_Key2Trans, static_cast(-1) }, 0 },
-
- { { NULL /* was C_ROMlib_licensefilt */, 0 /* was ptoc(&C_ROMlib_licensefilt) */ }, 0 },
- { { (void *)&C_unixmount, ptoc(&C_unixmount) }, 0 },
- { { (void *)&C_GestaltTablesOnly, ptoc(&C_GestaltTablesOnly) }, 0 },
- { { (void *)&C_sound_timer_handler, 0 }, 0 },
- { { (void *)&C_adb_service_stub, 0 }, 0 },
- { { (void *)&C_cdef1008, ptoc(&C_cdef1008) }, 0 },
- { { (void *)&_bad_trap_unimplemented, static_cast(-1) }, 0 },
- { { (void *)&C_pack8_unknown_selector, ptoc(&C_pack8_unknown_selector) }, 0 },
- { { (void *)&C_PhysicalGestalt, ptoc(&C_PhysicalGestalt) }, 0 },
-
- { { (void *)&C_HideCursor, ptoc(&C_HideCursor) }, 0 },
- { { (void *)&C_ShowCursor, ptoc(&C_ShowCursor) }, 0 },
- { { (void *)&C_ShieldCursor, ptoc(&C_ShieldCursor) }, 0 },
- { { (void *)&C_SetCursor, ptoc(&C_SetCursor) }, 0 },
- { { (void *)&C_ObscureCursor, ptoc(&C_ObscureCursor) }, 0 },
- { { (void *)&C_unknown574, ptoc(&C_ShowCursor) }, 0 },
-
- { { (void *)&C_ROMlib_circle_ok, ptoc(&C_ROMlib_circle_ok) }, 0 },
- { { (void *)&C_ROMlib_orientation, ptoc(&C_ROMlib_orientation) }, 0 },
-
- { { (void *)&C_new_draw_scroll, ptoc(&C_new_draw_scroll) }, 0 },
- { { (void *)&C_new_pos_ctl, ptoc(&C_new_pos_ctl) }, 0 },
-};
-
-static void *fsroutines[][2] = {
- { /* 0xA000 */ (void *)PBOpen, (void *)PBHOpen /* 0 */ },
-#define OPENTRAP 0
-#define OPENINDEX 0
-
- { /* 0xA001 */ (void *)PBClose, (void *)PBClose /* 1 */ },
-#define CLOSETRAP 1
-#define CLOSEINDEX 1
-
- { /* 0xA002 */ (void *)PBRead, (void *)PBRead /* 2 */ },
-#define READTRAP 2
-#define READINDEX 2
-
- { /* 0xA003 */ (void *)PBWrite, (void *)PBWrite /* 3 */ },
-#define WRITETRAP 3
-#define WRITEINDEX 3
-
- { /* 0xA004 */ (void *)PBControl, (void *)PBControl /* 4 */ },
-#define CONTROLTRAP 4
-#define CONTROLINDEX 4
-
- { /* 0xA005 */ (void *)PBStatus, (void *)PBStatus /* 5 */ },
-#define STATUSTRAP 5
-#define STATUSINDEX 5
-
- { /* 0xA006 */ (void *)PBKillIO, (void *)PBKillIO /* 6 */ },
-#define KILLIOTRAP 6
-#define KILLIOINDEX 6
-
- { /* 0xA007 */ (void *)PBGetVInfo, (void *)PBHGetVInfo /* 7 */ },
-#define GETVINFOTRAP 7
-#define GETVINFOINDEX 7
-
- { /* 0xA008 */ (void *)PBCreate, (void *)PBHCreate /* 8 */ },
-#define CREATETRAP 8
-#define CREATEINDEX 8
-
- { /* 0xA009 */ (void *)PBDelete, (void *)PBHDelete /* 9 */ },
-#define DELETETRAP 9
-#define DELETEINDEX 9
-
- { /* 0xA00A */ (void *)PBOpenRF, (void *)PBHOpenRF /* 10 */ },
-#define OPENRFTRAP 0xA
-#define OPENRFINDEX 10
-
- { /* 0xA00B */ (void *)PBRename, (void *)PBHRename /* 11 */ },
-#define RENAMETRAP 0xB
-#define RENAMEINDEX 11
-
- { /* 0xA00C */ (void *)PBGetFInfo, (void *)PBHGetFInfo /* 12 */ },
-#define GETFINFOTRAP 0xC
-#define GETFINFOINDEX 12
-
- { /* 0xA00D */ (void *)PBSetFInfo, (void *)PBHSetFInfo /* 13 */ },
-#define SETFINFOTRAP 0xD
-#define SETFINFOINDEX 13
-
- { /* 0xA00E */ (void *)PBUnmountVol, (void *)PBUnmountVol /* 14 */ },
-#define UNMOUNTVOLTRAP 0xE
-#define UNMOUNTVOLINDEX 14
-
- { /* 0xA00F */ (void *)PBMountVol, (void *)PBMountVol /* 15 */ },
-#define MOUNTVOLTRAP 0xF
-#define MOUNTVOLINDEX 15
-
- { /* 0xA010 */ (void *)PBAllocate, (void *)PBAllocate /* 16 */ },
-#define ALLOCATETRAP 0x10
-#define ALLOCATEINDEX 16
-
- { /* 0xA011 */ (void *)PBGetEOF, (void *)PBGetEOF /* 17 */ },
-#define GETEOFTRAP 0x11
-#define GETEOFINDEX 17
-
- { /* 0xA012 */ (void *)PBSetEOF, (void *)PBSetEOF /* 18 */ },
-#define SETEOFTRAP 0x12
-#define SETEOFINDEX 18
-
- { /* 0xA013 */ (void *)PBFlushVol, (void *)PBFlushVol /* 19 */ },
-#define FLUSHVOLTRAP 0x13
-#define FLUSHVOLINDEX 19
-
- { /* 0xA014 */ (void *)PBGetVol, (void *)PBHGetVol /* 20 */ },
-#define GETVOLTRAP 0x14
-#define GETVOLINDEX 20
-
- { /* 0xA015 */ (void *)PBSetVol, (void *)PBHSetVol /* 21 */ },
-#define SETVOLTRAP 0x15
-#define SETVOLINDEX 21
-
- { /* 0xA017 */ (void *)PBEject, (void *)PBEject /* 22 */ },
-#define EJECTTRAP 0x17
-#define EJECTINDEX 22
-
- { /* 0xA018 */ (void *)PBGetFPos, (void *)PBGetFPos /* 23 */ },
-#define GETFPOSTRAP 0x18
-#define GETFPOSINDEX 23
-
- { /* 0xA035 */ (void *)PBOffLine, (void *)PBOffLine /* 24 */ },
-#define OFFLINETRAP 0x35
-#define OFFLINEINDEX 24
-
- { /* 0xA041 */ (void *)PBSetFLock, (void *)PBHSetFLock /* 25 */ },
-#define SETFLOCKTRAP 0x41
-#define SETFLOCKINDEX 25
-
- { /* 0xA042 */ (void *)PBRstFLock, (void *)PBHRstFLock /* 26 */ },
-#define RSTFLOCKTRAP 0x42
-#define RSTFLOCKINDEX 26
-
- { /* 0xA043 */ (void *)PBSetFVers, (void *)PBSetFVers /* 27 */ },
-#define SETFVERSTRAP 0x43
-#define SETFVERSINDEX 27
-
- { /* 0xA044 */ (void *)PBSetFPos, (void *)PBSetFPos /* 28 */ },
-#define SETFPOSTRAP 0x44
-#define SETFPOSINDEX 28
-
- { /* 0xA045 */ (void *)PBFlushFile, (void *)PBFlushFile /* 29 */ },
-#define FLUSHFILETRAP 0x45
-#define FLUSHFILEINDEX 29
-
-};
-
-osstuff_t Executor::osstuff[0x100] = {
- { 0, (void *)PBOpen },
- { 0, (void *)PBClose },
- { 0, (void *)PBRead },
- { 0, (void *)PBWrite },
- { 0, (void *)PBControl },
- { 0, (void *)PBStatus },
- { 0, (void *)PBKillIO },
- { 0, (void *)PBGetVInfo },
- { 0, (void *)PBCreate },
- { 0, (void *)PBDelete },
- { 0, (void *)PBOpenRF },
- { 0, (void *)PBRename },
- { 0, (void *)PBGetFInfo },
- { 0, (void *)PBSetFInfo },
- { 0, (void *)PBUnmountVol },
- { 0, (void *)PBMountVol },
- { 0, (void *)PBAllocate },
- { 0, (void *)PBGetEOF },
- { 0, (void *)PBSetEOF },
- { 0, (void *)PBFlushVol },
- { 0, (void *)PBGetVol },
- { 0, (void *)PBSetVol },
- { 0, (void *)_FInitQueue },
- { 0, (void *)PBEject },
- { 0, (void *)PBGetFPos },
- { 0, (void *)_InitZone },
- { 0, (void *)_GetZone },
- { 0, (void *)_SetZone },
- { 0, (void *)_FreeMem },
- { 0, (void *)_MaxMem },
- { 0, (void *)_NewPtr },
- { 0, (void *)_DisposPtr },
- { 0, (void *)_SetPtrSize },
- { 0, (void *)_GetPtrSize },
- { 0, (void *)_NewHandle },
- { 0, (void *)_DisposHandle },
- { 0, (void *)_SetHandleSize },
- { 0, (void *)_GetHandleSize },
- { 0, (void *)_HandleZone },
- { 0, (void *)_ReallocHandle },
- { 0, (void *)_RecoverHandle },
- { 0, (void *)_HLock },
- { 0, (void *)_HUnlock },
- { 0, (void *)_EmptyHandle },
- { 0, (void *)_InitApplZone },
- { 0, (void *)_SetApplLimit },
- { 0, (void *)_BlockMove },
- { 0, (void *)_PostEvent },
- { 0, (void *)_OSEventAvail },
- { 0, (void *)_GetOSEvent },
- { 0, (void *)_FlushEvents },
- { 0, (void *)_VInstall },
- { 0, (void *)_VRemove },
- { 0, (void *)PBOffLine },
- { 0, (void *)_MoreMasters },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_WriteParam },
- { 0, (void *)_ReadDateTime },
- { 0, (void *)_SetDateTime },
- { 0, (void *)_Delay },
- { 0, (void *)_EqualString },
- { 0, (void *)_DrvrInstall },
- { 0, (void *)_DrvrRemove },
- { 0, (void *)_InitUtil },
- { 0, (void *)_ResrvMem },
- { 0, (void *)PBSetFLock },
- { 0, (void *)PBRstFLock },
- { 0, (void *)PBSetFVers },
- { 0, (void *)PBSetFPos },
- { 0, (void *)PBFlushFile },
- { 0, (void *)_GetTrapAddress },
- { 0, (void *)_SetTrapAddress },
- { 0, (void *)_PtrZone },
- { 0, (void *)_HPurge },
- { 0, (void *)_HNoPurge },
- { 0, (void *)_SetGrowZone },
- { 0, (void *)_CompactMem },
- { 0, (void *)_PurgeMem },
- { 0, (void *)_AddDrive },
- { 0, (void *)_RDrvrInstall },
- { 0, (void *)_RelString },
- { 0, (void *)_IMVI_ReadXPRam },
- { 0, (void *)_IMVI_WriteXPRam },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_UprString },
- { 0, (void *)_StripAddress },
- { 0, (void *)_IMVI_LowerText },
- { 0, (void *)_SetApplBase },
- { 0, (void *)_InsTime },
- { 0, (void *)_RmvTime },
- { 0, (void *)_PrimeTime },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_IMVI_MemoryDispatch },
- { 0, (void *)_SwapMMUMode },
- { 0, (void *)_NMInstall },
- { 0, (void *)_NMRemove },
- { 0, (void *)_HFSDispatch },
- { 0, (void *)_MaxBlock },
- { 0, (void *)_PurgeSpace },
- { 0, (void *)_MaxApplZone },
- { 0, (void *)_MoveHHi },
- { 0, (void *)_StackSpace },
- { 0, (void *)_NewEmptyHandle },
- { 0, (void *)_HSetRBit },
- { 0, (void *)_HClrRBit },
- { 0, (void *)_HGetState },
- { 0, (void *)_HSetState },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_SlotManager },
- { 0, (void *)_SlotVInstall },
- { 0, (void *)_SlotVRemove },
- { 0, (void *)_AttachVBL },
- { 0, (void *)_DoVBLTask },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_DTInstall },
- { 0, (void *)_SIntRemove },
- { 0, (void *)_CountADBs },
- { 0, (void *)_GetIndADB },
- { 0, (void *)_GetADBInfo },
- { 0, (void *)_SetADBInfo },
- { 0, (void *)_ADBReInit },
- { 0, (void *)_ADBOp },
- { 0, (void *)_GetDefaultStartup },
- { 0, (void *)_SetDefaultStartup },
- { 0, (void *)_InternalWait },
- { 0, (void *)_GetVideoDefault },
- { 0, (void *)_SetVideoDefault },
- { 0, (void *)_SIntInstall },
- { 0, (void *)_SetOSDefault },
- { 0, (void *)_GetOSDefault },
- { 0, (void *)_IMVI_IdleUpdate },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_IMVI_SlpQInstall },
- { 0, (void *)_CommToolboxDispatch },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_IMVI_DebugUtil },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_IMVI_DeferUserFn },
- { 0, (void *)_SysEnvirons },
- { 0, (void *)_IMVI_Translate24To32 },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Microseconds },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_HWPriv },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Gestalt },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_flushcache },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_IMVI_PPC },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_ResourceStub },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
- { 0, (void *)_Unimplemented },
-};
-
-void Executor::filltables(void)
-{
- int i, fsindex;
- syn68k_addr_t unimpl = 0;
-
- unimpl = callback_install((callback_handler_t)(void *)_Unimplemented,
- nullptr);
-
- for(i = 0; i < (int)NELEM(tooltraptable); ++i)
- tooltraptable[i] = toolstuff[i].orig = (toolstuff[i].ptoc.wheretogo == (void *)_Unimplemented) ? unimpl
- : callback_install((callback_handler_t)(toolstuff[i].ptoc.magic != (ULONGINT)-1 ? (void *)PascalToCCall
- : toolstuff[i].ptoc.wheretogo),
- &toolstuff[i].ptoc);
-
- for(i = 0; i < (int)NELEM(pstuff); ++i)
- pstuff[i].orig = (pstuff[i].ptoc.wheretogo == (void *)_Unimplemented)
- ? SYN68K_TO_US(unimpl)
- : SYN68K_TO_US(callback_install((callback_handler_t)((pstuff[i].ptoc.magic
- != (ULONGINT)-1)
- ? (void *)PascalToCCall
- : pstuff[i].ptoc.wheretogo),
- &pstuff[i].ptoc));
-
- for(i = 0; i < (int)NELEM(ostraptable); ++i)
- {
- switch(i)
- {
- case OPENTRAP:
- fsindex = OPENINDEX;
- break;
- case CLOSETRAP:
- fsindex = CLOSEINDEX;
- break;
- case READTRAP:
- fsindex = READINDEX;
- break;
- case WRITETRAP:
- fsindex = WRITEINDEX;
- break;
- case CONTROLTRAP:
- fsindex = CONTROLINDEX;
- break;
- case STATUSTRAP:
- fsindex = STATUSINDEX;
- break;
- case KILLIOTRAP:
- fsindex = KILLIOINDEX;
- break;
- case GETVINFOTRAP:
- fsindex = GETVINFOINDEX;
- break;
- case CREATETRAP:
- fsindex = CREATEINDEX;
- break;
- case DELETETRAP:
- fsindex = DELETEINDEX;
- break;
- case OPENRFTRAP:
- fsindex = OPENRFINDEX;
- break;
- case RENAMETRAP:
- fsindex = RENAMEINDEX;
- break;
- case GETFINFOTRAP:
- fsindex = GETFINFOINDEX;
- break;
- case SETFINFOTRAP:
- fsindex = SETFINFOINDEX;
- break;
- case UNMOUNTVOLTRAP:
- fsindex = UNMOUNTVOLINDEX;
- break;
- case MOUNTVOLTRAP:
- fsindex = MOUNTVOLINDEX;
- break;
- case ALLOCATETRAP:
- fsindex = ALLOCATEINDEX;
- break;
- case GETEOFTRAP:
- fsindex = GETEOFINDEX;
- break;
- case SETEOFTRAP:
- fsindex = SETEOFINDEX;
- break;
- case FLUSHVOLTRAP:
- fsindex = FLUSHVOLINDEX;
- break;
- case GETVOLTRAP:
- fsindex = GETVOLINDEX;
- break;
- case SETVOLTRAP:
- fsindex = SETVOLINDEX;
- break;
- case EJECTTRAP:
- fsindex = EJECTINDEX;
- break;
- case GETFPOSTRAP:
- fsindex = GETFPOSINDEX;
- break;
- case OFFLINETRAP:
- fsindex = OFFLINEINDEX;
- break;
- case SETFLOCKTRAP:
- fsindex = SETFLOCKINDEX;
- break;
- case RSTFLOCKTRAP:
- fsindex = RSTFLOCKINDEX;
- break;
- case SETFVERSTRAP:
- fsindex = SETFVERSINDEX;
- break;
- case SETFPOSTRAP:
- fsindex = SETFPOSINDEX;
- break;
- case FLUSHFILETRAP:
- fsindex = FLUSHFILEINDEX;
- break;
- default:
- fsindex = static_cast(-1);
- break;
- };
-
- if(fsindex == static_cast(-1))
- ostraptable[i] = osstuff[i].orig = (osstuff[i].func == (void *)_Unimplemented) ? unimpl
- : callback_install((callback_handler_t)osstuff[i].func,
- osstuff[i].func);
- else
- {
- osstuff[i].func = (void *)_HFSRoutines;
- ostraptable[i] = osstuff[i].orig = callback_install((callback_handler_t)_HFSRoutines,
- fsroutines[fsindex]);
- }
- }
-}
diff --git a/src/error.cpp b/src/error.cpp
index 49d4c7d3..fc47bd42 100644
--- a/src/error.cpp
+++ b/src/error.cpp
@@ -338,7 +338,7 @@ void _gui_fatal(const char *file, int line, const char *fn,
/* Make sure the screen is sane. */
SetGDevice(MR(LM(MainDevice)));
- RestoreClutDevice(MR(LM(MainDevice)));
+ RestoreDeviceClut(MR(LM(MainDevice)));
sprintf(buf,
"Fatal error.\r"
diff --git a/src/executor.cpp b/src/executor.cpp
index 427e5ded..29e5a15b 100644
--- a/src/executor.cpp
+++ b/src/executor.cpp
@@ -30,7 +30,6 @@
#include "rsys/cquick.h"
#include "rsys/file.h"
#include "rsys/soundopts.h"
-#include "rsys/pstuff.h"
#include "rsys/prefs.h"
#include "rsys/aboutpanel.h"
#include "rsys/segment.h"
@@ -45,6 +44,7 @@
#include "rsys/suffix_maps.h"
#include "rsys/string.h"
+#include "rsys/emustubs.h"
#define static
@@ -319,6 +319,7 @@ syn68k_addr_t Executor::alinehandler(syn68k_addr_t pc, void *ignored)
togoto = tooltraptable[trapno];
if(trapword & POPBIT)
retval = POPADDR();
+#if defined(SHORTCIRCUIT_TRAPS)
if(togoto == toolstuff[trapno].orig)
{
if(toolstuff[trapno].ptoc.magic == (ULONGINT)-1)
@@ -336,6 +337,7 @@ syn68k_addr_t Executor::alinehandler(syn68k_addr_t pc, void *ignored)
FAKEPascalToCCall(&toolstuff[trapno].ptoc);
}
else
+#endif
{
PUSHADDR(retval); /* Where they'll return to */
retval = (syn68k_addr_t)togoto; /* Where they have patched */
@@ -346,6 +348,7 @@ syn68k_addr_t Executor::alinehandler(syn68k_addr_t pc, void *ignored)
{
trapno = trapword & OSMASK;
togoto = ostraptable[trapno];
+#if defined(SHORTCIRCUIT_TRAPS)
if(togoto == osstuff[trapno].orig)
{
saved1 = EM_D1;
@@ -367,6 +370,7 @@ syn68k_addr_t Executor::alinehandler(syn68k_addr_t pc, void *ignored)
EM_A2 = savea2;
}
else
+#endif
{
PUSHADDR(retval);
PUSHUW(status);
@@ -454,12 +458,12 @@ void Executor::executor_main(void)
LM(MinStack) = CLC(0x400); /* values ... */
LM(IAZNotify) = 0;
LM(CurPitch) = 0;
- LM(JSwapFont) = RM((ProcPtr)P_FMSwapFont);
- LM(JInitCrsr) = RM((ProcPtr)P_InitCursor);
+ LM(JSwapFont) = RM((ProcPtr)&FMSwapFont);
+ LM(JInitCrsr) = RM((ProcPtr)&InitCursor);
- LM(Key1Trans) = RM((Ptr)P_Key1Trans);
- LM(Key2Trans) = RM((Ptr)P_Key2Trans);
- LM(JFLUSH) = RM((ProcPtr)P_flushcache);
+ LM(Key1Trans) = RM((Ptr)&stub_Key1Trans);
+ LM(Key2Trans) = RM((Ptr)&stub_Key2Trans);
+ LM(JFLUSH) = RM(&FlushCodeCache);
LM(JResUnknown1) = LM(JFLUSH); /* I don't know what these are supposed to */
LM(JResUnknown2) = LM(JFLUSH); /* do, but they're not called enough for
us to worry about the cache flushing
diff --git a/src/fileAccess.cpp b/src/fileAccess.cpp
index a87fac51..56ec1391 100644
--- a/src/fileAccess.cpp
+++ b/src/fileAccess.cpp
@@ -1097,7 +1097,7 @@ OSErr Executor::ufsPBHOpen(HParmBlkPtr pb,
return err;
}
-OSErrRET Executor::OpenDeny(HParmBlkPtr pb, BOOLEAN a) /* IMV-397 */
+OSErr Executor::OpenDeny(HParmBlkPtr pb, BOOLEAN a) /* IMV-397 */
{ /* HACK */
HParamBlockRec block;
OSErr retval;
@@ -1618,63 +1618,63 @@ OSErr Executor::ufsPBClose(ParmBlkPtr pb, BOOLEAN a) /* INTERNAL */
return err;
}
-OSErrRET Executor::PBHGetLogInInfo(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHGetLogInInfo(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHGetDirAccess(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHGetDirAccess(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHCopyFile(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHCopyFile(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHMapName(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHMapName(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHMapID(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHMapID(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHSetDirAccess(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHSetDirAccess(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
return retval;
}
-OSErrRET Executor::PBHMoveRename(HParmBlkPtr pb, BOOLEAN a)
+OSErr Executor::PBHMoveRename(HParmBlkPtr pb, BOOLEAN a)
{
- OSErrRET retval;
+ OSErr retval;
warning_unimplemented(NULL_STRING);
retval = paramErr;
diff --git a/src/fileHighlevel.cpp b/src/fileHighlevel.cpp
index 2b290308..6978a2be 100644
--- a/src/fileHighlevel.cpp
+++ b/src/fileHighlevel.cpp
@@ -368,7 +368,7 @@ OSErr Executor::C_FSpExchangeFiles(FSSpecPtr src, FSSpecPtr dst)
#endif
}
-typedef OSErrRET (*open_procp)(HParmBlkPtr pb, BOOLEAN sync);
+typedef OSErr (*open_procp)(HParmBlkPtr pb, BOOLEAN sync);
static OSErr
open_helper(FSSpecPtr spec, SignedByte perms, GUEST *refoutp,
@@ -477,7 +477,7 @@ OSErr Executor::C_FSpSetFInfo(FSSpecPtr spec, FInfo *fndr_info)
return retval;
}
-typedef OSErrRET (*lock_procp)(HParmBlkPtr pb, BOOLEAN async);
+typedef OSErr (*lock_procp)(HParmBlkPtr pb, BOOLEAN async);
static OSErr
lock_helper(FSSpecPtr spec, lock_procp procp)
diff --git a/src/fileInfo.cpp b/src/fileInfo.cpp
index 3655457d..a6a8249f 100644
--- a/src/fileInfo.cpp
+++ b/src/fileInfo.cpp
@@ -533,7 +533,8 @@ OSErr Executor::ROMlib_PBGetSetFInfoD(ParmBlkPtr pb, BOOLEAN a,
pb->fileParam.ioFlStBlk = CW(-1); /* NOT SUPPORTED */
pb->fileParam.ioFlRStBlk = CW(-1); /* NOT SUPPORTED */
pb->fileParam.ioFlMdDat = CL(UNIXTIMETOMACTIME(
- MAX(resourcesbuf.st_mtime, datasbuf.st_mtime)));
+ datasbuf.st_mtime)); // FIXME: take mod date of resources into account
+ //std::max(resourcesbuf.st_mtime, datasbuf.st_mtime)));
if(dodirs)
((CInfoPBPtr)pb)->hFileInfo.ioFlBkDat = 0;
}
diff --git a/src/float4.cpp b/src/float4.cpp
index 3a728c37..edbea4e1 100644
--- a/src/float4.cpp
+++ b/src/float4.cpp
@@ -178,7 +178,7 @@ ROMlib_compare_fcw_fsw(uint32_t fcwfsw, const char *func, int line)
* exception. Eventually this needs to be changed so we *do* get
* a real exception, and signal appropriately.
*/
-static uint8 halts_enabled;
+static uint8_t halts_enabled;
void Executor::C_ROMlib_Fsetenv(INTEGER *dp, INTEGER sel)
{
@@ -1093,7 +1093,7 @@ void Executor::C_ROMlib_Fdec2x(Decimal *sp, void *dp, unsigned short sel)
warning_floating_point("Fdec2x(%s%.*s * 10**%d) == " IEEE_T_FORMAT "",
sp->sgn ? "-" : "",
- (uint8)sp->sig[0], &sp->sig[1],
+ (uint8_t)sp->sig[0], &sp->sig[1],
CW(sp->exp), (IEEE_T_PRINT_CAST)in);
}
diff --git a/src/floatnext.cpp b/src/floatnext.cpp
index 5ce42098..fadca84d 100644
--- a/src/floatnext.cpp
+++ b/src/floatnext.cpp
@@ -11,15 +11,15 @@ using namespace Executor;
/* Subtracts one from the given multi-byte big endian unsigned number. */
static void
-mp_decrement_big_endian(uint8 *bytes, int num_bytes)
+mp_decrement_big_endian(uint8_t *bytes, int num_bytes)
{
bool borrow_p;
- uint8 *b;
+ uint8_t *b;
borrow_p = true;
for(b = bytes + num_bytes; borrow_p && b > bytes;)
{
- const uint8 v = *--b;
+ const uint8_t v = *--b;
borrow_p = (v == 0);
*b = v - 1;
}
@@ -27,16 +27,16 @@ mp_decrement_big_endian(uint8 *bytes, int num_bytes)
/* Adds one to the given multi-byte big endian unsigned number. */
static void
-mp_increment_big_endian(uint8 *bytes, int num_bytes)
+mp_increment_big_endian(uint8_t *bytes, int num_bytes)
{
bool carry_p;
- uint8 *b;
+ uint8_t *b;
carry_p = true;
for(b = bytes + num_bytes; carry_p && b > bytes;)
{
/* Equivalent to "carry_p = !++*--b;" Heh. */
- const uint8 v = *--b + 1;
+ const uint8_t v = *--b + 1;
carry_p = (v == 0);
*b = v;
}
@@ -51,7 +51,7 @@ mp_increment_big_endian(uint8 *bytes, int num_bytes)
* Note that most SANE traps replace the dst operand with the
* result. This one replaces the src operand (really!)
*/
-void Executor::C_ROMlib_FnextX(uint8 *x, uint8 *y, unsigned short sel)
+void Executor::C_ROMlib_FnextX(uint8_t *x, uint8_t *y, unsigned short sel)
{
CCRElement saved_ccc, saved_ccn, saved_ccv, saved_ccnz, saved_ccx;
INTEGER x_class, y_class, x_class_swapped, y_class_swapped;
diff --git a/src/geninterfacelib.tmpl b/src/geninterfacelib.tmpl
index 98a6fb23..02f39231 100644
--- a/src/geninterfacelib.tmpl
+++ b/src/geninterfacelib.tmpl
@@ -322,7 +322,7 @@ arg_type (arg_t t)
retval = "void";
break;
case one_byte_arg:
- retval = "uint8";
+ retval = "uint8_t";
break;
case two_byte_arg:
retval = "uint16_t";
diff --git a/src/gestalt.cpp b/src/gestalt.cpp
index de915045..a8d0d250 100644
--- a/src/gestalt.cpp
+++ b/src/gestalt.cpp
@@ -14,6 +14,7 @@
#include "rsys/gestalt.h"
#include "rsys/version.h"
#include "rsys/vdriver.h"
+#include "rsys/functions.impl.h"
using namespace Executor;
@@ -278,7 +279,7 @@ static OSType phystable_selectors_to_patch[] = {
typedef struct gestalt_link_str
{
OSType selector;
- ProcPtr selectorFunction;
+ SelectorFunctionUPP selectorFunction;
struct gestalt_link_str *next;
} gestalt_link_t;
@@ -371,7 +372,7 @@ void
gestalt_set_physical_gestalt_callback(void)
{
REPLACE_SELECTOR_IN_TABLE(gestaltPHYSICAL,
- (long)US_TO_SYN68K(P_PhysicalGestalt), gtable);
+ (long)US_TO_SYN68K((ProcPtr)&PhysicalGestalt), gtable);
}
#if defined(powerpc) || defined(__ppc__)
@@ -382,7 +383,7 @@ gestalt_set_cpu_type(uint32_t type)
}
#endif
-static OSErrRET
+static OSErr
gestalt_helper(OSType selector, GUEST *responsep, BOOLEAN searchlist,
gestaltentry_t table[], int length)
{
@@ -397,8 +398,7 @@ gestalt_helper(OSType selector, GUEST *responsep, BOOLEAN searchlist,
*responsep = CLC(0); /* better safe than sorry */
if(searchlist && (gp = find_selector_on_list(selector)))
- retval = CToPascalCall((void *)gp->selectorFunction, ctop(&C_GestaltTablesOnly),
- selector, responsep);
+ retval = gp->selectorFunction(selector, responsep);
else
{
gestaltentry_t *gep;
@@ -493,7 +493,7 @@ Executor::ROMlib_add_to_gestalt_list(OSType selector, OSErr retval, uint32_t new
}
}
-OSErrRET Executor::Gestalt(OSType selector, GUEST *responsep)
+OSErr Executor::Gestalt(OSType selector, GUEST *responsep)
{
static bool been_here = false;
@@ -505,7 +505,7 @@ OSErrRET Executor::Gestalt(OSType selector, GUEST *responsep)
#if defined(CYGWIN32)
if((uint32_t)selector == 0xb7d20e84)
{
- OSErrRET retval;
+ OSErr retval;
warning_trace_info("about to dongle_query");
retval = dongle_query(responsep);
@@ -538,9 +538,9 @@ OSErrRET Executor::Gestalt(OSType selector, GUEST *responsep)
return gestalt_helper(selector, responsep, true, gtable, NELEM(gtable));
}
-OSErrRET Executor::C_PhysicalGestalt(OSType selector, GUEST *responsep)
+OSErr Executor::C_PhysicalGestalt(OSType selector, GUEST *responsep)
{
- OSErrRET retval;
+ OSErr retval;
switch(selector)
{
@@ -564,7 +564,7 @@ OSErrRET Executor::C_PhysicalGestalt(OSType selector, GUEST *responsep)
return retval;
}
-OSErrRET Executor::C_GestaltTablesOnly(OSType selector,
+OSErr Executor::C_GestaltTablesOnly(OSType selector,
GUEST *responsep)
{
return gestalt_helper(selector, responsep, false, gtable, NELEM(gtable));
@@ -581,11 +581,11 @@ syszone_p(ProcPtr p)
}
static OSErr
-new_link(OSType selector, ProcPtr selFunc)
+new_link(OSType selector, SelectorFunctionUPP selFunc)
{
OSErr retval;
- if(!syszone_p(selFunc))
+ if(!syszone_p((ProcPtr)selFunc))
retval = gestaltLocationErr;
else
{
@@ -607,7 +607,7 @@ new_link(OSType selector, ProcPtr selFunc)
return retval;
}
-OSErrRET Executor::NewGestalt(OSType selector, ProcPtr selFunc)
+OSErr Executor::NewGestalt(OSType selector, SelectorFunctionUPP selFunc)
{
OSErr retval;
@@ -619,8 +619,8 @@ OSErrRET Executor::NewGestalt(OSType selector, ProcPtr selFunc)
return retval;
}
-OSErrRET Executor::ReplaceGestalt(OSType selector, ProcPtr selFunc,
- ProcPtr *oldSelFuncp)
+OSErr Executor::ReplaceGestalt(OSType selector, SelectorFunctionUPP selFunc,
+ SelectorFunctionUPP *oldSelFuncp)
{
OSErr retval;
gestalt_link_t *gp;
@@ -628,7 +628,7 @@ OSErrRET Executor::ReplaceGestalt(OSType selector, ProcPtr selFunc,
gp = find_selector_on_list(selector);
if(gp)
{
- if(syszone_p(selFunc))
+ if(syszone_p((ProcPtr)selFunc))
{
*oldSelFuncp = gp->selectorFunction;
gp->selectorFunction = selFunc;
@@ -646,7 +646,7 @@ OSErrRET Executor::ReplaceGestalt(OSType selector, ProcPtr selFunc,
retval = gestaltUndefSelectorErr;
else
{
- *oldSelFuncp = (ProcPtr)P_GestaltTablesOnly;
+ *oldSelFuncp = &GestaltTablesOnly;
retval = new_link(selector, selFunc);
}
}
diff --git a/src/hfsHelper.cpp b/src/hfsHelper.cpp
index 048696f9..12646a7c 100644
--- a/src/hfsHelper.cpp
+++ b/src/hfsHelper.cpp
@@ -101,7 +101,7 @@ static void eject_floppy_notify(void)
*/
if(LM(WWExist) == EXIST_YES && GetResource(TICK("ALRT"), EJECTALERTID))
- Alert(EJECTALERTID, (ProcPtr)0);
+ Alert(EJECTALERTID, nullptr);
}
OSErr Executor::ROMlib_ejectfloppy(LONGINT floppyfd)
diff --git a/src/hfsMisc.cpp b/src/hfsMisc.cpp
index 21614e24..716aa8e2 100644
--- a/src/hfsMisc.cpp
+++ b/src/hfsMisc.cpp
@@ -64,7 +64,7 @@ QHdrPtr myGetVCBQHdr(void)
* we're looking at hfs or ufs stuff.
*/
-OSErrRET Executor::PBGetFCBInfo(FCBPBPtr pb, BOOLEAN async)
+OSErr Executor::PBGetFCBInfo(FCBPBPtr pb, BOOLEAN async)
{
filecontrolblock *fcbp, *efcbp;
INTEGER i;
diff --git a/src/hfsXbar.cpp b/src/hfsXbar.cpp
index dc0c0f2d..df105611 100644
--- a/src/hfsXbar.cpp
+++ b/src/hfsXbar.cpp
@@ -98,7 +98,7 @@ static BOOLEAN hfsfil(IOParam *pb)
return false;
}
-OSErrRET Executor::PBHRename(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHRename(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -109,7 +109,7 @@ OSErrRET Executor::PBHRename(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHCreate(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHCreate(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -120,7 +120,7 @@ OSErrRET Executor::PBHCreate(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBDirCreate(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBDirCreate(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -131,7 +131,7 @@ OSErrRET Executor::PBDirCreate(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHDelete(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHDelete(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -158,7 +158,7 @@ try_to_reopen(DrvQExtra *dqp)
int Executor::ROMlib_directdiskaccess = false;
-OSErrRET Executor::PBRead(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBRead(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
DrvQExtra *dqp;
@@ -281,7 +281,7 @@ OSErrRET Executor::PBRead(ParmBlkPtr pb, BOOLEAN async)
#define SOUND_DRIVER_REF (-4)
#define ffMode 0
-OSErrRET Executor::PBWrite(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBWrite(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
HVCB *vcbp;
@@ -338,7 +338,7 @@ OSErrRET Executor::PBWrite(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBClose(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBClose(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -360,7 +360,7 @@ OSErrRET Executor::PBClose(ParmBlkPtr pb, BOOLEAN async)
* PBOpen doesn't require ioBuffer to be 0 in order to open a driver.
*/
-OSErrRET Executor::PBHOpen(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHOpen(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -374,7 +374,7 @@ OSErrRET Executor::PBHOpen(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBOpenDF(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBOpenDF(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -385,7 +385,7 @@ OSErrRET Executor::PBOpenDF(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHOpenRF(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHOpenRF(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -417,7 +417,7 @@ swappedstr255print (const char *prefix, Str255 sp)
}
#endif
-OSErrRET Executor::PBGetCatInfo(CInfoPBPtr pb, BOOLEAN async)
+OSErr Executor::PBGetCatInfo(CInfoPBPtr pb, BOOLEAN async)
{
OSErr retval;
BOOLEAN ishfs;
@@ -442,7 +442,7 @@ OSErrRET Executor::PBGetCatInfo(CInfoPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetCatInfo(CInfoPBPtr pb, BOOLEAN async)
+OSErr Executor::PBSetCatInfo(CInfoPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -453,7 +453,7 @@ OSErrRET Executor::PBSetCatInfo(CInfoPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBCatMove(CMovePBPtr pb, BOOLEAN async)
+OSErr Executor::PBCatMove(CMovePBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -464,7 +464,7 @@ OSErrRET Executor::PBCatMove(CMovePBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetVInfo(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBGetVInfo(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -475,7 +475,7 @@ OSErrRET Executor::PBGetVInfo(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBUnmountVol(ParmBlkPtr pb)
+OSErr Executor::PBUnmountVol(ParmBlkPtr pb)
{
OSErr retval;
@@ -486,7 +486,7 @@ OSErrRET Executor::PBUnmountVol(ParmBlkPtr pb)
PBRETURN(pb, retval);
}
-OSErrRET Executor::PBEject(ParmBlkPtr pb)
+OSErr Executor::PBEject(ParmBlkPtr pb)
{
OSErr retval;
@@ -497,7 +497,7 @@ OSErrRET Executor::PBEject(ParmBlkPtr pb)
PBRETURN(pb, retval);
}
-OSErrRET Executor::PBAllocate(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBAllocate(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -508,7 +508,7 @@ OSErrRET Executor::PBAllocate(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBAllocContig(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBAllocContig(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -519,7 +519,7 @@ OSErrRET Executor::PBAllocContig(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHGetFInfo(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHGetFInfo(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
BOOLEAN ishfs;
@@ -538,7 +538,7 @@ OSErrRET Executor::PBHGetFInfo(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetEOF(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetEOF(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -549,7 +549,7 @@ OSErrRET Executor::PBSetEOF(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBOpen(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBOpen(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -582,7 +582,7 @@ void test_serial(void)
}
#endif
-OSErrRET Executor::PBOpenRF(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBOpenRF(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -593,7 +593,7 @@ OSErrRET Executor::PBOpenRF(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBLockRange(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBLockRange(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -604,7 +604,7 @@ OSErrRET Executor::PBLockRange(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBUnlockRange(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBUnlockRange(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -615,7 +615,7 @@ OSErrRET Executor::PBUnlockRange(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetFPos(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBGetFPos(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -626,7 +626,7 @@ OSErrRET Executor::PBGetFPos(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetFPos(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetFPos(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -637,7 +637,7 @@ OSErrRET Executor::PBSetFPos(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetEOF(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBGetEOF(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -648,7 +648,7 @@ OSErrRET Executor::PBGetEOF(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBFlushFile(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBFlushFile(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -659,7 +659,7 @@ OSErrRET Executor::PBFlushFile(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBCreate(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBCreate(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -670,7 +670,7 @@ OSErrRET Executor::PBCreate(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBDelete(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBDelete(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -681,7 +681,7 @@ OSErrRET Executor::PBDelete(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBOpenWD(WDPBPtr pb, BOOLEAN async)
+OSErr Executor::PBOpenWD(WDPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -692,7 +692,7 @@ OSErrRET Executor::PBOpenWD(WDPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBCloseWD(WDPBPtr pb, BOOLEAN async)
+OSErr Executor::PBCloseWD(WDPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -700,7 +700,7 @@ OSErrRET Executor::PBCloseWD(WDPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetWDInfo(WDPBPtr pb, BOOLEAN async)
+OSErr Executor::PBGetWDInfo(WDPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -708,7 +708,7 @@ OSErrRET Executor::PBGetWDInfo(WDPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetFInfo(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBGetFInfo(ParmBlkPtr pb, BOOLEAN async)
{
BOOLEAN ishfs;
GUEST savep;
@@ -727,7 +727,7 @@ OSErrRET Executor::PBGetFInfo(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetFInfo(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetFInfo(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -738,7 +738,7 @@ OSErrRET Executor::PBSetFInfo(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHSetFInfo(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHSetFInfo(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -749,7 +749,7 @@ OSErrRET Executor::PBHSetFInfo(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetFLock(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetFLock(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -760,7 +760,7 @@ OSErrRET Executor::PBSetFLock(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHSetFLock(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHSetFLock(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -771,7 +771,7 @@ OSErrRET Executor::PBHSetFLock(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBRstFLock(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBRstFLock(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -782,7 +782,7 @@ OSErrRET Executor::PBRstFLock(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHRstFLock(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHRstFLock(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -793,7 +793,7 @@ OSErrRET Executor::PBHRstFLock(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetFVers(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetFVers(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -804,7 +804,7 @@ OSErrRET Executor::PBSetFVers(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBRename(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBRename(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -856,7 +856,7 @@ OSErr Executor::PBMountVol(ParmBlkPtr pb)
#endif
}
-OSErrRET Executor::PBHGetVInfo(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHGetVInfo(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -882,7 +882,7 @@ enum
| (1L << bNoMiniFndr))
};
-OSErrRET Executor::PBHGetVolParms(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBHGetVolParms(HParmBlkPtr pb, BOOLEAN async)
{
LONGINT dir;
HVCB *vcbp;
@@ -937,7 +937,7 @@ OSErrRET Executor::PBHGetVolParms(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, err);
}
-OSErrRET Executor::PBSetVInfo(HParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetVInfo(HParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -948,7 +948,7 @@ OSErrRET Executor::PBSetVInfo(HParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBGetVol(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBGetVol(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -956,7 +956,7 @@ OSErrRET Executor::PBGetVol(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHGetVol(WDPBPtr pb, BOOLEAN async)
+OSErr Executor::PBHGetVol(WDPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -964,7 +964,7 @@ OSErrRET Executor::PBHGetVol(WDPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBSetVol(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBSetVol(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -972,7 +972,7 @@ OSErrRET Executor::PBSetVol(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBHSetVol(WDPBPtr pb, BOOLEAN async)
+OSErr Executor::PBHSetVol(WDPBPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -980,7 +980,7 @@ OSErrRET Executor::PBHSetVol(WDPBPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBFlushVol(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBFlushVol(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -991,7 +991,7 @@ OSErrRET Executor::PBFlushVol(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBOffLine(ParmBlkPtr pb)
+OSErr Executor::PBOffLine(ParmBlkPtr pb)
{
OSErr retval;
@@ -1002,7 +1002,7 @@ OSErrRET Executor::PBOffLine(ParmBlkPtr pb)
PBRETURN(pb, retval);
}
-OSErrRET Executor::PBExchangeFiles(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBExchangeFiles(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -1011,7 +1011,7 @@ OSErrRET Executor::PBExchangeFiles(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBCatSearch(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBCatSearch(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -1020,7 +1020,7 @@ OSErrRET Executor::PBCatSearch(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBCreateFileIDRef(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBCreateFileIDRef(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -1029,7 +1029,7 @@ OSErrRET Executor::PBCreateFileIDRef(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBDeleteFileIDRef(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBDeleteFileIDRef(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
@@ -1038,7 +1038,7 @@ OSErrRET Executor::PBDeleteFileIDRef(ParmBlkPtr pb, BOOLEAN async)
FAKEASYNC(pb, async, retval);
}
-OSErrRET Executor::PBResolveFileIDRef(ParmBlkPtr pb, BOOLEAN async)
+OSErr Executor::PBResolveFileIDRef(ParmBlkPtr pb, BOOLEAN async)
{
OSErr retval;
diff --git a/src/hle.cpp b/src/hle.cpp
index c42af643..97cea01d 100644
--- a/src/hle.cpp
+++ b/src/hle.cpp
@@ -6,6 +6,7 @@
#include "OSEvent.h"
#include "MemoryMgr.h"
+#include "rsys/functions.impl.h"
using namespace Executor;
diff --git a/src/include/ADB.h b/src/include/ADB.h
index 13ae2db4..bcd86624 100644
--- a/src/include/ADB.h
+++ b/src/include/ADB.h
@@ -5,9 +5,14 @@
* Copyright 1995 by Abacus Research and Development, Inc.
* All rights reserved.
*
-
*/
+#include
+#include "ExMacTypes.h"
+
+#define MODULE_NAME ADB
+#include
+
namespace Executor
{
struct ADBDataBlock
@@ -15,14 +20,14 @@ struct ADBDataBlock
GUEST_STRUCT;
GUEST devType;
GUEST origADBAddr;
- GUEST dbServiceRtPtr;
+ GUEST dbServiceRtPtr;
GUEST dbDataAreaAddr;
};
struct ADBSetInfoBlock
{
GUEST_STRUCT;
- GUEST siServiceRtPtr;
+ GUEST siServiceRtPtr;
GUEST siDataAreaAddr;
};
@@ -30,11 +35,18 @@ const LowMemGlobal KbdLast { 0x218 }; // QuickDraw IMV-367 (false);
const LowMemGlobal KbdType { 0x21E }; // QuickDraw IMV-367 (false);
extern void ADBReInit(void);
+REGISTER_TRAP2(ADBReInit, 0xA07B, void ());
+
extern OSErr ADBOp(Ptr data, ProcPtr procp, Ptr buffer, INTEGER command);
+
extern INTEGER CountADBs(void);
+REGISTER_TRAP2(CountADBs, 0xA077, D0());
extern OSErr GetIndADB(ADBDataBlock *adbp, INTEGER index);
+REGISTER_TRAP2(GetIndADB, 0xA078, D0(A0,D0));
extern OSErr GetADBInfo(ADBDataBlock *adbp, INTEGER address);
+REGISTER_TRAP2(GetADBInfo, 0xA079, D0(A0,D0));
extern OSErr SetADBInfo(ADBSetInfoBlock *adbp, INTEGER address);
+REGISTER_TRAP2(SetADBInfo, 0xA07A, D0(A0,D0));
}
#endif /* !_ADB_H_ */
diff --git a/src/include/AliasMgr.h b/src/include/AliasMgr.h
index a8388175..a3a68e9d 100644
--- a/src/include/AliasMgr.h
+++ b/src/include/AliasMgr.h
@@ -3,6 +3,10 @@
#define _ALIASMGR_H_
#include "FileMgr.h"
+#include
+
+#define MODULE_NAME AliasMgr
+#include
namespace Executor
{
@@ -26,40 +30,42 @@ enum
kFontFolderType = FOURCC('f', 'o', 'n', 't'),
};
+DISPATCHER_TRAP(AliasDispatch, 0xA823, D0W);
+
extern OSErr C_FindFolder(int16_t vRefNum, OSType folderType,
Boolean createFolder,
GUEST *foundVRefNum,
GUEST *foundDirID);
-PASCAL_FUNCTION(FindFolder);
+PASCAL_SUBTRAP(FindFolder, 0xA823, 0x0000, AliasDispatch);
extern OSErr C_NewAlias(FSSpecPtr fromFile, FSSpecPtr target,
GUEST *alias);
-PASCAL_FUNCTION(NewAlias);
+PASCAL_SUBTRAP(NewAlias, 0xA823, 0x0002, AliasDispatch);
extern OSErr C_NewAliasMinimal(FSSpecPtr target,
GUEST *alias);
-PASCAL_FUNCTION(NewAliasMinimal);
+PASCAL_SUBTRAP(NewAliasMinimal, 0xA823, 0x0008, AliasDispatch);
extern OSErr C_NewAliasMinimalFromFullPath(int16_t fullpathLength, Ptr fullpath,
Str32 zoneName, Str31 serverName, GUEST *alias);
-PASCAL_FUNCTION(NewAliasMinimalFromFullPath);
+PASCAL_SUBTRAP(NewAliasMinimalFromFullPath, 0xA823, 0x0009, AliasDispatch);
extern OSErr C_UpdateAlias(FSSpecPtr fromFile, FSSpecPtr target,
AliasHandle alias,
Boolean *wasChanged);
-PASCAL_FUNCTION(UpdateAlias);
+PASCAL_SUBTRAP(UpdateAlias, 0xA823, 0x0006, AliasDispatch);
extern OSErr C_ResolveAlias(FSSpecPtr fromFile,
AliasHandle alias,
FSSpecPtr target,
Boolean *wasAliased);
-PASCAL_FUNCTION(ResolveAlias);
+PASCAL_SUBTRAP(ResolveAlias, 0xA823, 0x0003, AliasDispatch);
extern OSErr C_ResolveAliasFile(FSSpecPtr theSpec,
Boolean resolveAliasChains,
Boolean *targetIsFolder,
Boolean *wasAliased);
-PASCAL_FUNCTION(ResolveAliasFile);
+PASCAL_SUBTRAP(ResolveAliasFile, 0xA823, 0x000C, AliasDispatch);
extern OSErr C_MatchAlias(FSSpecPtr fromFile, int32_t rulesMask,
AliasHandle alias, int16_t *aliasCount,
@@ -67,11 +73,11 @@ extern OSErr C_MatchAlias(FSSpecPtr fromFile, int32_t rulesMask,
Boolean *needsUpdate,
AliasFilterProcPtr aliasFilter,
Ptr yourDataPtr);
-PASCAL_FUNCTION(MatchAlias);
+PASCAL_SUBTRAP(MatchAlias, 0xA823, 0x0005, AliasDispatch);
extern OSErr C_GetAliasInfo(AliasHandle alias,
AliasTypeInfo index,
Str63 theString);
-PASCAL_FUNCTION(GetAliasInfo);
+PASCAL_SUBTRAP(GetAliasInfo, 0xA823, 0x0007, AliasDispatch);
}
#endif
diff --git a/src/include/AppleEvents.h b/src/include/AppleEvents.h
index 674585f7..d2391c32 100644
--- a/src/include/AppleEvents.h
+++ b/src/include/AppleEvents.h
@@ -11,6 +11,9 @@
#include "EventMgr.h"
#include "NotifyMgr.h"
+#define MODULE_NAME AppleEvents
+#include
+
namespace Executor
{
typedef int32_t AEEventClass;
@@ -87,9 +90,9 @@ enum
typedef int16_t AESendPriority;
-typedef uint8 AEEventSource;
-typedef uint8 AEInteractionAllowed;
-typedef uint8 AEArrayType;
+typedef uint8_t AEEventSource;
+typedef uint8_t AEInteractionAllowed;
+typedef uint8_t AEArrayType;
enum
{
@@ -118,7 +121,7 @@ enum
typedef union AEArrayData {
GUEST AEDataArray[1];
- int8 AEPackedArray[1];
+ int8_t AEPackedArray[1];
GUEST AEHandleArray[1];
AEDesc AEDescArray[1];
AEKeyDesc AEKeyDescArray[1];
@@ -217,20 +220,24 @@ typedef struct
typedef AE_info_t *AE_info_ptr;
-extern OSErr C__AE_hdlr_table_alloc(int32_t, int32_t, int32_t, int8,
+
+DISPATCHER_TRAP(Pack8, 0xA816, D0W);
+
+ // "internal". TODO: verify if they really exist as entry points.
+extern OSErr C__AE_hdlr_table_alloc(int32_t, int32_t, int32_t, int8_t,
GUEST *);
-PASCAL_FUNCTION(_AE_hdlr_table_alloc);
+PASCAL_SUBTRAP(_AE_hdlr_table_alloc, 0xA816, 0x092E, Pack8);
extern OSErr C__AE_hdlr_delete(AE_hdlr_table_h, int32_t,
AE_hdlr_selector_t *);
-PASCAL_FUNCTION(_AE_hdlr_delete);
+PASCAL_SUBTRAP(_AE_hdlr_delete, 0xA816, 0x0632, Pack8);
extern OSErr C__AE_hdlr_lookup(AE_hdlr_table_h, int32_t,
AE_hdlr_selector_t *,
AE_hdlr_t *);
-PASCAL_FUNCTION(_AE_hdlr_lookup);
+PASCAL_SUBTRAP(_AE_hdlr_lookup, 0xA816, 0x0833, Pack8);
extern OSErr C__AE_hdlr_install(AE_hdlr_table_h, int32_t,
AE_hdlr_selector_t *,
AE_hdlr_t *);
-PASCAL_FUNCTION(_AE_hdlr_install);
+PASCAL_SUBTRAP(_AE_hdlr_install, 0xA816, 0x0831, Pack8);
/* private */
@@ -314,65 +321,67 @@ const LowMemGlobal AE_info { 0x2B6 }; // AppleEvents AEGizmo (true)
extern OSErr C_AEGetCoercionHandler(DescType from_type, DescType to_type,
GUEST *hdlr_out, GUEST *refcon_out,
GUEST *from_type_is_desc_p_out, Boolean system_handler_p);
-PASCAL_FUNCTION(AEGetCoercionHandler);
+PASCAL_SUBTRAP(AEGetCoercionHandler, 0xA816, 0x0B24, Pack8);
extern OSErr C_AECreateDesc(DescType type,
Ptr data, Size data_size,
AEDesc *desc_out);
-PASCAL_FUNCTION(AECreateDesc);
+PASCAL_SUBTRAP(AECreateDesc, 0xA816, 0x0825, Pack8);
extern OSErr C_AEDisposeDesc(AEDesc *desc);
-PASCAL_FUNCTION(AEDisposeDesc);
+PASCAL_SUBTRAP(AEDisposeDesc, 0xA816, 0x0204, Pack8);
extern OSErr C_AECoerceDesc(AEDesc *desc, DescType result_type,
AEDesc *desc_out);
-PASCAL_FUNCTION(AECoerceDesc);
+PASCAL_SUBTRAP(AECoerceDesc, 0xA816, 0x0603, Pack8);
extern OSErr C_AEGetKeyPtr(AERecord *record, AEKeyword keyword,
DescType desired_type, GUEST *type_out,
Ptr data, Size max_size, GUEST *size_out);
-PASCAL_FUNCTION(AEGetKeyPtr);
+PASCAL_SUBTRAP(AEGetKeyPtr, 0xA816, 0x0E11, Pack8);
extern OSErr C_AEGetKeyDesc(AERecord *record, AEKeyword keyword,
DescType desired_type, AEDesc *desc_out);
-PASCAL_FUNCTION(AEGetKeyDesc);
+PASCAL_SUBTRAP(AEGetKeyDesc, 0xA816, 0x0812, Pack8);
extern OSErr C_AEPutKeyPtr(AERecord *record, AEKeyword keyword,
DescType type, Ptr data, Size data_size);
-PASCAL_FUNCTION(AEPutKeyPtr);
+PASCAL_SUBTRAP(AEPutKeyPtr, 0xA816, 0x0A0F, Pack8);
extern OSErr C_AEPutKeyDesc(AERecord *record, AEKeyword keyword,
AEDesc *desc);
-PASCAL_FUNCTION(AEPutKeyDesc);
+PASCAL_SUBTRAP(AEPutKeyDesc, 0xA816, 0x0610, Pack8);
/*
extern OSErr C_AEDeleteParam(AppleEvent *evt, AEKeyword keyword);
-PASCAL_FUNCTION(AEDeleteParam);
+PASCAL_SUBTRAP(AEDeleteParam, 0xA816, 0x0413, Pack8);
*/
+/* The following does not exist. Maybe it should be AEDeleteParam?
extern OSErr C_AEDeleteAttribute(AppleEvent *evt,
AEKeyword keyword);
-PASCAL_FUNCTION(AEDeleteAttribute);
+PASCAL_SUBTRAP_UNKNOWN(AEDeleteAttribute, 0xA816, Pack8);
+*/
extern OSErr C_AESizeOfKeyDesc(AERecord *record, AEKeyword keyword,
GUEST *type_out, GUEST *size_out);
-PASCAL_FUNCTION(AESizeOfKeyDesc);
+PASCAL_SUBTRAP(AESizeOfKeyDesc, 0xA816, 0x0829, Pack8);
extern OSErr C_AESetInteractionAllowed(AEInteractionAllowed level);
-PASCAL_FUNCTION(AESetInteractionAllowed);
+PASCAL_SUBTRAP(AESetInteractionAllowed, 0xA816, 0x011E, Pack8);
extern OSErr C_AEResetTimer(AppleEvent *evt);
-PASCAL_FUNCTION(AEResetTimer);
+PASCAL_SUBTRAP(AEResetTimer, 0xA816, 0x0219, Pack8);
extern OSErr C_AEGetTheCurrentEvent(AppleEvent *return_evt);
-PASCAL_FUNCTION(AEGetTheCurrentEvent);
+PASCAL_SUBTRAP(AEGetTheCurrentEvent, 0xA816, 0x021A, Pack8);
extern OSErr C_AESetTheCurrentEvent(AppleEvent *evt);
-PASCAL_FUNCTION(AESetTheCurrentEvent);
+PASCAL_SUBTRAP(AESetTheCurrentEvent, 0xA816, 0x022C, Pack8);
extern OSErr C_AESuspendTheCurrentEvent(AppleEvent *evt);
-PASCAL_FUNCTION(AESuspendTheCurrentEvent);
+PASCAL_SUBTRAP(AESuspendTheCurrentEvent, 0xA816, 0x022B, Pack8);
extern OSErr C_AEResumeTheCurrentEvent(AppleEvent *evt, AppleEvent *reply,
EventHandlerProcPtr dispatcher,
int32_t refcon);
-PASCAL_FUNCTION(AEResumeTheCurrentEvent);
+PASCAL_SUBTRAP(AEResumeTheCurrentEvent, 0xA816, 0x0818, Pack8);
/*
extern OSErr C_AEProcessEvent(EventRecord *evt);
@@ -380,81 +389,81 @@ PASCAL_FUNCTION(AEProcessEvent);
*/
extern OSErr C_AEGetInteractionAllowed(AEInteractionAllowed *return_level);
-PASCAL_FUNCTION(AEGetInteractionAllowed);
+PASCAL_SUBTRAP(AEGetInteractionAllowed, 0xA816, 0x021D, Pack8);
extern OSErr C_AEDuplicateDesc(AEDesc *src, AEDesc *dst);
-PASCAL_FUNCTION(AEDuplicateDesc);
+PASCAL_SUBTRAP(AEDuplicateDesc, 0xA816, 0x0405, Pack8);
extern OSErr C_AECountItems(AEDescList *list, GUEST *count_out);
-PASCAL_FUNCTION(AECountItems);
+PASCAL_SUBTRAP(AECountItems, 0xA816, 0x0407, Pack8);
extern OSErr C_AEDeleteItem(AEDescList *list, int32_t index);
-PASCAL_FUNCTION(AEDeleteItem);
+PASCAL_SUBTRAP(AEDeleteItem, 0xA816, 0x040E, Pack8);
extern OSErr C_AEDeleteKeyDesc(AERecord *record, AEKeyword keyword);
-PASCAL_FUNCTION(AEDeleteKeyDesc);
+PASCAL_SUBTRAP(AEDeleteKeyDesc, 0xA816, 0x0413, Pack8);
extern OSErr C_AEInstallSpecialHandler(AEKeyword function_class,
EventHandlerProcPtr hdlr,
Boolean system_handler_p);
-PASCAL_FUNCTION(AEInstallSpecialHandler);
+PASCAL_SUBTRAP(AEInstallSpecialHandler, 0xA816, 0x0500, Pack8);
extern OSErr C_AERemoveSpecialHandler(AEKeyword function_class,
EventHandlerProcPtr hdlr,
Boolean system_handler_p);
-PASCAL_FUNCTION(AERemoveSpecialHandler);
+PASCAL_SUBTRAP(AERemoveSpecialHandler, 0xA816, 0x0501, Pack8);
extern OSErr C_AEGetSpecialHandler(AEKeyword function_class,
GUEST *hdlr_out,
Boolean system_handler_p);
-PASCAL_FUNCTION(AEGetSpecialHandler);
+PASCAL_SUBTRAP(AEGetSpecialHandler, 0xA816, 0x052D, Pack8);
extern OSErr C_AESend(AppleEvent *evt, AppleEvent *reply,
AESendMode send_mode, AESendPriority send_priority,
int32_t timeout, IdleProcPtr idle_proc,
EventFilterProcPtr filter_proc);
-PASCAL_FUNCTION(AESend);
+PASCAL_SUBTRAP(AESend, 0xA816, 0x0D17, Pack8);
extern OSErr C_AECoercePtr(DescType data_type, Ptr data, Size data_size,
DescType result_type, AEDesc *desc_out);
-PASCAL_FUNCTION(AECoercePtr);
+PASCAL_SUBTRAP(AECoercePtr, 0xA816, 0x0A02, Pack8);
extern OSErr C_AEGetEventHandler(AEEventClass event_class,
AEEventID event_id,
GUEST *hdlr, GUEST *refcon,
Boolean system_handler_p);
-PASCAL_FUNCTION(AEGetEventHandler);
+PASCAL_SUBTRAP(AEGetEventHandler, 0xA816, 0x0921, Pack8);
extern OSErr C_AERemoveEventHandler(AEEventClass event_class,
AEEventID event_id,
EventHandlerProcPtr hdlr,
Boolean system_handler_p);
-PASCAL_FUNCTION(AERemoveEventHandler);
+PASCAL_SUBTRAP(AERemoveEventHandler, 0xA816, 0x0720, Pack8);
extern OSErr C_AEProcessAppleEvent(EventRecord *evt);
-PASCAL_FUNCTION(AEProcessAppleEvent);
+PASCAL_SUBTRAP(AEProcessAppleEvent, 0xA816, 0x021B, Pack8);
extern OSErr C_AEPutDesc(AEDescList *list, int32_t index,
AEDesc *desc);
-PASCAL_FUNCTION(AEPutDesc);
+PASCAL_SUBTRAP(AEPutDesc, 0xA816, 0x0609, Pack8);
extern OSErr C_AEPutAttributePtr(AppleEvent *evt, AEKeyword keyword,
DescType type, Ptr data, Size size);
-PASCAL_FUNCTION(AEPutAttributePtr);
+PASCAL_SUBTRAP(AEPutAttributePtr, 0xA816, 0x0A16, Pack8);
extern OSErr C_AEPutAttributeDesc(AppleEvent *evt, AEKeyword keyword,
AEDesc *desc);
-PASCAL_FUNCTION(AEPutAttributeDesc);
+PASCAL_SUBTRAP(AEPutAttributeDesc, 0xA816, 0x0627, Pack8);
extern OSErr C_AEGetNthPtr(AEDescList *list, int32_t index,
DescType desired_type, GUEST *keyword_out,
GUEST *type_out,
Ptr data, int32_t max_size, GUEST *size_out);
-PASCAL_FUNCTION(AEGetNthPtr);
+PASCAL_SUBTRAP(AEGetNthPtr, 0xA816, 0x100A, Pack8);
extern OSErr C_AEGetAttributePtr(AppleEvent *evt, AEKeyword keyword,
DescType desired_type, GUEST *type_out,
Ptr data, Size max_size, GUEST *size_out);
-PASCAL_FUNCTION(AEGetAttributePtr);
+PASCAL_SUBTRAP(AEGetAttributePtr, 0xA816, 0x0E15, Pack8);
extern OSErr C_AEGetArray(AEDescList *list,
AEArrayType array_type,
@@ -462,95 +471,95 @@ extern OSErr C_AEGetArray(AEDescList *list,
GUEST *return_item_type,
GUEST *return_item_size,
GUEST *return_item_count);
-PASCAL_FUNCTION(AEGetArray);
+PASCAL_SUBTRAP(AEGetArray, 0xA816, 0x0D0C, Pack8);
extern OSErr C_AECreateAppleEvent(AEEventClass event_class, AEEventID event_id,
AEAddressDesc *target, int16_t return_id, int32_t transaction_id, AppleEvent *evt);
-PASCAL_FUNCTION(AECreateAppleEvent);
+PASCAL_SUBTRAP(AECreateAppleEvent, 0xA816, 0x0B14, Pack8);
extern OSErr C_AEInstallCoercionHandler(DescType from_type, DescType to_type,
CoerceDescProcPtr hdlr, int32_t refcon, Boolean from_type_is_desc_p, Boolean system_handler_p);
-PASCAL_FUNCTION(AEInstallCoercionHandler);
+PASCAL_SUBTRAP(AEInstallCoercionHandler, 0xA816, 0x0A22, Pack8);
extern OSErr C_AEInstallEventHandler(AEEventClass event_class, AEEventID event_id,
EventHandlerProcPtr hdlr, int32_t refcon, Boolean system_handler_p);
-PASCAL_FUNCTION(AEInstallEventHandler);
+PASCAL_SUBTRAP(AEInstallEventHandler, 0xA816, 0x091F, Pack8);
extern OSErr C_AERemoveCoercionHandler(DescType from_type, DescType to_type,
CoerceDescProcPtr hdlr, Boolean system_handler_p);
-PASCAL_FUNCTION(AERemoveCoercionHandler);
+PASCAL_SUBTRAP(AERemoveCoercionHandler, 0xA816, 0x0723, Pack8);
extern OSErr C_AEPutArray(AEDescList *list, AEArrayType type,
AEArrayDataPointer array_data,
DescType item_type,
Size item_size, int32_t item_count);
-PASCAL_FUNCTION(AEPutArray);
+PASCAL_SUBTRAP(AEPutArray, 0xA816, 0x0B0D, Pack8);
extern OSErr C_AECreateList(Ptr list_elt_prefix, Size list_elt_prefix_size,
Boolean is_record_p, AEDescList *list_out);
-PASCAL_FUNCTION(AECreateList);
+PASCAL_SUBTRAP(AECreateList, 0xA816, 0x0706, Pack8);
extern OSErr C_AEGetAttributeDesc(AppleEvent *evt, AEKeyword keyword,
DescType desired_type, AEDesc *desc_out);
-PASCAL_FUNCTION(AEGetAttributeDesc);
+PASCAL_SUBTRAP(AEGetAttributeDesc, 0xA816, 0x0826, Pack8);
extern OSErr C_AESizeOfAttribute(AppleEvent *evt, AEKeyword keyword,
GUEST *type_out, GUEST *size_out);
-PASCAL_FUNCTION(AESizeOfAttribute);
+PASCAL_SUBTRAP(AESizeOfAttribute, 0xA816, 0x0828, Pack8);
extern OSErr C_AEGetNthDesc(AEDescList *list, int32_t index,
DescType desired_type, GUEST *keyword_out,
AEDesc *desc_out);
-PASCAL_FUNCTION(AEGetNthDesc);
+PASCAL_SUBTRAP(AEGetNthDesc, 0xA816, 0x0A0B, Pack8);
extern OSErr C_AESizeOfNthItem(AEDescList *list, int32_t index,
GUEST *type_out, GUEST *size_out);
-PASCAL_FUNCTION(AESizeOfNthItem);
+PASCAL_SUBTRAP(AESizeOfNthItem, 0xA816, 0x082A, Pack8);
extern OSErr C_AEPutPtr(AEDescList *list, int32_t index, DescType type,
Ptr data, Size data_size);
-PASCAL_FUNCTION(AEPutPtr);
+PASCAL_SUBTRAP(AEPutPtr, 0xA816, 0x0A08, Pack8);
extern OSErr C_AEInteractWithUser(int32_t timeout, NMRecPtr nm_req,
IdleProcPtr idle_proc);
-PASCAL_FUNCTION(AEInteractWithUser);
+PASCAL_SUBTRAP(AEInteractWithUser, 0xA816, 0x061C, Pack8);
extern void AE_init(void);
extern void AE_reinit(void);
extern OSErr C_AEManagerInfo(GUEST *resultp);
-PASCAL_FUNCTION(AEManagerInfo);
+PASCAL_SUBTRAP(AEManagerInfo, 0xA816, 0x0441, Pack8);
extern OSErr C_AEDisposeToken(AEDesc *theToken);
-PASCAL_FUNCTION(AEDisposeToken);
-extern OSErr C_AEREesolve(AEDesc *objectSpecifier,
+PASCAL_SUBTRAP(AEDisposeToken, 0xA816, 0x023A, Pack8);
+extern OSErr C_AEResolve(AEDesc *objectSpecifier,
INTEGER callbackFlags,
AEDesc *theToken);
-PASCAL_FUNCTION(AEREesolve);
+PASCAL_SUBTRAP(AEResolve, 0xA816, 0x0536, Pack8);
extern OSErr C_AERemoveObjectAccessor(DescType desiredClass,
DescType containerType,
ProcPtr theAccessor,
BOOLEAN isSysHandler);
-PASCAL_FUNCTION(AERemoveObjectAccessor);
+PASCAL_SUBTRAP(AERemoveObjectAccessor, 0xA816, 0x0738, Pack8);
extern OSErr C_AEInstallObjectAccessor(DescType desiredClass,
DescType containerType,
ProcPtr theAccessor,
LONGINT refcon,
BOOLEAN isSysHandler);
-PASCAL_FUNCTION(AEInstallObjectAccessor);
+PASCAL_SUBTRAP(AEInstallObjectAccessor, 0xA816, 0x0937, Pack8);
extern OSErr C_AEGetObjectAccessor(DescType desiredClass,
DescType containerType,
ProcPtr *theAccessor,
LONGINT *accessorRefcon,
BOOLEAN isSysHandler);
-PASCAL_FUNCTION(AEGetObjectAccessor);
+PASCAL_SUBTRAP(AEGetObjectAccessor, 0xA816, 0x0939, Pack8);
extern OSErr C_AECallObjectAccessor(DescType desiredClass,
AEDesc *containerToken,
DescType containerClass,
DescType keyForm,
AEDesc *keyData,
AEDesc *theToken);
-PASCAL_FUNCTION(AECallObjectAccessor);
+PASCAL_SUBTRAP(AECallObjectAccessor, 0xA816, 0x0C3B, Pack8);
extern OSErr C_AESetObjectCallbacks(ProcPtr myCompareProc,
ProcPtr myCountProc,
ProcPtr myDisposeTokenProc,
@@ -558,7 +567,7 @@ extern OSErr C_AESetObjectCallbacks(ProcPtr myCompareProc,
ProcPtr myMarkProc,
ProcPtr myAdjustMarksProc,
ProcPtr myGetErrDescProc);
-PASCAL_FUNCTION(AESetObjectCallbacks);
+PASCAL_SUBTRAP(AESetObjectCallbacks, 0xA816, 0x0E35, Pack8);
}
#endif /* ! _AppleEvents_H_ */
diff --git a/src/include/BinaryDecimal.h b/src/include/BinaryDecimal.h
index dd6c0df9..e95189e3 100644
--- a/src/include/BinaryDecimal.h
+++ b/src/include/BinaryDecimal.h
@@ -4,12 +4,22 @@
* Copyright 1990 by Abacus Research and Development, Inc.
* All rights reserved.
*
-
*/
+#include "ExMacTypes.h"
+
+#define MODULE_NAME BinaryDecimal
+#include
+
namespace Executor
{
-extern void NumToString(LONGINT l, StringPtr s);
-extern void StringToNum(StringPtr s, LONGINT *lp);
+EXTERN_DISPATCHER_TRAP(Pack7, 0xA9EE, StackW);
+
+extern void C_NumToString(LONGINT l, StringPtr s);
+REGISTER_SUBTRAP(NumToString, 0xA9EE, 0x0000, Pack7, void (D0, A0));
+
+extern void C_StringToNum(StringPtr s, LONGINT *lp);
+REGISTER_SUBTRAP(StringToNum, 0xA9EE, 0x0001, Pack7, void (A0, Out));
+
}
#endif /* __BINDEC__ */
diff --git a/src/include/CQuickDraw.h b/src/include/CQuickDraw.h
index 74245b5f..dfd1cd8c 100644
--- a/src/include/CQuickDraw.h
+++ b/src/include/CQuickDraw.h
@@ -4,6 +4,9 @@
#include "WindowMgr.h"
+#define MODULE_NAME CQuickDraw
+#include
+
namespace Executor
{
#define theCPort (STARH(STARH((GUEST *> *)SYN68K_TO_US(EM_A5))))
@@ -297,6 +300,11 @@ const LowMemGlobal MainDevice { 0x8A4 }; // QuickDraw IMV (true);
const LowMemGlobal DeviceList { 0x8A8 }; // QuickDraw IMV (true);
const LowMemGlobal HiliteRGB { 0xDA0 }; // QuickDraw IMV-62 (true);
+DISPATCHER_TRAP(PaletteDispatch, 0xAAA2, D0W); // D0<0xFF> ###
+DISPATCHER_TRAP(Pack12, 0xA82E, StackW);
+DISPATCHER_TRAP(QDExtensions, 0xAB1D, D0L);
+DISPATCHER_TRAP(Pack15, 0xA831, D0W); // D0<0xFF>? ###
+
extern void C_SetStdCProcs(CQDProcs *cProcs);
PASCAL_TRAP(SetStdCProcs, 0xAA4E);
@@ -364,11 +372,11 @@ PASCAL_TRAP(DeviceLoop, 0xABCA);
extern BOOLEAN C_TestDeviceAttribute(GDHandle, INTEGER);
PASCAL_TRAP(TestDeviceAttribute, 0xAA2C);
extern void C_ScreenRes(GUEST *, GUEST *);
-PASCAL_FUNCTION(ScreenRes);
+NOTRAP_FUNCTION(ScreenRes);
extern INTEGER C_HasDepth(GDHandle, INTEGER, INTEGER, INTEGER);
-PASCAL_FUNCTION(HasDepth);
+PASCAL_SUBTRAP(HasDepth, 0xAAA2, 0x0A14, PaletteDispatch);
extern OSErr C_SetDepth(GDHandle, INTEGER, INTEGER, INTEGER);
-PASCAL_FUNCTION(SetDepth);
+PASCAL_SUBTRAP(SetDepth, 0xAAA2, 0x0A13, PaletteDispatch);
extern void C_MakeITable(CTabHandle, ITabHandle, INTEGER);
PASCAL_TRAP(MakeITable, 0xAA39);
@@ -417,7 +425,7 @@ extern void C_SetClientID(INTEGER);
PASCAL_TRAP(SetClientID, 0xAA3C);
extern BOOLEAN C_GetGray(GDHandle, RGBColor *, RGBColor *);
-PASCAL_FUNCTION(GetGray);
+PASCAL_SUBTRAP(GetGray, 0xAAA2, 0x0C19, PaletteDispatch);
extern PixPatHandle C_GetPixPat(INTEGER);
PASCAL_TRAP(GetPixPat, 0xAA0C);
@@ -431,23 +439,23 @@ extern CWindowPtr C_GetNewCWindow(INTEGER, Ptr, CWindowPtr);
PASCAL_TRAP(GetNewCWindow, 0xAA46);
extern void C_CMY2RGB(CMYColor *, RGBColor *);
-PASCAL_FUNCTION(CMY2RGB);
+PASCAL_SUBTRAP(CMY2RGB, 0xA82E, 0x0003, Pack12);
extern void C_RGB2CMY(RGBColor *, CMYColor *);
-PASCAL_FUNCTION(RGB2CMY);
+PASCAL_SUBTRAP(RGB2CMY, 0xA82E, 0x0004, Pack12);
extern void C_HSL2RGB(HSLColor *, RGBColor *);
-PASCAL_FUNCTION(HSL2RGB);
+PASCAL_SUBTRAP(HSL2RGB, 0xA82E, 0x0005, Pack12);
extern void C_RGB2HSL(RGBColor *, HSLColor *);
-PASCAL_FUNCTION(RGB2HSL);
+PASCAL_SUBTRAP(RGB2HSL, 0xA82E, 0x0006, Pack12);
extern void C_HSV2RGB(HSVColor *, RGBColor *);
-PASCAL_FUNCTION(HSV2RGB);
+PASCAL_SUBTRAP(HSV2RGB, 0xA82E, 0x0007, Pack12);
extern void C_RGB2HSV(RGBColor *, HSVColor *);
-PASCAL_FUNCTION(RGB2HSV);
+PASCAL_SUBTRAP(RGB2HSV, 0xA82E, 0x0008, Pack12);
extern SmallFract C_Fix2SmallFract(Fixed);
-PASCAL_FUNCTION(Fix2SmallFract);
+PASCAL_SUBTRAP(Fix2SmallFract, 0xA82E, 0x0001, Pack12);
extern Fixed C_SmallFract2Fix(SmallFract);
-PASCAL_FUNCTION(SmallFract2Fix);
+PASCAL_SUBTRAP(SmallFract2Fix, 0xA82E, 0x0002, Pack12);
extern BOOLEAN C_GetColor(Point, Str255, RGBColor *, RGBColor *);
-PASCAL_FUNCTION(GetColor);
+PASCAL_SUBTRAP(GetColor, 0xA82E, 0x0009, Pack12);
extern CTabHandle C_GetCTable(INTEGER);
PASCAL_TRAP(GetCTable, 0xAA18);
@@ -465,7 +473,7 @@ PASCAL_TRAP(DisposePalette, 0xAA93);
extern void C_ActivatePalette(WindowPtr);
PASCAL_TRAP(ActivatePalette, 0xAA94);
extern void C_SetPalette(WindowPtr, PaletteHandle, BOOLEAN);
-PASCAL_FUNCTION(SetPalette);
+NOTRAP_FUNCTION(SetPalette);
extern void C_NSetPalette(WindowPtr, PaletteHandle, INTEGER updates);
PASCAL_TRAP(NSetPalette, 0xAA95);
extern PaletteHandle C_GetPalette(WindowPtr);
@@ -501,24 +509,24 @@ PASCAL_TRAP(DisposCCursor, 0xAA26);
extern void C_AllocCursor(void);
PASCAL_TRAP(AllocCursor, 0xAA1D);
-extern void C_RestoreClutDevice(GDHandle);
-PASCAL_FUNCTION(RestoreClutDevice);
+extern void C_RestoreDeviceClut(GDHandle);
+PASCAL_SUBTRAP(RestoreDeviceClut, 0xAAA2, 0x0002, PaletteDispatch);
extern void C_ResizePalette(PaletteHandle, INTEGER);
-PASCAL_FUNCTION(ResizePalette);
+PASCAL_SUBTRAP(ResizePalette, 0xAAA2, 0x0003, PaletteDispatch);
extern INTEGER C_PMgrVersion();
-PASCAL_FUNCTION(PMgrVersion);
+PASCAL_SUBTRAP(PMgrVersion, 0xAAA2, 0x0015, PaletteDispatch);
extern void C_SaveFore(ColorSpec *);
-PASCAL_FUNCTION(SaveFore);
+PASCAL_SUBTRAP(SaveFore, 0xAAA2, 0x040D, PaletteDispatch);
extern void C_RestoreFore(ColorSpec *);
-PASCAL_FUNCTION(RestoreFore);
+PASCAL_SUBTRAP(RestoreFore, 0xAAA2, 0x040F, PaletteDispatch);
extern void C_SaveBack(ColorSpec *);
-PASCAL_FUNCTION(SaveBack);
+PASCAL_SUBTRAP(SaveBack, 0xAAA2, 0x040E, PaletteDispatch);
extern void C_RestoreBack(ColorSpec *);
-PASCAL_FUNCTION(RestoreBack);
+PASCAL_SUBTRAP(RestoreBack, 0xAAA2, 0x0410, PaletteDispatch);
extern void C_SetPaletteUpdates(PaletteHandle, INTEGER);
-PASCAL_FUNCTION(SetPaletteUpdates);
+PASCAL_SUBTRAP(SetPaletteUpdates, 0xAAA2, 0x0616, PaletteDispatch);
extern INTEGER C_GetPaletteUpdates(PaletteHandle);
-PASCAL_FUNCTION(GetPaletteUpdates);
+PASCAL_SUBTRAP(GetPaletteUpdates, 0xAAA2, 0x0417, PaletteDispatch);
extern void C_CopyPalette(PaletteHandle src_palette,
PaletteHandle dst_palette,
int16_t src_start, int16_t dst_start,
@@ -530,79 +538,79 @@ PASCAL_TRAP(GetCWMgrPort, 0xAA48);
/* QDExtensions trap */
extern QDErr C_NewGWorld(GUEST *, INTEGER, Rect *, CTabHandle, GDHandle, GWorldFlags);
-PASCAL_FUNCTION(NewGWorld);
+PASCAL_SUBTRAP(NewGWorld, 0xAB1D, 0x00160000, QDExtensions);
extern Boolean C_LockPixels(PixMapHandle);
-PASCAL_FUNCTION(LockPixels);
+PASCAL_SUBTRAP(LockPixels, 0xAB1D, 0x00040001, QDExtensions);
extern void C_UnlockPixels(PixMapHandle);
-PASCAL_FUNCTION(UnlockPixels);
+PASCAL_SUBTRAP(UnlockPixels, 0xAB1D, 0x00040002, QDExtensions);
extern GWorldFlags C_UpdateGWorld(GUEST *, INTEGER, Rect *, CTabHandle, GDHandle, GWorldFlags);
-PASCAL_FUNCTION(UpdateGWorld);
+PASCAL_SUBTRAP(UpdateGWorld, 0xAB1D, 0x00160003, QDExtensions);
extern void C_DisposeGWorld(GWorldPtr);
-PASCAL_FUNCTION(DisposeGWorld);
+PASCAL_SUBTRAP(DisposeGWorld, 0xAB1D, 0x00040004, QDExtensions);
extern void C_GetGWorld(GUEST *, GUEST *);
-PASCAL_FUNCTION(GetGWorld);
+PASCAL_SUBTRAP(GetGWorld, 0xAB1D, 0x00080005, QDExtensions);
extern void C_SetGWorld(CGrafPtr, GDHandle);
-PASCAL_FUNCTION(SetGWorld);
+PASCAL_SUBTRAP(SetGWorld, 0xAB1D, 0x00080006, QDExtensions);
extern void C_AllowPurgePixels(PixMapHandle);
-PASCAL_FUNCTION(AllowPurgePixels);
+PASCAL_SUBTRAP(AllowPurgePixels, 0xAB1D, 0x0004000B, QDExtensions);
extern void C_NoPurgePixels(PixMapHandle);
-PASCAL_FUNCTION(NoPurgePixels);
+PASCAL_SUBTRAP(NoPurgePixels, 0xAB1D, 0x0004000C, QDExtensions);
extern GWorldFlags C_GetPixelsState(PixMapHandle);
-PASCAL_FUNCTION(GetPixelsState);
+PASCAL_SUBTRAP(GetPixelsState, 0xAB1D, 0x0004000D, QDExtensions);
extern void C_SetPixelsState(PixMapHandle, GWorldFlags);
-PASCAL_FUNCTION(SetPixelsState);
+PASCAL_SUBTRAP(SetPixelsState, 0xAB1D, 0x0008000E, QDExtensions);
extern Ptr C_GetPixBaseAddr(PixMapHandle);
-PASCAL_FUNCTION(GetPixBaseAddr);
+PASCAL_SUBTRAP(GetPixBaseAddr, 0xAB1D, 0x0004000F, QDExtensions);
extern QDErr C_NewScreenBuffer(Rect *, Boolean, GUEST *, GUEST *);
-PASCAL_FUNCTION(NewScreenBuffer);
+PASCAL_SUBTRAP(NewScreenBuffer, 0xAB1D, 0x000E0010, QDExtensions);
extern void C_DisposeScreenBuffer(PixMapHandle);
-PASCAL_FUNCTION(DisposeScreenBuffer);
+PASCAL_SUBTRAP(DisposeScreenBuffer, 0xAB1D, 0x00040011, QDExtensions);
extern GDHandle C_GetGWorldDevice(GWorldPtr);
-PASCAL_FUNCTION(GetGWorldDevice);
+PASCAL_SUBTRAP(GetGWorldDevice, 0xAB1D, 0x00040012, QDExtensions);
extern Boolean C_PixMap32Bit(PixMapHandle);
-PASCAL_FUNCTION(PixMap32Bit);
+PASCAL_SUBTRAP(PixMap32Bit, 0xAB1D, 0x00040016, QDExtensions);
extern PixMapHandle C_GetGWorldPixMap(GWorldPtr);
-PASCAL_FUNCTION(GetGWorldPixMap);
+PASCAL_SUBTRAP(GetGWorldPixMap, 0xAB1D, 0x00040017, QDExtensions);
extern QDErr C_NewTempScreenBuffer(Rect *, Boolean, GUEST *, GUEST *);
-PASCAL_FUNCTION(NewTempScreenBuffer);
+PASCAL_SUBTRAP(NewTempScreenBuffer, 0xAB1D, 0x000E0015, QDExtensions);
extern void C_GDeviceChanged(GDHandle);
-PASCAL_FUNCTION(GDeviceChanged);
+PASCAL_SUBTRAP(GDeviceChanged, 0xAB1D, 0x0004000A, QDExtensions);
extern void C_PortChanged(GrafPtr);
-PASCAL_FUNCTION(PortChanged);
+PASCAL_SUBTRAP(PortChanged, 0xAB1D, 0x00040009, QDExtensions);
extern void C_PixPatChanged(PixPatHandle);
-PASCAL_FUNCTION(PixPatChanged);
+PASCAL_SUBTRAP(PixPatChanged, 0xAB1D, 0x00040008, QDExtensions);
extern void C_CTabChanged(CTabHandle);
-PASCAL_FUNCTION(CTabChanged);
+PASCAL_SUBTRAP(CTabChanged, 0xAB1D, 0x00040007, QDExtensions);
extern Boolean C_QDDone(GrafPtr);
-PASCAL_FUNCTION(QDDone);
+PASCAL_SUBTRAP(QDDone, 0xAB1D, 0x00040013, QDExtensions);
extern LONGINT C_OffscreenVersion();
-PASCAL_FUNCTION(OffscreenVersion);
+PASCAL_SUBTRAP(OffscreenVersion, 0xAB1D, 0x0014, QDExtensions);
extern OSErr C_BitMapToRegion(RgnHandle, const BitMap *);
PASCAL_TRAP(BitMapToRegion, 0xA8D7);
extern LONGINT C_Entry2Index(INTEGER);
-PASCAL_FUNCTION(Entry2Index);
+PASCAL_SUBTRAP(Entry2Index, 0xAAA2, 0x0000, PaletteDispatch);
extern void C_SaveEntries(CTabHandle, CTabHandle, ReqListRec *);
PASCAL_TRAP(SaveEntries, 0xAA49);
extern void C_RestoreEntries(CTabHandle, CTabHandle, ReqListRec *);
PASCAL_TRAP(RestoreEntries, 0xAA4A);
extern OSErr C_DisposePictInfo(PictInfoID);
-PASCAL_FUNCTION(DisposePictInfo);
+PASCAL_SUBTRAP(DisposePictInfo, 0xA831, 0x0206, Pack15);
extern OSErr C_RecordPictInfo(PictInfoID, PicHandle);
-PASCAL_FUNCTION(RecordPictInfo);
+PASCAL_SUBTRAP(RecordPictInfo, 0xA831, 0x0403, Pack15);
extern OSErr C_RecordPixMapInfo(PictInfoID, PixMapHandle);
-PASCAL_FUNCTION(RecordPixMapInfo);
+PASCAL_SUBTRAP(RecordPixMapInfo, 0xA831, 0x0404, Pack15);
extern OSErr C_RetrievePictInfo(PictInfoID, PictInfo *, int16_t);
-PASCAL_FUNCTION(RetrievePictInfo);
+PASCAL_SUBTRAP(RetrievePictInfo, 0xA831, 0x0505, Pack15);
extern OSErr C_NewPictInfo(GUEST *, int16_t, int16_t, int16_t, int16_t);
-PASCAL_FUNCTION(NewPictInfo);
+PASCAL_SUBTRAP(NewPictInfo, 0xA831, 0x0602, Pack15);
extern OSErr C_GetPictInfo(PicHandle, PictInfo *, int16_t, int16_t, int16_t, int16_t);
-PASCAL_FUNCTION(GetPictInfo);
+PASCAL_SUBTRAP(GetPictInfo, 0xA831, 0x0800, Pack15);
extern OSErr C_GetPixMapInfo(PixMapHandle, PictInfo *, int16_t, int16_t, int16_t, int16_t);
-PASCAL_FUNCTION(GetPixMapInfo);
+PASCAL_SUBTRAP(GetPixMapInfo, 0xA831, 0x0801, Pack15);
extern PicHandle C_OpenCPicture(OpenCPicParams *newheaderp);
PASCAL_TRAP(OpenCPicture, 0xAA20);
diff --git a/src/include/Components.h b/src/include/Components.h
index fa03a6fd..9db2c8e2 100644
--- a/src/include/Components.h
+++ b/src/include/Components.h
@@ -5,9 +5,10 @@
* Copyright 1998 by Abacus Research and Development, Inc.
* All rights reserved.
*
-
*/
+#include "ExMacTypes.h"
+
namespace Executor
{
typedef struct ComponentRecord
diff --git a/src/include/ControlMgr.h b/src/include/ControlMgr.h
index 1b39fe24..494db572 100644
--- a/src/include/ControlMgr.h
+++ b/src/include/ControlMgr.h
@@ -11,6 +11,9 @@
#include "QuickDraw.h"
#include "WindowMgr.h"
+#define MODULE_NAME ControlMgr
+#include
+
namespace Executor
{
enum
@@ -104,6 +107,8 @@ enum
namespace Executor
{
+using ControlActionUPP = UPP;
+
struct __cr
{
GUEST_STRUCT;
@@ -117,7 +122,7 @@ struct __cr
GUEST contrlMax;
GUEST contrlDefProc;
GUEST contrlData;
- GUEST contrlAction;
+ GUEST contrlAction;
GUEST contrlRfCon;
GUEST contrlTitle;
};
@@ -194,9 +199,9 @@ extern LONGINT C_GetCRefCon(ControlHandle c);
PASCAL_TRAP(GetCRefCon, 0xA95A);
extern void C_SetCtlAction(ControlHandle c,
- ProcPtr a);
+ ControlActionUPP a);
PASCAL_TRAP(SetCtlAction, 0xA96B);
-extern ProcPtr C_GetCtlAction(ControlHandle c);
+extern ControlActionUPP C_GetCtlAction(ControlHandle c);
PASCAL_TRAP(GetCtlAction, 0xA96A);
extern INTEGER C_GetCVariant(ControlHandle c);
@@ -209,7 +214,7 @@ extern INTEGER C_FindControl(Point p,
WindowPtr w, GUEST *cp);
PASCAL_TRAP(FindControl, 0xA96C);
extern INTEGER C_TrackControl(
- ControlHandle c, Point p, ProcPtr a);
+ ControlHandle c, Point p, ControlActionUPP a);
PASCAL_TRAP(TrackControl, 0xA968);
extern INTEGER C_TestControl(
ControlHandle c, Point p);
diff --git a/src/include/DeskMgr.h b/src/include/DeskMgr.h
index 504386a1..61054d6c 100644
--- a/src/include/DeskMgr.h
+++ b/src/include/DeskMgr.h
@@ -5,9 +5,16 @@
* Copyright 1986, 1989, 1990 by Abacus Research and Development, Inc.
* All rights reserved.
*
-
*/
+#include
+#include "ExMacTypes.h"
+#include "EventMgr.h"
+#include "WindowMgr.h"
+
+#define MODULE_NAME DeskMgr
+#include
+
namespace Executor
{
enum
diff --git a/src/include/DeviceMgr.h b/src/include/DeviceMgr.h
index f5ec2145..d36d9250 100644
--- a/src/include/DeviceMgr.h
+++ b/src/include/DeviceMgr.h
@@ -11,6 +11,9 @@
#include "WindowMgr.h"
#include "FileMgr.h"
+#define MODULE_NAME DeviceMgr
+#include
+
/*
* Note the structure below is similar to that presented on IM-188,
* but I don't use offsets to the routines, but pointers to the routines
@@ -153,6 +156,11 @@ extern driverinfo *__ROMlib_otherdrivers;
extern OSErr PBControl(ParmBlkPtr pbp, BOOLEAN a);
extern OSErr PBStatus(ParmBlkPtr pbp, BOOLEAN a);
extern OSErr PBKillIO(ParmBlkPtr pbp, BOOLEAN a);
+
+FILE_TRAP(PBControl, 0xA004);
+FILE_TRAP(PBStatus, 0xA005);
+FILE_TRAP(PBKillIO, 0xA006);
+
extern OSErr OpenDriver(StringPtr name, GUEST *rnp);
extern OSErr CloseDriver(INTEGER rn);
extern OSErr Control(INTEGER rn, INTEGER code,
diff --git a/src/include/DialogMgr.h b/src/include/DialogMgr.h
index b111e455..27b7b65c 100644
--- a/src/include/DialogMgr.h
+++ b/src/include/DialogMgr.h
@@ -11,6 +11,9 @@
#include "WindowMgr.h"
#include "TextEdit.h"
+#define MODULE_NAME DialogMgr
+#include
+
namespace Executor
{
enum
@@ -156,21 +159,23 @@ typedef UPP UserItemProcPtr;
const LowMemGlobal ResumeProc { 0xA8C }; // DialogMgr IMI-411 (true);
const LowMemGlobal ANumber { 0xA98 }; // DialogMgr IMI-423 (true);
const LowMemGlobal ACount { 0xA9A }; // DialogMgr IMI-423 (true);
-const LowMemGlobal DABeeper { 0xA9C }; // DialogMgr IMI-411 (true);
+const LowMemGlobal DABeeper { 0xA9C }; // DialogMgr IMI-411 (true);
const LowMemGlobal DAStrings { 0xAA0 }; // DialogMgr IMI-421 (true);
const LowMemGlobal DlgFont { 0xAFA }; // DialogMgr IMI-412 (true);
+DISPATCHER_TRAP(DialogDispatch, 0xAA68, D0W);
+
extern INTEGER C_Alert(INTEGER id,
- ProcPtr fp);
+ ModalFilterProcPtr fp);
PASCAL_TRAP(Alert, 0xA985);
extern INTEGER C_StopAlert(INTEGER id,
- ProcPtr fp);
+ ModalFilterProcPtr fp);
PASCAL_TRAP(StopAlert, 0xA986);
extern INTEGER C_NoteAlert(INTEGER id,
- ProcPtr fp);
+ ModalFilterProcPtr fp);
PASCAL_TRAP(NoteAlert, 0xA987);
extern INTEGER C_CautionAlert(INTEGER id,
- ProcPtr fp);
+ ModalFilterProcPtr fp);
PASCAL_TRAP(CautionAlert, 0xA988);
extern void C_CouldAlert(INTEGER id);
PASCAL_TRAP(CouldAlert, 0xA989);
@@ -191,10 +196,11 @@ extern void C_CloseDialog(DialogPtr dp);
PASCAL_TRAP(CloseDialog, 0xA982);
extern void C_DisposDialog(DialogPtr dp);
PASCAL_TRAP(DisposDialog, 0xA983);
-extern BOOLEAN C_ROMlib_myfilt(DialogPeek dp, EventRecord *evt,
+extern BOOLEAN C_ROMlib_myfilt(DialogPtr dlg, EventRecord *evt,
GUEST *ith);
+PASCAL_FUNCTION(ROMlib_myfilt);
-extern void C_ModalDialog(ProcPtr fp,
+extern void C_ModalDialog(ModalFilterProcPtr fp,
GUEST *item);
PASCAL_TRAP(ModalDialog, 0xA991);
extern BOOLEAN C_IsDialogEvent(
@@ -216,7 +222,8 @@ extern void DlgCopy(DialogPtr dp);
extern void DlgPaste(DialogPtr dp);
extern void DlgDelete(DialogPtr dp);
extern void C_ROMlib_mysound(INTEGER i);
-extern void C_ErrorSound(ProcPtr sp);
+PASCAL_FUNCTION(ROMlib_mysound);
+extern void C_ErrorSound(SoundProcPtr sp);
PASCAL_TRAP(ErrorSound, 0xA98C);
extern void C_InitDialogs(ProcPtr rp);
PASCAL_TRAP(InitDialogs, 0xA97B);
@@ -252,16 +259,16 @@ extern CDialogPtr C_NewCDialog(Ptr, Rect *, StringPtr, BOOLEAN, INTEGER, WindowP
PASCAL_TRAP(NewCDialog, 0xAA4B);
extern OSErr C_GetStdFilterProc(GUEST *proc);
-PASCAL_FUNCTION(GetStdFilterProc);
+PASCAL_SUBTRAP(GetStdFilterProc, 0xAA68, 0x0203, DialogDispatch);
extern OSErr C_SetDialogDefaultItem(DialogPtr dialog,
int16_t new_item);
-PASCAL_FUNCTION(SetDialogDefaultItem);
+PASCAL_SUBTRAP(SetDialogDefaultItem, 0xAA68, 0x0304, DialogDispatch);
extern OSErr C_SetDialogCancelItem(DialogPtr dialog,
int16_t new_item);
-PASCAL_FUNCTION(SetDialogCancelItem);
+PASCAL_SUBTRAP(SetDialogCancelItem, 0xAA68, 0x0305, DialogDispatch);
extern OSErr C_SetDialogTracksCursor(DialogPtr dialog,
Boolean tracks);
-PASCAL_FUNCTION(SetDialogTracksCursor);
+PASCAL_SUBTRAP(SetDialogTracksCursor, 0xAA68, 0x0306, DialogDispatch);
extern void AppendDITL(DialogPtr, Handle, DITLMethod);
extern void ShortenDITL(DialogPtr, int16_t);
diff --git a/src/include/DiskInit.h b/src/include/DiskInit.h
index 15b55991..da84e171 100644
--- a/src/include/DiskInit.h
+++ b/src/include/DiskInit.h
@@ -3,6 +3,9 @@
#include "QuickDraw.h"
+#define MODULE_NAME DiskInit
+#include
+
/*
* Copyright 1986, 1989, 1990 by Abacus Research and Development, Inc.
* All rights reserved.
@@ -11,12 +14,27 @@
*/
namespace Executor
{
+DISPATCHER_TRAP(Pack2, 0xA9E9, StackW);
+
extern void C_DILoad(void);
+PASCAL_SUBTRAP(DILoad, 0xA9E9, 0x0002, Pack2);
+
extern void C_DIUnload(void);
+PASCAL_SUBTRAP(DIUnload, 0xA9E9, 0x0004, Pack2);
+
extern INTEGER C_DIBadMount(Point pt, LONGINT evtmess);
+PASCAL_SUBTRAP(DIBadMount, 0xA9E9, 0x0000, Pack2);
+
extern INTEGER C_dibadmount(Point *ptp, LONGINT evtmess);
+
extern OSErr C_DIFormat(INTEGER dn);
+PASCAL_SUBTRAP(DIFormat, 0xA9E9, 0x0006, Pack2);
+
extern OSErr C_DIVerify(INTEGER dn);
+PASCAL_SUBTRAP(DIVerify, 0xA9E9, 0x0008, Pack2);
+
extern OSErr C_DIZero(INTEGER dn, StringPtr vname);
+PASCAL_SUBTRAP(DIZero, 0xA9E9, 0x000A, Pack2);
+
}
#endif /* __DISKINIT__ */
diff --git a/src/include/EditionMgr.h b/src/include/EditionMgr.h
index 79d4c001..d2fb63a9 100644
--- a/src/include/EditionMgr.h
+++ b/src/include/EditionMgr.h
@@ -12,6 +12,9 @@
#include "IntlUtil.h"
#include "AliasMgr.h"
+#define MODULE_NAME EditionMgr
+#include
+
namespace Executor
{
#define declare_subtypes(type) \
@@ -85,7 +88,7 @@ struct NewPublisherReply
GUEST canceled;
GUEST replacing;
GUEST usePart;
- GUEST _filler;
+ GUEST _filler;
GUEST preview;
GUEST previewFormat;
GUEST container;
@@ -117,7 +120,7 @@ struct SectionOptionsReply
typedef struct SectionOptionsReply SectionOptionsReply;
typedef SectionOptionsReply *SectionOptionsReplyPtr;
-typedef uint8 EditionOpenerVerb;
+typedef uint8_t EditionOpenerVerb;
enum
{
@@ -144,7 +147,7 @@ struct EditionOpenerParamBlock
typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
typedef EditionOpenerParamBlock *EditionOpenerParamBlockPtr;
-typedef uint8 FormatIOVerb;
+typedef uint8_t FormatIOVerb;
enum
{
@@ -183,125 +186,127 @@ enum
notThePublisherWrn = (-463),
};
-extern OSErr C_InitEditionPack(INTEGER unused);
-PASCAL_FUNCTION(InitEditionPack);
+DISPATCHER_TRAP(Pack11, 0xA82D, D0W);
+
+extern OSErr C_InitEditionPackVersion(INTEGER unused);
+PASCAL_SUBTRAP(InitEditionPackVersion, 0xA82D, 0x0100, Pack11);
extern OSErr C_NewSection(EditionContainerSpecPtr container,
FSSpecPtr section_doc,
SectionType kind, int32_t section_id,
UpdateMode initial_mode,
SectionHandle *section_out);
-PASCAL_FUNCTION(NewSection);
+PASCAL_SUBTRAP(NewSection, 0xA82D, 0x0A02, Pack11);
extern OSErr C_RegisterSection(FSSpecPtr section_doc,
SectionHandle section,
Boolean *alias_was_updated_p_out);
-PASCAL_FUNCTION(RegisterSection);
+PASCAL_SUBTRAP(RegisterSection, 0xA82D, 0x0604, Pack11);
extern OSErr C_UnRegisterSection(SectionHandle section);
-PASCAL_FUNCTION(UnRegisterSection);
+PASCAL_SUBTRAP(UnRegisterSection, 0xA82D, 0x0206, Pack11);
extern OSErr C_IsRegisteredSection(SectionHandle section);
-PASCAL_FUNCTION(IsRegisteredSection);
+PASCAL_SUBTRAP(IsRegisteredSection, 0xA82D, 0x0208, Pack11);
extern OSErr C_AssociateSection(SectionHandle section,
FSSpecPtr new_section_doc);
-PASCAL_FUNCTION(AssociateSection);
+PASCAL_SUBTRAP(AssociateSection, 0xA82D, 0x040C, Pack11);
extern OSErr C_CreateEditionContainerFile(FSSpecPtr edition_file, OSType creator,
ScriptCode edition_file_name_script);
-PASCAL_FUNCTION(CreateEditionContainerFile);
+PASCAL_SUBTRAP(CreateEditionContainerFile, 0xA82D, 0x050E, Pack11);
extern OSErr C_DeleteEditionContainerFile(FSSpecPtr edition_file);
-PASCAL_FUNCTION(DeleteEditionContainerFile);
+PASCAL_SUBTRAP(DeleteEditionContainerFile, 0xA82D, 0x0210, Pack11);
extern OSErr C_SetEditionFormatMark(EditionRefNum edition,
FormatType format,
int32_t mark);
-PASCAL_FUNCTION(SetEditionFormatMark);
+PASCAL_SUBTRAP(SetEditionFormatMark, 0xA82D, 0x0620, Pack11);
extern OSErr C_GetEditionFormatMark(EditionRefNum edition,
FormatType format,
int32_t *currentMark);
-PASCAL_FUNCTION(GetEditionFormatMark);
+PASCAL_SUBTRAP(GetEditionFormatMark, 0xA82D, 0x061E, Pack11);
extern OSErr C_OpenEdition(SectionHandle subscriber_section,
EditionRefNum *ref_num);
-PASCAL_FUNCTION(OpenEdition);
+PASCAL_SUBTRAP(OpenEdition, 0xA82D, 0x0412, Pack11);
extern OSErr C_EditionHasFormat(EditionRefNum edition,
FormatType format,
Size *format_size);
-PASCAL_FUNCTION(EditionHasFormat);
+PASCAL_SUBTRAP(EditionHasFormat, 0xA82D, 0x0618, Pack11);
extern OSErr C_ReadEdition(EditionRefNum edition,
FormatType format,
Ptr buffer, Size buffer_size);
-PASCAL_FUNCTION(ReadEdition);
+PASCAL_SUBTRAP(ReadEdition, 0xA82D, 0x081A, Pack11);
extern OSErr C_OpenNewEdition(SectionHandle publisher_section,
OSType creator,
FSSpecPtr publisher_section_doc,
EditionRefNum *ref_num);
-PASCAL_FUNCTION(OpenNewEdition);
+PASCAL_SUBTRAP(OpenNewEdition, 0xA82D, 0x0814, Pack11);
extern OSErr C_WriteEdition(EditionRefNum edition, FormatType format,
Ptr buffer, Size buffer_size);
-PASCAL_FUNCTION(WriteEdition);
+PASCAL_SUBTRAP(WriteEdition, 0xA82D, 0x081C, Pack11);
extern OSErr C_CloseEdition(EditionRefNum edition, Boolean success_p);
-PASCAL_FUNCTION(CloseEdition);
+PASCAL_SUBTRAP(CloseEdition, 0xA82D, 0x0316, Pack11);
extern OSErr C_GetLastEditionContainerUsed(EditionContainerSpecPtr container);
-PASCAL_FUNCTION(GetLastEditionContainerUsed);
+PASCAL_SUBTRAP(GetLastEditionContainerUsed, 0xA82D, 0x0226, Pack11);
extern OSErr C_NewSubscriberDialog(NewSubscriberReplyPtr reply);
-PASCAL_FUNCTION(NewSubscriberDialog);
+PASCAL_SUBTRAP(NewSubscriberDialog, 0xA82D, 0x0232, Pack11);
extern OSErr C_NewPublisherDialog(NewSubscriberReplyPtr reply);
-PASCAL_FUNCTION(NewPublisherDialog);
+PASCAL_SUBTRAP(NewPublisherDialog, 0xA82D, 0x0236, Pack11);
extern OSErr C_SectionOptionsDialog(SectionOptionsReply *reply);
-PASCAL_FUNCTION(SectionOptionsDialog);
+PASCAL_SUBTRAP(SectionOptionsDialog, 0xA82D, 0x023A, Pack11);
extern OSErr C_NewSubscriberExpDialog(NewSubscriberReplyPtr reply, Point where,
int16_t expnasion_ditl_res_id,
ExpDialogHookProcPtr dialog_hook,
ExpModalFilterProcPtr filter_hook,
Ptr data);
-PASCAL_FUNCTION(NewSubscriberExpDialog);
+PASCAL_SUBTRAP(NewSubscriberExpDialog, 0xA82D, 0x0B34, Pack11);
extern OSErr C_NewPublisherExpDialog(NewPublisherReplyPtr reply, Point where,
int16_t expnasion_ditl_res_id,
ExpDialogHookProcPtr dialog_hook,
ExpModalFilterProcPtr filter_hook,
Ptr data);
-PASCAL_FUNCTION(NewPublisherExpDialog);
+PASCAL_SUBTRAP(NewPublisherExpDialog, 0xA82D, 0x0B38, Pack11);
extern OSErr C_SectionOptionsExpDialog(SectionOptionsReply *reply,
Point where, int16_t expnasion_ditl_res_id,
ExpDialogHookProcPtr dialog_hook,
ExpModalFilterProcPtr filter_hook,
Ptr data);
-PASCAL_FUNCTION(SectionOptionsExpDialog);
+PASCAL_SUBTRAP(SectionOptionsExpDialog, 0xA82D, 0x0B3C, Pack11);
extern OSErr C_GetEditionInfo(SectionHandle section,
EditionInfoPtr edition_info);
-PASCAL_FUNCTION(GetEditionInfo);
+PASCAL_SUBTRAP(GetEditionInfo, 0xA82D, 0x0422, Pack11);
extern OSErr C_GoToPublisherSection(EditionContainerSpecPtr container);
-PASCAL_FUNCTION(GoToPublisherSection);
+PASCAL_SUBTRAP(GoToPublisherSection, 0xA82D, 0x0224, Pack11);
extern OSErr C_GetStandardFormats(EditionContainerSpecPtr container,
FormatType *preview_format,
Handle preview,
Handle publisher_alias,
Handle formats);
-PASCAL_FUNCTION(GetStandardFormats);
+PASCAL_SUBTRAP(GetStandardFormats, 0xA82D, 0x0A28, Pack11);
extern OSErr C_GetEditionOpenerProc(EditionOpenerProcPtr *opener);
-PASCAL_FUNCTION(GetEditionOpenerProc);
+PASCAL_SUBTRAP(GetEditionOpenerProc, 0xA82D, 0x022A, Pack11);
extern OSErr C_SetEditionOpenerProc(EditionOpenerProcPtr opener);
-PASCAL_FUNCTION(SetEditionOpenerProc);
+PASCAL_SUBTRAP(SetEditionOpenerProc, 0xA82D, 0x022C, Pack11);
extern OSErr C_CallEditionOpenerProc(EditionOpenerVerb selector,
EditionOpenerParamBlock *param_block,
EditionOpenerProcPtr opener);
-PASCAL_FUNCTION(CallEditionOpenerProc);
+PASCAL_SUBTRAP(CallEditionOpenerProc, 0xA82D, 0x052E, Pack11);
extern OSErr C_CallFormatIOProc(FormatIOVerb selector,
FormatIOParamBlock *param_block,
FormatIOProcPtr proc);
-PASCAL_FUNCTION(CallFormatIOProc);
+PASCAL_SUBTRAP(CallFormatIOProc, 0xA82D, 0x0530, Pack11);
}
#endif /* _EDITIONMGR_H_ */
diff --git a/src/include/ExMacTypes.h b/src/include/ExMacTypes.h
index 197a1386..938440fb 100644
--- a/src/include/ExMacTypes.h
+++ b/src/include/ExMacTypes.h
@@ -9,21 +9,15 @@
*/
#include "rsys/mactype.h"
+#include "rsys/byteswap.h"
namespace Executor
{
-#if !defined(__MACTYPES__) || defined(__cplusplus)
typedef int8_t SignedByte;
-#endif
typedef uint8_t Byte;
-#if !defined(__MACTYPES__) || defined(__cplusplus)
typedef int8_t *Ptr;
-#endif
-
-#if !defined(__MACTYPES__) || defined(__cplusplus)
typedef GUEST *Handle;
-#endif
typedef int8_t Boolean;
@@ -32,19 +26,13 @@ typedef Byte Str31[32];
typedef Byte Str32[33];
typedef Byte Str63[64];
typedef Byte Str255[256];
-#if !defined(__MACTYPES__) || defined(__cplusplus)
typedef Byte *StringPtr;
-#endif
typedef GUEST *StringHandle;
-#if !defined(__MACTYPES__) || defined(__cplusplus)
-typedef int (*ProcPtr)();
-#endif
-#if !defined(__MACTYPES__) || defined(__cplusplus)
typedef LONGINT Fixed, Fract;
-#endif
+
/* SmallFract represnts values between 0 and 65535 */
typedef unsigned short SmallFract;
@@ -61,11 +49,6 @@ typedef INTEGER OSErr;
typedef LONGINT OSType;
typedef LONGINT ResType;
-typedef LONGINT OSErrRET; /* for smashing d0 just like the Mac */
-typedef LONGINT INTEGERRET;
-typedef LONGINT BOOLEANRET;
-typedef LONGINT SignedByteRET;
-
struct QHdr
{
GUEST_STRUCT;
diff --git a/src/include/FileMgr.h b/src/include/FileMgr.h
index 4dbc737a..a3aeb1fd 100644
--- a/src/include/FileMgr.h
+++ b/src/include/FileMgr.h
@@ -2,6 +2,10 @@
#define _FILEMGR_H_
#include "ExMacTypes.h"
+#include
+
+#define MODULE_NAME FileMgr
+#include
/*
* Copyright 1986, 1989, 1990 by Abacus Research and Development, Inc.
@@ -587,14 +591,6 @@ extern OSErr AllocContig(INTEGER rn, GUEST *count);
extern OSErr FSClose(INTEGER rn);
extern void ROMlib_rewinddir(void);
-extern OSErrRET OpenDeny(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHGetLogInInfo(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHGetDirAccess(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHCopyFile(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHMapID(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHMapName(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHSetDirAccess(HParmBlkPtr pb, BOOLEAN a);
-extern OSErrRET PBHMoveRename(HParmBlkPtr pb, BOOLEAN a);
extern OSErr Create(StringPtr filen, INTEGER vrn, OSType creator,
OSType filtyp);
extern OSErr FSDelete(StringPtr filen, INTEGER vrn);
@@ -621,105 +617,227 @@ extern OSErr SetVol(StringPtr voln, INTEGER vrn);
extern OSErr FlushVol(StringPtr voln, INTEGER vrn);
extern OSErr UnmountVol(StringPtr voln, INTEGER vrn);
extern OSErr Eject(StringPtr voln, INTEGER vrn);
-extern OSErrRET PBHRename(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHCreate(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBDirCreate(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHDelete(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBRead(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBWrite(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBClose(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHOpen(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBOpenDF(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHOpenRF(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBGetCatInfo(CInfoPBPtr pb, BOOLEAN async);
-extern OSErrRET PBSetCatInfo(CInfoPBPtr pb, BOOLEAN async);
-extern OSErrRET PBCatMove(CMovePBPtr pb, BOOLEAN async);
-extern OSErrRET PBGetVInfo(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBUnmountVol(ParmBlkPtr pb);
-extern OSErrRET PBEject(ParmBlkPtr pb);
-extern OSErrRET PBAllocate(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBAllocContig(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHGetFInfo(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetEOF(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBOpen(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBOpenRF(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBLockRange(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBUnlockRange(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBGetFPos(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetFPos(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBGetEOF(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBFlushFile(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBCreate(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBDelete(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBOpenWD(WDPBPtr pb, BOOLEAN async);
-extern OSErrRET PBCloseWD(WDPBPtr pb, BOOLEAN async);
-extern OSErrRET PBGetWDInfo(WDPBPtr pb, BOOLEAN async);
-extern OSErrRET PBGetFInfo(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetFInfo(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHSetFInfo(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetFLock(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHSetFLock(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBRstFLock(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHRstFLock(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetFVers(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBRename(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBGetFCBInfo(FCBPBPtr pb, BOOLEAN async);
+
+extern OSErr PBAllocContig(ParmBlkPtr pb, BOOLEAN async);
+
+
+extern OSErr PBOpen(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHOpen(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBOpen, PBHOpen, HParmBlkPtr, 0xA000);
+
+extern OSErr PBClose(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBClose, 0xA001);
+
+extern OSErr PBRead(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBRead, 0xA002);
+
+extern OSErr PBWrite(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBWrite, 0xA003);
+
+extern OSErr PBGetVInfo(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHGetVInfo(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBGetVInfo, PBHGetVInfo, HParmBlkPtr, 0xA007);
+
+extern OSErr PBCreate(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHCreate(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBCreate, PBHCreate, HParmBlkPtr, 0xA008);
+
+extern OSErr PBDelete(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHDelete(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBDelete, PBHDelete, HParmBlkPtr, 0xA009);
+
+extern OSErr PBOpenRF(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHOpenRF(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBOpenRF, PBHOpenRF, HParmBlkPtr, 0xA00A);
+
+extern OSErr PBRename(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHRename(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBRename, PBHRename, HParmBlkPtr, 0xA00B);
+
+extern OSErr PBGetFInfo(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHGetFInfo(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBGetFInfo, PBHGetFInfo, HParmBlkPtr, 0xA00C);
+
+extern OSErr PBSetFInfo(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHSetFInfo(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBSetFInfo, PBHSetFInfo, HParmBlkPtr, 0xA00D);
+
+extern OSErr PBUnmountVol(ParmBlkPtr pb);
+REGISTER_TRAP2(PBUnmountVol, 0xA00E, D0(A0));
+
extern OSErr PBMountVol(ParmBlkPtr pb);
-extern OSErrRET PBHGetVInfo(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHGetVolParms(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBSetVInfo(HParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBGetVol(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHGetVol(WDPBPtr pb, BOOLEAN async);
-extern OSErrRET PBSetVol(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBHSetVol(WDPBPtr pb, BOOLEAN async);
-extern OSErrRET PBFlushVol(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBOffLine(ParmBlkPtr pb);
-extern OSErrRET PBExchangeFiles(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBCatSearch(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBCreateFileIDRef(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBDeleteFileIDRef(ParmBlkPtr pb, BOOLEAN async);
-extern OSErrRET PBResolveFileIDRef(ParmBlkPtr pb, BOOLEAN async);
+REGISTER_TRAP2(PBMountVol, 0xA00F, D0(A0));
+
+extern OSErr PBAllocate(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBAllocate, 0xA010);
+
+extern OSErr PBGetEOF(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBGetEOF, 0xA011);
+
+extern OSErr PBSetEOF(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBSetEOF, 0xA012);
+
+extern OSErr PBFlushVol(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBFlushVol, 0xA013);
+
+extern OSErr PBGetVol(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHGetVol(WDPBPtr pb, BOOLEAN async);
+HFS_TRAP(PBGetVol, PBHGetVol, WDPBPtr, 0xA014);
+
+extern OSErr PBSetVol(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHSetVol(WDPBPtr pb, BOOLEAN async);
+HFS_TRAP(PBSetVol, PBHSetVol, WDPBPtr, 0xA015);
+
+extern OSErr PBEject(ParmBlkPtr pb);
+REGISTER_TRAP2(PBEject, 0xA017, D0(A0));
+
+extern OSErr PBGetFPos(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBGetFPos, 0xA018);
+
+extern OSErr PBOffLine(ParmBlkPtr pb);
+REGISTER_TRAP2(PBOffLine, 0xA035, D0(A0));
+
+extern OSErr PBSetFLock(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHSetFLock(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBSetFLock, PBHSetFLock, HParmBlkPtr, 0xA041);
+
+extern OSErr PBRstFLock(ParmBlkPtr pb, BOOLEAN async);
+extern OSErr PBHRstFLock(HParmBlkPtr pb, BOOLEAN async);
+HFS_TRAP(PBRstFLock, PBHRstFLock, HParmBlkPtr, 0xA042);
+
+extern OSErr PBSetFVers(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBSetFVers, 0xA043);
+
+extern OSErr PBSetFPos(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBSetFPos, 0xA044);
+
+extern OSErr PBFlushFile(ParmBlkPtr pb, BOOLEAN async);
+FILE_TRAP(PBFlushFile, 0xA045);
+
+
+DISPATCHER_TRAP(FSDispatch, 0xA060, D0W);
+
+extern OSErr PBOpenWD(WDPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBOpenWD, 0xA260, 0x0001, FSDispatch);
+
+extern OSErr PBCloseWD(WDPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBCloseWD, 0xA260, 0x0002, FSDispatch);
+
+extern OSErr PBCatMove(CMovePBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBCatMove, 0xA260, 0x0005, FSDispatch);
+
+extern OSErr PBDirCreate(HParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBDirCreate, 0xA260, 0x0006, FSDispatch);
+
+extern OSErr PBGetWDInfo(WDPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBGetWDInfo, 0xA260, 0x0007, FSDispatch);
+
+extern OSErr PBGetFCBInfo(FCBPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBGetFCBInfo, 0xA260, 0x0008, FSDispatch);
+
+extern OSErr PBGetCatInfo(CInfoPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBGetCatInfo, 0xA260, 9, FSDispatch);
+
+extern OSErr PBSetCatInfo(CInfoPBPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBSetCatInfo, 0xA260, 10, FSDispatch);
+
+extern OSErr PBSetVInfo(HParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBSetVInfo, 0xA260, 11, FSDispatch);
+
+extern OSErr PBLockRange(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBLockRange, 0xA260, 0x10, FSDispatch);
+
+extern OSErr PBUnlockRange(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBUnlockRange, 0xA260, 0x11, FSDispatch);
+
+extern OSErr PBCreateFileIDRef(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBCreateFileIDRef, 0xA260, 0x14, FSDispatch);
+
+extern OSErr PBDeleteFileIDRef(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBDeleteFileIDRef, 0xA260, 0x15, FSDispatch);
+
+extern OSErr PBResolveFileIDRef(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBResolveFileIDRef, 0xA260, 0x16, FSDispatch);
+
+extern OSErr PBExchangeFiles(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBExchangeFiles, 0xA260, 0x17, FSDispatch);
+
+extern OSErr PBCatSearch(ParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBCatSearch, 0xA260, 0x18, FSDispatch);
+
+extern OSErr PBOpenDF(HParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBOpenDF, 0xA260, 0x1A, FSDispatch);
+
+
+extern OSErr PBHGetVolParms(HParmBlkPtr pb, BOOLEAN async);
+FILE_SUBTRAP(PBHGetVolParms, 0xA260, 0x30, FSDispatch);
+
+extern OSErr PBHGetLogInInfo(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHGetLogInInfo, 0xA260, 0x31, FSDispatch);
+
+extern OSErr PBHGetDirAccess(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHGetDirAccess, 0xA260, 0x32, FSDispatch);
+
+extern OSErr PBHSetDirAccess(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHSetDirAccess, 0xA260, 0x33, FSDispatch);
+
+extern OSErr PBHMapID(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHMapID, 0xA260, 0x34, FSDispatch);
+
+extern OSErr PBHMapName(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHMapName, 0xA260, 0x35, FSDispatch);
+
+extern OSErr PBHCopyFile(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHCopyFile, 0xA260, 0x36, FSDispatch);
+
+extern OSErr PBHMoveRename(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(PBHMoveRename, 0xA260, 0x37, FSDispatch);
+
+extern OSErr OpenDeny(HParmBlkPtr pb, BOOLEAN a);
+FILE_SUBTRAP(OpenDeny, 0xA260, 0x38, FSDispatch);
/* prototypes for the high level filesystem dispatch traps */
+DISPATCHER_TRAP(HighLevelFSDispatch, 0xAA52, D0<0xF>);
+
extern OSErr C_FSMakeFSSpec(int16_t vRefNum, int32_t dir_id,
Str255 file_name, FSSpecPtr spec);
-PASCAL_FUNCTION(FSMakeFSSpec);
+PASCAL_SUBTRAP(FSMakeFSSpec, 0xAA52, 0x0001, HighLevelFSDispatch);
extern OSErr C_FSpExchangeFiles(FSSpecPtr src, FSSpecPtr dst);
-PASCAL_FUNCTION(FSpExchangeFiles);
+PASCAL_SUBTRAP(FSpExchangeFiles, 0xAA52, 0x000F, HighLevelFSDispatch);
extern OSErr C_FSpOpenDF(FSSpecPtr spec, SignedByte perms,
GUEST *refNum_out);
-PASCAL_FUNCTION(FSpOpenDF);
+PASCAL_SUBTRAP(FSpOpenDF, 0xAA52, 0x0002, HighLevelFSDispatch);
extern OSErr C_FSpOpenRF(FSSpecPtr spec, SignedByte perms,
GUEST *refNum_out);
-PASCAL_FUNCTION(FSpOpenRF);
+PASCAL_SUBTRAP(FSpOpenRF, 0xAA52, 0x0003, HighLevelFSDispatch);
extern OSErr C_FSpCreate(FSSpecPtr spec,
OSType creator, OSType file_type,
ScriptCode script);
-PASCAL_FUNCTION(FSpCreate);
+PASCAL_SUBTRAP(FSpCreate, 0xAA52, 0x0004, HighLevelFSDispatch);
extern OSErr C_FSpDirCreate(FSSpecPtr spec, ScriptCode script,
GUEST *created_dir_id);
-PASCAL_FUNCTION(FSpDirCreate);
+PASCAL_SUBTRAP(FSpDirCreate, 0xAA52, 0x0005, HighLevelFSDispatch);
extern OSErr C_FSpDelete(FSSpecPtr spec);
-PASCAL_FUNCTION(FSpDelete);
+PASCAL_SUBTRAP(FSpDelete, 0xAA52, 0x0006, HighLevelFSDispatch);
extern OSErr C_FSpGetFInfo(FSSpecPtr spec, FInfo *fndr_info);
-PASCAL_FUNCTION(FSpGetFInfo);
+PASCAL_SUBTRAP(FSpGetFInfo, 0xAA52, 0x0007, HighLevelFSDispatch);
extern OSErr C_FSpSetFInfo(FSSpecPtr spec, FInfo *fndr_info);
-PASCAL_FUNCTION(FSpSetFInfo);
+PASCAL_SUBTRAP(FSpSetFInfo, 0xAA52, 0x0008, HighLevelFSDispatch);
extern OSErr C_FSpSetFLock(FSSpecPtr spec);
-PASCAL_FUNCTION(FSpSetFLock);
+PASCAL_SUBTRAP(FSpSetFLock, 0xAA52, 0x0009, HighLevelFSDispatch);
extern OSErr C_FSpRstFLock(FSSpecPtr spec);
-PASCAL_FUNCTION(FSpRstFLock);
+PASCAL_SUBTRAP(FSpRstFLock, 0xAA52, 0x000A, HighLevelFSDispatch);
extern OSErr C_FSpRename(FSSpecPtr spec, Str255 new_name);
-PASCAL_FUNCTION(FSpRename);
+PASCAL_SUBTRAP(FSpRename, 0xAA52, 0x000B, HighLevelFSDispatch);
extern OSErr C_FSpCatMove(FSSpecPtr src, FSSpecPtr dst);
-PASCAL_FUNCTION(FSpCatMove);
+PASCAL_SUBTRAP(FSpCatMove, 0xAA52, 0x000C, HighLevelFSDispatch);
extern void C_FSpCreateResFile(FSSpecPtr spec,
OSType creator, OSType file_type,
ScriptCode script);
-PASCAL_FUNCTION(FSpCreateResFile);
+PASCAL_SUBTRAP(FSpCreateResFile, 0xAA52, 0x000E, HighLevelFSDispatch);
extern INTEGER C_FSpOpenResFile(FSSpecPtr spec, SignedByte perms);
-PASCAL_FUNCTION(FSpOpenResFile);
+PASCAL_SUBTRAP(FSpOpenResFile, 0xAA52, 0x000D, HighLevelFSDispatch);
extern INTEGER C_HOpenResFile(INTEGER vref, LONGINT dirid,
Str255 file_name, SignedByte perm);
PASCAL_TRAP(HOpenResFile, 0xA81A);
diff --git a/src/include/Finder.h b/src/include/Finder.h
index 78c12935..af4a6cbd 100644
--- a/src/include/Finder.h
+++ b/src/include/Finder.h
@@ -5,9 +5,13 @@
* Copyright 1995 by Abacus Research and Development, Inc.
* All rights reserved.
*
-
*/
+#include "ExMacTypes.h"
+
+#define MODULE_NAME Finder
+#include
+
namespace Executor
{
typedef struct DTPBRec
@@ -40,21 +44,55 @@ typedef struct DTPBRec
GUEST ioAPPLParID;
} * DTPBRecPtr, *DTPBPtr;
+EXTERN_DISPATCHER_TRAP(FSDispatch, 0xA060, D0W);
+
extern OSErr PBDTGetPath(DTPBPtr dtp);
-extern OSErr PBDTOpenInform(DTPBPtr dtp);
+REGISTER_SUBTRAP2(PBDTGetPath, 0xA260, 0x20, FSDispatch, D0(A0));
+
extern OSErr PBDTCloseDown(DTPBPtr dtp);
+REGISTER_SUBTRAP2(PBDTCloseDown, 0xA260, 0x21, FSDispatch, D0(A0));
+
+extern OSErr PBDTAddIcon(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTAddIcon, 0xA260, 0x22, FSDispatch);
+
extern OSErr PBDTGetIcon(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTGetIcon, 0xA260, 0x23, FSDispatch);
+
extern OSErr PBDTGetIconInfo(DTPBPtr dtp, BOOLEAN async);
-extern OSErr PBDTGetAPPL(DTPBPtr dtp, BOOLEAN async);
-extern OSErr PBDTGetComment(DTPBPtr dtp, BOOLEAN async);
-extern OSErr PBDTAddIcon(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTGetIconInfo, 0xA260, 0x24, FSDispatch);
+
extern OSErr PBDTAddAPPL(DTPBPtr dtp, BOOLEAN async);
-extern OSErr PBDTSetComment(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTAddAPPL, 0xA260, 0x25, FSDispatch);
+
extern OSErr PBDTRemoveAPPL(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTRemoveAPPL, 0xA260, 0x26, FSDispatch);
+
+extern OSErr PBDTGetAPPL(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTGetAPPL, 0xA260, 0x27, FSDispatch);
+
+extern OSErr PBDTSetComment(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTSetComment, 0xA260, 0x28, FSDispatch);
+
extern OSErr PBDTRemoveComment(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTRemoveComment, 0xA260, 0x29, FSDispatch);
+
+extern OSErr PBDTGetComment(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTGetComment, 0xA260, 0x2A, FSDispatch);
+
extern OSErr PBDTFlush(DTPBPtr dtp, BOOLEAN async);
-extern OSErr PBDTGetInfo(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTFlush, 0xA260, 0x2B, FSDispatch);
+
extern OSErr PBDTReset(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTReset, 0xA260, 0x2C, FSDispatch);
+
+extern OSErr PBDTGetInfo(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTGetInfo, 0xA260, 0x2D, FSDispatch);
+
+extern OSErr PBDTOpenInform(DTPBPtr dtp);
+REGISTER_SUBTRAP2(PBDTOpenInform, 0xA260, 0x2E, FSDispatch, D0(A0));
+
extern OSErr PBDTDelete(DTPBPtr dtp, BOOLEAN async);
+FILE_SUBTRAP(PBDTDelete, 0xA260, 0x2F, FSDispatch);
+
}
#endif
diff --git a/src/include/FontMgr.h b/src/include/FontMgr.h
index d423dc07..ba3ab2ef 100644
--- a/src/include/FontMgr.h
+++ b/src/include/FontMgr.h
@@ -9,6 +9,10 @@
*/
#include "QuickDraw.h"
+
+#define MODULE_NAME FontMgr
+#include
+
namespace Executor
{
enum
@@ -213,6 +217,8 @@ const LowMemGlobal fondid { 0xBC6 }; // FontMgr ToolEqu.a (true-b);
const LowMemGlobal FractEnable { 0xBF4 }; // FontMgr IMIV-32 (true);
const LowMemGlobal SynListHandle { 0xD32 }; // FontMgr IMV-182 (false);
+DISPATCHER_TRAP(FontDispatch, 0xA854, D0<0xF>);
+
extern void C_InitFonts(void);
PASCAL_TRAP(InitFonts, 0xA8FE);
@@ -241,23 +247,23 @@ extern void C_SetFractEnable(BOOLEAN enable);
PASCAL_TRAP(SetFractEnable, 0xA814);
extern void C_SetOutlinePreferred(Boolean _outline_perferred_p);
-PASCAL_FUNCTION(SetOutlinePreferred);
+PASCAL_SUBTRAP(SetOutlinePreferred, 0xA854, 0x0001, FontDispatch);
extern Boolean C_GetOutlinePreferred(void);
-PASCAL_FUNCTION(GetOutlinePreferred);
+PASCAL_SUBTRAP(GetOutlinePreferred, 0xA854, 0x0009, FontDispatch);
extern Boolean C_IsOutline(Point numer, Point denom);
-PASCAL_FUNCTION(IsOutline);
+PASCAL_SUBTRAP(IsOutline, 0xA854, 0x0000, FontDispatch);
extern OSErr C_OutlineMetrics(int16_t byte_count, Ptr text,
Point numer, Point denom,
int16_t *y_max, int16_t *y_min,
Fixed *aw_array, Fixed *lsb_array,
Rect *bounds_array);
-PASCAL_FUNCTION(OutlineMetrics);
+PASCAL_SUBTRAP(OutlineMetrics, 0xA854, 0x0008, FontDispatch);
extern void C_SetPreserveGlyph(Boolean preserve_glyph);
-PASCAL_FUNCTION(SetPreserveGlyph);
+PASCAL_SUBTRAP(SetPreserveGlyph, 0xA854, 0x000A, FontDispatch);
extern Boolean C_GetPreserveGlyph(void);
-PASCAL_FUNCTION(GetPreserveGlyph);
+PASCAL_SUBTRAP(GetPreserveGlyph, 0xA854, 0x000B, FontDispatch);
extern OSErr C_FlushFonts(void);
-PASCAL_FUNCTION(FlushFonts);
+PASCAL_SUBTRAP(FlushFonts, 0xA854, 0x000C, FontDispatch);
}
#endif /* _FONTMGR_H_ */
diff --git a/src/include/Gestalt.h b/src/include/Gestalt.h
index d6ab0d06..d6a16e0f 100644
--- a/src/include/Gestalt.h
+++ b/src/include/Gestalt.h
@@ -7,6 +7,12 @@
#if !defined(__GESTALT__)
#define __GESTALT__
+#include "ExMacTypes.h"
+#include
+
+#define MODULE_NAME Gestalt
+#include
+
namespace Executor
{
@@ -194,13 +200,15 @@ enum
gestaltLocationErr = -5553,
};
-extern OSErrRET Gestalt(OSType selector, GUEST *responsep);
-extern OSErrRET NewGestalt(OSType selector, ProcPtr selFunc);
-extern OSErrRET ReplaceGestalt(OSType selector, ProcPtr selFunc,
- ProcPtr *oldSelFuncp);
+using SelectorFunctionUPP = UPP *)>;
+
+extern OSErr Gestalt(OSType selector, GUEST *responsep);
+extern OSErr NewGestalt(OSType selector, SelectorFunctionUPP selFunc);
+extern OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP selFunc,
+ SelectorFunctionUPP *oldSelFuncp);
-extern OSErrRET C_GestaltTablesOnly(OSType selector,
+extern OSErr C_GestaltTablesOnly(OSType selector,
GUEST *responsep);
-PASCAL_FUNCTION(GestaltTablesOnly);
+NOTRAP_FUNCTION(GestaltTablesOnly);
}
#endif
diff --git a/src/include/HelpMgr.h b/src/include/HelpMgr.h
index 8f9b69b9..bf279d2b 100644
--- a/src/include/HelpMgr.h
+++ b/src/include/HelpMgr.h
@@ -12,6 +12,9 @@
#include "MenuMgr.h"
#include "WindowMgr.h"
+#define MODULE_NAME HelpMgr
+#include
+
namespace Executor
{
struct HMStringResType
@@ -50,20 +53,22 @@ enum
hmCloseViewActive = -863
};
+DISPATCHER_TRAP(Pack14, 0xA830, D0W); // & 0xFF ? ###
+
extern BOOLEAN C_HMGetBalloons(void);
-PASCAL_FUNCTION(HMGetBalloons);
+PASCAL_SUBTRAP(HMGetBalloons, 0xA830, 0x0003, Pack14);
extern OSErr C_HMSetBalloons(BOOLEAN flag);
-PASCAL_FUNCTION(HMSetBalloons);
+PASCAL_SUBTRAP(HMSetBalloons, 0xA830, 0x0104, Pack14);
extern BOOLEAN C_HMIsBalloon(void);
-PASCAL_FUNCTION(HMIsBalloon);
+PASCAL_SUBTRAP(HMIsBalloon, 0xA830, 0x0007, Pack14);
extern OSErr C_HMShowBalloon(HMMessageRecord *msgp, Point tip,
RectPtr alternaterectp, Ptr tipprocptr,
INTEGER proc, INTEGER variant,
INTEGER method);
-PASCAL_FUNCTION(HMShowBalloon);
+PASCAL_SUBTRAP(HMShowBalloon, 0xA830, 0x0B01, Pack14);
extern OSErr C_HMShowMenuBalloon(INTEGER item, INTEGER menuid,
LONGINT flags,
@@ -71,57 +76,57 @@ extern OSErr C_HMShowMenuBalloon(INTEGER item, INTEGER menuid,
RectPtr alternaterectp,
Ptr tipproc, INTEGER proc,
INTEGER variant);
-PASCAL_FUNCTION(HMShowMenuBalloon);
+PASCAL_SUBTRAP(HMShowMenuBalloon, 0xA830, 0x0E05, Pack14);
extern OSErr C_HMRemoveBalloon(void);
-PASCAL_FUNCTION(HMRemoveBalloon);
+PASCAL_SUBTRAP(HMRemoveBalloon, 0xA830, 0x0002, Pack14);
extern OSErr C_HMGetHelpMenuHandle(GUEST