| images | ||
| src | ||
| LICENSE | ||
| Makefile | ||
| Readme.md | ||
MAGIC ON LINUX CONFIGURATOR (v1.2.5)
The MagicOnLinux Configurator (MoL-Config) is a GTK+ utility designed to easily manage the configuration file (usually located at '~/.config/magiclinux.conf') for the MagicOnLinux emulation project.
It provides a graphical interface (GUI) for setting up core paths, devices, screen parameters, and especially for managing additional mounted drives without requiring manual file editing.
1. BUILDING AND INSTALLATION
To compile MoL-Config, you need a C compiler (GCC) and the GTK+ 3 development libraries, including the necessary header files and modules (via pkg-config).
1.1. REQUIRED PACKAGES (Development)
Install the GTK3 development packages using your distribution's package manager.
- Debian/Ubuntu/Mint:
sudo apt install build-essential libgtk-3-dev - Fedora/RHEL/CentOS Stream:
sudo dnf install gcc gtk3-devel - Arch/Manjaro:
sudo pacman -S base-devel gtk3
1.2. COMPILATION STEPS
The project uses a standard Makefile.
-
Navigate to the source directory: cd mol-config/
-
Compile the program using the Makefile: make
(This executes the following command, using pkg-config to link all GTK dependencies: gcc mol-config.c -o mol-config $(pkg-config --cflags --libs gtk+-3.0) -Wall)
-
Run the program: ./mol-config
2. USAGE AND STARTUP OPTIONS
SYNTAX: ./mol-config [OPTIONS] [CONFIG_FILE]
OPTIONS: --config <FILE_PATH> Specifies an alternative configuration file path, overriding the default (~/.config/magiclinux.conf). --debug Activates debug mode. This adds a final tab showing the configuration structure currently held in memory. --help Displays the command-line help message.
NOTES:
- Closing the application window or pressing Ctrl+Q will prompt the user to discard unsaved changes before exiting.
- Configurations are automatically backed up to <FILE_PATH>.bak upon saving.
3. MAIN TABS AND FUNCTIONS
The application interface is structured into several tabs, grouped by function. The 'MagicOnLinux Configurator' (Info) tab is always the last, unless '--debug' is active, in which case the 'DEBUG' tab is the absolute last tab.
3.1. HOST PATHS (Tab 1: Icon 'folder')
This section manages the core files and folders required for the emulation environment.
- CORE PATH MOUNTING:
- Kernel File (ROM): Path to the Atari kernel/ROM file.
- Root Filesystem (Folder): Path to the root file system folder.
- Mount /home in Host Home Folder: Enables mounting the host's $HOME directory as the Atari's /home directory (Toggle: YES/NO).
- Host Home Folder Read-Only: Makes the /home mount read-only (Flag 1).
- Mount Host Root Path (/): Enables mounting the host's root directory (/) into the emulation.
- Host Root Path Read-Only: Makes the host root mount read-only.
- OPTIONAL PATHS:
- Temporary Host Path: Defines a temporary folder path used by the emulator.
3.2. HOST DEVICES (Tab 2: Icon 'drive-harddisk')
Configures host peripherals and system commands used by the Atari environment.
- Print Command: Specifies the host command or program path used for printing from the emulation (e.g., 'lpr -P my_printer' or '/dev/null').
- Serial Device File: Path to the serial device file (e.g., '/dev/ttyS0').
3.3. ATARI SCREEN (Tab 3: Icon 'video-display')
Controls the display resolution and scaling options of the emulated Atari screen.
- RESOLUTION AND SCALING:
- Resolution (Width/Height in Pixels): Defines the initial window size.
- X/Y Stretch Factor (Scaling): Scaling multiplier (1 = default, 2 = double).
- Refresh Rate (Hz): Target refresh rate for the emulated screen.
- COLOR MODE AND OPTIONS:
- Color Depth/Mode: Selects the color depth (e.g., 0: 24-bit TrueColor).
- Hide Host Mouse Pointer: Hides the host cursor when hovering over the window.
3.4. WINDOW PLACEMENT (Tab 4: Icon 'view-fullscreen')
Defines where the application window appears on the host's desktop.
- Display Number (0, 1, ...): Specifies the display or monitor number.
- Window Position X/Y (Left/Top): Defines the window's top-left coordinate. (This value is updated and saved automatically upon closing the window.)
3.5. EMULATION (Tab 5: Icon 'preferences-system')
Contains general settings for the Atari emulation environment.
- Memory Size (RAM in Bytes): Selects the amount of RAM available (e.g., 8MB, 16MB).
- Language ROM Mode: Sets the active language ROM (0: German, 1: English (USA), 2: French).
- Show Host Menu: Enables/disables the display of the host application menu.
- Autostart Emulation: Starts the emulation automatically on launch.
3.6. ADDITIONAL DRIVES (Tab 6: Icon 'drive-removable-media')
Manages additional disk image files or host folders mounted as Atari drives (A-Z).
- DRIVE MANAGEMENT:
- Add Folder Drive: Opens a dialog to select a host folder to be mounted.
- Add Image File: Opens a dialog to select a disk image file (.img, .vhd, etc.).
- Modify / Delete: Allows changing the drive letter, flags, or removing an existing drive entry.
- DRIVE DETAILS DIALOG:
- Drive Letter (A-Z): Assigns a unique letter (must be unoccupied).
- Drive Flags (Bitmask): Sets access options:
- Flag 1 (Read-Only): Prevents writing to the drive.
- Flag 2 (8.3 Filenames): Forces short FAT-style filenames.
- Flag 4 (Ignore Case): Ignores case sensitivity during file access.
3.7. MAGIC ON LINUX CONFIGURATOR (Info Tab)
Displays version information, license details (GPL), and contact information for the author.
3.8. DEBUG: CONFIGURATION STRUCTURE (Debug Tab)
(Only visible if the --debug flag is used during startup). Displays the current internal configuration structure as read from and modified by the GUI, including real-time updates from user input.
4. SAVE FUNCTIONALITY
The 'Save Configuration' button at the bottom of the window writes all current settings and the drive list back to the configuration file ('~/.config/magiclinux.conf' or the file specified via '--config'). The program tracks unsaved changes, prompting the user if they try to close the window without saving.
