mirror of
https://github.com/MiSTer-devel/Gameboy_MiSTer.git
synced 2026-04-19 03:04:09 +00:00
* Add makefile for bootrom compilation Add flag for SameBoy compilation, separate asm sources Also adds WIndows make switches Replace SameBoy PB12 encoding with old encoding GameBoy logo still not 100% Clarify Makefile, add image compilation Remove sameboy source * Remove DMG emulation of CGB games Remove unused variable. Change logo extension Remove rgbgfx option Nintendo logo correct now Explicitly define slice * Remove palette selection for CGB games * Old-style Gameboy logo * Add GBA menu option for built-in CGB rom * Restore original DMG scrolling animation * Add original CGB bios checksum verification * Add fastboot option to DMG/CGB bootroms, create new OSD submenu Also add further checksums for CGB0 bootrom and equivalent checksum C code. Grouped together all bootrom items into new submenu. Removed redundant bootroms (AGB, fastboot) * Update README and give SameBoy attribution Clean up checksum + make * Incorporate latest SameBoy boot changes Gives correct register values on boot * Update readme * Add AGB alternative boot color --------- Co-authored-by: Mark Johnson <mark.ai.johnson@pm.me>
53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# Bootroms
|
|
|
|
## Attribution
|
|
|
|
The bootrom source code here has been adapted from the [SameBoy project](https://github.com/LIJI32/SameBoy/)
|
|
The MIT license is included in these files.
|
|
|
|
## Compilation
|
|
|
|
Bootrom compilation follows the same approach as [SameBoy](https://github.com/LIJI32/SameBoy/#compilation).
|
|
|
|
The following tools and libraries are required to build bootroms:
|
|
|
|
* clang or GCC
|
|
* make
|
|
* [rgbds](https://github.com/gbdev/rgbds/releases/)
|
|
* [SRecord](https://srecord.sourceforge.net/)
|
|
|
|
The Makefile contains to following targets:
|
|
|
|
* `default` compiles `dmg_boot.bin`, `cgb_boot.bin` and `sgb_boot.bin` and concatenates them into `cgb_boot.mif`
|
|
* `bootroms` compiles all `default` binaries as well as `mgb_boot.bin`, `cgb0_boot.bin` and `sgb2_boot.bin`
|
|
* `checksum` compiles a program to calculate simple checksums of binary files
|
|
* `all` all of the above
|
|
* `clean` delete all bootroms and object files, as well as `cgb_boot.mif`
|
|
|
|
## Checksum
|
|
|
|
A tool is provided to calculate the checksum of a binary file. These checksums are used in the core to verify if the enhanced boot features are available.
|
|
|
|
**Note: If these bootroms are edited and recompiled in future, the checksums should be recalculated and updated in [Gameboy.sv](../Gameboy.sv)**
|
|
|
|
## Enhancements
|
|
|
|
For convenience, two enhancements have been added to the bootroms which enables the on-screen display to change the default boot behaviour without the user needing to load a new bootrom.
|
|
Some of these enhancements extend to alternative roms in the [binary folder](./bin)
|
|
|
|
### Fast boot
|
|
|
|
Fast boot skips the boot animation for the following bootroms:
|
|
|
|
* `cgb_boot.bin` (built-in)
|
|
* `cgb0_boot.bin`
|
|
* `dmg_boot.bin` (built-in)
|
|
|
|
### AGB emulation
|
|
|
|
The Game Boy Advance had a slightly different CGB bootrom, which enabled special features in a small number of games. AGB emulation is available for:
|
|
|
|
* `cgb_boot.bin` (built-in)
|
|
* `cgb0_boot.bin`
|
|
* The original CGB bootrom (not provided)
|