add files for wiki.clockworkpi.com

This commit is contained in:
cuu 2024-02-21 21:17:50 -08:00
parent 47f750411b
commit 4a73e81b01
70 changed files with 1812 additions and 6 deletions

12
Gemfile
View File

@ -2,11 +2,19 @@ source "https://rubygems.org"
# Run Jekyll with `bundle exec`, like so:
# bundle exec jekyll serve
gem "jekyll", "3.8.5"
gem "nokogiri"
gem "jekyll", "~> 3.9"
gem "kramdown-parser-gfm", "~> 1.1"
group :jekyll_plugins do
gem "jekyll-feed"
gem "jekyll-mentions"
gem "jekyll-redirect-from"
gem "jekyll-sitemap"
gem "jekyll-avatar"
gem "jemoji"
gem 'jekyll-asciidoc', "~> 2.1.1"
gem "jekyll-toc", "~> 0.11.0"
gem "webrick"
end

View File

@ -1,6 +1,6 @@
title: Jekyll for Wiki
title: Wiki
description: > # this means to ignore newlines
Bootstrap project based on Jekyll to build a static Wiki
Jekyll to build a static Wiki
baseurl: "" # the subpath of your site, e.g. /blog
url: "htpps://jek4wik.github.io"

View File

@ -55,3 +55,46 @@ body {
display: none;
}
}
table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
td,
th {
padding: 0;
}
table th {
font-weight: 600;
}
table th,
table td {
padding: 6px 13px;
border: 1px solid #d0d7de;
}
table td>:last-child {
margin-bottom: 0;
}
table tr {
background-color: #ffffff;
border-top: 1px solid hsla(210,18%,87%,1);
}
table tr:nth-child(2n) {
background-color: #f6f8fa;
}
table img {
background-color: transparent;
}

13
_wiki/3D_Models.md Normal file
View File

@ -0,0 +1,13 @@
---
layout: simple
title: 3D_Models
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Official 3D models
Please use the discount code " STL " to download these files from
[ClockworkPi
Shop](https://www.clockworkpi.com/product-page/gameshell-3d-models-in-stl-format).

10
_wiki/Assembly.md Normal file
View File

@ -0,0 +1,10 @@
---
layout: simple
title: Assembly
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
[Official assembly
guide](https://github.com/clockworkpi/GameShellDocs/blob/master/clockwork_GameShell_Assembly_Guide.pdf)

41
_wiki/Batteries.md Normal file
View File

@ -0,0 +1,41 @@
---
layout: simple
title: Batteries
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
The 18650 batteries are NOT included in the package due to global supply
chain interruptions, as of writing. Finding 18650s in stock may require
extra searching.
There is an [extensive thread discussing
18650](https://forum.clockworkpi.com/t/battery-model-recommendation/6611/2)
batteries on the Clockwork Forums.
### Sizes
The 18650 comes in various sizes, and the DevTerm battery holder is
compatible with those sized **Φ18±0.5mm diameter, 65-69mm length**. If
oversized batteries are too big, they will put extra tension on the
battery springs or plastic cover, potentially denting the batteries or
damaging your hardware. This being said, many of the recommended
batteries are a "tight fit."
### Circuit Protection
The battery module has "Short Circuit and Reverse Polarity Protection"
features, but you are still advised to purchase the batteries from a
reliable distributor and install them correctly. Nitecore and Panasonic
are regularly cited as reliable bands that produce multiple 18650
models, some featuring protected cells to prevent accidental damage to
the batteries or DevTerm.
### Avoiding Counterfeits
18650 batteries are commonly used in [vaping
devices](https://en.wikipedia.org/wiki/Electronic_cigarette) and may be
available at local retail stores that carry such equipment. Beware of
counterfeit and/or poorly made batteries when ordering online. It is
best to stick with reputable brands.

128
_wiki/CORE.md Normal file
View File

@ -0,0 +1,128 @@
---
layout: simple
title: CORE
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Core Modules
<table>
<thead>
<tr class="header">
<th><p>Model</p></th>
<th><p>CPU Microarchitecture</p></th>
<th><p>Frequency</p></th>
<th><p>Cores</p></th>
<th><p>GPU</p></th>
<th><p>RAM</p></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>A-0401</p></td>
<td><p>ARM64-bit Quad-core Cortex-A53</p></td>
<td><p>1.8GHz</p></td>
<td><p>4</p></td>
<td><p>Mali-T720</p></td>
<td><p>1GB LPDDR3</p></td>
</tr>
<tr class="even">
<td><p>A-0402</p></td>
<td><p>ARM64-bit Quad-core Cortex-A53</p></td>
<td><p>1.8GHz</p></td>
<td><p>4</p></td>
<td><p>Mali-T720</p></td>
<td><p>2GB LPDDR3</p></td>
</tr>
<tr class="odd">
<td><p>A-0602</p></td>
<td><p>ARM64-bit Dual-core Cortex-A72<br />
ARM64-bit Quad-core Cortex-A53</p></td>
<td><p>1.8GHz<br />
1.4GHz</p></td>
<td><p>6</p></td>
<td><p>Mali-T864</p></td>
<td><p>2GB LPDDR3</p></td>
</tr>
<tr class="even">
<td><p>A-0604</p></td>
<td><p>ARM64-bit Dual-core Cortex-A72<br />
ARM64-bit Quad-core Cortex-A53</p></td>
<td><p>1.8GHz<br />
1.4GHz</p></td>
<td><p>6</p></td>
<td><p>Mali-T864</p></td>
<td><p>4GB LPDDR3</p></td>
</tr>
<tr class="odd">
<td><p>RPI-CM3</p></td>
<td><p>ARM64-bit Quad-Core Cortex-A53<br />
(Raspberry PI CM3+ LITE)</p></td>
<td><p>1.2GHz</p></td>
<td><p>4</p></td>
<td><p>VideoCore 4</p></td>
<td><p>1GB LPDDR3</p></td>
</tr>
</tbody>
</table>
## DevTerm A-06 core CPU frequency scaling
*from yong on the [clockwork
forums](https://forum.clockworkpi.com/t/devterm-a-06-core-cpu-frequency-scaling/7135)*
The DevTerm A-06 core modules have 6 processor cores, arranged in ARM
big.LITTLE 3 heterogeneous computing architecture, combining relatively
battery-saving and slower processor ( LITTLE : \#0, \#1, \#2, \#3 )
cores with relatively more powerful and power-hungry ( big : \#4, \#5)
ones. You could have to option to turn on or off any core at any time
according to your own computing needs.
For example, the command to turn on core \#5 is:
`   sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu5/online"`
the command to turn off core \#0 is:
`   sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu0/online"`
The result could be verified with htop command.
In addition, user could simply use a tool called cpupower-gui to
configure core frequency and CPU scheduling governor: performance,
powersave, or schedutil and conservative. While powersave mode
aggressively keeps CPU cores running at the lowest frequency, the
performance mode always run in highest frequency. schedutil and
conservative will automatically adjust CPU frequency according to
application requirement, to achieve the balance between power-saving and
performance. That means, if you like, under extreme situations, the A-06
core module could be run either with only one LITTLE core at 408MHz, or
with all six cores at 1416MHz. There is ample room in between for
fine-tuning and dynamic controls. e.g. Android users love schedutil mode
for its efficiency, for details about scaling and different scaling
governors, please refer to:
<https://wiki.archlinux.org/title/CPU_frequency_scaling>
Similarly, A-06 GPU frequency and scheduling could be configured by
setting: /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/
By default, the A-06 core modules are set to run on 4 cores, with
conservative scaling governor, at 408-1000MHz.
You could play with these frequency scaling parameters according to your
specific application needs. For example, with these following commands,
the A-06 core could achieve potentially better power management than
CM3.
`   echo schedutil > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor`
`   echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
`   echo 800000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq`
`   echo 0 > /sys/devices/system/cpu/cpu2/online`
`   echo 0 > /sys/devices/system/cpu/cpu3/online`
`   echo simple_ondemand > /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/governor`
`   echo 400000000 > /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/max_freq`

134
_wiki/ClockworkOS.md Normal file
View File

@ -0,0 +1,134 @@
---
layout: simple
title: ClockworkOS
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## DevTerm CM3 OS image
<figure>
<img src="img/FAA_u-qUYAUPZt2.jpg" title="FAA_u-qUYAUPZt2.jpg" />
<figcaption>FAA_u-qUYAUPZt2.jpg</figcaption>
</figure>
### Forum
Official releases are posted in the [Clockwork
Forum](https://forum.clockworkpi.com/t/devterm-os-cm3-image-files/7151/12)
### Download
- <http://dl.clockworkpi.com/DevTerm_CM3_v0.1.img.bz2>
- [Mirror
\#1](https://wiki.clockworkpi.com/images/files/DevTerm_CM3_v0.1.img.bz2)
- [Torrent](https://wiki.clockworkpi.com/images/files/DevTerm_CM3_v0.1.img.bz2.torrent)
md5sum: 285221cd46e9076763bc199eb273f83d
Size: 3.2G
### v0.1 Latest Release Notes
- Based on the Raspberry Pi OS ARM32 system Linux Kernel v4.19
(Following the principle of [minimal
changes](https://github.com/clockworkpi/DevTerm/wiki/Devterm-CM3-rpi-os-image))
- Friendly modified LXDE desktop environment Raspberry Pi
- Rechargeable battery energy management
- Standard CUPS thermal printer driver support
- **A BIG THANK YOU** to the open source ecosystem and all supporters
from around the world!
### Default login
- The default user is **pi**
- The default password is **pi** if not modified during initial boot
## CM3 Image Details
Instructions to create the CM3 image from scratch are documented on the
[github
wiki](https://github.com/clockworkpi/DevTerm/wiki/Create-DevTerm-CM3-OS-image-from-scratch).
## CM3 Ubuntu Server Image
Instructions to create an Ubuntu Server image for the CM the are
documented on the [github
wiki](https://github.com/clockworkpi/DevTerm/wiki/Devterm-CM3-ubuntu-server-image).
## DevTerm A06 OS Image
<figure>
<img src="DevTermA06OS.jpg" title="DevTermA06OS.jpg" />
<figcaption>DevTermA06OS.jpg</figcaption>
</figure>
### Forum
Official releases are posted in the [Clockwork
Forum](===_Forum_===_Official_releases_are_posted_in_the_Clockwork_Forum "wikilink")
### Download
- <http://dl.clockworkpi.com/DevTerm_A06_v0.1.img.bz2>
- [Mirror
\#1](https://wiki.clockworkpi.com/images/files/DevTerm_A06_v0.1.img.bz2)
- [Torrent](https://wiki.clockworkpi.com/images/files/DevTerm_A06_v0.1.img.bz2.torrent)
md5sum: dec36a075b52cd0673d3f64ed30227b8 Size: 1.4G
### v0.1 latest release notes
- Based on the Armbian 21.08.0 Trunk Hirsute ARM64 system (Following the
principle of [minimal
changes](https://github.com/clockworkpi/DevTerm/wiki/Create-DevTerm-A06-OS-image-from-scratch))
- Linux Kernel v5.10
- Lightweight Xfce4 desktop environment
- Rechargeable battery energy management
- Standard CUPS thermal printer driver support
- **A BIG THANK YOU** to the open source ecosystem and all supporters
from around the world!
### Default login
- The default user is **cpi**
- The default password is **cpi** if not modified during initial boot
## A06 OS Image Details
Instructions to create the A06 image from scratch are documented on the
[github
wiki](https://github.com/clockworkpi/DevTerm/wiki/Create-DevTerm-A06-OS-image-from-scratch).
## DevTerm A04 OS Image
<figure>
<img src="A04-image.png" title="A04-image.png" />
<figcaption>A04-image.png</figcaption>
</figure>
### Forum
Official releases are posted in the [Clockwork
Forum](===_Forum_===_Official_releases_are_posted_in_the_Clockwork_Forum "wikilink")
### Download
- <http://dl.clockworkpi.com/DevTerm_A04_v0.1a.img.bz2>
- [Mirror
\#1](https://wiki.clockworkpi.com/images/files/DevTerm_A04_v0.1a.img.bz2)
- [Torrent](https://wiki.clockworkpi.com/images/files/DevTerm_A04_v0.1a.img.bz2.torrent)
md5sum: b86dcf58f931b7b8102b3a924655c62f Size: 1.4G
### Default login
- The default user is **cpi**
- The default password is **cpi** if not modified during initial boot
## A04 OS Image Details
Instructions to create the A04 image from scratch are documented on the
[github
wiki](https://github.com/clockworkpi/DevTerm/wiki/Create-DevTerm-A04-OS-image-from-scratch).

View File

@ -0,0 +1,52 @@
---
layout: simple
title: Compatible_emulators
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## RetroArch
For now emulator cores that appear in the \`Retro Games\` menu in the
launcher are listed. In the future, add all cores that known to run
properly or not.
### Legend
- <span style="color:green">Compatible</span>: Works perfectly without
issues
- <span style="color:orange">Works</span>: Works but it could be better
- <span style="color:red">Incompatible</span>: Doesn't work yet for some
reasons
- <span style="color:red">Needs GPU drivers</span>: 3D games run too
slowly without hardware acceleration.
| Emulator Core | Console | Compatibility | Remarks |
|---------------|--------------------------|---------------------------------------------|---------|
| MAME | Arcade | <span style="color:green">Compatible</span> | |
| Nestopia | NES | <span style="color:green">Compatible</span> | |
| Snes9x | SNES | <span style="color:green">Compatible</span> | |
| mGBA | GB, GBC, GBA | <span style="color:green">Compatible</span> | |
| gbSP | GBA | <span style="color:green">Compatible</span> | |
| Gearsystem | Master System, Game Gear | <span style="color:green">Compatible</span> | |
| blueMSX | MSX, ColecoVision | <span style="color:green">Compatible</span> | |
| handy | Lynx | <span style="color:green">Compatible</span> | |
| Fuse | ZX Spectrum | <span style="color:green">Compatible</span> | |
## Standalone emulators
For now the instructions are linked to the forum post. In the future, we
should put the instructions in the wiki page of the emulator.
| Emulator | Console | Compatibility | Instructions |
|-------------------------------------|--------------|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Ohboy](Ohboy "wikilink") | GB, GBC | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/ohboy-standalone-build/3887) |
| [mGBA](mGBA "wikilink") | GB, GBC, GBA | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/mgba-emulator-standalone/3908) |
| [gpSP](gpSP "wikilink") | GBA | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/gpsp-for-gameshell-alone-build/3866) [Forum](https://forum.clockworkpi.com/t/working-gpsp-file-link/2286) |
| [FCEUX](FCEUX "wikilink") | NES | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/fceux-for-gameshell-alone-build/3875) |
| [PocketSNES](PocketSNES "wikilink") | SNES | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/pocketsnes-standalone-build/3876) |
| [PicoDrive](PicoDrive "wikilink") | Genesis/MD | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/picodrive-for-gameshell-standalone-build/3989) |
| [Mupen64](Mupen64 "wikilink") | N64 | <span style="color:orange">Works</span> | Needs special instructions [Forum](https://forum.clockworkpi.com/t/mupen64-n64-emulator-running/2826) [Forum](https://forum.clockworkpi.com/t/how-to-get-mupen64-to-run/4984) |
| [PCSX](PCSX "wikilink") | PS1 | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/pcsx-rearmed-for-gameshell/436) |
| [UAE](UAE "wikilink") | Amiga | <span style="color:green">Compatible</span> | [Forum](https://forum.clockworkpi.com/t/amiga-uae-emulator/1625) |

View File

@ -0,0 +1,20 @@
---
layout: simple
title: Compatible_game_engines
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
| Game engine | Description | Language | Instructions |
|-------------------------------------------|-------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PyGame](PyGame "wikilink") | An open source Python module for making games | Python | |
| [Python Arcade](Python_Arcade "wikilink") | Easy to use Python library for creating 2D arcade games | Python | [Forum](https://forum.clockworkpi.com/t/the-python-arcade-library/1618) |
| [Pyxel](Pyxel "wikilink") | A retro game engine for Python | Python | |
| [LÖVE2D](LÖVE2D "wikilink") | An open source 2D game engine | Lua | [Forum](https://forum.clockworkpi.com/t/love2d-on-gameshell/92) |
| [Godot](Godot "wikilink") | An open source 2D and 3D game engine | GDScript, C# | [Forum](https://forum.clockworkpi.com/t/godot-3-any-godot-developers-here/2017) |
| [Phaser.io](Phaser.io "wikilink") | An open source framework for HTML5 games | JavaScript | [Forum](https://forum.clockworkpi.com/t/nwjs-phaser-io-game-engine-tutorial/1330) [Forum](https://forum.clockworkpi.com/t/gsp-gameshell-phaser/1391) |
| [Pico-8](Pico-8 "wikilink") | A fantasy console for making, sharing and playing tiny games and other computer programs. | Lua | [Forum](https://forum.clockworkpi.com/t/how-to-install-pico-8-on-gameshell/1012) |
| [Tic-80](Tic-80 "wikilink") | A fantasy computer for making, playing and sharing tiny games | Lua, JavaScript | The built-in version should work out of the box. [Forum](https://forum.clockworkpi.com/t/tic-80-offline-version-of-cartridges/4274) |
| [raylib](raylib "wikilink") | A a simple and easy-to-use library to enjoy videogames programming. | C | [Forum](https://forum.clockworkpi.com/t/raylib-potential-lib-to-work-with-on-the-clockworkpi/3893) |
| [Lowres NX](Lowres_NX "wikilink") | Program retro games in BASIC! | BASIC | [Forum](https://forum.clockworkpi.com/t/lowres-nx-open-source-fantasy-console-with-basic-scripting/5486) |

10
_wiki/Devterm_Assembly.md Normal file
View File

@ -0,0 +1,10 @@
---
layout: simple
title: Devterm_Assembly
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
[Offical Assembly
Guide](https://github.com/clockworkpi/DevTerm/blob/main/Clockwork_DevTerm_Assembly_Guidelines.pdf)

View File

@ -0,0 +1,134 @@
---
layout: simple
title: Devterm_hardware_info
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
The Devterm hardware is highly configurable, offering swappable CPU
cores and an extension module through which any kind of custom device
can be connected.
## Mainboard
**Tech Specs**
- CPI v3.14 uses a compact design, the size is reduced to 95x77mm.
- PMU chip which supports reliable and complete lithium battery charge
and discharge management
- Integrated 5G-WIFI (802.11ac) + Bluetooth 5.0
- High-gain antenna
- Standard USB-A 2.0 interface x 3 and, an internal contact interface
for the Keyboard module
- USB-C\* charging port
- TF card (Micro SD card) slot\*\*
- 40 Pins MIPI screen interface
- Micro-HDMI interface
- 3.5 headphone jack, supports microphone input
- Onboard stereo audio power amplifier chip
- 40 Pins GPIOs expansion interface (using standard 0.5mm FPC connector)
- 52 Pins extension module interface (using standard Mini PCI-E
connector) for the “EXT. module”
- Standard DDR2-SODIMM 200 Pins interface: connects CPI v3.14 to the
"Core module"
The schematics and related design materials are released under the GPL
v3 license, and you can find them on our
[Github](https://github.com/clockworkpi/DevTerm/blob/main/Schematics/clockwork_Mainboard_V3.14_Schematic.pdf).
## Screen
**Ultrawide 6.8-inch IPS screen**
This ultrawide 6.8-inch IPS screen with a full viewing angle has been
carefully selected for you. Its aspect ratio has reached an astonishing
16:6 (a typical retro-style proportion). The resolution is 1280x480,
which is precisely equal to dual VGA. We hope this screen can bring you
a vintage-feeling, focused, and immersive experience.
### Adjusting Brightness
*from DrRacoon on the [clockwork
forums](https://forum.clockworkpi.com/t/changing-brightness-terminal/7070)*
You can change the brightness of your DevTerm in the terminal. To do so,
just echo a new value into the brightness file which lives @
/sys/class/backlight/backlight@0. In this folder, youll find some
useful files, such as: actual_brightness, brightness & max_brightness.
This was tested and accomplished on the DevTerm running raspbian.
**How**
To change brightness, you can change brightness to anything between 0
and 9. 0 being backlight off, and 9 being brightest. The device defaults
to 5.
To change brightness, type in (changing N for brightness 0 thru 9):
`   echo N > /sys/class/backlight/backlight@0/brightness`
**Take Note**
For quicker access to changing brightness, see @guus solution for
adjustment via FN keys. Setting brightness to 0 turns off the backlight
and makes the display near impossible to view. This command may require
you to elevate your terminal session to root using su, or
`   sudo bash -c "echo 5 > /sys/class/backlight/backlight@0/brightness"`
#### guu's solution for adjusting brightness
This was made after the CM3 shipped so is not installed by default
`   sudo apt update && sudo apt install devterm-backlight-rpi `
`   sudo reboot`
then we can use FN+\< \> to adjust the backlight
[Source code](https://github.com/cuu/rpi-backlight)
## Battery
We carefully designed the battery holder to make it more compatible with
various 18650 battery sizes: Φ18±0.5mm diameter, 65-69mm length. The
battery module has "Short Circuit and Reverse Polarity Protection"
features, but you are still advised to purchase\* the batteries from a
reliable distributor and install them correctly.
Theoretically, you could use a single 18650 battery to power the system
or replace the batteries one by one even when the system is in use.
These actions can still cause system instability, and we strongly
recommend replacing the batteries after the system is powered down.
Please remove the battery if you do not use the device for a long time.
Please consult the battery supplier for detailed 18650 safe usage rules,
and please strictly follow them.
[Battery
Schematic](https://github.com/clockworkpi/DevTerm/blob/main/Schematics/clockwork_DevTerm_Battery_Schematic.pdf)
## Keyboard
We are very excited to bring you a classical layout keyboard with 67
keys. A physical mini trackball with OK function and three mouse
buttons, the trackball uses four high-sensitivity and high-reliability
designs based on Hall-effect sensors. A set of retro-style gamepad arrow
keys and four buttons included; these eight keys all use independent IO
design to ensure minimal delay in response.
The keyboard central control unit adopts the Arm® Cortex-M3
architecture, which is fully compatible with the Arduino STM32
development environment. A Micro USB-UART programming port allows you to
reprogram and customize the keyboard firmware easily.
The USB POGO Pin on the back of the keyboard is naturally connected to
the mainboard, saving you the tedious operation of cable connection.
The firmware source code, schematic, and related design materials are
released under the GPL v3 license, and you can find them on our
[GitHub](https://github.com/clockworkpi/DevTerm).
## Speaker modules

34
_wiki/EXT..md Normal file
View File

@ -0,0 +1,34 @@
---
layout: simple
title: EXT.
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Ext. module
![](img/Ext_fig01.webp "Ext_fig01.webp") Introducing the DIY-friendly Ext.
module
We specially cut the mainboard in half. Half of it is reserved and used
to carry the imagination and possibility of DIY, and this half is called
the "Ext. Module."
Tech Specs:
- 94x77mm size
- Mini booster fan (6000RPM, the airflow towards CPU)
- Thermal printer interface
- Standard MIPI-CSI (camera interface)
- Two standard USB-A interfaces
- Dual speaker (left and right channel) interface
- Micro USB-UART debugging interface
- 52Pin golden fingers to connect to the mainboard
### Schematic
The schematic and related design materials are released based on the GPL
v3 license, and you can find them on our
[github](https://github.com/clockworkpi/DevTerm/blob/main/Schematics/clockwork_DevTerm_Ext_Schematic.pdf).

242
_wiki/GPIO.md Normal file
View File

@ -0,0 +1,242 @@
---
layout: simple
title: GPIO
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## GPIO
### GameShell
| Type |  Pin # (ext.) |   Pin # (Package) |   Function 1   | Function 2 | Pin # (sysfs) |  Color |
|------|---------------|-------------------|----------------|------------|----------------|---------|
|3V0   | 1   |                 | | | | blue |
|GPIO  | 2   | PB0    | UART0/2_TX   | PB-EINT0   | 32   | green |
|GPIO  | 3   | PB1      | UART0/2_RX   | PB-EINT1   | 33   | yellow |
|GND   | 4             |      | | | | white |
|GPIO  | 5    | PH5     | I2C1-SDA       | | 229      | red |
|GPIO  | 6    | PH4     | I2C1-SCL       | | 228   | brown |
|GND   | 7    |                 | | | | black |
|GPIO  | 8    | PH6     | UART3-TX     | SPI0-CS    | 230      | blue |
|GPIO  | 9    | PH7     | UART3-RX     | SPI0-CLK   | 231      | green |
|GPIO  | 10   | PH9     | UART3-CTS    | SPI0-MISO  | 233       | yellow |
|GPIO  | 11   | PH8     | UART3-RTS    | SPI0-MOSI  | 232      | white |
|GND   | 12    |                | | | | red |
|5V0   | 13    |              | |  | | brown |
|5V0   | 14    |                | | | | black |
| Type | Pin \# (ext.) | Pin \# (Package) | Function 1 | Function 2 | Pin \# (sysfs) | Color |
|------|---------------|------------------|------------|------------|----------------|---------|
| 3V0 | 1 | | | | | blue |
| TODO | Example | Example | Example | Example | Example | Example |
| | | | | | | |
Source: <https://p3dt.net/post/2019/12/26/gameshell-gpios.html>
### A04
Raw output from `gpio readall`:
```
+-----+------+------+------+---+-----+------+------+------+---+
| BCM | GPIO | Name | Mode | V | BCM | GPIO | Name | Mode | V |
+-----+------+------+------+---+-----+------+------+------+---+
|   0 |   58 | PD26 | ALT2 | 0 |  23 |  129 | PG1  | ALT2 | 0 |
|   1 |   57 | PD25 | ALT2 | 0 |  24 |  130 | PG2  | ALT2 | 0 |
|   2 |  167 | PH7  | ALT6 | 1 |  25 |  131 | PG3  | ALT2 | 0 |
|   3 |    0 | PC0  |  OUT | 1 |  26 |  132 | PG4  | ALT2 | 0 |
|   4 |    1 | PC1  |  OFF | 0 |  27 |  133 | PG5  | ALT2 | 0 |
|   5 |    2 | PC2  |  OUT | 1 |  28 |    9 | PC9  |  OUT | 0 |
|   6 |    3 | PC3  |   IN | 1 |  29 |  201 | PL9  |  OUT | 0 |
|   7 |    4 | PC4  |  OUT | 1 |  30 |  196 | PL4  |  OUT | 0 |
|   8 |    5 | PC5  |  OUT | 0 |  31 |  199 | PL7  |  OUT | 0 |
|   9 |    6 | PC6  |  OUT | 1 |  32 |  161 | PH1  | ALT2 | 0 |
|  10 |    7 | PC7  |   IN | 0 |  33 |  160 | PH0  | ALT2 | 0 |
|  11 |    8 | PC8  |  OUT | 1 |  34 |  227 | PM3  |   IN | 1 |
|  12 |   15 | PC15 |  OFF | 0 |  35 |  198 | PL6  |   IN | 1 |
|  13 |   54 | PD22 |  OFF | 0 |  36 |  163 | PH3  |  OUT | 1 |
|  14 |  134 | PG6  | ALT2 | 0 |  37 |  166 | PH6  |  OUT | 0 |
|  15 |  135 | PG7  | ALT2 | 0 |  38 |  165 | PH5  | ALT2 | 0 |
|  16 |  137 | PG9  | ALT2 | 0 |  39 |  164 | PH4  | ALT2 | 0 |
|  17 |  136 | PG8  | ALT2 | 0 |  40 |  228 | PM4  |  OUT | 0 |
|  18 |  139 | PG11 |  OFF | 0 |  41 |  224 | PM0  |  OUT | 0 |
|  19 |  138 | PG10 |  OFF | 0 |  42 |  225 | PM1  |  OFF | 0 |
|  20 |  141 | PG13 |  OFF | 0 |  43 |  226 | PM2  |  OFF | 0 |
|  21 |  140 | PG12 |  OFF | 0 |  44 |   56 | PD24 | ALT2 | 0 |
|  22 |  128 | PG0  | ALT2 | 0 |  45 |   55 | PD23 | ALT2 | 0 |
+-----+------+------+------+---+-----+------+------+------+---+
| BCM | GPIO | Name | Mode | V | BCM | GPIO | Name | Mode | V |
+-----+------+------+------+---+-----+------+------+------+---+
```
#### Details
| wiringpi# | GPIO (?) | Name | Mode | Value | Description |
|-----------|----------|------|------|-------|----------------------------------------------------|
| 0 | 58 | PD26 | ALT2 | 0 | PMU-SDA |
| 1 | 57 | PD25 | ALT2 | 0 | PMU-SCK |
| 2 | 167 | PH7 | ALT6 | 1 | PMU-IRQ |
| 3 | 0 | PC0 | OUT | 1 | WL_REG_ON |
| 4 | 1 | PC1 | OFF | 0 | WL_HOST_WAKE |
| 5 | 2 | PC2 | OUT | 1 | BT_REG_ON |
| 6 | 3 | PC3 | IN | 1 | BT_HOST_WAKE |
| 7 | 4 | PC4 | OUT | 1 | BT_WAKE |
| 8 | 5 | PC5 | OUT | 0 | LCD_RESET |
| 9 | 6 | PC6 | OUT | 1 | BL_CTRL |
| 10 | 7 | PC7 | IN | 0 | HP_DET: 1 if headphone is plugged in, 0 if not |
| 11 | 8 | PC8 | OUT | 1 | PA_EN: write 1 to enable speaker, 0 to disable |
| 12 | 15 | PC15 | OFF | 0 | AUD_PWM0 |
| 13 | 54 | PD22 | OFF | 0 | AUD_PWM1 |
| 14 | 134 | PG6 | ALT2 | 0 | UART_RXD |
| 15 | 135 | PG7 | ALT2 | 0 | UART_TXD |
| 16 | 137 | PG9 | ALT2 | 0 | UART_RTS_N |
| 17 | 136 | PG8 | ALT2 | 0 | UART_CTS_N |
| 18 | 139 | PG11 | OFF | 0 | PCM_CLK |
| 19 | 138 | PG10 | OFF | 0 | PCM_SYNC |
| 20 | 141 | PG13 | OFF | 0 | PCM_OUT |
| 21 | 140 | PG12 | OFF | 0 | PCM_IN |
| 22 | 128 | PG0 | ALT2 | 0 | SDIO_CLK |
| 23 | 129 | PG1 | ALT2 | 0 | SDIO_CMD |
| 24 | 130 | PG2 | ALT2 | 0 | SDIO_D0 |
| 25 | 131 | PG3 | ALT2 | 0 | SDIO_D1 |
| 26 | 132 | PG4 | ALT2 | 0 | SDIO_D2 |
| 27 | 133 | PG5 | ALT2 | 0 | SDIO_D3 |
| 28 | 9 | PC9 | OUT | 0 | (Ext, Printer) AIN1 |
| 29 | 201 | PL9 | OUT | 0 | (Ext, Printer) AIN2 |
| 30 | 196 | PL4 | OUT | 0 | (Ext, Printer) BIN1 |
| 31 | 199 | PL7 | OUT | 0 | (Ext, Printer) BIN2 |
| 32 | 161 | PH1 | ALT2 | 0 | (Ext) UART_TX |
| 33 | 160 | PH0 | ALT2 | 0 | (Ext) UART_RX |
| 34 | 227 | PM3 | IN | 1 | (Ext, Printer) PAPER |
| 35 | 198 | PL6 | IN | 1 | (Ext, Printer) ALERT |
| 36 | 163 | PH3 | OUT | 1 | (Ext, Printer) LATCH |
| 37 | 166 | PH6 | OUT | 0 | (Ext, Printer) STROBE |
| 38 | 165 | PH5 | ALT2 | 0 | (Ext) MOSI |
| 39 | 164 | PH4 | ALT2 | 0 | (Ext) SCK |
| 40 | 228 | PM4 | OUT | 0 | (Ext, Printer) PRT_EN |
| 41 | 224 | PM0 | OUT | 0 | (Ext, Fan) FAN_EN: write 1 to start fan, 0 to stop |
| 42 | 225 | PM1 | OFF | 0 | (Ext, Camera) CAM_EN |
| 43 | 226 | PM2 | OFF | 0 | (Ext, Camera) CAM_LED |
| 44 | 56 | PD24 | ALT2 | 0 | (Ext) I2C_SDA |
| 45 | 55 | PD23 | ALT2 | 0 | (Ext) I2C_SCL |
#### Controller 1: From /sys/kernel/debug/pinctrl/300b000.pinctrl/pinmux-pins
| pin (name) | mux_owner | gpio_owner | hog? | Description |
|----------------|-----------------|---------------------|------------------------------|-----------------------------------------------------------|
| pin 0 (PA0) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 1 (PA1) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 2 (PA2) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 3 (PA3) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 4 (PA4) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 5 (PA5) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 6 (PA6) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 7 (PA7) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 8 (PA8) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 9 (PA9) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 32 (PB0) | 2-2010 | (GPIO UNCLAIMED) | function ccir group PB0 | |
| pin 33 (PB1) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 34 (PB2) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 35 (PB3) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 36 (PB4) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 37 (PB5) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 38 (PB6) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 39 (PB7) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 40 (PB8) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 41 (PB9) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 42 (PB10) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 43 (PB11) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 44 (PB12) | 508f000.i2s | (GPIO UNCLAIMED) | function i2s3 group PB12 | connects to ac200 |
| pin 45 (PB13) | 508f000.i2s | (GPIO UNCLAIMED) | function i2s3 group PB13 | |
| pin 46 (PB14) | 508f000.i2s | (GPIO UNCLAIMED) | function i2s3 group PB14 | |
| pin 47 (PB15) | 508f000.i2s | (GPIO UNCLAIMED) | function i2s3 group PB15 | |
| pin 48 (PB16) | 508f000.i2s | (GPIO UNCLAIMED) | function i2s3 group PB16 | |
| pin 49 (PB17) | 5002c00.i2c | (GPIO UNCLAIMED) | function i2c3 group PB17 | connects to ac200 |
| pin 50 (PB18) | 5002c00.i2c | (GPIO UNCLAIMED) | function i2c3 group PB18 | |
| pin 51 (PB19) | ac200_clk | (GPIO UNCLAIMED) | function pwm1 group PB19 | |
| pin 52 (PB20) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 64 (PC0) | (MUX UNCLIAMED) | 300b000.pinctrl:64 | | GPIO3: WL_REG_ON; /wifi-pwrseq/reset-gpios |
| pin 65 (PC1) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO4: WL_HOST_WAKE |
| pin 66 (PC2) | (MUX UNCLIAMED) | 300b000.pinctrl:66 | | GPIO5: BT_REG_ON; bluetooth/shutdown-gpios |
| pin 67 (PC3) | (MUX UNCLIAMED) | 300b000.pinctrl:67 | | GPIO6: BT_HOST_WAKE; bluetooth/host-wakeup-gpios |
| pin 68 (PC4) | (MUX UNCLIAMED) | 300b000.pinctrl:68 | | GPIO7: BT_WAKE; bluetooth/device-wakeup-gpios |
| pin 69 (PC5) | 1-000e | (GPIO UNCLAIMED) | function gpio_out group PC5 | GPIO8: LCD_RESET |
| pin 70 (PC6) | backlight@0 | 300b000.pinctrl:70 | function gpio_out group PC6 | GPIO9: BL_CTRL; ocp8178_backlight/backlight-control-gpios |
| pin 71 (PC7) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO10: HP_DET; IN; =1 if 3.5mm is plugged in |
| pin 72 (PC8) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO11: PA_EN; OUT; write 1 to enable speaker |
| pin 73 (PC9) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO28: Ext. AIN1 |
| pin 74 (PC10) | 1-000e | 300b000.pinctrl:74 | function gpio_out group PC10 | dsi_bridge/reset-gpios |
| pin 75 (PC11) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 76 (PC12) | (MUX UNCLIAMED) | 300b000.pinctrl:76 | | /ac200_codec_spk/gpio-switch |
| pin 77 (PC13) | 1-000e | 300b000.pinctrl:77 | function gpio_out group PC13 | dsi_bridge/power-gpios |
| pin 78 (PC14) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 79 (PC15) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO12: AUD_PWM0 |
| pin 80 (PC16) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 96 (PD0) | panel | (GPIO UNCLAIMED) | function lcd0 group PD0 | |
| pin 97 (PD1) | panel | (GPIO UNCLAIMED) | function lcd0 group PD1 | |
| pin 98 (PD2) | panel | (GPIO UNCLAIMED) | function lcd0 group PD2 | |
| pin 99 (PD3) | panel | (GPIO UNCLAIMED) | function lcd0 group PD3 | |
| pin 100 (PD4) | panel | (GPIO UNCLAIMED) | function lcd0 group PD4 | |
| pin 101 (PD5) | panel | (GPIO UNCLAIMED) | function lcd0 group PD5 | |
| pin 102 (PD6) | panel | (GPIO UNCLAIMED) | function lcd0 group PD6 | |
| pin 103 (PD7) | panel | (GPIO UNCLAIMED) | function lcd0 group PD7 | |
| pin 104 (PD8) | panel | (GPIO UNCLAIMED) | function lcd0 group PD8 | |
| pin 105 (PD9) | panel | (GPIO UNCLAIMED) | function lcd0 group PD9 | |
| pin 106 (PD10) | panel | (GPIO UNCLAIMED) | function lcd0 group PD10 | |
| pin 107 (PD11) | panel | (GPIO UNCLAIMED) | function lcd0 group PD11 | |
| pin 108 (PD12) | panel | (GPIO UNCLAIMED) | function lcd0 group PD12 | |
| pin 109 (PD13) | panel | (GPIO UNCLAIMED) | function lcd0 group PD13 | |
| pin 110 (PD14) | panel | (GPIO UNCLAIMED) | function lcd0 group PD14 | |
| pin 111 (PD15) | panel | (GPIO UNCLAIMED) | function lcd0 group PD15 | |
| pin 112 (PD16) | panel | (GPIO UNCLAIMED) | function lcd0 group PD16 | |
| pin 113 (PD17) | panel | (GPIO UNCLAIMED) | function lcd0 group PD17 | |
| pin 114 (PD18) | panel | (GPIO UNCLAIMED) | function lcd0 group PD18 | |
| pin 115 (PD19) | panel | (GPIO UNCLAIMED) | function lcd0 group PD19 | |
| pin 116 (PD20) | panel | (GPIO UNCLAIMED) | function lcd0 group PD20 | |
| pin 117 (PD21) | panel | (GPIO UNCLAIMED) | function lcd0 group PD21 | |
| pin 118 (PD22) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO13: AUD_PWM1 |
| pin 119 (PD23) | 5002800.i2c | (GPIO UNCLAIMED) | function i2c2 group PD23 | GPIO44: Ext. I2C_SCL |
| pin 120 (PD24) | 5002800.i2c | (GPIO UNCLAIMED) | function i2c2 group PD24 | GPIO44: Ext. I2C_SDA |
| pin 121 (PD25) | 5002000.i2c | (GPIO UNCLAIMED) | function i2c0 group PD25 | GPIO1: PMU-SCK |
| pin 122 (PD26) | 5002000.i2c | (GPIO UNCLAIMED) | function i2c0 group PD26 | GPIO0: PMU-SDA |
| pin 160 (PF0) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF0 | connects to SD card |
| pin 161 (PF1) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF1 | |
| pin 162 (PF2) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF2 | |
| pin 163 (PF3) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF3 | |
| pin 164 (PF4) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF4 | |
| pin 165 (PF5) | 4020000.mmc | (GPIO UNCLAIMED) | function mmc0 group PF5 | |
| pin 166 (PF6) | (MUX UNCLIAMED) | 300b000.pinctrl:166 | | mmc0/cd-gpios |
| pin 192 (PG0) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG0 | GPIO22: SDIO_CLK; wifi |
| pin 193 (PG1) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG1 | GPIO23: SDIO_CMD; wifi |
| pin 194 (PG2) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG2 | GPIO24: SDIO_D0; wifi |
| pin 195 (PG3) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG3 | GPIO25: SDIO_D1; wifi |
| pin 196 (PG4) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG4 | GPIO26: SDIO_D2; wifi |
| pin 197 (PG5) | 4021000.mmc | (GPIO UNCLAIMED) | function mmc1 group PG5 | GPIO27: SDIO_D3; wifi |
| pin 198 (PG6) | 5000400.serial | (GPIO UNCLAIMED) | function uart1 group PG6 | GPIO14: UART_RXD; bluetooth |
| pin 199 (PG7) | 5000400.serial | (GPIO UNCLAIMED) | function uart1 group PG7 | GPIO15: UART_TXD; bluetooth |
| pin 200 (PG8) | 5000400.serial | (GPIO UNCLAIMED) | function uart1 group PG8 | GPIO17: UART_CTS_N; bluetooth |
| pin 201 (PG9) | 5000400.serial | (GPIO UNCLAIMED) | function uart1 group PG9 | GPIO16: UART_RTS_N; bluetooth |
| pin 202 (PG10) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO19: PCM_SYNC |
| pin 203 (PG11) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO18: PCM_CLK |
| pin 204 (PG12) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO21: PCM_IN |
| pin 205 (PG13) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO22: PCM_OUT |
| pin 206 (PG14) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | |
| pin 224 (PH0) | 5000000.serial | (GPIO UNCLAIMED) | function uart0 group PH0 | GPIO33: Ext. UART_RX |
| pin 225 (PH1) | 5000000.serial | (GPIO UNCLAIMED) | function uart0 group PH1 | GPIO32: Ext. UART_TX |
| pin 226 (PH2) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | should be /connector/ddc-en-gpios??? |
| pin 227 (PH3) | 5011000.spi | (GPIO UNCLAIMED) | function spi1 group PH3 | GPIO36: Ext. LATCH |
| pin 228 (PH4) | 5011000.spi | (GPIO UNCLAIMED) | function spi1 group PH4 | GPIO37: Ext. STROBE |
| pin 229 (PH5) | 5011000.spi | (GPIO UNCLAIMED) | function spi1 group PH5 | GPIO38: Ext. MOSI |
| pin 230 (PH6) | 5011000.spi | (GPIO UNCLAIMED) | function spi1 group PH6 | GPIO39: Ext. SCK |
| pin 231 (PH7) | (MUX UNCLIAMED) | (GPIO UNCLAIMED) | | GPIO2: PMU-IRQ |
| pin 232 (PH8) | 6000000.hdmi | (GPIO UNCLAIMED) | function hdmi group PH8 | |
| pin 233 (PH9) | 6000000.hdmi | (GPIO UNCLAIMED) | function hdmi group PH9 | |
| pin 234 (PH10) | 6000000.hdmi | (GPIO UNCLAIMED) | function hdmi group PH10 | |

18
_wiki/GameShell_Jams.md Normal file
View File

@ -0,0 +1,18 @@
---
layout: simple
title: GameShell_Jams
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
[The 1st GameShell Game Jam (2019Q1)](https://itch.io/jam/gameshell)
[The 2nd GameShell Game Jam
(2019Q2)](https://itch.io/jam/gameshell-19q2)
[The 3rd GameShell Game Jam (2019Q3)
BOOOM!](https://itch.io/jam/gameshell-19q3)
[The 4th GameShell Game Jam
(2019Q4)](https://itch.io/jam/gameshell-19q4)

View File

@ -0,0 +1,10 @@
---
layout: simple
title: GameShell_hardware
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
1. REDIRECT [GameShell hardware
info](GameShell_hardware_info "wikilink")

View File

@ -0,0 +1,50 @@
---
layout: simple
title: GameShell_hardware_info
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Specifications
<table>
<thead>
<tr class="header">
<th><p>Module</p></th>
<th><p>Specifications</p></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p><a href="Mainboard" title="wikilink">Mainboard</a></p></td>
<td><p>v3.1: Quad-core Cortex-A7 CPU, Mali GPU, Wi-Fi &amp; Bluetooth
on-board, 1GB DDR3 Memory, 16GB MicroSD, Micro HDMI output,
GPIOs</p></td>
</tr>
<tr class="even">
<td><p><a href="Keypad" title="wikilink">Keypad</a></p></td>
<td><p>Powered by an ATmega168P MPU@20MIPS with 30Pin Arduino
compatibility GPIOs. 12 independent IO buttons, can be easily expanded
to 17 buttons, support for custom key values.</p>
<p>This module can be used independently with USB port.</p></td>
</tr>
<tr class="odd">
<td><p><a href="Speaker" title="wikilink">Speaker</a></p></td>
<td><p>Two channel stereo speaker</p></td>
</tr>
<tr class="even">
<td><p><a href="Screen" title="wikilink">Screen</a></p></td>
<td><p>2.7 inch TFT RGB@60fps Screen with 320 x 240 resolution</p></td>
</tr>
<tr class="odd">
<td><p><a href="Battery" title="wikilink">Battery</a></p></td>
<td><p>3.7V 1200 mAh rechargeable battery</p></td>
</tr>
<tr class="even">
<td><p><a href="Lightkey" title="wikilink">Lightkey</a></p></td>
<td><p>5 independent IO extended keys. Can be used as L1, R1, L2, R2
buttons</p></td>
</tr>
</tbody>
</table>

9
_wiki/Hardware_Info.md Normal file
View File

@ -0,0 +1,9 @@
---
layout: simple
title: Hardware_Info
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
1. REDIRECT [Devterm hardware info](Devterm_hardware_info "wikilink")

View File

@ -0,0 +1,44 @@
---
layout: simple
title: How-Tos_and_Tweaks
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Window Manipulation
With Xfce on the Devterm A04 and A06, it can be difficult to manipulate
windows that are taller than the screen. There are two lesser-known
modifiers that can aid here:
- **Alt + Left Drag**: Move the window from any position
- **Alt + Right Drag**: Resize the window from any position
These two modifier combinations can move a window from any position,
regardless of how far the title bar is above the top of the screen (or
the resize handle is below the bottom).
## Screen Adjustments with Xrandr
If the screen size is still too small for your use with the Alt
modifiers above, you can use Xrandr to enable panning or scaling on the
display. To enable panning:
xrandr --fb 1280x960 --output DSI-1 --panning 960x0
Or to enable scaling:
xrandr --output DSI-1 --scale 2x2
Fractional values are valid too (like `--scale 1.5x1.5`)
## SDL2 Joystick Profile
Some games rely on SDL2 gamepad detection, which won't detect the
DevTerm pad and buttons by default. To get the gamepad detected, add the
following line to the `.profile` file in your home folder:
export SDL_GAMECONTROLLERCONFIG="03000000af1e00002400000010010000,ClockworkPI DevTerm,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftx:a0,lefty:a1,"
And log out/log back in.

24
_wiki/Kernel.md Normal file
View File

@ -0,0 +1,24 @@
---
layout: simple
title: Kernel
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## GameShell Kernel
TODO <https://github.com/clockworkpi/Kernel>
## CM3 Kernel
Instructions to compile the the DevTerm CM3 kernel are on the [github
wiki](https://github.com/clockworkpi/DevTerm/wiki/How-to-compile-DevTerm-CM3-Kernel).
## A04 Kernel
We do not have any info about this yet
## A06 Kernel
We do not have any info about this yet

31
_wiki/Launcher.md Normal file
View File

@ -0,0 +1,31 @@
---
layout: simple
title: Launcher
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
The GameShell's default interface is the Launcher. The Launcher is
designed around a 320x240 display using the D-pad for input.
<figure>
<img src="img/Launcher-screenshot.png" title="Launcher-screenshot.png" />
<figcaption>Launcher-screenshot.png</figcaption>
</figure>
## Source Code
Launcher is written in [Python](https://www.python.org/), with a few
related shell scripts. You can find it on GitHub:
<https://github.com/clockworkpi/launcher>
## Related Projects
A rewrite of Launcher using [Go](https://golang.org/) is also [hosted on
GitHub](https://github.com/clockworkpi/launchergo). You can switch
between the two in the Launcher's Settings.
## D.E.O.T.
Dimension Engineering Operation Terminal ![](DEOT.jpg "DEOT.jpg")

30
_wiki/Lowres_NX.md Normal file
View File

@ -0,0 +1,30 @@
---
layout: simple
title: Lowres_NX
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## About
Make your own retro games on a virtual game console. Program in the
classic BASIC language and create sprites, tile maps, sound and music
with the included tools. As a beginner you will quickly understand how
to create simple text games or show your first sprite on a tile map. As
an experienced programmer you can discover the full potential of retro
hardware tricks!
## Installation on DevTerm
In a terminal type the following lines to install Lowres NX:
sudo apt install git make build-essential libsdl2-dev libdrm-dev libgbm-dev
git clone https://github.com/timoinutilis/lowres-nx.git
cd lowres-nx/platform/Linux/
make
./output/LowResNX
## Infos
<https://lowresnx.inutilis.com/>

126
_wiki/Main_Page.md Normal file
View File

@ -0,0 +1,126 @@
---
layout: simple
title: Main_Page
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
Welcome to the ClockworkPi community wiki!
## Gameshell
### What is GameShell?
GameShell is an open source portable game console made by
[ClockworkPi](https://www.clockworkpi.com/) after a successful
[Kickstarter
campaign](https://www.kickstarter.com/projects/954662076/gameshell-redefine-retro-game-console)
in 2018.
<figure>
<img src="img/GameShell_W.png" title="GameShell_W.png" />
<figcaption>GameShell_W.png</figcaption>
</figure>
### Getting started
- [Assembly](Assembly "wikilink") - Follow the assembly manual came with
GameShell to assemble the parts.
- [Up and Running](Up_and_Running "wikilink") - You've assembled your
GameShell and powered it on, now what?
- [SSH](SSH "wikilink") - Connect GameShell with your computer for
transferring files and configurations.
- [Emulators](Emulators "wikilink") - How to configure your emulators
and how to add ROMs.
- [Pico-8](Pico-8 "wikilink") - How to install Pico-8, a cute fantasy
console on your GameShell.
- [Troubleshooting](Troubleshooting "wikilink") - Launcher not loading?
Cannot connect to WiFi? Check here for solutions to common problems.
- [Glossary](Glossary "wikilink") - Learn the jargons!
- [Linux resources](Linux_resources "wikilink") - New to Linux? Don't
panic!
### Hardware
- [GameShell hardware info](GameShell_hardware_info "wikilink") -
Information about GameShell's mainboard, screen, battery, keypad,
speaker and Lightkey module
- [GPIO](GPIO "wikilink") - Interact with the real world with General
Purpose Input/Output lines!
- [3D Models](3D_Models "wikilink") - 3D models of GameShell parts for
3D printing, including community designed custom parts.
- [Bluetooth](Bluetooth "wikilink") - Connect other devices using
bluetooth
### Software
- [Kernel](Kernel "wikilink") - CPI Linux Kernel
- [Launcher](Launcher "wikilink") - The launcher of games and apps in
GameShell
- [Warehouse](Warehouse "wikilink") - Libraries of browsable and
downloadable games, like those developed in [GameShell
Jams](GameShell_Jams "wikilink")
- [Compatible emulators](Compatible_emulators "wikilink") - NES, SNES,
Genesis/MD, PS1, you name it!
- [Compatible game engines](Compatible_game_engines "wikilink") -
Pygame, LÖVE2D, Pico-8, Tic-80...
- [Compatible games](Compatible_games "wikilink") - List of standalone
games such as CaveStory, ChocoDM.
## DevTerm
### What is DevTerm?
Devterm is an open source portable terminal for every Dev!
<figure>
<img src="img/DevTerm_fig01.webp" title="DevTerm_fig01.webp" />
<figcaption>DevTerm_fig01.webp</figcaption>
</figure>
### Getting started
[Assembly](Devterm_Assembly "wikilink") - Follow the assembly manual
came with DevTerm to assemble the parts.
[Batteries](Batteries "wikilink") - The 18650 batteries are NOT included
in the package due to global logistics complexity for lithium batteries
### Hardware
- [Devterm hardware info](Devterm_hardware_info "wikilink") -
Information about DevTerm's mainboard, screen, battery, keyboard, and
speaker modules
- [GPIO](GPIO "wikilink") - Interact with the real world with General
Purpose Input/Output lines!
- [3D Models](3D_Models "wikilink") - 3D models of DevTerm parts for 3D
printing, including community designed custom parts.
- [Bluetooth](Bluetooth "wikilink") - Connect other devices using
bluetooth
- [EXT.](EXT. "wikilink") - Connect devices via the (non-standard)
mPCI-E slot
- [CORE](CORE "wikilink") - Info about the CORE modules
- [Thermal Printer](Thermal_Printer "wikilink") - Print out your .TXT's
on the built-in printer!
### Software
- [Kernel](Kernel "wikilink") - CPI Linux Kernel
- [ClockworkOS](ClockworkOS "wikilink") - The operating system for your
DevTerm
### Howtos
- [Manjaro on A06](Manjaro_on_A06 "wikilink") - Install Manjaro OS on
DevTerm A06
- [How-Tos and Tweaks](How-Tos_and_Tweaks "wikilink")
## Community
- [Forum](https://forum.clockworkpi.com/)
- [Discord](https://discord.gg/XKGGkPM)
- [Github](https://github.com/clockworkpi)
- [Twitter](https://twitter.com/Hal_clockwork)
- [Instagram](https://instagram.com/clockworkpi/)
- [GameShell Jams](GameShell_Jams "wikilink")

308
_wiki/Pico-8.md Normal file
View File

@ -0,0 +1,308 @@
---
layout: simple
title: Pico-8
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
PICO-8 is a fantasy console for making, playing, and sharing small
games. PICO-8 is a commercial product by Lexaloffle Games LLP. Versions
are available for Windows, mac OS, Linux, and Raspberry Pi. The
Raspberry Pi version runs on the GameShell, with some set-up.
As of Launcher v1.24, the Launcher now has a built-in PICO-8 installer
to make this even easier! You will copy PICO-8 to your GameShell, then
run this installer to finish set-up.
Follow these instructions to get PICO-8 and install it on your
GameShell. It will run in the splore mode, which lets you browse,
download, and play PICO-8 games.
## Purchase PICO-8
Go here to purchase your copy of PICO-8 if you dont already own it:
<https://www.lexaloffle.com/pico-8.php#getpico8> (\$15)
Once purchased, visit the downloads page and download the Raspberry Pi
version. This file has a filename similar to: pico-8_0.1.12c_raspi.zip
Tip: Your PICO-8 license includes versions for all platforms. Download
the version for your desktop computer, make PICO-8 games of your own,
and run them on your GameShell!
## Transferring PICO-8 to the GameShell
The Launchers PICO-8 installer looks for the zip file in a folder
(directory) with this path: ~/games/PICO-8/ (The ~ means the cpi users
“home” directory, containing the games directory where you put various
game ROMs and such. The PICO-8 directory is inside there.)
Connect your GameShell to your wifi network and get its IP address:
Turn on your GameShell. If necessary, connect the GameShell to your
wireless network: Settings, Wi-Fi. In the main launcher menu, select
TinyCloud. This displays the IP address of your GameShell, such as
192.168.0.49. You can transfer files to the GameShell using scp, a file
transfer method based on ssh (Secure Shell). Some file transfer programs
know how to do this, such as Putty SCP for Windows, WinSCP for Windows,
or Transmit for Mac. Connect using the IP address, an account name of
cpi, and a password of cpi.
On Mac and Linux (and also Windows with Putty SCP or the Windows
Subsystem for Linux), you can use a Terminal to do this with a
command-line interface and the scp command. To transfer PICO-8 to the
~/games/PICO-8 directory on the GameShell using the scp command:
scp pico-8_0.1.11g_raspi.zip cpi@192.168.0.49:~/games/PICO-8/ Enter the
password cpi when prompted.
## DevTerm and PICO-8
### CM3 DevTerm (32-bit OS)
The following instructions are copied from a post [lexaloffle
forums](https://www.lexaloffle.com/bbs/?tid=44522).
#### Installation
- You install PICO-8 like you would with any other Raspberry Pi system.
- Open a web browser. (It's the "globe" icon in the Raspian menu bar.)
- If you purchased PICO-8 directly from Lexaloffle, visit
<https://www.lexaloffle.com/> and sign in with your account. Click
your username to open the menu, select Downloads. Locate the PICO-8
Raspberry Pi version, then click "zip" to download. (If you purchased
PICO-8 from Humble Bundle, Itch.io, or another vendor, follow their
instructions to download the latest Raspberry Pi version.)
- Open the file explorer (the "folder" icon in the Raspian menu bar),
then navigate to Downloads to find the file you downloaded.
Double-click to open the .zip file, then click the Extract files
button and follow the prompts to select a location for the pico-8
folder. I keep mine in the pi home folder.
To launch PICO-8, navigate to the pico-8 folder, double-click the pico8
icon, then click Execute. (The process for adding PICO-8 to the
Application menu or the Application Launch Bar is a bit involved, so I
won't go into that here.)
Alternatively, you can start PICO-8 from the command line by executing
the pico8 command:
`   ~/pico-8/pico8`
Note: The rest of these instructions assume some familiarity with the
Linux command line. To get to a command prompt, click the "terminal
window" icon in the Raspian menu bar.
#### PICO-8 full screen and windowed modes
By default, PICO-8 opens to take up the full screen. You can press
Alt+Tab to switch between applications while PICO-8 is running. You can
close PICO-8 by giving it the SHUTDOWN command, or by pressing Alt+Space
to open the window menu then selecting Close.
It is important to remember that PICO-8 hides the mouse cursor when it
is full screen and in console mode or game playing mode. In other modes,
it'll show the cursor, but only if the cursor is positioned in PICO-8's
square display area. This is a special problem for DevTerm because the
mouse could be anywhere on its wide screen, and the trackball moves it
so slowly that it can be frustrating to find it just by moving it
blindly. Instead, press Alt+Space to open the window menu and reveal the
cursor, move the cursor into the PICO-8 area, then press Escape to close
the menu.
To have PICO-8 open in a window instead of full screen, you can use a
command line option when starting PICO-8, like so:
`   ~/pico-8/pico8 -windowed 1`
You can tell PICO-8 to open in a window every time by updating its
configuration file. This file is located at the path
~/.lexaloffle/pico-8/config.txt. (It is not in the pico-8 directory with
the app.) Open this file in a text editor, such as the pico editor (no
relation) that's included with Raspian:
`   pico -w ~/.lexaloffle/pico-8/config.txt`
I recommend the following settings for running PICO-8 windowed on
DevTerm. This puts the window on the right side of the screen and
obscures the borders.
`   window_size 478 478`
`   windowed 1`
`   window_position 808 -26`
To position the window centered on the screen with the window bar
visible, use this window_position:
`   window_position 430 0`
Save the file then exit the editor: in the pico editor, save with Ctrl-O
and press enter when prompted for a filename, then exit with Ctrl-X.
Quit PICO-8 if it is running, then restart it to pick up the new
settings.
When PICO-8 uses the automatic window size (0 0) and position (-1 -1),
Raspian opens a window that's a bit too big for DevTerm. Moreover, the
window borders are obscured, so you can't drag them to resize! To
reposition the PICO-8 window when this happens:
Press Alt+Space to open the window menu, then select Move. Use the
trackball to move the window down so you can see the window bar, then
click the left mouse button to release the window. Drag a corner to
resize the window.
#### Setting up the gamepad buttons
The DevTerm gamepad buttons work with PICO-8, but not out of the box.
You must [configure them](https://pico-8.fandom.com/wiki/Controllers)
with the SDL controllermap utility and PICO-8's controller configuration
file.
Open this article in a browser on your DevTerm, then copy the
configuration line from here:
`    03000000af1e00002400000010010000,ClockworkPI DevTerm,platform:Linux,a:b2,b:b1,x:b3,y:b0,leftx:a0,lefty:a1,`
Select the complete line (from "03000..." to "...lefty:a1," which might
be hidden off the right side of the box as it appears on the BBS) and
copy it to the clipboard (Ctrl+C from a browser). Back at the command
prompt, open the PICO-8 controller configuration file in an editor:
`     pico -w ~/.lexaloffle/pico-8/sdl_controllers.txt`
Move to the bottom of the file then paste the line (Shift+Ctrl+V). Save
and exit. Quit and restart PICO-8, if needed.
The configuration line was generated using the controllermap utility
that comes with SDL. This is not installed by default. If you want to
try this utility yourself, execute these commands in a Terminal window
to download, build, and run the controllermap utility:
`   wget `[`http://libsdl.org/release/SDL2-2.0.7.tar.gz`](http://libsdl.org/release/SDL2-2.0.7.tar.gz)
`       tar -zxvf SDL2-2.0.7.tar.gz`
`       cd SDL2-2.0.7/test`
`       ./configure`
`       make controllermap`
`       ./controllermap 0`
The last command runs the tool and opens a graphical interface. Press
the indicated buttons for the directional pad and action buttons, and
press Space for the rest. The tool prints the configuration line to the
Terminal window then exits. Select the text in the terminal window, then
use Shift+Ctrl+C to copy it to the clipboard. Paste it into the
configuration file, as above.
Try it with Splore! Type SPLORE (or just S) at the PICO-8 command prompt
and play some games with the gamepad buttons.
#### Printing
You can print to the thermal printer from any app that knows how to
print. To download and install the CUPS printer driver, run the
following commands:
`   sudo apt -y install libcups2-dev`
`   git clone `[`https://github.com/clockworkpi/DevTerm.git`](https://github.com/clockworkpi/DevTerm.git)
`   cd DevTerm/devterm_thermal_printer_cups`
`   make`
`   sudo make install`
`   lpoptions -d devterm_printer`
You can test print a simple message like so:
echo "Hi DevTerm!" \| lp
PICO-8 does not have any built-in printing capability. [OR DOES
IT??](https://twitter.com/dan_sanderson/status/1434253649266364417?s=20)
... Not exactly. For this little hack I wrote a [Python
script](https://gist.github.com/dansanderson/3a2a2ff6c6287003d1de77432c4c1109)
that runs in the background and waits for you to EXPORT XXX.LUA.PNG from
PICO-8. When you do this, PICO-8 generates a PNG image of the contents
of the source code editor in the PICO-8 font and colors. The Python
script does some processing of the image to convert it to black text on
a white background, then sends it to the thermal printer.
This hack works even if the contents of the source code editor isn't
actually code, so you could use it to print grocery lists or whatever
from PICO-8. You can experiment with the script to get different
results. I chose elements such as the scaling (180%) mostly for
visibility in the tweet video. This method cuts off the page about
1-1/2" in.
A small warning: during my experiments I had the thermal printer trying
to print large blocks of dark color (black and grey). Not only is it
lousy at this—the paper advance is not very accurate—it tends to trip
the power fault circuitry and shut off the DevTerm. Stick to text and
sparse images, or at least save your work.
`   To list pending print jobs: lpstat -o`
`   To kill a specific print job: cancel `<jobid>
`   To kill all pending print jobs: cancel -a devterm_printer`
### A04/A06 DevTerm (64-bit OS)
From the [lexaloffle forums](https://www.lexaloffle.com/bbs/?pid=71974)
the following commands should get PICO-8 running on a 64-bit ARM
operating system. Refer to this [longer, more detailed post about the
32-bit version](https://www.lexaloffle.com/bbs/?tid=44522) for
additional configuration details that should apply to either.
`   sudo dpkg --add-architecture armhf`
`   sudo apt-get update`
`   sudo apt install libudev1:armhf libsdl2-2.0-0:armhf`
`   sudo reboot now`
After reboot
`   $PATH_TO_PICO/pico8_dyn`
## Welcome to PICO-8!
After it installs, PICO-8 starts in splore mode. From now on, the PICO-8
option in the Launcher will just launch PICO-8 like this.
Move right to find the “Featured” section. If necessary, press B on
\[update\] to load the list. Move up and down to find a game, then press
B to start it.
PICO-8 games use one or both of the A and B buttons. Some games will
refer to these as Z and X, or C and V, because these are the default
keys on a desktop computer. Games may also refer to them as (O) and (X),
which are their “fantasy console” button icons.
To exit a game and return to the Splore game selection menu, press the
GameShell MENU button, then select “Exit to Splore”. (You can also use
the pause menu just to pause your game.)
To exit PICO-8 entirely and return to the GameShell Launcher, exit to
Splore, then press MENU again and select “Shutdown PICO-8”.
Tip: Be careful not to select “Exit to Console” from the shutdown menu.
This puts PICO-8 in its game developer mode. Its a super fun mode, but
you need a full keyboard to use it or get back out of it. Hold down the
GameShells power button to reset if you get stuck here.
Enjoy the games, and come visit the PICO-8 community in the forum to
learn more!
## Resources
- [Original GameShell forum
post](https://forum.clockworkpi.com/t/how-to-install-pico-8-on-gameshell/1012)
- [Original DevTerm forum
post](https://www.lexaloffle.com/bbs/?tid=44522)
- [The PICO-8 website](https://www.lexaloffle.com/pico-8.php)
- [The PICO-8 forum](https://www.lexaloffle.com/bbs/?cat=7) (“BBS”,
where games are published)
- [Lazy Devs video of this installation
procedure](https://www.youtube.com/watch?v=ltBVKFw88zw), including the
v1.24 file renaming workaround
- [Lazy Devs video of additional
steps](https://www.youtube.com/watch?v=4veRSqVHzoI) to enable volume
buttons and upload PICO-8 cart files directly to the GameShell
- [Dan Sanderson's python printing
script](https://gist.github.com/dansanderson/3a2a2ff6c6287003d1de77432c4c1109)

82
_wiki/SSH.md Normal file
View File

@ -0,0 +1,82 @@
---
layout: simple
title: SSH
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
First thing you want to do after you get a GameShell is to connect it
with your PC. You can do so via WiFi or USB. After that you can SSH into
GameShell or use FTP client to transfer files.
## Establish connection
### Via WiFi
Follow [skywalker101's
tutorial](https://forum.clockworkpi.com/t/how-to-transfer-files-with-tinycloud-through-ssh/833)
### Via USB
Go to **Settings** and choose **Network gateway switch**
<figure>
<img src="img/Bmnw3-29ogm-300x225.png" title="Bmnw3-29ogm-300x225.png" />
<figcaption>Bmnw3-29ogm-300x225.png</figcaption>
</figure>
Choose USB Ethernet
<figure>
<img src="Hhca2-vzt7d-300x225.png" title="Hhca2-vzt7d-300x225.png" />
<figcaption>Hhca2-vzt7d-300x225.png</figcaption>
</figure>
Now if you connect your GS to PC via USB cable, it should be recognized
as a COM Gadget or something like that. You have to install drivers to
use it.
#### On Windows
If you are on windows, please follow the [Petrakis's
tutorial](https://forum.clockworkpi.com/t/usb-eth-how-to-transfer-files-if-you-have-unstable-wifi/958)
and start on the step \*\*Setting up Windows driver\*\*.
#### On Mac
1\. Download HoRNDIS driver from: <https://joshuawise.com/horndis> 1.
Once the GameShell connects with the USB cable, go to System Preferences
-\> Sharing and enable Internet Sharing to RNDIS.
#### On Linux
Follow this tutorial:
<https://forum.clockworkpi.com/t/usb-eth-connect-gameshell-to-linux-pc/1643>
## Transfer files
### FTP client
1\. Install a FTP client, for example,
[FileZilla](https://filezilla-project.org/). 1. Make sure your GameShell
connected to the same wireless network as the computer you are using.
`  1. You can do this through; Home screen >> Settings >> Wi-Fi.`
1\. Check your SSH / SCP IP address in TinyCloud on your GameShell.
`  1. You can do this through; Home screen >> TinyCloud`
`  1. Remember the IP address that is shown. Also remember the ID (username) and Key (password). Both are: cpi.`
1\. Open FileZilla 1. Enter your IP address, Username (cpi), Password
(cpi) & Port (22) in the above fields.
`  1. The default port for SSH is always 22.`
1\. Click "Quickconnect" button to establish connection 1. When
connected you can see your own computers local folders & files on the
left. And the GameShell folders & on the right. From here you can simply
drag files from left to right in the folder you want stuff to go to.
### Command line

78
_wiki/Thermal_Printer.md Normal file
View File

@ -0,0 +1,78 @@
---
layout: simple
title: Thermal_Printer
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Thermal Printer Components
<figure>
<img src="img/1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png"
title="1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png" />
<figcaption>1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png</figcaption>
</figure>
We provide you a vintage-feeling but practical expansion module - the
thermal printer. It uses a standard 58mm thermal paper and has an
easy-to-load design. With the open-source standard CUPS print driver
provided by the [clockworkOS](clockworkOS "wikilink"), you can print
various monochrome fonts, symbols, graphics, and even complete A4 size
output through collage. You can also buy thermal printing paper\* with
adhesive backing or different colors, plan your work and life, mark key
points, and give notes, anytime, anywhere. The sturdy “input tray”
provides a storage function, allowing you to carry it freely.
The CUPS print driver is released under the GPL v3 license, and you can
find it on our
[GitHub](https://github.com/clockworkpi/DevTerm/tree/main/Code/devterm_thermal_printer_cups).
- Safety reminder: It is recommended to use BPA-free thermal papers.
## Paper Dimensions
The printer uses standard 58 mm thermal paper. [Based on the published
3D
models](https://forum.clockworkpi.com/t/devterm-thermal-paper-size-limit/6896/5),
the maximum diameter for a roll is about 42mm.
## Printer Commands
The following examples are from the [thermal printer driver readme.md on
github](https://github.com/clockworkpi/DevTerm/tree/main/Code/thermal_printer).
### Console commands example
echo "Hello DevTerm" \> /tmp/DEVTERM_PRINTER_IN
echo -e "Hello DevTerm\n\n\n\n\n\n" \> /tmp/DEVTERM_PRINTER_IN
cat file.txt \> /tmp/DEVTERM_PRINTER_IN
ncal -hb \| tee \> /tmp/DEVTERM_PRINTER_IN
### Eos/Pos commands example
**ESC ! n**
set printer font index,n:0-4
`   echo -en "\x1b\x0" > /tmp/DEVTERM_PRINTER_IN`
**DC2 \# n**
n:0-F, set printer printing density
`   echo -en "\x12\x23\x8" > /tmp/DEVTERM_PRINTER_IN`
**DC2 T**
print the test page
`   echo -en "\x12\x54" > /tmp/DEVTERM_PRINTER_IN`
## Thermal Printer Spec Sheet
The printer is a Xiamin liyin MTP02-I. The spec sheet is available on
[github](https://github.com/clockworkpi/DevTerm/blob/main/Schematics/Spec_MTP02-I.pdf).

108
_wiki/Up_and_Running.md Normal file
View File

@ -0,0 +1,108 @@
---
layout: simple
title: Up_and_Running
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Powering Up
After you've [assembled](Assembly "wikilink") the GameShell you can turn
the device on using the power button found on the back of the device
<figure>
<img src="Gameshell_ports_and_power.png"
title="Gameshell_ports_and_power.png" width="500" />
<figcaption>Gameshell_ports_and_power.png</figcaption>
</figure>
If you've assembled the device correctly, the GameShell will go through
an initial boot sequence and you'll be greeted with the Launcher
Homepage
<figure>
<img src="LauncherHome.png" title="LauncherHome.png" />
<figcaption>LauncherHome.png</figcaption>
</figure>
## Settings
Now that the GameShell is booted up you'll want to go through the
Settings and get a few things set up:
- Connect your GameShell to a **Wi-Fi** network. Note that the wifi
chipset on the GameShell does not currently support 5GHz bands
- Set the system **Timezone** to your preferred location so that the
system clock will show the correct time
- Change your preferred **Language**
- Consider the GameShell's gamepad **Button Layout**. The assembly
instructions use the Xbox controller A/B format. If you plan on
playing retro games from Nintendo (NES, SNES, Gameboy, GBA, etc.) you
might want to adjust these settings and reverse the A/B buttons on
your GameShell
### Danger Zone
If you're new to the GameShell and uncomfortable with Linux systems, I'd
advise against messing with the following settings unless you absolutely
have to:
- Update Launcher - Make sure you check that the GameShell OS is updated
to the latest GameShell OS *before* you update the launcher. Upgrading
the GameShell OS cannot yet be done within the launcher. You will need
to check the [GameShell
Forums](https://forum.clockworkpi.com/c/gameshell/Firmware/19) for the
latest OS release announcements and for upgrade instructions.
- Switch to LauncherGo - this is an experimental version of the current
Launcher written in the Go programming language.
- GPU Driver Switch - gives you the ability to select between the
default graphics driver (FBTURBO) and the experimental LIMA driver
## Let's Play Some Games!
The GameShell comes with:
- **Independent (indie) game**s that have been built to run on the
GameShell without any additional software
- **Game Engines** that can run games built using those engines
- **Emulators** that emulate retro gaming consoles
### Independent Games
The GameShell comes with:
- Cave Story
- Planet-Busters
- OpenTyrian
- No.909
- NyanCat
- 2048
- Hurrican
- GSPLauncher
### Game Engines
Game Engines help developers build games across multiple platforms. The
GameShell comes with support for popular game engines such as PICO-8,
LÖVE2D, Godot and many more! Some of the game engines that come
pre-installed with the GameShell have games pre-loaded on to them, so
make sure to explore each one!
The full list of compatible game engines are:
### Emulators
The GameShell OS comes pre-installed with lots of open source emulators.
You can think of emulators as apps that can virtually run a retro
console inside your GameShell. Unfortunately the GameShell doesn't come
with retro games for its retro console emulators; so we'll have to do a
bit more work to get things going. You'll need to:
1. Find the specific retro game ROMs (i.e. game images or game backups)
2. Upload the ROMs onto to the GameShell
3. Get playing!
Most of the emulators that you'll be using are installed under the
**Retro Games** folder in the home screen. You can check out the full
list of [supported emulators here](Compatible_emulators "wikilink").

19
_wiki/Warehouse.md Normal file
View File

@ -0,0 +1,19 @@
---
layout: simple
title: Warehouse
revisions:
- author: Cuu
date: 2024-02-22
comment: First version
---
## Available Warehouses
- [ClockworkPI Warehouse](https://github.com/clockworkpi/warehouse)
- [Madcock Warehouse](https://github.com/madcock/warehouse)
- [Thismarvin Warehouse](https://github.com/thismarvin/warehouse)
- [Scriptik Warehouse](https://github.com/scriptik/cpiwarehouse)
## Custom Warehouse
- [How To Set Up Your Own
Warehouse](https://forum.clockworkpi.com/t/how-to-set-up-your-own-warehouse/5070)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
img/A04-image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 KiB

BIN
img/Bmnw3-29ogm-300x225.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
img/DevTerm_fig01.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

BIN
img/Ext_fig01.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

BIN
img/GameShell_W.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
img/Hhca2-vzt7d-300x225.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
img/Launcher-screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
img/LauncherHome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
img/Taffer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB