diff --git a/README.md b/README.md index 7c5b62f..0c9d814 100644 --- a/README.md +++ b/README.md @@ -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). diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..7632b2e --- /dev/null +++ b/doc/README.md @@ -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 \ No newline at end of file diff --git a/doc/dev/README.md b/doc/dev/README.md new file mode 100644 index 0000000..a615965 --- /dev/null +++ b/doc/dev/README.md @@ -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. \ No newline at end of file diff --git a/doc/tools/README.md b/doc/tools/README.md new file mode 100644 index 0000000..8168f44 --- /dev/null +++ b/doc/tools/README.md @@ -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 \ No newline at end of file