Skip to content

Commit

Permalink
Update structure.md
Browse files Browse the repository at this point in the history
  • Loading branch information
petabyt authored Sep 27, 2024
1 parent cd5fb65 commit 602e088
Showing 1 changed file with 1 addition and 27 deletions.
28 changes: 1 addition & 27 deletions docs/structure.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,3 @@
# Fujihack project structure

Quick overview of Fujihack's code structure:

![flowchart](img/flow.png)

## src/
- POSIX/Frontier compliant compatibility layer over Fujifilm's proprietary OS
- Header files defining Fujifilm's proprietary OS API (`ff_`)

## frontier/
Submodule to Frontier. A basic hobby OS.

## patch/
- ARM32 assembly patches inserted directly into firmware.

## ptp/
- PTP/USB utility for running code with the code execution patch. Can also quickly load the fujihack binary.

## model/
- Each camera model that has been reverse-engineered has its own C header file.
It holds information on the camera, including important addreses (stubs) in memory, firmware, and other
important model-specific information.

- Each file is named with the model code "xf1", "xt4", etc. Then an underscore, and the version code of the
firmware that was analyzed. For example, if the version is "1.01", then the version code would be "101".

- See `template.h` for a basic example. Memory addresses start with `MEM_`, firmware addresses start with `FIRM_`,
and functions are defined with the `NSTUB` macro (which was stolen from Magic Lantern :))
TODO:

0 comments on commit 602e088

Please sign in to comment.