This commit is contained in:
Miloslav Ciz 2022-04-11 18:45:44 +02:00
parent ad727dcdc6
commit 042855dcc7
2 changed files with 32 additions and 7 deletions

View file

@ -2,21 +2,21 @@
{ Open consoles are how I got into [suckless](suckless.md) programming, they taught me about the low-level, optimizations and how to actually program efficiently on very limited hardware. I recommend you grab one of these. ~drummyfish }
Open consoles are tiny Gameboy-like gaming consoles powered by [free software](free_software.md) and [hardware](free_hardware.md), which have relatively recently seen a small boom. Examples include [Arduboy](arduboy.md), [Pokitto](pokitto.md) or [Gamebuino](gamebuino.md). These are **NOT** the raspberry pi handhelds that run Gameboy emulators.
Open consoles are tiny [GameBoy](gameboy.md)-like gaming consoles powered by [free software](free_software.md) and [hardware](free_hardware.md), which have relatively recently seen a small boom. Examples include [Arduboy](arduboy.md), [Pokitto](pokitto.md) or [Gamebuino](gamebuino.md). These are **NOT** to be confused with the [Raspberry Pi](rpi.md) handhelds that run GameBoy emulators.
In summary, open consoles are:
- **Gameboy-like gaming consoles** (but also allow and encourage non-gaming uses).
- Powered by **[free hardware](free_hardware.md) and [free software](free_software.md)** (usually [Arduino](arduino.md) plus a custom library, although mostly advertised as [open source](open_source.md) and not so strict about freedom).
- **GameBoy-like gaming consoles** (but also allow and encourage non-gaming uses).
- Powered by **[free hardware](free_hardware.md) and [free software](free_software.md)** (usually [Arduino](arduino.md) plus a custom library, although mostly advertised as [open source](open_source.md) and not so strict about freedom). Schematics are a lot of times available.
- **Retro**.
- **Indie** (sometimes developed by a single guy), often [crowd-funded](crowd_funding.md).
- **Educational**.
- **[DIY](dyi.md)**, often leaving assembly to the customer.
- **Cheap** (compared to proprietary mainstream consoles).
- **Hacking friendly**.
- **Very cheap** (compared to proprietary mainstream consoles).
- **[Hacking](hacking.md) friendly**.
- Typically **[embedded](embedded.md) [ARM](arm.md)**.
- **[Bare metal](bare_metal.md)** (no operating system).
- Pretty **low spec** hardware (RAM amount in kilobytes, CPU frequency in MHz).
- Pretty **low spec** hardware ([RAM](ram.md) amount in kilobytes, CPU frequency in MHz).
- Relying on **user created games** which are many times also free-licensed.
Recommended consoles for starters are [Arduboy](arduboy.md) and [Pokitto](pokitto.md) which are not only very well designed, but most importantly have actual friendly active communities.
@ -25,7 +25,7 @@ These nice little toys are great because they are anti-[modern](modern.md), [sim
## Programming
Open consoles can be programmed without proprietary software, GNU/[Linux](linux.md) works just fine. Most of the consoles are [Arduino](arduino.md)-based so the Arduino IDE is the official development tool with [C++](cpp.md) as a language ([C](c.md) being thankfully an option as well). The IDE is "open-source" but also [bloat](bloat.md); thankfully CLI development workflow can be set up without greater issues (Arduino comes with CLI tools and for other platforms gcc cross-compiler can be used) so comfy programming with [vim](vim.md) is nicely possible.
Open consoles can be programmed without proprietary software, GNU/[Linux](linux.md) works just fine. Most of the consoles are [Arduino](arduino.md)-based so the Arduino IDE is the official development tool with [C++](cpp.md) as a language ([C](c.md) being thankfully an option as well). The IDE is "open-source" but also [bloat](bloat.md); thankfully [CLI](cli.md) development workflow can be set up without greater issues (Arduino comes with CLI tools and for other platforms [gcc](gcc.md) cross-compiler can be used) so comfy programming with [vim](vim.md) is nicely possible.
If normies can do it, you can do it too.

25
pokitto.md Normal file
View file

@ -0,0 +1,25 @@
# Pokitto
Pokitto is a very nice educational [open gaming console](open_console.md) friendly to [hacking](hacking.md) and [FOSS](foss.md). Its website is https://www.pokitto.com/.
Its great advantage is its great active and friendly community that's constantly writing software, documenting Pokitto and helping newcomers.
The console was created by Jonne Valola from Finland. He started the project on Kickstarter on April 28 2017, pledged over $27000 and released Pokitto in February 2018. { Jonne is a really nice guy who loves the project, always helps people and shared technical details. ~drummyfish }
Pokito, unlike most other open consoles, is NOT based on [Arduino](arduino.md), but on [NXP](nxp.md)'s LPC11U6x [microcontroller](mcu.md) (MCU). Some features and specs of Pokitto are:
- Up to **220x176 color display** ([TFT](tft.md)). (Resolution and color depth depends on chosen mode and how much [RAM](ram.md) you want to dedicate to [screen buffer](screen_buffer.md)).
- Up to **72 MHz [ARM](arm.md) CPU**. The base frequency is 48 MHz but the hardware is easily [overclocked](overclocking.md).
- **256 kB [ROM](rom.md)** (program storage space).
- **36 kB [RAM](ram.md)** (working memory).
- **4 kB [EEPROM](eeprom.md)** (persistent storage).
- **7 buttons**.
- **Speaker and headphone jack**.
- Both **[emulator](emulator.md) and simulator** which make programming much more efficient and comfortable.
- **Custom library** -- PokittoLib -- [free](free_software.md)-licensed { even though it contains a few small "fair use" files from the MCU vendor. ~drummyfish }. It has many features, unfortunately it's also kind of [bloated](bloat.md).
- **[SD](sd.md) card support**.
- Hardware extensions called **hats**. Available is e.g. a hat with [joystick](joystick.md) and extra buttons.
- Programming via [USB](usb.md), works on [GNU](gnu.md)/[Linux](linux.md) with [gcc](gcc.md) ARM cross compiler. Supports a few languages: **[C++](cpp.md), [C](c.md), [MicroPython](micropython.md) and [Java](java.md)**.
- Custom [IDE](ide.md) for [noobs](noob.md): FemtoIde.
- Schematics and 3D print files available.
- A huge number of games and other software has already been written.