Commit Graph

125 Commits

Author SHA1 Message Date
Wolfgang Thaller 147252f5a4 LaunchAPPL: allow more flexible configuration 2024-05-01 23:30:20 +02:00
Wolfgang Thaller 2d38cceb19
Merge pull request #189 from ryandesign/minivmac-copy-attrs
MiniVMac.cc: Preserve attributes when copying
2022-10-25 23:27:07 +02:00
Ryan Schmidt f06c07d40d LaunchAPPL: Find libhfs header/library 2022-10-08 00:06:46 -05:00
Ryan Schmidt 14f5ad3728 MiniVMac.cc: Preserve attributes when copying
When copying files from the system disk image to the new disk image,
preserve all attributes (creation date, modification date, bundle bit,
locked bit, etc.), except clear the inited bit so that the Finder
chooses new icon positions, otherwise (under System 6 at least) the
icons pile up on top of each other. Preserving the bundle bit in
particular tells the Finder to look in the file for icon information
when building the desktop database, without which the files all show
generic icons in the Finder.
2022-10-06 17:11:32 -05:00
Ryan Schmidt 18f189162e LaunchAPPL.cfg.example: Fix typos 2022-10-02 00:28:47 -05:00
Wolfgang Thaller 1f533b761c
Merge pull request #183 from ryandesign/minivmac-find-folder
MiniVMac.cc: Use localized Extensions and Startup Items folder names
2022-10-01 11:12:47 +02:00
Wolfgang Thaller c5c9e281f4
Merge pull request #182 from ryandesign/minivmac-finder-macsbug
MiniVMac.cc: Get Finder/MacsBug name from boot blocks
2022-10-01 11:12:06 +02:00
Wolfgang Thaller ccc8ad12bb
Merge pull request #181 from ryandesign/LaunchAPPL.cfg-minivmac-system7
LaunchAPPL.cfg.example: Update for System 7
2022-10-01 11:11:28 +02:00
Ryan Schmidt 72322d65d7 MiniVMac.cc: New method FindFolder
Remove hardcoded Extensions and Startup Items folder names and get the
correct localized names from the System file's 'fld#' resource.
2022-09-22 06:35:53 -05:00
Ryan Schmidt 425bb8b054 MiniVMac.cc: New method ReadSystemResources
Move the System file resource-reading code out of GetSystemVersion and
into a new ReadSystemResources method which stores the resources in a
new member variable so that it can be used by multiple methods.
2022-09-22 05:27:51 -05:00
Ryan Schmidt 171577c140 MiniVMac.cc: Get Finder/MacsBug name from boot blocks
Closes: #172
2022-09-22 03:33:04 -05:00
Ryan Schmidt 00cd6666a4 LaunchAPPL.cfg.example: Update for System 7 2022-09-22 01:47:30 -05:00
Ryan Schmidt 087989661c MiniVMac.cc: Fix alias creation code
* Convert all field values from host order to big-endian so they aren't
  byte-swapped when created on little-endian systems.
* Pack the struct so the compiler doesn't insert padding on 64-bit
  systems.
* Fix the volume and file creation timestamps by converting them from
  UNIX to Macintosh time base, using a function copied from hfsutils.
* Pad volume and file names with null bytes instead of random memory.
* Add the "end of variable-length data" marker so the OS doesn't crash
  when trying to resolve the alias.
* Set the alias flag so the OS treats the file as an alias.
2022-09-22 00:38:06 -05:00
Ryan Schmidt 17cbe507a2 MiniVMac.cc: Copy some extensions if present
See: https://github.com/autc04/Retro68/issues/171
2022-09-20 04:54:15 -05:00
Ryan Schmidt 4a7b698ab4 LaunchAPPL: Fix two macOS Mini vMac launching bugs
On all macOS versions, Mini vMac would launch behind other applications
because it was being launched by running the executable within the
application bundle directly. The solution is to let the OS launch the
app normally by using the open utility. This eliminates the 30 lines of
code that laboriously determined the executable name.

On macOS 10.12 and later, Mini vMac could not find the ROM or disk
files. These files were being placed in the same directory as the Mini
vMac application, but a new macOS security measure called Gatekeeper
Path Randomization or App Translocation prevents that from working
anymore. See https://www.gryphel.com/c/minivmac/osx_note.html. The
solution is to place the ROM and disk files within the mnvm_dat
directory in the Contents directory in the application bundle.

The code that copies Mini vMac into the temporary directory had to be
moved earlier so that when the ROM file is symlinked and the disk image
is created the mnvm_dat directory into which they go will be there.

Since more than one method needed to know whether Mini vMac was an app
bundle, a Boolean instance var was added on macOS to indicate that.
2022-08-03 14:07:41 -05:00
Takamichi Horikawa b6a68b59e9
Fix for Boost 1.79 2022-07-31 15:58:10 +09:00
Wolfgang Thaller e980af9b91 build fixes for LaunchAPPL client 2021-12-08 21:49:45 +01:00
Tom Fairfield ca57b0cb67 Fixes typo in LaunchAPPL client. 2021-04-12 12:19:21 -07:00
Wolfgang Thaller 23276c6cd8 cmake cleanup 2019-11-15 01:22:07 +01:00
Wolfgang Thaller 8516e91932 CMakeLists cleanup 2019-11-12 00:09:00 +01:00
Wolfgang Thaller e602945033 LaunchAPPLServer: fix printer port 2019-10-03 00:26:35 +02:00
Wolfgang Thaller 0775243ab8 fix LaunchAPPLServer build 2019-09-22 22:58:45 +02:00
Wolfgang Thaller d7b311cb34 LaunchAPPLServer: don't link to Navigation if Navigation.h not found 2019-09-15 21:23:50 +02:00
Wolfgang Thaller 59e1127b5c LaunchAPPLServer: check for "optional" headers (for MultiversalInterfaces) 2019-09-09 22:13:28 +02:00
Wolfgang Thaller 898ebff404 improve MultiversalInterfaces compatibility 2019-09-09 01:05:01 +02:00
Wolfgang Thaller 4e7e895782 slight cleanup in class ResourceFile 2019-08-25 17:48:02 +02:00
Wolfgang Thaller e5185d23c3 Switch tab-indented files to 4-space indent 2019-08-18 13:21:00 +02:00
Wolfgang Thaller 9cb90cb3b0 some #include cleanup 2019-08-18 12:31:32 +02:00
Wolfgang Thaller 54201b2733 Don't fail LaunchAPPLServer 68K build if OpenTpt libs are unavailable 2019-08-17 23:49:17 +02:00
Wolfgang Thaller 5bf877c2f9 fix warning 2019-08-12 22:38:13 +02:00
Wolfgang Thaller 7d8b6140d6 work around bug in UniversalInterfaces 3.4.2 2019-08-12 21:17:30 +02:00
Wolfgang Thaller 3612935ed9 documentation updates 2019-06-23 16:50:09 +02:00
Wolfgang Thaller b99f252a27 add missing include (see #80) 2019-03-13 22:42:54 +01:00
Wolfgang Thaller 8d277dfbfa make LaunchAPPL work when only the needed autoquit/autquit7 image is specified 2019-02-11 21:20:21 +01:00
Szymon Łopaciuk 89d4565f0d Autodetect System version for correct AutoQuit
Reads the System resource to find out the System Software
version for running correct AutoQuit.

Includes other minor changes.

Signed-off-by: Szymon Łopaciuk <szymon@lopaciuk.eu>
2019-02-10 01:56:37 +00:00
Szymon Łopaciuk a3919a0bb4 Add support for using AutQuit7
This allows the user to choose whether to use AutoQuit or AutQuit7
(which supports System 7). When the path to AutQuit7 is specified,
it will be configured according to the instructions at
https://www.gryphel.com/c/minivmac/extras/autquit7/ by putting an
alias to AutQuit7 in the "Startup Items" folder. That will cause
the application named "app" in the folder of AutQuit7 (top level,
no change) to start on boot, and will shut down the OS when quit.

Signed-off-by: Szymon Łopaciuk <szymon@lopaciuk.eu>
2019-02-07 23:00:25 +00:00
Szymon Łopaciuk fe00dde02b Fix error on ROM symlink creation if name non-standard
This fixes a bug that appeares when using LaunchAPPL
with Mini vMac and a ROM which name is not "vMac.ROM".

Signed-off-by: Szymon Łopaciuk <szymon@lopaciuk.eu>
2019-02-06 00:04:57 +00:00
Wolfgang Thaller e8f346cc9f LaunchAPPLServer: some tweaks/fixes to standarf file dialogs 2019-01-27 11:35:17 +01:00
Wolfgang Thaller ada9b67a75 LaunchAPPLServer: enable OpenTransport on 68K 2019-01-26 19:05:04 +01:00
Wolfgang Thaller 94c4bbabae StreamBasedLauncher: add missing #include 2019-01-26 14:43:43 +01:00
Wolfgang Thaller 4895adbaa7 LaunchAPPLServer: compatibility fix for older Universal Interfaces (fixes #77) 2019-01-25 20:56:29 +01:00
Wolfgang Thaller 6106b89c9a LaunchAPPLServer: minor bugfixes 2019-01-24 18:15:47 +01:00
Wolfgang Thaller c915b2d011 LaunchAPPLServer: use navservices on 68K 2019-01-24 17:39:10 +01:00
Wolfgang Thaller d16f1aae6b LaunchAPPL: shared file transport 2019-01-23 19:41:12 +01:00
Wolfgang Thaller a993bd3f7f documentation update 2019-01-22 18:28:44 +01:00
Wolfgang Thaller 999897be07 Disk copy 4.2 image support for LaunchAPPL -e minivmac (fixes #76) 2019-01-19 11:47:10 +01:00
Wolfgang Thaller 1fc19efaeb LaunchAPPLServer: use separate OT endpoints for connection 2019-01-11 00:46:36 +01:00
Wolfgang Thaller 75f72af9ac LaunchAPPLServer: logging changes 2019-01-09 20:12:59 +01:00
Wolfgang Thaller 09110dbff4 LaunchAPPL: delay 0.1 seconds so that server has time to reopen the port 2019-01-09 00:33:04 +01:00
Wolfgang Thaller 360c364bf9 LaunchAPPLServer: optional embedded debug console 2019-01-09 00:31:32 +01:00