Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/SnailMath/hollyhock-2
Browse files Browse the repository at this point in the history
  • Loading branch information
SnailMath committed May 27, 2021
2 parents d5738df + 8eb6bff commit 8244423
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 14 deletions.
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
This is a __fork__ of the original hollyhock launcher by The6P4C (https://github.com/Stellaris-code/hollyhock-fork/).
My intention is to modify it a little. I want to change the following things:
- Exam mode: The Launcher should be disabled in exam mode to prevent cheating. (My math teacher in school wants this function)
I will check the color of the battery logo to test, if the exam mode is on or off.
- EXEC003: I want to add the ability to run programs located in program variables. This was the function of the old "LoaderIIb", which I wrote a few month back.
I don't want to miss the feel of typing in programs byte per byte by hand (only if you want to) and sending them over the serial cable.
- Strings: I want to change a few texts in the OS, the Imaginary Unit button used to load the program should be renamed. The version text (usually "classpad II")
Was changed to "hollyhock" by The6P4C, I will change it to "hollyhock2" (or something similar) only after i patched the exam mode thing.
My intention was to modify it a little. I changed the following things:
- BIN: I added the ability to load prograrms from binary files instead of .hhk files, the extrypoint is the start of the file and the load location is somwhere in the file,
look at the linker.ld file in the app_template folder.
- EXEC003: I added the ability to run programs located in program variables. This was the function of the old "LoaderIIb", which is now obsolete.
I didn't want to miss the feel of typing in programs byte per byte by hand (only if you want to) and sending them over the serial cable.
- Exam mode: The Launcher is disabled in exam mode to prevent cheating. (Even though I would recommend going back to the original firmware for exams.)
The loader checks the color of the battery logo to test, if the exam mode is on or off.
- Strings: I changed a few texts in the OS, the Imaginary Unit button used to load the program was renamed to 'Hollyhock-Launcher'. The version text (usually "classpad II")
Was changed to "hollyhock" by The6P4C, I changed it to "hollyhock-2".
- Backslash: I will change the backslash character from the symbol `¥` to the symbol `\`.

# DISCLAIMER
- I AM NOT RESPONSIBLE FOR ANY DAMAGE YOU MAY DO TO YOUR fx-CP400.
Expand All @@ -19,7 +22,7 @@ My intention is to modify it a little. I want to change the following things:
# Installation (simple)
This is how you install hollyhock-2 onto your calculator:
- download the newest prebuild release of hollyhock-2: https://github.com/SnailMath/hollyhock-2/releases
- extract the folder Snail2021 from the release onto the desktop.
- copy the folder Snail2021 from the .zip file in the release onto the desktop.
- open the folder Snail2021 on the desktor and double click on Snail2021.exe
- follow the instructions on screen:
- Download and install ResourceHacker (scroll down, click on _EXE install_): http://angusj.com/resourcehacker/
Expand All @@ -28,13 +31,13 @@ This is how you install hollyhock-2 onto your calculator:
- at this point, return back to the first windown (The Snail2021.exe)
- click enter until it asks you to connect the calculator.
- You can close the updater window now.
- When you click enter the last time in the Snail2021.exe window, the updater will open again.
- When you click enter the last time in the Snail2021.exe window, the updater will open again, but this time it is the modified version.
- Connect the calculator via USB.
- On the calculator hold down the [EXP], [^] and Clear keys. With those keys depressed, momentarily press the RESET button on the back of the calculator. Keep the three front buttons pressed until the screen displays the `OS ERROR` message. Don't worry, there is no actual error, this is just the update mode.
- On the calculator hold down the `EXP`, `^` and `Clear` keys. With those keys pressed, momentarily press the RESET button on the back of the calculator. Keep the three front buttons pressed until the screen displays the `OS ERROR` message. Don't worry, there is no actual error, this is just the update mode.
- On the computer, Click on OK in the updater.
- __DO NOT TOUCH__ the calculator until the update is finished.
- When the updater is finished, unplug it and plug it in again
- Select USB Storage and copy the file run.bin and all .hhk files (from the folder Snail2021) directly onto the calculator.
- Select USB Storage and copy the file run.bin and all .hhk and .bin files (from the folder Snail2021) directly onto the calculator.
- On the computer, click on eject (probably on the bottom right) and eject the calculator.

To start a program, go to the Menu, go to the right, select System, click on the gear on the top left and click on `Imaginary Unit` (I will probably rename this to 'Start hollyhock' or 'Start program' soon.)
Expand Down
11 changes: 8 additions & 3 deletions doc/user/patching.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
# Patching the fx-CP400 firmware
This isn't a fun process at the moment, but it works. Hopefully, in the future, this process will be easier - but it isn't yet. If you run into any serious trouble, reach out to me on [Twitter](http://twitter.com/The6P4C) or [Reddit](http://reddit.com/u/The6P4C) and I *may* be able to help you out.
**You do not need to do this by hand if you just want to install programs on ypur calculator! Just use the program Snail2021.exe which is available in the releases.**

You need both a Windows and Linux machine to complete this process (as there is no updater for Linux, and the extraction tool extracts the firmware from the Windows DLLs). I'd recommend a virtual machine (or Vagrant box for simplicity) rather than two physical machines.
Simple instructions if you just want to install it: https://github.com/SnailMath/hollyhock-2#installation-simple

You'll also need a resource editor program - [Resource Hacker](http://www.angusj.com/resourcehacker/) has been tested to work (Visual Studio can also be used to replace the RCDATA resource - just be careful to give the replaced resource an ID of 3070!).
If you don't want to youse the precompiled program and you want to compile it by hand,
you need both a Windows and Linux machine to complete this process (as there is no updater for Linux, and the extraction tool extracts the firmware from the Windows DLLs). I'd recommend a virtual machine (or Vagrant box for simplicity) rather than two physical machines.

You'll also need a resource editor program - [Resource Hacker](http://www.angusj.com/resourcehacker/) has been tested to work ~~(Visual Studio can also be used to replace the RCDATA resource - just be careful to give the replaced resource an ID of 3070!).~~ (Snail2021 relies on 'Resource Hacker')

## 0. Clone this repository
Clone this repository onto your machine. If you're using a virtual machine, this is really great place to use the shared folders feature your VM host probably provides.

## 1. Build an SH4 cross-compiler
(This is also needed if you just want to develop programs for the Classpad II.)

Hop onto your Linux machine.

First, you'll have to define a few environment variables to ensure the process goes smoothly. Feel free to change `PREFIX` (the installation location), but don't change `TARGET`.
Expand Down

0 comments on commit 8244423

Please sign in to comment.