Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 2.01 KB

README.md

File metadata and controls

65 lines (48 loc) · 2.01 KB



A work-in-progress ClassPad Emulator.

It is based on casio-emu and will bring some of the RuK UI and features.

It currently runs many add-ins created with gint quite well.

Usage

Grab an addin, like MyAddin.g3a, and select it from the file picker. Then, click "Run" or "Debug".

Limitations

  • This does not attempt to emulate syscalls or the OS yet, so PrizmSDK add-ins will not work
  • Add-ins that use the USB driver will not boot
  • The code is quite messy and inaccurate sometimes.

To be done

  • Support for SDK functions, maybe by building a "stub" os that only provides mocked-up functions and jump tables at given SDK offsets.
    • Support for "open" is ongoing - but issues with filename pointer
    • Add file browser on /fls0 to view addins and run them easily. Also good for debug

Later

  • Disassemble opcodes on debugger - First version done
  • Stack view
  • Write to memory / "hot patching"
  • Add "detours" support on debugger

Building

For the web

C:\Path\To\EMScripten\emsdk\emsdk.bat activate latest
C:\Path\To\EMScripten\emsdk\emsdk_env.bat
mkdir -p ebuild  
cd ebuild
echo "copy the ebuild.zip content in the ebuild folder"
emcmake cmake .. -DUSE_SDL_GUI=ON -DEMSCRIPTEN=ON
emmake make -j4

Locally

This is not tested, but :

mkdir build
# If you want to build the SDL GUI rather than Qt one, add -DUSE_SDL_GUI=ON
# For the Emscripten build, use emcmake and emmake
cmake . -B build
make -C build
./build/calcemu [optional path to g3a]

Screenshots

image image

(Older version) image