diff --git a/Gemfile b/Gemfile index 89285aa..9cf8978 100644 --- a/Gemfile +++ b/Gemfile @@ -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-asciidoc', "~> 2.1.1" - gem "jekyll-toc", "~> 0.11.0" + 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 diff --git a/_config.yml b/_config.yml index 48524c1..c56452b 100644 --- a/_config.yml +++ b/_config.yml @@ -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" diff --git a/_sass/grid.scss b/_sass/grid.scss index 10e81d2..8b00d27 100644 --- a/_sass/grid.scss +++ b/_sass/grid.scss @@ -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; +} diff --git a/_wiki/3D_Models.md b/_wiki/3D_Models.md new file mode 100644 index 0000000..6caef36 --- /dev/null +++ b/_wiki/3D_Models.md @@ -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). \ No newline at end of file diff --git a/_wiki/Assembly.md b/_wiki/Assembly.md new file mode 100644 index 0000000..5eab8ce --- /dev/null +++ b/_wiki/Assembly.md @@ -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) \ No newline at end of file diff --git a/_wiki/Batteries.md b/_wiki/Batteries.md new file mode 100644 index 0000000..27fc781 --- /dev/null +++ b/_wiki/Batteries.md @@ -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. \ No newline at end of file diff --git a/_wiki/CORE.md b/_wiki/CORE.md new file mode 100644 index 0000000..00a696b --- /dev/null +++ b/_wiki/CORE.md @@ -0,0 +1,128 @@ +--- +layout: simple +title: CORE +revisions: +- author: Cuu + date: 2024-02-22 + comment: First version +--- +## Core Modules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Model

CPU Microarchitecture

Frequency

Cores

GPU

RAM

A-0401

ARM64-bit Quad-core Cortex-A53

1.8GHz

4

Mali-T720

1GB LPDDR3

A-0402

ARM64-bit Quad-core Cortex-A53

1.8GHz

4

Mali-T720

2GB LPDDR3

A-0602

ARM64-bit Dual-core Cortex-A72
+ARM64-bit Quad-core Cortex-A53

1.8GHz
+1.4GHz

6

Mali-T864

2GB LPDDR3

A-0604

ARM64-bit Dual-core Cortex-A72
+ARM64-bit Quad-core Cortex-A53

1.8GHz
+1.4GHz

6

Mali-T864

4GB LPDDR3

RPI-CM3

ARM64-bit Quad-Core Cortex-A53
+(Raspberry PI CM3+ LITE)

1.2GHz

4

VideoCore 4

1GB LPDDR3

+ +## 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: + + +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` \ No newline at end of file diff --git a/_wiki/ClockworkOS.md b/_wiki/ClockworkOS.md new file mode 100644 index 0000000..880448f --- /dev/null +++ b/_wiki/ClockworkOS.md @@ -0,0 +1,134 @@ +--- +layout: simple +title: ClockworkOS +revisions: +- author: Cuu + date: 2024-02-22 + comment: First version +--- +## DevTerm CM3 OS image + +
+ +
FAA_u-qUYAUPZt2.jpg
+
+ +### Forum + +Official releases are posted in the [Clockwork +Forum](https://forum.clockworkpi.com/t/devterm-os-cm3-image-files/7151/12) + +### Download + +- +- [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 + +
+ +
DevTermA06OS.jpg
+
+ +### Forum + +Official releases are posted in the [Clockwork +Forum](===_Forum_===_Official_releases_are_posted_in_the_Clockwork_Forum "wikilink") + +### Download + +- +- [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 + +
+ +
A04-image.png
+
+ +### Forum + +Official releases are posted in the [Clockwork +Forum](===_Forum_===_Official_releases_are_posted_in_the_Clockwork_Forum "wikilink") + +### Download + +- +- [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). diff --git a/_wiki/Compatible_emulators.md b/_wiki/Compatible_emulators.md new file mode 100644 index 0000000..735818b --- /dev/null +++ b/_wiki/Compatible_emulators.md @@ -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 + +- Compatible: Works perfectly without + issues +- Works: Works but it could be better +- Incompatible: Doesn't work yet for some + reasons +- Needs GPU drivers: 3D games run too + slowly without hardware acceleration. + +| Emulator Core | Console | Compatibility | Remarks | +|---------------|--------------------------|---------------------------------------------|---------| +| MAME | Arcade | Compatible | | +| Nestopia | NES | Compatible | | +| Snes9x | SNES | Compatible | | +| mGBA | GB, GBC, GBA | Compatible | | +| gbSP | GBA | Compatible | | +| Gearsystem | Master System, Game Gear | Compatible | | +| blueMSX | MSX, ColecoVision | Compatible | | +| handy | Lynx | Compatible | | +| Fuse | ZX Spectrum | Compatible | | + +## 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 | Compatible | [Forum](https://forum.clockworkpi.com/t/ohboy-standalone-build/3887) | +| [mGBA](mGBA "wikilink") | GB, GBC, GBA | Compatible | [Forum](https://forum.clockworkpi.com/t/mgba-emulator-standalone/3908) | +| [gpSP](gpSP "wikilink") | GBA | Compatible | [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 | Compatible | [Forum](https://forum.clockworkpi.com/t/fceux-for-gameshell-alone-build/3875) | +| [PocketSNES](PocketSNES "wikilink") | SNES | Compatible | [Forum](https://forum.clockworkpi.com/t/pocketsnes-standalone-build/3876) | +| [PicoDrive](PicoDrive "wikilink") | Genesis/MD | Compatible | [Forum](https://forum.clockworkpi.com/t/picodrive-for-gameshell-standalone-build/3989) | +| [Mupen64](Mupen64 "wikilink") | N64 | Works | 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 | Compatible | [Forum](https://forum.clockworkpi.com/t/pcsx-rearmed-for-gameshell/436) | +| [UAE](UAE "wikilink") | Amiga | Compatible | [Forum](https://forum.clockworkpi.com/t/amiga-uae-emulator/1625) | \ No newline at end of file diff --git a/_wiki/Compatible_game_engines.md b/_wiki/Compatible_game_engines.md new file mode 100644 index 0000000..7779f88 --- /dev/null +++ b/_wiki/Compatible_game_engines.md @@ -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) | \ No newline at end of file diff --git a/_wiki/Devterm_Assembly.md b/_wiki/Devterm_Assembly.md new file mode 100644 index 0000000..0776cdc --- /dev/null +++ b/_wiki/Devterm_Assembly.md @@ -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) \ No newline at end of file diff --git a/_wiki/Devterm_hardware_info.md b/_wiki/Devterm_hardware_info.md new file mode 100644 index 0000000..bdd887e --- /dev/null +++ b/_wiki/Devterm_hardware_info.md @@ -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, you’ll 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 @guu’s 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 \ No newline at end of file diff --git a/_wiki/EXT..md b/_wiki/EXT..md new file mode 100644 index 0000000..ac9c9c7 --- /dev/null +++ b/_wiki/EXT..md @@ -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). diff --git a/_wiki/GPIO.md b/_wiki/GPIO.md new file mode 100644 index 0000000..68f4e2f --- /dev/null +++ b/_wiki/GPIO.md @@ -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: + +### 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 | | + diff --git a/_wiki/GameShell_Jams.md b/_wiki/GameShell_Jams.md new file mode 100644 index 0000000..4b08a43 --- /dev/null +++ b/_wiki/GameShell_Jams.md @@ -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) \ No newline at end of file diff --git a/_wiki/GameShell_hardware.md b/_wiki/GameShell_hardware.md new file mode 100644 index 0000000..1f3ce93 --- /dev/null +++ b/_wiki/GameShell_hardware.md @@ -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") \ No newline at end of file diff --git a/_wiki/GameShell_hardware_info.md b/_wiki/GameShell_hardware_info.md new file mode 100644 index 0000000..3d3a100 --- /dev/null +++ b/_wiki/GameShell_hardware_info.md @@ -0,0 +1,50 @@ +--- +layout: simple +title: GameShell_hardware_info +revisions: +- author: Cuu + date: 2024-02-22 + comment: First version +--- +## Specifications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Module

Specifications

Mainboard

v3.1: Quad-core Cortex-A7 CPU, Mali GPU, Wi-Fi & Bluetooth +on-board, 1GB DDR3 Memory, 16GB MicroSD, Micro HDMI output, +GPIOs

Keypad

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.

+

This module can be used independently with USB port.

Speaker

Two channel stereo speaker

Screen

2.7 inch TFT RGB@60fps Screen with 320 x 240 resolution

Battery

3.7V 1200 mAh rechargeable battery

Lightkey

5 independent IO extended keys. Can be used as L1, R1, L2, R2 +buttons

\ No newline at end of file diff --git a/_wiki/Hardware_Info.md b/_wiki/Hardware_Info.md new file mode 100644 index 0000000..1cc9da7 --- /dev/null +++ b/_wiki/Hardware_Info.md @@ -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") \ No newline at end of file diff --git a/_wiki/How-Tos_and_Tweaks.md b/_wiki/How-Tos_and_Tweaks.md new file mode 100644 index 0000000..e84a345 --- /dev/null +++ b/_wiki/How-Tos_and_Tweaks.md @@ -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. \ No newline at end of file diff --git a/_wiki/Kernel.md b/_wiki/Kernel.md new file mode 100644 index 0000000..1028108 --- /dev/null +++ b/_wiki/Kernel.md @@ -0,0 +1,24 @@ +--- +layout: simple +title: Kernel +revisions: +- author: Cuu + date: 2024-02-22 + comment: First version +--- +## GameShell Kernel + +TODO + +## 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 \ No newline at end of file diff --git a/_wiki/Launcher.md b/_wiki/Launcher.md new file mode 100644 index 0000000..2fb14b6 --- /dev/null +++ b/_wiki/Launcher.md @@ -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. + +
+ +
Launcher-screenshot.png
+
+ +## Source Code + +Launcher is written in [Python](https://www.python.org/), with a few +related shell scripts. You can find it on GitHub: + + +## 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") diff --git a/_wiki/Lowres_NX.md b/_wiki/Lowres_NX.md new file mode 100644 index 0000000..13c74cd --- /dev/null +++ b/_wiki/Lowres_NX.md @@ -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 + + \ No newline at end of file diff --git a/_wiki/Main_Page.md b/_wiki/Main_Page.md new file mode 100644 index 0000000..af5d971 --- /dev/null +++ b/_wiki/Main_Page.md @@ -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. + +
+ +
GameShell_W.png
+
+ +### 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! + +
+ +
DevTerm_fig01.webp
+
+ +### 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") diff --git a/_wiki/Pico-8.md b/_wiki/Pico-8.md new file mode 100644 index 0000000..edfb616 --- /dev/null +++ b/_wiki/Pico-8.md @@ -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 don’t already own it: + (\$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 Launcher’s PICO-8 installer looks for the zip file in a folder +(directory) with this path: ~/games/PICO-8/ (The ~ means the cpi user’s +“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 + 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 ` +`   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. It’s a super fun mode, but +you need a full keyboard to use it or get back out of it. Hold down the +GameShell’s 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) \ No newline at end of file diff --git a/_wiki/SSH.md b/_wiki/SSH.md new file mode 100644 index 0000000..e35728b --- /dev/null +++ b/_wiki/SSH.md @@ -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** + +
+ +
Bmnw3-29ogm-300x225.png
+
+ +Choose USB Ethernet + +
+ +
Hhca2-vzt7d-300x225.png
+
+ +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: 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: + + +## 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 diff --git a/_wiki/Thermal_Printer.md b/_wiki/Thermal_Printer.md new file mode 100644 index 0000000..c6d3c85 --- /dev/null +++ b/_wiki/Thermal_Printer.md @@ -0,0 +1,78 @@ +--- +layout: simple +title: Thermal_Printer +revisions: +- author: Cuu + date: 2024-02-22 + comment: First version +--- +## Thermal Printer Components + +
+ +
1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png
+
+ +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). diff --git a/_wiki/Up_and_Running.md b/_wiki/Up_and_Running.md new file mode 100644 index 0000000..cb53db4 --- /dev/null +++ b/_wiki/Up_and_Running.md @@ -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 + +
+ +
Gameshell_ports_and_power.png
+
+ +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 + +
+ +
LauncherHome.png
+
+ +## 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"). \ No newline at end of file diff --git a/_wiki/Warehouse.md b/_wiki/Warehouse.md new file mode 100644 index 0000000..786c7b5 --- /dev/null +++ b/_wiki/Warehouse.md @@ -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) \ No newline at end of file diff --git a/images/files/DevTerm_A04_v0.1.img.bz2.torrent b/images/files/DevTerm_A04_v0.1.img.bz2.torrent new file mode 100644 index 0000000..b45a3bb Binary files /dev/null and b/images/files/DevTerm_A04_v0.1.img.bz2.torrent differ diff --git a/images/files/DevTerm_A04_v0.1a.img.bz2.torrent b/images/files/DevTerm_A04_v0.1a.img.bz2.torrent new file mode 100644 index 0000000..4690cb5 Binary files /dev/null and b/images/files/DevTerm_A04_v0.1a.img.bz2.torrent differ diff --git a/images/files/DevTerm_A04_v0.2f.img.bz2.torrent b/images/files/DevTerm_A04_v0.2f.img.bz2.torrent new file mode 100644 index 0000000..5d33d84 Binary files /dev/null and b/images/files/DevTerm_A04_v0.2f.img.bz2.torrent differ diff --git a/images/files/DevTerm_A06_v0.1.img.bz2.torrent b/images/files/DevTerm_A06_v0.1.img.bz2.torrent new file mode 100644 index 0000000..3479ef4 Binary files /dev/null and b/images/files/DevTerm_A06_v0.1.img.bz2.torrent differ diff --git a/images/files/DevTerm_A06_v0.1a.img.bz2.torrent b/images/files/DevTerm_A06_v0.1a.img.bz2.torrent new file mode 100644 index 0000000..05892e4 Binary files /dev/null and b/images/files/DevTerm_A06_v0.1a.img.bz2.torrent differ diff --git a/images/files/DevTerm_A06_v0.2f.img.bz2.torrent b/images/files/DevTerm_A06_v0.2f.img.bz2.torrent new file mode 100644 index 0000000..f37c759 Binary files /dev/null and b/images/files/DevTerm_A06_v0.2f.img.bz2.torrent differ diff --git a/images/files/DevTerm_CM3_v0.1.img.bz2.torrent b/images/files/DevTerm_CM3_v0.1.img.bz2.torrent new file mode 100644 index 0000000..a452729 Binary files /dev/null and b/images/files/DevTerm_CM3_v0.1.img.bz2.torrent differ diff --git a/images/files/DevTerm_CM3_v0.1a.img.bz2.torrent b/images/files/DevTerm_CM3_v0.1a.img.bz2.torrent new file mode 100644 index 0000000..9af162a Binary files /dev/null and b/images/files/DevTerm_CM3_v0.1a.img.bz2.torrent differ diff --git a/images/files/DevTerm_CM4_v0.1.img.bz2.torrent b/images/files/DevTerm_CM4_v0.1.img.bz2.torrent new file mode 100644 index 0000000..2b88e43 Binary files /dev/null and b/images/files/DevTerm_CM4_v0.1.img.bz2.torrent differ diff --git a/images/files/DevTerm_CM4_v0.1_64bit.img.bz2.torrent b/images/files/DevTerm_CM4_v0.1_64bit.img.bz2.torrent new file mode 100644 index 0000000..3e94bfa Binary files /dev/null and b/images/files/DevTerm_CM4_v0.1_64bit.img.bz2.torrent differ diff --git a/images/files/DevTerm_R01_v0.2a.img.bz2.torrent b/images/files/DevTerm_R01_v0.2a.img.bz2.torrent new file mode 100644 index 0000000..96e40e3 Binary files /dev/null and b/images/files/DevTerm_R01_v0.2a.img.bz2.torrent differ diff --git a/images/files/clockworkos_v0.4.img.bz2.torrent b/images/files/clockworkos_v0.4.img.bz2.torrent new file mode 100644 index 0000000..6751b05 Binary files /dev/null and b/images/files/clockworkos_v0.4.img.bz2.torrent differ diff --git a/images/files/clockworkos_v0.5.img.bz2.torrent b/images/files/clockworkos_v0.5.img.bz2.torrent new file mode 100644 index 0000000..026888b Binary files /dev/null and b/images/files/clockworkos_v0.5.img.bz2.torrent differ diff --git a/img/1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png b/img/1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png new file mode 100644 index 0000000..80c6687 Binary files /dev/null and b/img/1b657e92d8f8e6320eda52241d138634f269e4a2_2_589x500.png differ diff --git a/img/20200109132308!chunkedupload_3031984d3784.png b/img/20200109132308!chunkedupload_3031984d3784.png new file mode 100644 index 0000000..439e437 Binary files /dev/null and b/img/20200109132308!chunkedupload_3031984d3784.png differ diff --git a/img/20200109132308!phpM5Ekwv.png b/img/20200109132308!phpM5Ekwv.png new file mode 100644 index 0000000..439e437 Binary files /dev/null and b/img/20200109132308!phpM5Ekwv.png differ diff --git a/img/20200109132754!chunkedupload_418eee351206.png b/img/20200109132754!chunkedupload_418eee351206.png new file mode 100644 index 0000000..5795726 Binary files /dev/null and b/img/20200109132754!chunkedupload_418eee351206.png differ diff --git a/img/20200109132754!phpq6kp86.png b/img/20200109132754!phpq6kp86.png new file mode 100644 index 0000000..5795726 Binary files /dev/null and b/img/20200109132754!phpq6kp86.png differ diff --git a/img/20200112124129!chunkedupload_133b666ef44d.png b/img/20200112124129!chunkedupload_133b666ef44d.png new file mode 100644 index 0000000..e105972 Binary files /dev/null and b/img/20200112124129!chunkedupload_133b666ef44d.png differ diff --git a/img/20200112124129!phpUIRRPo.png b/img/20200112124129!phpUIRRPo.png new file mode 100644 index 0000000..e105972 Binary files /dev/null and b/img/20200112124129!phpUIRRPo.png differ diff --git a/img/20200112124750!chunkedupload_53ac9f3ec0aa.png b/img/20200112124750!chunkedupload_53ac9f3ec0aa.png new file mode 100644 index 0000000..2acb455 Binary files /dev/null and b/img/20200112124750!chunkedupload_53ac9f3ec0aa.png differ diff --git a/img/20200112124750!phpLhpGWT.png b/img/20200112124750!phpLhpGWT.png new file mode 100644 index 0000000..2acb455 Binary files /dev/null and b/img/20200112124750!phpLhpGWT.png differ diff --git a/img/20210924151946!chunkedupload_88b7a9cae6dc.png b/img/20210924151946!chunkedupload_88b7a9cae6dc.png new file mode 100644 index 0000000..80c6687 Binary files /dev/null and b/img/20210924151946!chunkedupload_88b7a9cae6dc.png differ diff --git a/img/20210924151946!php30I6Jv.png b/img/20210924151946!php30I6Jv.png new file mode 100644 index 0000000..80c6687 Binary files /dev/null and b/img/20210924151946!php30I6Jv.png differ diff --git a/img/20210924164106!chunkedupload_a1a79459d1f7.webp b/img/20210924164106!chunkedupload_a1a79459d1f7.webp new file mode 100644 index 0000000..51eb35e Binary files /dev/null and b/img/20210924164106!chunkedupload_a1a79459d1f7.webp differ diff --git a/img/20210924164106!phpE0CfQl.webp b/img/20210924164106!phpE0CfQl.webp new file mode 100644 index 0000000..51eb35e Binary files /dev/null and b/img/20210924164106!phpE0CfQl.webp differ diff --git a/img/20220419134631!phpA2mBeA.png b/img/20220419134631!phpA2mBeA.png new file mode 100644 index 0000000..570e5ef Binary files /dev/null and b/img/20220419134631!phpA2mBeA.png differ diff --git a/img/20220419134632!chunkedupload_461fa816eeba.png b/img/20220419134632!chunkedupload_461fa816eeba.png new file mode 100644 index 0000000..570e5ef Binary files /dev/null and b/img/20220419134632!chunkedupload_461fa816eeba.png differ diff --git a/img/20220515184243!phppRzy4w.png b/img/20220515184243!phppRzy4w.png new file mode 100644 index 0000000..f4f49d7 Binary files /dev/null and b/img/20220515184243!phppRzy4w.png differ diff --git a/img/20220515184244!chunkedupload_e3b5c1e20704.png b/img/20220515184244!chunkedupload_e3b5c1e20704.png new file mode 100644 index 0000000..f4f49d7 Binary files /dev/null and b/img/20220515184244!chunkedupload_e3b5c1e20704.png differ diff --git a/img/20220515184510!chunkedupload_062293859a9c.png b/img/20220515184510!chunkedupload_062293859a9c.png new file mode 100644 index 0000000..3008244 Binary files /dev/null and b/img/20220515184510!chunkedupload_062293859a9c.png differ diff --git a/img/20220515184510!phpK9e0Uh.png b/img/20220515184510!phpK9e0Uh.png new file mode 100644 index 0000000..3008244 Binary files /dev/null and b/img/20220515184510!phpK9e0Uh.png differ diff --git a/img/A04-image.png b/img/A04-image.png new file mode 100644 index 0000000..570e5ef Binary files /dev/null and b/img/A04-image.png differ diff --git a/img/Bmnw3-29ogm-300x225.png b/img/Bmnw3-29ogm-300x225.png new file mode 100644 index 0000000..f4f49d7 Binary files /dev/null and b/img/Bmnw3-29ogm-300x225.png differ diff --git a/img/DevTerm_fig01.webp b/img/DevTerm_fig01.webp new file mode 100644 index 0000000..f1fb840 Binary files /dev/null and b/img/DevTerm_fig01.webp differ diff --git a/img/Ext_fig01.webp b/img/Ext_fig01.webp new file mode 100644 index 0000000..51eb35e Binary files /dev/null and b/img/Ext_fig01.webp differ diff --git a/img/GameShell_W.png b/img/GameShell_W.png new file mode 100644 index 0000000..e105972 Binary files /dev/null and b/img/GameShell_W.png differ diff --git a/img/Gameshell_ports_and_power.png b/img/Gameshell_ports_and_power.png new file mode 100644 index 0000000..439e437 Binary files /dev/null and b/img/Gameshell_ports_and_power.png differ diff --git a/img/Hhca2-vzt7d-300x225.png b/img/Hhca2-vzt7d-300x225.png new file mode 100644 index 0000000..3008244 Binary files /dev/null and b/img/Hhca2-vzt7d-300x225.png differ diff --git a/img/Launcher-screenshot.png b/img/Launcher-screenshot.png new file mode 100644 index 0000000..a49151b Binary files /dev/null and b/img/Launcher-screenshot.png differ diff --git a/img/LauncherHome.png b/img/LauncherHome.png new file mode 100644 index 0000000..5795726 Binary files /dev/null and b/img/LauncherHome.png differ diff --git a/img/Taffer.png b/img/Taffer.png new file mode 100644 index 0000000..2acb455 Binary files /dev/null and b/img/Taffer.png differ