diff --git a/open_console.md b/open_console.md index 0c51972..6025ad4 100644 --- a/open_console.md +++ b/open_console.md @@ -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. diff --git a/pokitto.md b/pokitto.md new file mode 100644 index 0000000..56736a6 --- /dev/null +++ b/pokitto.md @@ -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. \ No newline at end of file