Skip to content

Commit 50356ee

Browse files
committed
Merge branch 'main' into dev
2 parents ac5e51e + 68d8830 commit 50356ee

File tree

2 files changed

+44
-41
lines changed

2 files changed

+44
-41
lines changed

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,6 @@ v0.3 is relatively cheap and easy to build, schematic and gerbers are available.
104104

105105
<p align="left"><a href="img/pico9918_v0_3_sm.jpg"><img src="img/pico9918_v0_3_sm.jpg" alt="PICO9918 v0.3" width="720px"></a></p>
106106

107-
<p align="left"><a href="img/pico9918_v0_3_sm2.jpg"><img src="img/pico9918_v0_3_sm2.jpg" alt="PICO9918 v0.3" width="720px"></a></p>
108-
109107
I also have the [v0.3 board as a PCBWay Project](https://www.pcbway.com/project/shareproject/PICO9918_Drop_in_replacement_for_the_classic_TMS9918A_family_of_VDPs_fc11359a.html) you can order there.
110108

111109
### Schematics
@@ -118,6 +116,24 @@ If you're not interested in building the firmware yourself, you'll find the late
118116

119117
To install, just hold the 'BOOTSEL' (or 'BOOT') button while plugging the Pico into a PC, then drag the pico9918.uf2 file on to the new USB drive which should have the volume label RPI-RP2. The Pico will restart (and disconnect) automatically.
120118

119+
## Configurator
120+
121+
The configurator is a software tool used to modify PICO9918 configuration options, including:
122+
123+
* Clock rate
124+
* Scanline CRT effect
125+
* Scanline sprite limit
126+
* Default palette
127+
* Diagnostics overlays
128+
129+
Additionally, firmware updates can be provided via the Configurator. The full configurator is available for the **TI-99/4A**, **ColecoVision** and **MSX**. With cut-down builds (without firmware updates) available for several other machines.
130+
131+
See the configurator in action:
132+
133+
[![PICO9918 Configurator - ColecoVision](https://img.visualrealmsoftware.com/youtube/thumb/PBArYupT9qM)](https://youtu.be/PBArYupT9qM?t=9)
134+
135+
The configurator was written in a [custom fork of CVBasic](https://github.com/visrealm/CVBasic) with the full source available in [/configtool](configtool).
136+
121137
## Building
122138

123139
Quick start - build both firmware and configurator ROMs:
@@ -181,3 +197,4 @@ The hardware design files in this repository are licensed under the CERN-OHL-S.
181197
### Firmware
182198
The firmware code in this repository is licensed under the MIT License. See [LICENSE_FIRMWARE.md](LICENSE_FIRMWARE.md) for details.
183199

200+

configtool/CMAKE_BUILD.md renamed to configtool/README.md

Lines changed: 25 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,41 @@
1-
# CMake Build System for PICO9918 Configurator
1+
# PICO9918 Configurator
22

3-
This directory contains a CMake-based build system that replaces the Windows batch file (`build.bat`) with a cross-platform solution.
3+
The configurator is a software tool used to modify PICO9918 configuration options, including:
44

5-
## Features
5+
* Clock rate
6+
* Scanline CRT effect
7+
* Scanline sprite limit
8+
* Default palette
9+
* Diagnostics overlays
610

7-
- **Cross-platform**: Works on Windows, Linux, and macOS
8-
- **Parallel builds**: Multiple platform targets can build simultaneously
9-
- **Better dependency tracking**: Only rebuilds what's changed
10-
- **IDE integration**: Works with VSCode CMake extensions
11-
- **Tool detection**: Automatically finds required compilers and tools
12-
- **Auto-build tools**: Can checkout and build CVBasic, gasm80, and XDT99 from source
11+
Additionally, firmware updates can be provided via the Configurator. The full configurator is available for the **TI-99/4A**, **ColecoVision** and **MSX**. With cut-down builds (without firmware updates) available for several other machines.
1312

14-
## Prerequisites
13+
See the configurator in action:
1514

16-
### Option 1: Use existing tools
15+
[![PICO9918 Configurator - ColecoVision](https://img.visualrealmsoftware.com/youtube/thumb/PBArYupT9qM)](https://youtu.be/PBArYupT9qM?t=9)
16+
17+
The configurator was written in a [custom fork of CVBasic](https://github.com/visrealm/CVBasic).
18+
19+
## Building
20+
21+
### Prerequisites
22+
23+
#### Option 1: Use existing tools
1724
- CMake 3.13 or later
1825
- Python 3 (accessible as `python3`)
1926
- CVBasic compiler (`cvbasic.exe`)
2027
- GASM80 assembler (`gasm80.exe`)
2128
- XDT99 XAS99 assembler (for TI-99 builds)
2229

23-
### Option 2: Auto-build tools (Linux/cross-platform)
30+
#### Option 2: Auto-build tools (Linux/cross-platform)
2431
- CMake 3.13 or later
2532
- Python 3 (accessible as `python3`)
2633
- Git (for checking out tool repositories)
2734
- C compiler (GCC or Clang for building tools)
2835

29-
## Usage
36+
### Usage
3037

31-
### Integrated Build (Recommended)
38+
#### Integrated Build (Recommended)
3239
The configurator is now integrated into the main PICO9918 build system:
3340

3441
```bash
@@ -43,27 +50,28 @@ All final artifacts will be in `build/dist/`:
4350
- **Firmware**: `pico9918-vga-build-v1-0-2.uf2`
4451
- **Configurator ROMs**: `pico9918_v1-0-2_*.rom` / `pico9918_v1-0-2_*.bin`
4552

46-
### Standalone Build (Legacy)
53+
#### Standalone Build (Legacy)
4754
```bash
4855
cd configtool
4956
mkdir build && cd build
5057
cmake .. [-DBUILD_TOOLS_FROM_SOURCE=ON]
5158
make configurator_all
5259
```
5360

54-
### Build Individual Platforms
61+
#### Build Individual Platforms
5562
```bash
5663
make ti99 # TI-99/4A
5764
make ti99_f18a # TI-99/4A F18A Testing
5865
make coleco # ColecoVision
5966
make msx_asc16 # MSX ASCII16 mapper
6067
make msx_konami # MSX Konami mapper
68+
make sg1000 # SG1000/SC3000
6169
make nabu # NABU
6270
make creativision # CreatiVision
6371
make nabu_mame_package # NABU MAME (.npz)
6472
```
6573

66-
### Build with Ninja (faster)
74+
#### Build with Ninja (faster)
6775
```bash
6876
cmake .. -G Ninja [-DBUILD_TOOLS_FROM_SOURCE=ON]
6977
ninja configurator_all
@@ -106,25 +114,3 @@ When enabled, CMake will:
106114
6. Use the locally-built tools for ROM generation
107115

108116
This mode enables fully cross-platform builds without pre-installed tools.
109-
110-
## Comparison with Batch Build
111-
112-
| Aspect | Batch File | CMake |
113-
|--------|------------|-------|
114-
| Platform Support | Windows only | Cross-platform |
115-
| Parallel Builds | Sequential | Parallel |
116-
| Dependency Tracking | Manual | Automatic |
117-
| IDE Integration | None | Full |
118-
| Error Handling | Basic | Comprehensive |
119-
| Maintenance | Complex batch logic | Declarative CMake |
120-
121-
## Backwards Compatibility
122-
123-
The original `build.bat` remains unchanged and functional. This CMake system is an alternative build method, not a replacement.
124-
125-
## Future Enhancements
126-
127-
- [ ] Automatic firmware building if not found
128-
- [ ] CTest integration for ROM validation
129-
- [ ] CPack for distribution packaging
130-
- [ ] Cross-compilation support for ARM/embedded hosts

0 commit comments

Comments
 (0)