1
0
mirror of https://github.com/djhackersdev/bemanitools.git synced 2024-11-30 17:24:30 +01:00

doc: Add a bunch of root readme files to various levels, enhance doc

Not complete, but a start to make documentation browsable and
therefore more accessible.
This commit is contained in:
icex2 2020-12-20 17:06:27 +01:00
parent f667ae5601
commit f7e1c8b3f9
4 changed files with 66 additions and 0 deletions

View File

@ -12,6 +12,10 @@ BT5 uses a cleaner approach than BT4 did; specifically, all input and lighting i
spoken by the real IO PCBs, instead of replacing chunks of game code like BT4. The benefits of this approach are a more
authentic gameplay experience, and easier support for a broader range of releases from each game series.
## Documentation
Browse our [documentation](doc/README.md) as it might already cover various questions and concerns
you are looking for or about to ask.
## Contributions and bug reporting
[Read the dedicated CONTRIBUTING.md documentation](CONTRIBUTING.md).

21
doc/README.md Normal file
View File

@ -0,0 +1,21 @@
# Bemanitools 5 documentation
This folder contains various types of documentation.
Table of contents:
* Key tools
* [Inject](inject.md): Readme for one of BT5's key applications, `inject.exe`
* [Launcher](launcher.md): Readme for another one of BT5's key applications, `launcher.exe`
* [Tools](tools/README.md): Documentation for additional user and development tooling
* Game hooks
* [ddrhook](ddrhook/README.md): Documentation relevant to `ddrhook` implementations
* [iidxhook](iidxhook/README.md): Documentation relevant to `iidxhook` implementations
* [jbhook](jbhook/README.md): Documentation relevant to `jbhook` implementations
* [sdvxhook](sdvxhook/README.md): Documentation relevant to `sdvxhook` implementations
* Development
* [API](api.md): Available APIs for BT5 and instructions how to use them
* [Architecture](architecture.md): Outline of BT5's architecture, how things are designed and why
* [Development](development.md): Development environment, building, releasing, etc.
* [Developer documentation](dev/README.md): Various lose documentation/notes by developers
* [Tools](tools/README.md): Documentation for additional user and development tooling
* Hardware
* [Hardware](hardware/README.md): Anything related to hardware, e.g. IO boards

3
doc/dev/README.md Normal file
View File

@ -0,0 +1,3 @@
# Development documentation and notes
This folder contains various lose documentation snippets created by the developers. These can be
helpful as future reference.

38
doc/tools/README.md Normal file
View File

@ -0,0 +1,38 @@
# Tools
Documentation about various additional tooling that is fundamentally not required to run any of
BT5's supported games, but provides additional features for users and developers alike.
## BT5 API
Various command line tools for quick and easy testing of BT5 API implementations witohut having
to run any target games.
* [eamiotest](eamiotest.md): `eamio` API
* [iidxiotest](iidxiotest.md): `iidxio` API
* [jbiotest](jbiotest.md): `jbio` API
## IO related
### ACIO
* [aciotest](aciotest.md): Command line tool for quick and easy testing of ACIO devices without
having to run a game.
### Ezusb
* [ezusb-iidx-fpga-flash](ezusb-iidx-fpga-flash.md): Tool for flashing the FPGA on ezusb 1 boards.
Required if you want to run games without native ezusb support using BT5's iidxio API.
* [ezusb-iidx-sram-flash](ezusb-iidx-sram-flash.md): Tool for flashing data to the SRAM of ezusb
FX 2 boards. Required if you want to run games without native ezusb FX 2 support using BT5's iidxio
API.
* [ezusb-tool](ezusb-tool.md): Fundamental tool for flashing the base firmware to ezusb 1/2 boards.
Required if you want to run games without native ezusb 1/2 support using BT5's iidxio API.
### IIDX exit hooks
Exit hooks allow you to exit the game using a combination of inputs on native IO hardware.
Supported IO hardware:
* [ezusb](iidx-ezusb-exit-hook.md)
* [ezusb 2](iidx-ezusb2-exit-hook.md)
* [bio2](iidx-bio2-exit-hook.md)
## Misc
* [mempatch-hook]: Hook library to dynamically apply memory address patches during runtime before
your application starts execution. Should be prefered over hardcoded hex-edits if applicable.
* [pcbidgen]: Command line tool to generate random PCBIDs