psot-merge updates

This commit is contained in:
Kelvin Sherlock committed 2026-03-07 22:58:58 -05:00
1 parent fdd02b9d5b
commit e1745142d2
5 files changed
+5 -144

No files matched your search

+1 -1
View File
@@ -852,7 +852,7 @@ class AmpleMainWindow(QMainWindow):
_xdg_open(self.app_dir)
def open_help_url(self):
_xdg_open("https://github.com/anomixer/ample/tree/master/AmpleLinux")
_xdg_open("https://github.com/ksherlock/ample/tree/master/AmpleLinux")
def init_ui(self):
container = QWidget()
+1 -1
View File
@@ -754,7 +754,7 @@ class AmpleMainWindow(QMainWindow):
os.startfile(self.app_dir)
def open_help_url(self):
os.startfile("https://github.com/anomixer/ample/tree/master/AmpleWin")
os.startfile("https://github.com/ksherlock/ample/tree/master/AmpleWin")
def init_ui(self):
container = QWidget()
-103
View File
@@ -1,103 +0,0 @@
# Pull Request: Fix missing ROM definitions and suggest updated download URL
## 🔍 Symptom
When selecting certain machines in Ample—specifically the **Macintosh PowerBook Duo 280**, **PowerBook Duo 280c**, **Pravetz 8C/82/8M**, and **TK3000 //e**—the application reports missing firmwares. However, these ROMs cannot be found or downloaded through the built-in firmware manager because they are missing from the `roms.plist` definitions, despite being correctly referenced in `models.plist`.
## 🎯 Objective
This PR fixes this discrepancy by adding the missing ROM entries to `Ample/Resources/roms.plist`. It ensures that all machines currently supported by the model definitions can actually be used by allowing the UI to identify and acquire their necessary firmwares. Additionally, we include a suggestion for the download source to improve overall reliability.
---
## 🛠️ Changes in `Ample/Resources/roms.plist`
The following system ROMs were defined in `models.plist` but missing from the firmware management list, preventing users from identifying or downloading required files via the UI.
### 1. Macintosh Additions
* **Target**: After `macpd270c` (around line 1636).
* **Added**: `macpd280` (Macintosh PowerBook Duo 280).
* **Reason**: Consistency with the already present `macpd280c`.
### 2. Apple II Clone & Sub-system Additions
* **Target**: After `ym2608` (around line 2488).
* **Added**:
* `prav8c` (Pravetz 8C)
* `prav82` (Pravetz 82)
* `prav8m` (Pravetz 8M)
* `tk3000` (TK3000 //e)
* `prav8ckb` (Pravetz 8C Keyboard)
* **Reason**: These machines are functional in the core but currently report firmwares as "Not Specified" or "Download Failed" due to missing plist descriptors.
---
## 📝 Proposed XML Snippets
### Location 1: PowerBook Duo Series
```xml
<dict>
<key>value</key>
<string>macpd280</string>
<key>description</key>
<string>Macintosh PowerBook Duo 280</string>
</dict>
```
### Location 2: Apple II Clones & Peripherals
```xml
<dict>
<key>value</key>
<string>prav8c</string>
<key>description</key>
<string>Pravetz 8C</string>
</dict>
<dict>
<key>value</key>
<string>tk3000</string>
<key>description</key>
<string>TK3000 //e</string>
</dict>
<dict>
<key>value</key>
<string>prav82</string>
<key>description</key>
<string>Pravetz 82</string>
</dict>
<dict>
<key>value</key>
<string>prav8m</string>
<key>description</key>
<string>Pravetz 8M</string>
</dict>
<dict>
<key>value</key>
<string>prav8ckb</string>
<key>description</key>
<string>Pravetz 8C Keyboard</string>
</dict>
```
---
## 🌐 Download URL Suggestion
Currently, Ample relies on `callapple.org`. During testing for the Windows port, we observed that:
* `callapple.org` successfully covers the **PowerBook Duo 280/280c** ROMs.
* However, it **lacks coverage** for some Apple II clones such as the **Pravetz** series and **TK3000 //e**.
Therefore, we suggest adding:
**`https://mdk.cab/download/split/`**
as a secondary/fallback URL. It provides complete coverage for these clones and more modern MAME split sets, ensuring a 100% success rate for the systems that are missing on the primary server.
You might also consider implementing a selectable URL list (similar to the **AmpleWin** port) that allows users to pick their preferred source (e.g., mdk.cab or callapple) or automatically failover between them for maximum reliability.
---
## 🎨 About the AmpleWin Port
This PR is submitted in conjunction with the development of **AmpleWin**, a precision Windows port of your project. You can explore the project and its detailed documentation here:
* Project Home: **[https://github.com/anomixer/ample](https://github.com/anomixer/ample)**
* Windows Subdirectory & README: **[https://github.com/anomixer/ample/tree/master/AmpleWin](https://github.com/anomixer/ample/tree/master/AmpleWin)**
Our goal is to achieve **near 100% UI fidelity** and feature parity for Windows users. To maintain a clean integration, all Windows-specific logic, scripts, and binaries are strictly isolated within the `AmpleWin/` subdirectory. We strive to keep the upstream root directory and resources untouched. We are only proposing these changes to `Ample/Resources/roms.plist` because they are functionally essential to allow all machines in the library to be fully "bootable" via the UI for all users.
Thanks for your consideration.
---
*Note: This PR content was prepared by Antigravity AI as part of the AmpleWin Windows port project.*
-37
View File
@@ -1,37 +0,0 @@
# Pull Request: Add native Windows (AmpleWin) and Linux (AmpleLinux) ports
This PR introduces full support for **Windows** and **Linux** platforms, expanding Ample from a macOS-exclusive tool to a cross-platform frontend.
To ensure stability and avoid conflicts with the existing macOS codebase, the new ports are contained in their own dedicated directories (`AmpleWin/` and `AmpleLinux/`) while keeping the root structure clean.
### � Isolation & Safety
**I have NOT touched any of your original macOS code.** The only file modified in the root directory is `README.md`, simply to add links to the new Windows/Linux ports.
You can freely modify these links to point to your own repository structure if you choose to merge this.
### �🚀 Key Features
#### 🪟 Windows Port (`AmpleWin/`)
* **Launcher**: `AmpleWin.bat` script for easy startup.
* **Portable**: Designed to work as a portable app without complex installation.
* **Docs**: Includes detailed installation and usage instructions (English + Traditional Chinese).
#### 🐧 Linux Port (`AmpleLinux/`)
* **One-Click Setup**: `AmpleLinux.sh` automatically creates a virtual environment (`venv`) and installs dependencies (`PySide6`, etc.) on the first run.
* **Desktop Integration**: Includes a `build_elf.sh` script using PyInstaller to create a standalone binary. It also generates and installs a `.desktop` file for proper application menu integration.
* **Smart Detection**:
* Auto-detects system dark/light mode (GNOME/KDE).
* Detects if MAME is missing and offers `snap install mame` on Ubuntu.
* Checks for and installs missing build tools (`binutils`/`objcopy`) required by PyInstaller.
* Fixes common audio permission issues (ALSA group check).
### 📝 Documentation
* Updated the root `README.md` to reference the new ports.
* Added comprehensive `README.md` and `README_tw.md` inside each port directory.
### ✅ Verification
I have tested these changes on:
* **Windows 10/11**: Confirmed launch and ROM management.
* **Ubuntu 22.04 / 24.04**: Verified `AmpleLinux.sh` setup, `build_elf.sh` binary generation, and icon integration.
Hope this helps expand the user base for Ample! Thanks for the great original work.
+3 -2
View File
@@ -2,8 +2,9 @@
A slightly more user-friendly front-end for using MAME as an Apple II emulator. Requires Mac OS X 10.14+
> Windows users might want to check out [AmpleWin](https://github.com/anomixer/ample/tree/master/AmpleWin).
> Linux users might want to check out [AmpleLinux](https://github.com/anomixer/ample/tree/master/AmpleLinux).
> Windows users might want to check out [AmpleWin](https://github.com/ksherlock/ample/tree/master/AmpleWin) (thanks to anomixer).
> Linux users might want to check out [AmpleLinux](https://github.com/ksherlock/ample/tree/master/AmpleLinux) (thanks to anomixer).
![](screenshots/2021-07-01.png)