Vhex is a kernel which provide development and retro ingenierie platform for the Casio's OS
Go to file
Yann MAGNIN 105eb7c482 Add scheduler first release + fix process stack crash 2020-02-05 21:09:39 +01:00
include Add scheduler first release + fix process stack crash 2020-02-05 21:09:39 +01:00
src Add scheduler first release + fix process stack crash 2020-02-05 21:09:39 +01:00
.gitignore Add TTY + Add KEYSC driver + add TMU driver 2019-12-16 16:25:13 +01:00
LICENSE Update License used by the project --> switch to CC0. 2019-06-14 14:49:13 +02:00
Makefile Add scheduler first release + fix process stack crash 2020-02-05 21:09:39 +01:00
README.md Update README 2019-06-20 15:49:09 +02:00
global.mk Updated project organization to isolate kernel, libraries and user applications 2019-12-30 16:31:03 +01:00

README.md

Vhex disassembler

Vhex is a GUI, Vim based, disassembler for fx9860g. The Casio's OS code is not open-source, but we can read the binary for understand his working. There are in particular the syscalls, OS's functions that can be called as a library by the add-ins, which are a gold mine of clues about the functioning of the material.

features

  • All SH3 and SH4 instructions traduced "on-the-fly".
  • Can handle 3 modes for movements.
  • Can handle commands.
  • Commands history.
  • Compatible with SH3 and SH4 architecture.

List of currently supported commands:

  • systab jump into the Casio "syscall handler".
  • vbrjmp <zone> jump into the Casio interrupt, exception or tlb miss handlers.
  • syscall <id> jump into the syscall function.
  • ram <zone> jump into the RAM mapped at different parts of the Virtual Memory.
  • jmp <address> jump where you want.
  • rom <zone> jump into the ROM mapped at different parts of the Virtual Memory.
  • help <cmd> display command's help.

List of currently supported modes:

  • UNUSED The session is unused.
  • NORMAL User can move freely where it wants.
  • COMMAND User can type some commands.

Building

Before compiling for the first time, There are few dependencies:

  • A suitable GCC toolchain in the PATH. You can absolutely not build Vhex with your system compiler! sh3eb-elf is strongly advised.
  • g1a wrapper to generate the Casio header.
  • P7 communication utilities.

To compile the project, you just plug the calculator and execute:

% make
% make install