Introduction
HollyHock2 operates as a modification (mod) for Classpad calculators, utilizing a custom ROM for enhanced functionality to make your calculator do even more awesome things. To make HHK work, you gotta install it on your calculator. If you haven’t done this yet, we have a simple guide to help you out. Just go to our 🛠️ calculator patching guide to learn how to do it.
Instant Coding using online codespace
The easiest way to start is by setting up a Github Codespace. You’ll get coding instantly without the hassle of installations or long downloads. No need for local setups—our integrated online IDE with Git makes coding a breeze. Follow our step-by-step guide in our online sandboxes to get your app from code to ready to use app:
If GitHub prompts for login, you’ll need to create a GitHub account to use Codespaces. Don’t worry, it’s a quick and free process! Plus, enjoy 120 hours of free usage per month – more than enough to dive into coding, create cool apps, and kickstart your development journey.
For advanced users, alternative methods are available, but for beginners, we highly recommend starting with Codespaces for the quickest and user-friendly experience. Dive into coding effortlessly and build your projects with confidence by taking a look at the following tutorial :
- Draw colored shapes and text on the screen
- Interact with keyboard
Below that point are instructions for advanced users. You may skip them if you have successfuly setup the codespace.
Docker Setup
If you need to troubleshoot or adapt this Docker image, you can take a look at the source of the DevEnv.
First you’ll need to pull the latest release of the SH4 devenv :
docker pull pho3be/sh4devenvgitpod
Then run a bash, and you’ll get into the docker image :
docker run -it -p 8080:8080 pho3be/sh4devenvgitpod bash
You can now clone a template and start building
su - dev
# password is dev
git clone https://github.com/TheRainbowPhoenix/CPAppTemplate.git
cd CPAppTemplate
ls
# you don't have the app or anything
cat WELCOME.txt
make all
ls
# now you have both the .bin and .hhk ready to get installed onto your classpad !
You may want to setup the VSCode remote host, use the default VSCode devcontainers configuration, or even go with a custom code-server
Docker and code-server
With code-server you may need to sudo apt update && sudo apt install curl
first.
Then install code-server with curl -fsSL https://code-server.dev/install.sh | sh
Take note of the code-server password on cat /home/dev/.config/code-server/config.yaml
Finally run it with code-server --bind-addr 0.0.0.0:8080
You can now open your browser to the 127.0.0.1:8080, enter the password.
VS Code should prompt you to install recommended extensions. I advise you to do so as they’ll make your development experience a breeze !
Accept when asked about “installing clangd” and reload the window. Then it should be okay !
Using the pre-built compiler
To use the pre-built compiler for HollyHock2, follow these simple steps:
-
Download the Files: Go to SH4-cross-mingw Releases and download three files:
build-all.zip
: Contains SH4 gcc for Windows and some helpers.tests.zip
: Includes test projects, build scripts, and make.hollyhock-2.zip
: The compiled SDK with the source.
-
Create a Folder: Create a new folder on your computer and name it, for example, “hhk”.
-
Extract Files:
- Extract the contents of
build-all.zip
. The “out” folder should be extracted to the root of your “hhk” folder. - Extract the contents of
hollyhock-2.zip
to the root of the “hhk” folder. - Extract the contents of
tests.zip
to the “hhk” folder.
- Extract the contents of
-
Prepare for Build: Navigate to the
tests/CPAppTemplate-main
folder and remove the.hhk
and.bin
files. -
Open CMD: Open a Command Prompt (CMD) at the path of
tests/CPAppTemplate-main
:- Navigate to the folder’s address bar, type “cmd”, and press Enter.
-
Build the App: In the Command Prompt, type and execute the command:
build.bat
. This will build the apphhk
andbin
.
Your development environment is now set up, and you can start exploring and building with HollyHock2.