-
Notifications
You must be signed in to change notification settings - Fork 21
Release hardware.inc version 4.10 #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 24 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
df469b5
Update actions/checkout to v4
Rangi42 384fd9d
Update hardware.inc to version 4.10.0
Rangi42 f4b0d53
Use shorter register heading dash comments
Rangi42 2ed8496
Update more registers
Rangi42 d7a3af8
More registers
Rangi42 f662df2
Add HDMA registers
Rangi42 ded2c62
Fix VDMA (aka HDMA or GDMA) constants
Rangi42 8bbf15b
Finish $FFxx registers
Rangi42 4bc1f39
Finish cartridge MBC registers
Rangi42 dbe2383
Finish deprecated constants
Rangi42 fc84097
Start porting some constants from gb-bootroms
Rangi42 3233aaa
Finish CPU values on bootup and interrupt vector addresses
Rangi42 77c4186
Finish screen-related constants
Rangi42 baf5e18
Finish OAM constants
Rangi42 33ce4b9
Fix spacing
Rangi42 cbbabcd
Update change log
Rangi42 1f750f1
Add `BGP_SGB_TRANSFER`
Rangi42 8751947
Consistently use `[r/w]` not `[rw]`
Rangi42 f424cad
Comment on how to fill header with zeros
Rangi42 849fe17
Note which values RGBFIX "sets" by not overwriting zeros
Rangi42 6c6ed14
Remove extra space
Rangi42 e29541b
Define `rRTCREG`
Rangi42 9a4fcfd
Fix comment
Rangi42 0d8f86f
Updated history change log
Rangi42 aa8b70d
Suggestions from code review
Rangi42 076e287
Use `rb` for OAM field offsets
Rangi42 78635fe
Update date of last revision
avivace File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# History | ||
|
||
- **Rev 1.1** - 1997-07-15 | ||
- Added define check | ||
- **Rev 1.2** - 1997-07-18 | ||
- Added revision check macro | ||
- **Rev 1.3** - 1997-07-19 | ||
- Updated syntax for RGBASM 1.05 | ||
- **Rev 1.4** - 1997-07-27 | ||
- Updated subroutine prefixes | ||
- **Rev 1.5** - 1997-08-15 | ||
- Added `_HRAM` constant | ||
- Added `PAD*` constants for `rP1` register | ||
- Added `CART*` MBC constants | ||
- Added `NINTENDO_LOGO` macro | ||
- **Rev 1.6** - 1997-11-30 | ||
- Added `rDIV`, `rTIMA`, `rTMA`, and `rTAC` registers | ||
- **Rev 1.7** - 1998-01-31 | ||
- Added `_SCRN0` and `_SCRN1` constants | ||
- **Rev 1.8** - 1998-02-15 | ||
- Added `rSB` and `rSC` registers | ||
- **Rev 1.9** - 1998-02-16 | ||
- Converted I/O registers to `$FFxx` format | ||
- **Rev 2.0** | ||
- Added GBC registers | ||
- **Rev 2.1** | ||
- Added MBC5 and cart RAM enable/disable constants | ||
- **Rev 2.2** | ||
- Fixed `NR42`, `NR43`, and `NR44` constants | ||
- **Rev 2.3** | ||
- Fixed incorrect `_HRAM` constant | ||
- **Rev 2.4** - 2013-04-27 *(AntonioND)* | ||
- Added some `CART_*` MBC constants | ||
- **Rev 2.5** - 2015-05-03 *(AntonioND)* | ||
- Fixed formatting | ||
- **Rev 2.6** - 2016-04-09 *(AntonioND)* | ||
- Added GBC `OAMF_*` and `CART_*` constants | ||
- **Rev 2.7** - 2019-01-19 *(ISSOtm)* | ||
- Added `rPCM12` and `rPCM34` registers | ||
- **Rev 2.8** - 2019-02-03 *(Álvaro Cuesta)* | ||
- Added flag values for audio registers | ||
- **Rev 2.9** - 2020-02-28 | ||
- Added `P1F_*` flag values for `rP1F` register | ||
- **Rev 3.0** - 2020-08-27 *(Blitter Object)* | ||
- Register ordering | ||
- Byte-based sizes | ||
- OAM additions | ||
- General cleanup | ||
- **Rev 4.0** - 2021-05-03 *(Eievui)* | ||
- Updated to use RGBASM 0.5.0 syntax | ||
- Changed `IEF_LCDC` to `IEF_STAT` | ||
- **Rev 4.1** - 2021-08-16 *(rondnelson99)* | ||
- Added more flags, bit number constants, and offset constants for OAM and window positions | ||
- **Rev 4.2** - 2021-09-04 *(ISSOtm)* | ||
- Added CH3- and CH4-specific audio registers flags | ||
- **Rev 4.3** - 2021-11-07 *(Eievui)* | ||
- Deprecate VRAM address constants | ||
- **Rev 4.4** - 2022-01-11 *(avivace)* | ||
- Deprecate VRAM `CART_SRAM_2KB` constant | ||
- **Rev 4.5** - 2022-03-03 *(sukus)* | ||
- Added bit number definitions for `OCPS`, `BCPS` and `LCDC` | ||
- **Rev 4.6** - 2022-06-15 | ||
- Added MBC3 registers and special values | ||
- **Rev 4.7.0** - 2022-06-27 | ||
- Added alternate names for some constants | ||
- **Rev 4.7.1** - 2022-07-05 | ||
- Added `RPB_LED_ON` constant | ||
- **Rev 4.8.0** - 2022-10-25 *(zlago)* | ||
- Changed background addressing constants | ||
- **Rev 4.8.1** - 2023-04-29 *(rbong)* | ||
- Added `rOPRI` | ||
- **Rev 4.9.0** - 2023-06-24 *(sukus)* | ||
- Added definitions for interrupt vectors | ||
- **Rev 4.9.1** - 2023-09-11 | ||
- Added repository link and CC0 waiver notice | ||
- **Rev 4.9.2** - 2024-08-18 *(DevEd)* | ||
- Corrected `CART_ROM_MBC5_BAT` to `CART_ROM_MBC5_RAM` | ||
- **Rev 4.10.0** - 2025-05-16 *(Rangi42)* | ||
- Added `rKEY0`, `rBANK`, and `rRTCREG` registers | ||
- Added `rJOYP`, `rVDMA_*`, and `rWBK` register aliases | ||
- Added `HARDWARE_INC_VERSION` string constant | ||
- Added many more bit number, flag, and value constants | ||
- Deprecate `IEB_HILO` and `IEF_HILO` in favor of `IEB_JOYPAD` and `IEF_JOYPAD` | ||
- Deprecate memory region and cartridge header constants | ||
- Changed formatting and reorganized sections | ||
- Moved revision history to separate HISTORY.md file |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,27 @@ | ||
# `hardware.inc` | ||
|
||
### Game Boy Hardware definitions | ||
## Game Boy hardware definitions | ||
|
||
`hardware.inc` has been the standard include file containing Game Boy hardware definitions for use in [RGBDS](https://rgbds.gbdev.io) projects for over 20 years. | ||
|
||
The file was originally created by Jeff Frohwein in 1997, who still hosts [his latest version (2.3)](http://www.devrs.com/gb/files/hardware.zip) on his great [Dev'rs](http://devrs.com) website. | ||
The file was originally created by Jeff Frohwein in 1997. Although Jeff tried to track version updates with a rudimentary change log at the top of the file, people have made small changes throughout the years, often without bumping the version number. | ||
|
||
Although Jeff tried to version control the file with a rudimentary change log at the top of the file, people have added small changes throughout the years, often without bumping the version number. | ||
|
||
This repo has become the new official reference for `hardware.inc`, using [@AntonioND](http://github.com/AntonioND)'s fork as the baseline. | ||
This repository has become the official reference for `hardware.inc`, using [@AntonioND](https://github.com/AntonioND)'s fork as the baseline. | ||
|
||
## Contributing | ||
|
||
This repository's `master` branch should be considered production; | ||
Each commit represents a new release, requiring the embedded version number to be bumped (and an entry to be added to the changelog at the beginning of the file). | ||
|
||
We follow [semantic versioning](https://semver.org); | ||
Breaking changes (such as those in [72ec03f](https://github.com/gbdev/hardware.inc/commit/72ec03f835e72be83a1ef189a4a9eac0fbdf39e2)) increase the major version, backwards-compatible changes (typically additions) only increase the minor version, and bugfixes only increase the patch level. | ||
This repository's `master` branch should be considered the production version. | ||
Each commit represents a new release, so each one should update the embedded version number in `hardware.inc` and the change log in `HISTORY.md`. | ||
|
||
Changes to the comments should be considered a bugfix. | ||
We follow [semantic versioning](https://semver.org). | ||
Breaking changes increase the major version, backwards-compatible changes (typically new additions) only increase the minor version, and bug fixes (including changes to the comments) only increase the patch level. | ||
(An example of a breaking change is when `hardware.inc` 4.0 updated its syntax for compatibility with RGBDS 0.5.0, breaking compatibility with older RGBDS versions.) | ||
|
||
## Contributors | ||
|
||
* Jones (created the original `hardware.inc`, now lost) | ||
* Carsten Sørensen (whose ideas Jeff based his file on) | ||
* Jeff Frohwein | ||
* AntonioND | ||
* BlitterObjectBob, tobiasvl, ISSOtm, avivace, Eievui, QuinnPainter, rondnelson99, daid, Hacktix, sukus21, alvaro-cuesta, basxto | ||
* BlitterObjectBob, tobiasvl, ISSOtm, Rangi42, avivace, Eievui, QuinnPainter, rondnelson99, daid, Hacktix, sukus21, alvaro-cuesta, basxto | ||
* Probably lots of other people who have added to the file throughout the years |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.