# kosmo-sys/valeton-english-patch architecture

> Architecture diagram of the GitHub repository kosmo-sys/valeton-english-patch, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kosmo-sys/valeton-english-patch
- Repository: https://github.com/kosmo-sys/valeton-english-patch

## Overview

This repository is a set of PowerShell patchers that replace Chinese firmware strings with English while preserving firmware byte boundaries. The documented GP-50 workflow checks the firmware version, scans a selected region, replaces strings, and writes a patched file. GP-100 and GP-5 patchers are also present, but the README says they have not been hardware-tested. Source excerpts were unavailable, so internal links reflect documented behavior only.

Main entry points: [`GP-50-PatchToEnglish-v1_0_5.ps1`](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1) (GP-50 patcher), [`GP-100-PatchToEnglish-v2.ps1`](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-100-PatchToEnglish-v2.ps1) (GP-100 patcher), [`GP-5-PatchToEnglish-v1_0_6.ps1`](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-5-PatchToEnglish-v1_0_6.ps1) (GP-5 patcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_firmware["Original firmware"]
node_gp50["GP-50 patcher"]
node_version["Version check"]
node_scan["String scanning"]
node_replace["String replacement"]
node_output["Patched firmware"]
node_gp100["GP-100 patcher"]
node_gp5["GP-5 patcher"]

node_user -->|"runs"| node_gp50
node_user -->|"runs"| node_gp100
node_user -->|"runs"| node_gp5
node_firmware -->|"supplies input"| node_gp50
node_gp50 -->|"checks version"| node_version
node_version -->|"permits scanning"| node_scan
node_scan -->|"finds strings"| node_replace
node_replace -->|"writes result"| node_output
node_firmware -->|"supplies input"| node_gp100
node_gp100 -->|"writes patched file"| node_output
node_firmware -->|"supplies input"| node_gp5
node_gp5 -->|"writes patched file"| node_output

click node_gp50 "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1"
click node_version "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1"
click node_scan "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1"
click node_replace "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1"
click node_gp100 "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-100-PatchToEnglish-v2.ps1"
click node_gp5 "https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-5-PatchToEnglish-v1_0_6.ps1"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user toneBlue
class node_firmware,node_output toneIndigo
class node_gp50,node_version,node_scan,node_replace,node_gp100,node_gp5 toneTeal
```

## Components

### Other components

- **User**
- **Original firmware**
- [GP-50 patcher](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1): `GP-50-PatchToEnglish-v1_0_5.ps1`
- [Version check](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1): `GP-50-PatchToEnglish-v1_0_5.ps1`
- [String scanning](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1): `GP-50-PatchToEnglish-v1_0_5.ps1`
- [String replacement](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-50-PatchToEnglish-v1_0_5.ps1): `GP-50-PatchToEnglish-v1_0_5.ps1`
- **Patched firmware**
- [GP-100 patcher](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-100-PatchToEnglish-v2.ps1): `GP-100-PatchToEnglish-v2.ps1`
- [GP-5 patcher](https://github.com/kosmo-sys/valeton-english-patch/blob/master/GP-5-PatchToEnglish-v1_0_6.ps1): `GP-5-PatchToEnglish-v1_0_6.ps1`

## Connections

- User → GP-50 patcher: runs
- User → GP-100 patcher: runs
- User → GP-5 patcher: runs
- Original firmware → GP-50 patcher: supplies input
- GP-50 patcher → Version check: checks version
- Version check → String scanning: permits scanning
- String scanning → String replacement: finds strings
- String replacement → Patched firmware: writes result
- Original firmware → GP-100 patcher: supplies input
- GP-100 patcher → Patched firmware: writes patched file
- Original firmware → GP-5 patcher: supplies input
- GP-5 patcher → Patched firmware: writes patched file
