Difference between revisions of "Install/macOS"

From MSX Game Library

< Install

 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''macOS''' users need to manually setup their environment before they can run the MSXgl's [[Build tool]].
+
== Default ==
 +
 
 +
For the [[install]]ation, '''macOS''' users need to manually setup their environment before they can run the MSXgl's [[Build tool]].
 
Here is a guide provided by user Syntrax to help you in this process.
 
Here is a guide provided by user Syntrax to help you in this process.
  
== Node.js ==
+
=== Node.js ===
* Install [https://nodejs.org/ Node.js] (18.12.1 or newer)
+
* Install [https://nodejs.org/ Node.js] (18.12.1 or newer), or use [https://github.com/nvm-sh/nvm NVM] (<tt>brew install nvm</tt>)
  
== SDCC ==
+
=== SDCC ===
* Install [https://sdcc.sourceforge.net/ SDCC] 4.2.0
+
* Install [https://sdcc.sourceforge.net/ SDCC] 4.2.0, or use Brew (<tt>brew install sdcc</tt>)
: Unpack archive: <tt>sudo cp -R * /usr/opt/.</tt>
 
  
== Tools ==
+
=== Tools ===
Go in to the MSXgl folder and recompile all the enclosed tools. As sources are included, its mostly <tt>./build.sh</tt>.
+
Go in to the MSXgl folder and recompile all the enclosed tools. As sources are included, its mostly running <tt>./build.sh</tt> on every folder.
At minimum, you require the xcode terminal environment.
+
At minimum, you require the Xcode Command line tools (<tt>xcode-select --install</tt>).
 
That will compile for example <tt>MSXhex</tt>, <tt>MSXbin</tt> and <tt>msxtar</tt>.
 
That will compile for example <tt>MSXhex</tt>, <tt>MSXbin</tt> and <tt>msxtar</tt>.
  
== Build ==
+
=== Build ===
 
Then the project/sample's <tt>build.sh</tt> script will start calling SDCC components or the binaries.
 
Then the project/sample's <tt>build.sh</tt> script will start calling SDCC components or the binaries.
 
macOS will block that for security reasons, so build.sh will fail.
 
macOS will block that for security reasons, so build.sh will fail.
* Go to system setting, security and privacy.
+
You must de-quarantine the freshly built/downloaded binaries:
* There you will find a small part that says ''"allow appstore and third parties"'' or ''"allow appstore"'' and a button ''"Allow anyway"''.
+
 
* Then macOS will ask your administrator credentials and register the binary as safe.
+
<tt>xattr -r -d com.apple.quarantine ./MSXgl</tt>
* When you run <tt>build.sh</tt>, a new popup will appear warning the user about an unknown source but you will have a button "Open".
 
* Press that and the binary will start.
 
* Repeat this for every step in <tt>build.sh</tt>.
 
* Once the first project has been build, you probably won't need it anymore unless a previously not used tool is started, which hasn't been authorized yet.
 
  
 
The full process takes about 10~15 minutes to get it up and running.
 
The full process takes about 10~15 minutes to get it up and running.
  
Note:
+
Notes:
 
* <tt>[[MSXhex]]</tt> is used to convert .IHX files generated by SDCC into final binary file (.ROM, .COM or .BIN).
 
* <tt>[[MSXhex]]</tt> is used to convert .IHX files generated by SDCC into final binary file (.ROM, .COM or .BIN).
 
* <tt>msxtar</tt> (not part of [[MSXtk]]) is used to generate .DSK file for MSX-DOS or BASIC binary target.
 
* <tt>msxtar</tt> (not part of [[MSXtk]]) is used to generate .DSK file for MSX-DOS or BASIC binary target.
 
* Other tools from MSXtk are not part of the build process.
 
* Other tools from MSXtk are not part of the build process.
 +
 +
== Using Docker ==
 +
 +
 +
This is a quick list of the item of user Sergarbes guide on macOS and Docker.
 +
 +
MSXgl (Ventura, Sonoma and above)
 +
 +
* Activate the display of hidden files
 +
* Enable Privacy & Security
 +
* Install Homebrew (The Missing Package Manager for macOS or Linux)
 +
* Install Git
 +
* Install Docker
 +
* '''Run a ARM based Debian instance in Docker'''
 +
* '''Install node.js in the Docker container'''
 +
* '''Install sdcc in the Docker container'''
 +
* Create a user with the same name of your Mac user in the Debian Docker Container for the ease of the permission issues
 +
* Download copy and unzip MSXgl directory to you macOS Developer directory
 +
* In order to adapt the binaries to your Mac you need to compile the build tools utilities.
 +
* Modifying the .js default configuration binaries location to point the installed ones
 +
* Compile the template to see that all is ok
 +
* Run OpenMSX and insert the ROM
 +
 +
Items in bold can be ignored if using the image I created and published on Docker Hub https://hub.docker.com/r/sergarbes/msxgl

Latest revision as of 12:45, 26 June 2024

Default

For the installation, macOS users need to manually setup their environment before they can run the MSXgl's Build tool. Here is a guide provided by user Syntrax to help you in this process.

Node.js

  • Install Node.js (18.12.1 or newer), or use NVM (brew install nvm)

SDCC

  • Install SDCC 4.2.0, or use Brew (brew install sdcc)

Tools

Go in to the MSXgl folder and recompile all the enclosed tools. As sources are included, its mostly running ./build.sh on every folder. At minimum, you require the Xcode Command line tools (xcode-select --install). That will compile for example MSXhex, MSXbin and msxtar.

Build

Then the project/sample's build.sh script will start calling SDCC components or the binaries. macOS will block that for security reasons, so build.sh will fail. You must de-quarantine the freshly built/downloaded binaries:

xattr -r -d com.apple.quarantine ./MSXgl

The full process takes about 10~15 minutes to get it up and running.

Notes:

  • MSXhex is used to convert .IHX files generated by SDCC into final binary file (.ROM, .COM or .BIN).
  • msxtar (not part of MSXtk) is used to generate .DSK file for MSX-DOS or BASIC binary target.
  • Other tools from MSXtk are not part of the build process.

Using Docker

This is a quick list of the item of user Sergarbes guide on macOS and Docker.

MSXgl (Ventura, Sonoma and above)

  • Activate the display of hidden files
  • Enable Privacy & Security
  • Install Homebrew (The Missing Package Manager for macOS or Linux)
  • Install Git
  • Install Docker
  • Run a ARM based Debian instance in Docker
  • Install node.js in the Docker container
  • Install sdcc in the Docker container
  • Create a user with the same name of your Mac user in the Debian Docker Container for the ease of the permission issues
  • Download copy and unzip MSXgl directory to you macOS Developer directory
  • In order to adapt the binaries to your Mac you need to compile the build tools utilities.
  • Modifying the .js default configuration binaries location to point the installed ones
  • Compile the template to see that all is ok
  • Run OpenMSX and insert the ROM

Items in bold can be ignored if using the image I created and published on Docker Hub https://hub.docker.com/r/sergarbes/msxgl