A virtual pet using the atsamd21g and sharp memory lcd, runs off of 2xAAA for a couple of months. See PawPet on Hacakday.io for full gallery.
This is a rewrite in Rust of the original (and unfinished) arduino based code. That codebase is preserved at PawPet Arduino.
A webasm simulator of the pawpet using wasm-pack.
This is not a cycle accurate emulator, it hooks the update/render functions to an html5 canvas and maps the core peripherals to web-asm compatible hooks.
-
Install the Rust SDK
-
Install wasm-pack (also avaiable via
cargo install wasm-pack
) -
Run the build script
cd pawsim
scripts/build.ps1
index.html
can then be live hosted from the pawsim\bin
folder, see pawpet web simulator for a working web simulator.
-
Install the Rust SDK
-
Run sdk-setup, which will setup the rust target dependencies
cd pawpet
tools/sdk-setup.ps1
- Run build script
cd pawpet
tools/build.ps1
-
Install powershell (i'm sorry, I'll fix this soon)
-
Install the Rust SDK
-
Install linux dependencies (Ubuntu 20.04)
apt install build-essential libusb-dev libusb-1.0-0-dev libudev-dev pkg-config
- Run sdk-setup, which will setup the rust target dependencies
pwsh
cd pawpet
tools/sdk-setup.ps1
- Run build script
pwsh
cd pawpet
tools/build.ps1
- TODO new hf2 bootloader that supports updating internal flash and extracting save files
- TODO have bootloader support fuse setting
- disable boot prot fuses
- flash bootloader generated by
pawboot
module - set boot brotection fuses to 16kb (bootprot fuse value 0x2)
- disable BOD33 fuse
pawcon
tool supports restarting the pawpet into update mode and flashing new content to its internal storage
All code is licensed under the MIT license.
All graphics, art, and 3d models are licensed under the Creative Commons Attribution-NonCommercial 4.0 International Public License.