Update to RGBDS 0.7.0 (#447)

This commit is contained in:
Rangi 2024-01-03 10:59:04 -05:00 committed by GitHub
parent 0b20304e6d
commit fabe2b3fb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 35 additions and 48 deletions

View file

@ -16,7 +16,7 @@ jobs:
uses: actions/checkout@master uses: actions/checkout@master
with: with:
path: rgbds path: rgbds
ref: v0.6.1 ref: v0.7.0
repository: gbdev/rgbds repository: gbdev/rgbds
- name: Install rgbds - name: Install rgbds

View file

@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho
Double click on the text that says "**Skip**" next to each package to select the most recent version to install. Double click on the text that says "**Skip**" next to each package to select the most recent version to install.
Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.6.1**. Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.7.0**.
**Note:** If you already have an installed rgbds older than 0.6.0, you will need to update to 0.6.0 or 0.6.1. Ignore this if you have never installed rgbds before. If a version newer than 0.6.1 does not work, try downloading 0.6.1. **Note:** If you already have an installed rgbds older than 0.7.0, you will need to update to 0.7.0. Ignore this if you have never installed rgbds before. If a version newer than 0.7.0 does not work, try downloading 0.7.0.
Now open the **Cygwin terminal** and enter the following commands. Now open the **Cygwin terminal** and enter the following commands.
@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions.
Open **Terminal** and prepare to enter commands. Open **Terminal** and prepare to enter commands.
Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.6.1**. Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.7.0**.
Now you're ready to [build **pokered**](#build-pokered). Now you're ready to [build **pokered**](#build-pokered).
@ -84,7 +84,7 @@ To install the software required for **pokered**:
sudo apt-get install make gcc git sudo apt-get install make gcc git
``` ```
Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.7.0** from source.
### OpenSUSE ### OpenSUSE
@ -94,7 +94,7 @@ To install the software required for **pokered**:
sudo zypper install make gcc git sudo zypper install make gcc git
``` ```
Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.7.0** from source.
### Arch Linux ### Arch Linux
@ -104,7 +104,7 @@ To install the software required for **pokered**:
sudo pacman -S make gcc git rgbds sudo pacman -S make gcc git rgbds
``` ```
If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.7.0** from source.
### Termux ### Termux
@ -120,7 +120,7 @@ To install **rgbds**:
sudo apt install rgbds sudo apt install rgbds
``` ```
If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.7.0** from source.
### Other distros ### Other distros
@ -131,7 +131,7 @@ If your distro is not listed here, try to find the required software in its repo
- `git` - `git`
- `rgbds` - `rgbds`
If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.7.0** from source.
Now you're ready to [build **pokered**](#build-pokered). Now you're ready to [build **pokered**](#build-pokered).
@ -153,8 +153,8 @@ make
### Build with a local rgbds version ### Build with a local rgbds version
If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.6.1 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.6.1/`. Then specify it when you run `make`: If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.7.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.7.0/`. Then specify it when you run `make`:
```bash ```bash
make RGBDS=rgbds-0.6.1/ make RGBDS=rgbds-0.7.0/
``` ```

View file

@ -85,7 +85,7 @@ tools:
$(MAKE) -C tools/ $(MAKE) -C tools/
RGBASMFLAGS = -hL -Q8 -P includes.asm -Weverything -Wnumeric-string=2 -Wtruncation=1 RGBASMFLAGS = -Q8 -P includes.asm -Weverything -Wnumeric-string=2 -Wtruncation=1
# Create a sym/map for debug purposes if `make` run with `DEBUG=1` # Create a sym/map for debug purposes if `make` run with `DEBUG=1`
ifeq ($(DEBUG),1) ifeq ($(DEBUG),1)
RGBASMFLAGS += -E RGBASMFLAGS += -E

View file

@ -2,19 +2,6 @@
DEF GBC EQU $11 DEF GBC EQU $11
; memory map
DEF VRAM_Begin EQU $8000
DEF VRAM_End EQU $a000
DEF SRAM_Begin EQU $a000
DEF SRAM_End EQU $c000
DEF WRAM0_Begin EQU $c000
DEF WRAM0_End EQU $d000
DEF WRAM1_Begin EQU $d000
DEF WRAM1_End EQU $e000
; hardware registers $ff00-$ff80 (see below)
DEF HRAM_Begin EQU $ff80
DEF HRAM_End EQU $ffff
; MBC1 ; MBC1
DEF MBC1SRamEnable EQU $0000 DEF MBC1SRamEnable EQU $0000
DEF MBC1RomBank EQU $2000 DEF MBC1RomBank EQU $2000

View file

@ -2,7 +2,7 @@ WriteDMACodeToHRAM::
; Since no other memory is available during OAM DMA, ; Since no other memory is available during OAM DMA,
; DMARoutine is copied to HRAM and executed there. ; DMARoutine is copied to HRAM and executed there.
ld c, LOW(hDMARoutine) ld c, LOW(hDMARoutine)
ld b, DMARoutineEnd - DMARoutine ld b, DMARoutine.End - DMARoutine
ld hl, DMARoutine ld hl, DMARoutine
.copy .copy
ld a, [hli] ld a, [hli]
@ -25,4 +25,4 @@ hDMARoutine::
jr nz, .wait jr nz, .wait
ret ret
ENDL ENDL
DMARoutineEnd: .End:

View file

@ -705,7 +705,7 @@ ClearSAV:
PadSRAM_FF: PadSRAM_FF:
ld [MBC1SRamBank], a ld [MBC1SRamBank], a
ld hl, SRAM_Begin ld hl, STARTOF(SRAM)
ld bc, SRAM_End - SRAM_Begin ld bc, SIZEOF(SRAM)
ld a, $ff ld a, $ff
jp FillMemory jp FillMemory

View file

@ -79,3 +79,5 @@ Start::
; This makes sure it doesn't get used for anything else. ; This makes sure it doesn't get used for anything else.
ds $0150 - @ ds $0150 - @
ENDSECTION

View file

@ -41,8 +41,8 @@ DEF rLCDC_DEFAULT EQU %11100011
ld sp, wStack ld sp, wStack
ld hl, WRAM0_Begin ld hl, STARTOF(WRAM0)
ld bc, WRAM1_End - WRAM0_Begin ld bc, SIZEOF(WRAM0)
.loop .loop
ld [hl], 0 ld [hl], 0
inc hl inc hl
@ -53,8 +53,8 @@ DEF rLCDC_DEFAULT EQU %11100011
call ClearVram call ClearVram
ld hl, HRAM_Begin ld hl, STARTOF(HRAM)
ld bc, HRAM_End - HRAM_Begin ld bc, SIZEOF(HRAM)
call FillMemory call FillMemory
call ClearSprites call ClearSprites
@ -119,8 +119,8 @@ DEF rLCDC_DEFAULT EQU %11100011
jp PrepareTitleScreen jp PrepareTitleScreen
ClearVram:: ClearVram::
ld hl, VRAM_Begin ld hl, STARTOF(VRAM)
ld bc, VRAM_End - VRAM_Begin ld bc, SIZEOF(VRAM)
xor a xor a
jp FillMemory jp FillMemory

View file

@ -397,3 +397,5 @@ hJoyInput:: db
hDisableJoypadPolling:: db hDisableJoypadPolling:: db
ds 5 ds 5
ENDSECTION

View file

@ -51,3 +51,5 @@ sBank3IndividualBoxChecksums:: ds 6
; All 12 boxes fit within 2 SRAM banks ; All 12 boxes fit within 2 SRAM banks
ASSERT box_n == NUM_BOXES, \ ASSERT box_n == NUM_BOXES, \
"boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}"
ENDSECTION

View file

@ -29,3 +29,5 @@ vTitleLogo:: ds $80 tiles
vTitleLogo2:: ds 30 tiles vTitleLogo2:: ds 30 tiles
ENDU ENDU
ENDSECTION

View file

@ -2320,3 +2320,5 @@ SECTION "Stack", WRAM0
; the stack grows downward ; the stack grows downward
ds $100 - 1 ds $100 - 1
wStack:: db wStack:: db
ENDSECTION

View file

@ -1,16 +1,6 @@
MAJOR EQU 0
MINOR EQU 6
PATCH EQU 0
WRONG_RGBDS EQUS "fail \"pokered requires rgbds v0.6.0 or newer.\""
IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__)
WRONG_RGBDS fail "pokered requires rgbds v0.7.0 or newer."
ELSE
IF (__RGBDS_MAJOR__ < MAJOR) || \
(__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \
(__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) || \
(__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ == PATCH && DEF(__RGBDS_RC__))
WRONG_RGBDS
ENDC ENDC
IF __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 7
fail "pokered requires rgbds v0.7.0 or newer."
ENDC ENDC