From 33cb7eb10629fb9887aaf9cce72c1cba24f33b4f Mon Sep 17 00:00:00 2001 From: Tim Allen Date: Tue, 3 Nov 2020 23:38:25 +1100 Subject: [PATCH] Add some documentation about what's in various bsnes directories. --- bsnes/README.md | 53 ++++++++++++++++++++++++++++++++++++ bsnes/target-bsnes/README.md | 31 +++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 bsnes/README.md create mode 100644 bsnes/target-bsnes/README.md diff --git a/bsnes/README.md b/bsnes/README.md new file mode 100644 index 00000000..5f9b4125 --- /dev/null +++ b/bsnes/README.md @@ -0,0 +1,53 @@ +bsnes source code +================= + +A guide to what all these directories are for: + + - [Database](./Database/) + contains the databases bsnes uses + to figure out what circuit board a game expects, + and also the database of pre-made game cheats + - [emulator](./emulator/) + contains the interface + that the emulation core in [sfc](./sfc/) implements + - It comes from higan v106, + which has many emulation cores + that all implement the same interface — + bsnes only has one, + but the interface is still a good abstraction, + so it's still here. + - [filter](./filter/) + contains classic CPU-based image upscaling filters, + like HQ2x and Super Eagle + - [gb](./gb/) + contains the SameBoy emulator code + used for Super Game Boy emulation + - [heuristics](./heuristics/) + contains the logic that guesses + which memory map a particular game expects + and what extra hardware it assumes is present, + when a game cannot be found in the database + - [Locale](./Locale/) + contains translation databases + that bsnes can use to display its user interface + in a different language + - [lzma](./lzma/) + contains the 7-Zip SDK + allowing bsnes to understad `.7z` archives + - [processor](./processor/) + contains all the CPU emulation cores + used by the hardware bsnes emulates + - Another holdover from higan v106, + where different supported systems + happen to use the same model CPU, + so the CPU emulation cores + are not specific to a system + - [sfc](./sfc/) + contains Super Famicom (SNES) emulation code + - [target-bsnes](./target-bsnes/) + contains the normal bsnes user interface + - [target-libretro](./target-libretro/) + implements the "libretro" API + on top of bsnes' native + [emulator](./emulator/) API, + so bsnes can be used with libretro-based frontends diff --git a/bsnes/target-bsnes/README.md b/bsnes/target-bsnes/README.md new file mode 100644 index 00000000..ad5b215d --- /dev/null +++ b/bsnes/target-bsnes/README.md @@ -0,0 +1,31 @@ +bsnes user interface +==================== + +This directory contains the code for +the normal bsnes user interface. + + - [bsnes.cpp](./bsnes.cpp) + contains the `nall::main()` entry point + - [input](./input/) + contains the glue logic + that maps incoming controller inputs + into emulated controller inputs and hotkey signals + - [presentation](./presentation/) + contains the code that sets up the main window + (menu bar, status bar, etc.) + - [program](./program/) + contains the glue logic + that connects the UI to the emulation core, + generating manifests, + loading games, + displaying video and playing audio, etc. + - [resource](./resource/) + contains all the data bsnes uses at runtime, + like icons, + the about box logos, + the SNES board database + - [settings](./settings/) + contains Settings window stuff + - [tools](./tools/) + contains Tools window stuff +