diff --git a/README.64 b/README.64 new file mode 100644 index 0000000..8c84920 --- /dev/null +++ b/README.64 @@ -0,0 +1,78 @@ +If you try to build Executor on a 64-bit machine, without telling the +compiler to use 32-bit pointers, the compilation will fail due to the +conversion being a work in progress. + +This file is a rough dump of what I've been thinking about as I've +explored building Executor on a 64-bit machine. I'm about to switch +to some other projects before I finish this exploration, and am +writing these notes primarily for myself. There's no developer's +guide to Syn68k/ROMlib/Executor, so although it's possible for someone +else to finish the 64-bit mods up without me, it would take a bit of +figuring out what we currently do and why, something I don't currently +have the time to document. + +At one point we had Executor running on an Alpha using 64-bit pointers +for all our native code, but 32-bit pointers for the Mac memory. We +did this by altering gcc to allow us to use the ":32" bit-field +notation with pointers. This worked OK and could possibly work again, +but there's another way we can store 32-bits of pointer in a variable +and still keep the type that the pointer points to, and that's to use +a union of a 32-bit unsigned and an array of zero of the pointers we +really want. + +For example + + typedef union { + uint32_t p_val; + SomePointerType p_type[0]; + } PackedSomePointerType; + + PackedPointerType pp; + +Now pp.p_val can be the 32-bit value thats in Mac memory, with +(typeof pp.p_type[0]) being the type of pointer that pp.p_val can expand to. + +I haven't decided exactly how to make use of this type. I've experimented with +defining two macros: MAKE_HIDDEN and PACKED_MEMBER that collectively replace +the two places we used to use ":32". MAKE_HIDDEN replaces the way we used to +make 32-bit pointers for Handles and PACKED_MEMBER replaces the way we were +putting 32-bit pointers in structs. We then need to rewrite some of the macros +that we use for dereferencing our 32-bit pointers. + +Unfortunately, a combination of having the compiler allow us to mix +and match 32-bit pointers and 64-bit pointers along with the fact that +we didn't keep the Alpha port up to date means that the set of macros +we're using is incomplete and some macros will need to be split into +different variants for different uses. For example, HxX dereferences +a handle and then picks up the field that is pointed to, but does not +swap the field. We can make a HxX that does that in general, but code like +this: + + if (t_aux_c && HxX (t_aux_c, acCTable)) + +will not work though, since acCTable itself is a PACKED_MEMBER and so the +test for zero vs. non-zero won't work with the union. If we introduce HxZ, +a new macro that can be used for testing zero vs. non-zero, we can change +the code to work right: + + if (t_aux_c && HxZ (t_aux_c, acCTable)) + +But that requires that one way or the other we determine when we need +to change HxX into HxZ. + +Some of the other changes that need to be made include: + + defines like # define TheGDevice (TheGDevice_H.p) + need to be # define TheGDevice ((typeof (TheGDevice_H.type[0]))(TheGDevice_H.pp)) + + A bunch(all?) of MR that should be PPR + + A bunch of RM that should be RPP (and intermediate values + that are actually unions) + + Assignments to PACKED_MEMBER fields (including things + like CopyMacHandle) + +Since the only reason to make Executor work on 64-bit machines is for fun, I +have no idea when I'll have a chance to finish these mods. If it's something +that interests you, drop me a note on Github, where my account is "ctm". diff --git a/TODO b/TODO index 8b06ca7..7333aff 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,13 @@ + package up the System Folder and whatnot so that people w/o the + old executor-aux can run Executor + + /usr/local/share/executor/skel/volume + Yank all the misleading RCS strings Update the copyright notices to make it that the code is under an MIT-style license - package up the System Folder and whatnot so that people w/o the - old executor-aux can run Executor - probably get rid of most of the customization stuff (don't yet wholesale kill it, since some might be useful as per-user, per-app or command line configuration) diff --git a/src/Makefile.am b/src/Makefile.am index 01894c2..f190b8e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -109,10 +109,270 @@ misc_sources = desk.c device.c disk.c diskinit.c dump.c trapname.c font.c \ emutrap.c emutraptables.c emustubs.c unix_like.c parse.y check_structs.c \ executor.c mkvol/mkvol.c crc.c +include_sources = hintemplate.h \ + include/ADB.h \ + include/AliasMgr.h \ + include/AppleEvents.h \ + include/AppleTalk.h \ + include/BinaryDecimal.h \ + include/CommTool.h \ + include/Components.h \ + include/ControlMgr.h \ + include/CQuickDraw.h \ + include/DeskMgr.h \ + include/DeviceMgr.h \ + include/DialogMgr.h \ + include/Disk.h \ + include/DiskInit.h \ + include/EditionMgr.h \ + include/EventMgr.h \ + include/FileMgr.h \ + include/Finder.h \ + include/FontMgr.h \ + include/Gestalt.h \ + include/HelpMgr.h \ + include/Iconutil.h \ + include/IntlUtil.h \ + include/ListMgr.h \ + include/MacTypes.h \ + include/MemoryMgr.h \ + include/MenuMgr.h \ + include/NotifyMgr.h \ + include/OSEvent.h \ + include/OSUtil.h \ + include/Package.h \ + include/paramline.h \ + include/PPC.h \ + include/PrintMgr.h \ + include/ProcessMgr.h \ + include/QuickDraw.h \ + include/QuickTime.h \ + include/ResourceMgr.h \ + include/rsys/aboutbox.h \ + include/rsys/aboutpanel.h \ + include/rsys/adb.h \ + include/rsys/alias.h \ + include/rsys/appearance.h \ + include/rsys/apple_events.h \ + include/rsys/arch.h \ + include/rsys/arrowkeys.h \ + include/rsys/autorefresh.h \ + include/rsys/blockdev.h \ + include/rsys/blockinterrupts.h \ + include/rsys/byteswap.h \ + include/rsys/cfm.h \ + include/rsys/check_structs.h \ + include/rsys/checkpoint.h \ + include/rsys/cleanup.h \ + include/rsys/color_wheel_bits.h \ + include/rsys/common.h \ + include/rsys/commonevt.h \ + include/rsys/cquick.h \ + include/rsys/crc.h \ + include/rsys/cruft.h \ + include/rsys/ctl.h \ + include/rsys/ctopflags.h \ + include/rsys/custom.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 \ + include/rsys/drive_flags.h \ + include/rsys/dump.h \ + include/rsys/emustubs.h \ + include/rsys/error.h \ + include/rsys/everything.h \ + include/rsys/evil.h \ + include/rsys/executor.h \ + include/rsys/fauxdbm.h \ + include/rsys/file.h \ + include/rsys/filedouble.h \ + include/rsys/flags.h \ + include/rsys/float.h \ + include/rsys/float_fcw.h \ + include/rsys/floatconv.h \ + include/rsys/font.h \ + include/rsys/gestalt.h \ + include/rsys/glue.h \ + include/rsys/gworld.h \ + include/rsys/hfs.h \ + include/rsys/hfs_plus.h \ + include/rsys/hook.h \ + include/rsys/host.h \ + include/rsys/icon.h \ + include/rsys/image.h \ + include/rsys/ini.h \ + include/rsys/int386.h \ + include/rsys/interfacelib.h \ + include/rsys/itm.h \ + include/rsys/iv.h \ + include/rsys/jumpvectors.h \ + include/rsys/keyboard.h \ + include/rsys/keyboards.h \ + include/rsys/keycode.h \ + include/rsys/launch.h \ + include/rsys/libcproto.h \ + include/rsys/licensetext.h \ + include/rsys/list.h \ + include/rsys/local_charset.h \ + include/rsys/lockunlock.h \ + include/rsys/lowglobals.h \ + include/rsys/m68kint.h \ + include/rsys/macros.h \ + include/rsys/mactype.h \ + include/rsys/mathlib.h \ + include/rsys/memory_layout.h \ + include/rsys/memsize.h \ + include/rsys/menu.h \ + include/rsys/misc.h \ + include/rsys/mixed_mode.h \ + include/rsys/mman.h \ + include/rsys/mman_private.h \ + include/rsys/mmanstubs.h \ + include/rsys/new_mmanstubs.h \ + include/rsys/newvga.h \ + include/rsys/next.h \ + include/rsys/nextprint.h \ + include/rsys/noreturn.h \ + include/rsys/notmac.h \ + include/rsys/Olibcproto.h \ + include/rsys/option.h \ + include/rsys/options.h \ + include/rsys/os.h \ + include/rsys/osevent.h \ + include/rsys/osutil.h \ + include/rsys/parse.h \ + include/rsys/parsenum.h \ + include/rsys/parseopt.h \ + include/rsys/partition.h \ + include/rsys/pef.h \ + include/rsys/picture.h \ + include/rsys/pragmal.h \ + include/rsys/pragmar.h \ + include/rsys/pragmas.h \ + include/rsys/prefpanel.h \ + include/rsys/prefs.h \ + include/rsys/print.h \ + include/rsys/process.h \ + include/rsys/PSstrings.h \ + include/rsys/pstuff.h \ + include/rsys/ptocflags.h \ + include/rsys/qcolor.h \ + include/rsys/quick.h \ + include/rsys/rawblt.h \ + include/rsys/redrawscreen.h \ + include/rsys/refresh.h \ + include/rsys/region.h \ + include/rsys/release.h \ + include/rsys/resource.h \ + include/rsys/rgbutil.h \ + include/rsys/safe_alloca.h \ + include/rsys/scrap.h \ + include/rsys/screen-dump.h \ + include/rsys/segment.h \ + include/rsys/serial.h \ + include/rsys/setuid.h \ + include/rsys/sigio_multiplex.h \ + include/rsys/slash.h \ + include/rsys/smash.h \ + include/rsys/sounddriver.h \ + include/rsys/soundfake.h \ + include/rsys/soundopts.h \ + include/rsys/splash.h \ + include/rsys/srcblt.h \ + include/rsys/stdbits.h \ + include/rsys/stdfile.h \ + include/rsys/stdio_smashage.h \ + include/rsys/string.h \ + include/rsys/stubify.h \ + include/rsys/suffix_maps.h \ + include/rsys/syncint.h \ + include/rsys/syserr.h \ + include/rsys/system_error.h \ + include/rsys/tempalloc.h \ + include/rsys/tesave.h \ + include/rsys/text.h \ + include/rsys/time.h \ + include/rsys/toolevent.h \ + include/rsys/toolutil.h \ + include/rsys/trapdecl.h \ + include/rsys/trapdefines.h \ + include/rsys/trapglue.h \ + include/rsys/trapname.h \ + include/rsys/types.h \ + include/rsys/uniquefile.h \ + include/rsys/vbl.h \ + include/rsys/vdriver.h \ + include/rsys/version.h \ + include/rsys/vgavdriver.h \ + include/rsys/wind.h \ + include/rsys/wrappers.h \ + include/rsys/x.h \ + include/rsys/xdata.h \ + include/rsys/xdblt.h \ + include/rsys/Xdefs.h \ + include/SANE.h \ + include/ScrapMgr.h \ + include/ScriptMgr.h \ + include/SegmentLdr.h \ + include/Serial.h \ + include/ShutDown.h \ + include/SoundDvr.h \ + include/SoundMgr.h \ + include/StartMgr.h \ + include/StdFilePkg.h \ + include/SysErr.h \ + include/TextEdit.h \ + include/ThinkC.h \ + include/TimeMgr.h \ + include/ToolboxEvent.h \ + include/ToolboxUtil.h \ + include/VDriver.h \ + include/VRetraceMgr.h \ + include/WindowMgr.h \ + mkvol/mkvol.h \ + mkvol/mkvol_internal.h + +# Can't put the .map files into a _SOURCES variable, or else automake will +# try to create .o files out of them, but we just need the .c files that +# map_to_c will create. + +EXTRA_DIST = active.map \ + apple.map \ + arrow_down_active.map \ + arrow_down_inactive.map \ + arrow_left_active.map \ + arrow_left_inactive.map \ + arrow_right_active.map \ + arrow_right_inactive.map \ + arrow_up_active.map \ + arrow_up_inactive.map \ + go_away.map \ + grow.map \ + ractive.map \ + thumb_horiz.map \ + thumb_vert.map \ + zoom.map + +other_sources = globals.pl \ + makerawblt.pl \ + genctopflags_h.tmpl \ + geninterfacelib.tmpl \ + genptocflags_h.tmpl \ + genstubify_h.tmpl \ + genstubify_s.tmpl \ + pat-blitters.tmpl \ + src-blitters.tmpl + AM_CPPFLAGS=-I$(srcdir)/include -I$(srcdir)/config/front-ends/$(front_end) -I$(srcdir)/config/os/$(host_os) -I$(srcdir)/config/arch/$(host_cpu) +nodist_executor_SOURCES = + if CONFIG_ARCH_ALPHA -arch_sources = config/arch/alpha/alpha.c +arch_sources = config/arch/alpha/alpha.c config/arch/alpha/alpha.h endif CONFIG_ARCH_ALPHA if CONFIG_ARCH_I386 @@ -155,8 +415,10 @@ src-blitters-stamp src-blitters.h src-blitters.s: \ config/arch/i386/opfind.c touch src-blitters-stamp -arch_sources = config/arch/i386/i386.c - +arch_sources = config/arch/i386/i386.c \ + config/arch/i386/i386.h \ + config/arch/i386/i386_djgpp_version.h \ + config/arch/i386/opfind.h if !CONFIG_OS_MACOSX @@ -165,7 +427,8 @@ noinst_PROGRAMS += opfind arch_sources += config/arch/i386/x86patblt.S \ config/arch/i386/x86srcblt.S \ config/arch/i386/xdstubtables.c \ - config/arch/i386/sbstubtables.c + config/arch/i386/sbstubtables.c \ + config/arch/i386/metaasm.pl endif !CONFIG_OS_MACOSX @@ -173,6 +436,8 @@ endif CONFIG_ARCH_I386 if CONFIG_ARCH_M68K +nodist_executor_SOURCES += m68k-callback-stubs.s + arch_sources = config/arch/m68k/m68k.c \ config/arch/m68k/m68k-callback.c \ config/arch/m68k/m68k-callback-handler.s \ @@ -181,7 +446,10 @@ arch_sources = config/arch/m68k/m68k.c \ config/arch/m68k/m68k-stack.c \ config/arch/m68k/m68k-trap-handler.s \ config/arch/m68k/trap.S \ - config/arch/m68k/m68k-callback-stubs.s + config/arch/m68k/m68k-stack.h \ + config/arch/m68k/m68k.h \ + config/arch/m68k/syn68k_api.h \ + config/arch/m68k/make_callback_stubs.pl max_callbacks=4352 # 4096 plus extra slop @@ -209,14 +477,17 @@ if CONFIG_ARCH_POWERPC # get the compiler to help us run PPC binaries. That ability hasn't # worked since we started doing PPC builds on Mac OS X. -arch_sources = config/arch/powerpc/powerpc.c \ - config/arch/powerpc/ppc_call.c \ - config/arch/powerpc/ppc_stubs.c +arch_sources = config/arch/powerpc/powerpc.c \ + config/arch/powerpc/ppc_call.c \ + config/arch/powerpc/ppc_stubs.c \ + config/arch/powerpc/powerpc.h + config/arch/powerpc/ppc_stubs.h + AM_CPPFLAGS += -D_GNU_SOURCE endif CONFIG_ARCH_POWERPC if CONFIG_ARCH_X86_64 -arch_sources = config/arch/x86_64/x86_64.c +arch_sources = config/arch/x86_64/x86_64.c config/arch/x86_64/x86_64.h endif CONFIG_ARCH_X86_64 @@ -225,16 +496,30 @@ if CONFIG_FRONT_END_DOS # we'll rip all the DOS support out of the code before ever making it go, but # if you're adventurous and want to play, feel free. -front_end_sources = config/front-ends/dos/dosclip.c \ - config/front-ends/dos/dosdisk.c \ - config/front-ends/dos/dosevents.c \ - config/front-ends/dos/vga.c \ - config/front-ends/dos/aspi.c \ - config/front-ends/dos/dosevq.c \ - config/front-ends/dos/dpmilock.c \ - config/front-ends/dos/deintr.S \ - config/front-ends/dos/dosmem.c \ - config/front-ends/dos/dosserial.c \ +front_end_sources = config/front-ends/dos/dosclip.c \ + config/front-ends/dos/dosdisk.c \ + config/front-ends/dos/dosevents.c \ + config/front-ends/dos/vga.c \ + config/front-ends/dos/aspi.c \ + config/front-ends/dos/dosevq.c \ + config/front-ends/dos/dpmilock.c \ + config/front-ends/dos/deintr.S \ + config/front-ends/dos/dosmem.c \ + config/front-ends/dos/dosserial.c \ + config/front-ends/dos/aspi.h \ + config/front-ends/dos/dos.h \ + config/front-ends/dos/dosdisk.h \ + config/front-ends/dos/dosevents.h \ + config/front-ends/dos/dosevq.h \ + config/front-ends/dos/dosevq_defs.h \ + config/front-ends/dos/dosmem.h \ + config/front-ends/dos/dosserial.h \ + config/front-ends/dos/dpmilock.h \ + config/front-ends/dos/host_bltmacros.h \ + config/front-ends/dos/host_vdriver.h \ + config/front-ends/dos/itimer.h \ + config/front-ends/dos/vga.h \ + config/front-ends/dos/vgatables.h \ vgavdriver.c METAASM_ARGS = -define 'DST_SEG=%es:' @@ -251,15 +536,29 @@ endif CONFIG_FRONT_END_NEXTSTEP if CONFIG_FRONT_END_SDL -front_end_sources = config/front-ends/sdl/SDL_bmp.c \ - config/front-ends/sdl/sdlevents.c \ - config/front-ends/sdl/sdl_mem.c \ - config/front-ends/sdl/sdlquit.c \ - config/front-ends/sdl/sdlscrap.c \ - config/front-ends/sdl/sdlwin.c \ - config/front-ends/sdl/sdlwm.c \ - config/front-ends/sdl/syswm_map.c \ - config/front-ends/sdl/winmain.c +front_end_sources = config/front-ends/sdl/SDL_bmp.c \ + config/front-ends/sdl/sdlevents.c \ + config/front-ends/sdl/sdl_mem.c \ + config/front-ends/sdl/sdlquit.c \ + config/front-ends/sdl/sdlscrap.c \ + config/front-ends/sdl/sdlwin.c \ + config/front-ends/sdl/sdlwm.c \ + config/front-ends/sdl/syswm_map.c \ + config/front-ends/sdl/winmain.c \ + config/front-ends/sdl/for_sam.h \ + config/front-ends/sdl/host_bltmacros.h \ + config/front-ends/sdl/host_vdriver.h \ + config/front-ends/sdl/map.h \ + config/front-ends/sdl/sdl.h \ + config/front-ends/sdl/SDL_bmp.h \ + config/front-ends/sdl/sdl_mem.h \ + config/front-ends/sdl/sdlevents.h \ + config/front-ends/sdl/sdlk_to_mkv.h \ + config/front-ends/sdl/sdlquit.h \ + config/front-ends/sdl/sdlscrap.h \ + config/front-ends/sdl/sdlX.h \ + config/front-ends/sdl/syswm_map.h \ + config/front-ends/sdl/syswm_vars.h if CONFIG_OS_LINUX front_end_sources += config/front-ends/sdl/sdlX.c @@ -275,8 +574,11 @@ if CONFIG_FRONT_END_SVGALIB # This is unlikely to work. Nobody has built the svgalib version of Executor # in a long time. -front_end_sources = config/front-ends/svgalib/svgalib.c \ - config/front-ends/svgalib/svgalibevent.c \ +front_end_sources = config/front-ends/svgalib/svgalib.c \ + config/front-ends/svgalib/svgalibevent.c \ + config/front-ends/svgalib/host_bltmacros.h \ + config/front-ends/svgalib/host_vdriver.h \ + config/front-ends/svgalib/svgalib.h \ vgavdriver.c endif CONFIG_FRONT_END_SVGALIB @@ -285,15 +587,26 @@ if CONFIG_FRONT_END_WIN32 # This too is unlikely to work. I believe we stopped working on the win32 # port when Sam created SDL. -front_end_sources = config/front-ends/win32/winevents.c \ - config/front-ends/win32/wincursor.c \ - config/front-ends/win32/windriver.c +front_end_sources = config/front-ends/win32/winevents.c \ + config/front-ends/win32/wincursor.c \ + config/front-ends/win32/windriver.c \ + config/front-ends/win32/host_bltmacros.h \ + config/front-ends/win32/host_vdriver.h \ + config/front-ends/win32/vk_to_mkv.h \ + config/front-ends/win32/win32.h \ + config/front-ends/win32/windriver.h endif CONFIG_FRONT_END_WIN32 if CONFIG_FRONT_END_X -front_end_sources = config/front-ends/x/x.c config/front-ends/x/x_keycodes.c +front_end_sources = config/front-ends/x/x.c \ + config/front-ends/x/x_keycodes.c \ + config/front-ends/x/host_bltmacros.h \ + config/front-ends/x/host_vdriver.h \ + config/front-ends/x/x.h \ + config/front-ends/x/x_keycodes.h + HAVE_IV = yes endif CONFIG_FRONT_END_X @@ -305,64 +618,115 @@ host_sources = endif !CONFIG_HOST_ALPHA_DEC_OSF if CONFIG_OS_CYGWIN32 -os_sources = config/os/cygwin32/cygwin32.c \ - config/os/cygwin32/winfs.c \ - config/os/cygwin32/win_disk.c \ - config/os/cygwin32/win_stat.c \ - config/os/cygwin32/win_memory.c \ - config/os/cygwin32/win_serial.c \ - config/os/cygwin32/win_ntcd.c \ - config/os/cygwin32/win_print.c \ - config/os/cygwin32/win_beep.c \ - config/os/cygwin32/win_cookie.c \ - config/os/cygwin32/win_clip.c \ - config/os/cygwin32/win_temp.c \ - config/os/cygwin32/win_except.c \ - config/os/cygwin32/win_time.c \ - config/os/cygwin32/win_dongle.c \ - config/os/cygwin32/win_queue.c \ - config/os/cygwin32/win_screen.c \ - config/os/cygwin32/win_vxdiface.c \ - config/os/cygwin32/win_keyboard.c \ - config/os/cygwin32/win_launch.c \ - config/os/cygwin32/win_stdfile.c +os_sources = config/os/cygwin32/cygwin32.c \ + config/os/cygwin32/winfs.c \ + config/os/cygwin32/win_disk.c \ + config/os/cygwin32/win_stat.c \ + config/os/cygwin32/win_memory.c \ + config/os/cygwin32/win_serial.c \ + config/os/cygwin32/win_ntcd.c \ + config/os/cygwin32/win_print.c \ + config/os/cygwin32/win_beep.c \ + config/os/cygwin32/win_clip.c \ + config/os/cygwin32/win_temp.c \ + config/os/cygwin32/win_except.c \ + config/os/cygwin32/win_time.c \ + config/os/cygwin32/win_dongle.c \ + config/os/cygwin32/win_queue.c \ + config/os/cygwin32/win_screen.c \ + config/os/cygwin32/win_vxdiface.c \ + config/os/cygwin32/win_keyboard.c \ + config/os/cygwin32/win_launch.c \ + config/os/cygwin32/win_stdfile.c \ + config/os/cygwin32/aspi.h \ + config/os/cygwin32/cdenable.h \ + config/os/cygwin32/cygwin32.h \ + config/os/cygwin32/dosdisk.h \ + config/os/cygwin32/main_windows.h \ + config/os/cygwin32/mmsystem.h \ + config/os/cygwin32/ntcd.h \ + config/os/cygwin32/sysdeps.h \ + config/os/cygwin32/timer.h \ + config/os/cygwin32/vwin32.h \ + config/os/cygwin32/vxdiface.h \ + config/os/cygwin32/win_cdenable.h \ + config/os/cygwin32/win_clip.h \ + config/os/cygwin32/win_dll.h \ + config/os/cygwin32/win_dongle.h \ + config/os/cygwin32/win_except.h \ + config/os/cygwin32/win_hasp.h \ + config/os/cygwin32/win_keyboard.h \ + config/os/cygwin32/win_memory.h \ + config/os/cygwin32/win_ntcd.h \ + config/os/cygwin32/win_ntinc.h \ + config/os/cygwin32/win_print.h \ + config/os/cygwin32/win_print_private.h \ + config/os/cygwin32/win_queue.h \ + config/os/cygwin32/win_screen.h \ + config/os/cygwin32/win_sentpro.h \ + config/os/cygwin32/win_serial.h \ + config/os/cygwin32/win_stat.h \ + config/os/cygwin32/win_stat_private.h \ + config/os/cygwin32/win_temp.h \ + config/os/cygwin32/win_win.h \ + config/os/cygwin32/winfs.h bin_PROGRAMS += exemove +exemove_SOURCES = config/os/cygwin32/exemove.c endif CONFIG_OS_CYGWIN32 if CONFIG_OS_LINUX os_sources = config/os/linux/linux.c \ config/os/linux/linux_except.c \ - config/os/linux/lowglobals-mem.c + config/os/linux/lowglobals-mem.c \ + config/os/linux/linux.h \ + config/os/linux/linux_except.h + endif CONFIG_OS_LINUX if CONFIG_OS_MACOSX +os_sources = config/os/macosx/macosx.h executor_LDFLAGS = -framework SDL -framework Cocoa endif CONFIG_OS_MACOSX if CONFIG_OS_MSDOS -os_sources = config/os/msdos/msdos.c \ - config/os/msdos/dpmimem.c \ - config/os/msdos/dpmicall.c \ - config/os/msdos/openmany.c \ - config/os/msdos/rmint70.S +os_sources = config/os/msdos/msdos.c \ + config/os/msdos/dpmimem.c \ + config/os/msdos/dpmicall.c \ + config/os/msdos/openmany.c \ + config/os/msdos/rmint70.S \ + config/os/msdos/dpmicall.h \ + config/os/msdos/dpmimem.h \ + config/os/msdos/interrupt.h \ + config/os/msdos/msdos.h \ + config/os/msdos/openmany.h \ + config/os/msdos/rmint70.h endif CONFIG_OS_MSDOS if CONFIG_OS_NEXT -os_sources = next.c +os_sources = config/os/next/next.c config/os/next/next.h endif CONFIG_OS_NEXT if CONFIG_SOUND_DJGPP -sound_sources += config/sound/djgpp/djgpp-sound.c +sound_sources += config/sound/djgpp/djgpp-sound.c \ + config/sound/djgpp/djgpp-sound.h \ + config/sound/djgpp/sb_lib/sb_defs.h \ + config/sound/djgpp/sb_lib/sb_dma.h \ + config/sound/djgpp/sb_lib/sb_lib.h \ + config/sound/djgpp/sb_lib/sbdetect.h \ + config/sound/djgpp/sb_lib/sbdriver.h endif CONFIG_SOUND_DJGPP if CONFIG_SOUND_LINUX -sound_sources += config/sound/linux/linux-sound.c +sound_sources += config/sound/linux/linux-sound.c \ + config/sound/linux/linux-sound.h + endif CONFIG_SOUND_LINUX if CONFIG_SOUND_SDL -sound_sources += config/sound/sdl/sdl-sound.c +sound_sources += config/sound/sdl/sdl-sound.c \ + config/sound/sdl/sdl-sound.h endif CONFIG_SOUND_SDL executor_SOURCES = $(ctl_sources) $(dial_sources) $(file_sources) \ @@ -371,4 +735,4 @@ executor_SOURCES = $(ctl_sources) $(dial_sources) $(file_sources) \ $(te_sources) $(wind_sources) $(ae_sources) \ $(sound_sources) $(num_sources) $(misc_sources) \ $(arch_sources) $(front_end_sources) $(host_sources) \ - $(os_sources) + $(os_sources) $(include_sources) $(other_sources) diff --git a/src/THANKS b/src/THANKS new file mode 100644 index 0000000..325b69b --- /dev/null +++ b/src/THANKS @@ -0,0 +1,24 @@ +Executor THANKS file + +Executor was originally written by Clifford T. Matthews, with major +contributions from Mat Hostetter, Cotton Seed, Bill Goldman and +Patrick LoPresti. + +The MSDOS port included a sound driver from Joel Hunter, DOS Serial port +support from Samuel Vincint and low-level CD-ROM access from Lauri Pesonen. + +Sam Lantinga did the initial port to Windows and created an intermediate +library that became SDL. + +The windows appearance option uses "Jim's CDEFs" copyright Jim Stout + and the "Infinity Windoid" copyright Troy Gaul. + +Primary Pre-Beta Testers + +Jon Abbott Testing, Icon Design +Ziv Arazi Testing +Edmund Ronald Advice, Testing +K. Harrison Liang Testing +Hugh Mclenaghan Testing +Emilio Moreno Testing, Spanish Translation + Keyboard, Icon Design +Ernst Oud Documentation, Testing diff --git a/src/configure.ac b/src/configure.ac index 72c7f47..20a36cc 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(executor, 2.1pr17, ctm@ardi.com) +AC_INIT(executor, 2.1.17, ctm@ardi.com) AC_CANONICAL_SYSTEM AM_INIT_AUTOMAKE([-Wall]) diff --git a/src/skel/README b/src/skel/README new file mode 100644 index 0000000..9bb4bd1 --- /dev/null +++ b/src/skel/README @@ -0,0 +1,6 @@ +The skel directory contains a single directory "volume", which is the +read-only template used to create an initial ExecutorVolume when one +can't be found at Executor's startup. ExecutorVolume at minimum needs +a "System Folder" directory that contains an Executor compatible "System" +file (traditionally represented as a pair of files "System" and "%System"). + diff --git a/var_opt/share/home/%Freeware b/src/skel/volume/%Freeware similarity index 100% rename from var_opt/share/home/%Freeware rename to src/skel/volume/%Freeware diff --git a/var_opt/share/home/%System Folder b/src/skel/volume/%System Folder similarity index 100% rename from var_opt/share/home/%System Folder rename to src/skel/volume/%System Folder diff --git a/var_opt/share/home/Freeware/%About Freeware b/src/skel/volume/Freeware/%About Freeware similarity index 100% rename from var_opt/share/home/Freeware/%About Freeware rename to src/skel/volume/Freeware/%About Freeware diff --git a/var_opt/share/home/Freeware/%Desktop Textures Vol. I b/src/skel/volume/Freeware/%Desktop Textures Vol. I similarity index 100% rename from var_opt/share/home/Freeware/%Desktop Textures Vol. I rename to src/skel/volume/Freeware/%Desktop Textures Vol. I diff --git a/var_opt/share/home/Freeware/%Risk! b/src/skel/volume/Freeware/%Risk! similarity index 100% rename from var_opt/share/home/Freeware/%Risk! rename to src/skel/volume/Freeware/%Risk! diff --git a/var_opt/share/home/Freeware/About Freeware b/src/skel/volume/Freeware/About Freeware similarity index 100% rename from var_opt/share/home/Freeware/About Freeware rename to src/skel/volume/Freeware/About Freeware diff --git a/var_opt/share/home/Freeware/Desktop Textures Vol. I b/src/skel/volume/Freeware/Desktop Textures Vol. I similarity index 100% rename from var_opt/share/home/Freeware/Desktop Textures Vol. I rename to src/skel/volume/Freeware/Desktop Textures Vol. I diff --git a/var_opt/share/home/Freeware/Risk! b/src/skel/volume/Freeware/Risk! similarity index 100% rename from var_opt/share/home/Freeware/Risk! rename to src/skel/volume/Freeware/Risk! diff --git a/var_opt/share/home/System Folder/%Browser b/src/skel/volume/System Folder/%Browser similarity index 100% rename from var_opt/share/home/System Folder/%Browser rename to src/skel/volume/System Folder/%Browser diff --git a/var_opt/share/home/System Folder/%ParamRAM b/src/skel/volume/System Folder/%ParamRAM similarity index 100% rename from var_opt/share/home/System Folder/%ParamRAM rename to src/skel/volume/System Folder/%ParamRAM diff --git a/var_opt/share/home/System Folder/%Preferences b/src/skel/volume/System Folder/%Preferences similarity index 100% rename from var_opt/share/home/System Folder/%Preferences rename to src/skel/volume/System Folder/%Preferences diff --git a/var_opt/share/home/System Folder/%Printer b/src/skel/volume/System Folder/%Printer similarity index 100% rename from var_opt/share/home/System Folder/%Printer rename to src/skel/volume/System Folder/%Printer diff --git a/var_opt/share/home/System Folder/%System b/src/skel/volume/System Folder/%System similarity index 100% rename from var_opt/share/home/System Folder/%System rename to src/skel/volume/System Folder/%System diff --git a/var_opt/share/home/System Folder/%godata.sav b/src/skel/volume/System Folder/%godata.sav similarity index 100% rename from var_opt/share/home/System Folder/%godata.sav rename to src/skel/volume/System Folder/%godata.sav diff --git a/var_opt/share/home/System Folder/%mac.rsrc b/src/skel/volume/System Folder/%mac.rsrc similarity index 100% rename from var_opt/share/home/System Folder/%mac.rsrc rename to src/skel/volume/System Folder/%mac.rsrc diff --git a/var_opt/share/home/System Folder/%system.ard b/src/skel/volume/System Folder/%system.ard similarity index 100% rename from var_opt/share/home/System Folder/%system.ard rename to src/skel/volume/System Folder/%system.ard diff --git a/var_opt/share/home/System Folder/%windows.rsrc b/src/skel/volume/System Folder/%windows.rsrc similarity index 100% rename from var_opt/share/home/System Folder/%windows.rsrc rename to src/skel/volume/System Folder/%windows.rsrc diff --git a/var_opt/share/home/System Folder/Browser b/src/skel/volume/System Folder/Browser similarity index 100% rename from var_opt/share/home/System Folder/Browser rename to src/skel/volume/System Folder/Browser diff --git a/var_opt/share/home/System Folder/ParamRAM b/src/skel/volume/System Folder/ParamRAM similarity index 100% rename from var_opt/share/home/System Folder/ParamRAM rename to src/skel/volume/System Folder/ParamRAM diff --git a/var_opt/share/home/System Folder/Printer b/src/skel/volume/System Folder/Printer similarity index 100% rename from var_opt/share/home/System Folder/Printer rename to src/skel/volume/System Folder/Printer diff --git a/var_opt/share/home/System Folder/System b/src/skel/volume/System Folder/System similarity index 100% rename from var_opt/share/home/System Folder/System rename to src/skel/volume/System Folder/System diff --git a/var_opt/share/home/System Folder/godata.sav b/src/skel/volume/System Folder/godata.sav similarity index 100% rename from var_opt/share/home/System Folder/godata.sav rename to src/skel/volume/System Folder/godata.sav diff --git a/var_opt/share/home/System Folder/mac.rsrc b/src/skel/volume/System Folder/mac.rsrc similarity index 100% rename from var_opt/share/home/System Folder/mac.rsrc rename to src/skel/volume/System Folder/mac.rsrc diff --git a/var_opt/share/home/System Folder/system.ard b/src/skel/volume/System Folder/system.ard similarity index 100% rename from var_opt/share/home/System Folder/system.ard rename to src/skel/volume/System Folder/system.ard diff --git a/var_opt/share/home/System Folder/windows.rsrc b/src/skel/volume/System Folder/windows.rsrc similarity index 100% rename from var_opt/share/home/System Folder/windows.rsrc rename to src/skel/volume/System Folder/windows.rsrc