Skip to content

Commit

Permalink
Update to RGBDS 0.7.0 (pret/pokecrystal#1101)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rangi42 authored and vulcandth committed Jul 21, 2024
1 parent 4d3e3e4 commit 6a8c9bb
Show file tree
Hide file tree
Showing 23 changed files with 62 additions and 74 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
uses: actions/checkout@master
with:
path: rgbds
ref: v0.6.1
ref: v0.7.0
repository: gbdev/rgbds

- name: Install rgbds
Expand Down
6 changes: 3 additions & 3 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@ You need to install `gcc`. If you're using Cygwin, re-run its setup, and at "Sel

### "ERROR: `UNION` already defined"

Download [**rgbds 0.6.0**][rgbds] or newer. Older versions will not work.
Download [**rgbds 0.7.0**][rgbds] or newer. Older versions will not work.

### "ERROR: Macro not defined"

Download [**rgbds 0.6.0**][rgbds] or newer. Older versions will not work.
Download [**rgbds 0.7.0**][rgbds] or newer. Older versions will not work.

### "Expression must be 8-bit"

Download [**rgbds 0.6.0**][rgbds] or newer. Older versions will not work.
Download [**rgbds 0.7.0**][rgbds] or newer. Older versions will not work.

### "Segmentation fault" from `rgbgfx`

Expand Down
24 changes: 11 additions & 13 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.6.1**.
Then follow the [**rgbds** 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.

Expand All @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions.

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 **pokecrystal**](#build-pokecrystal).

Expand All @@ -84,7 +84,7 @@ To install the software required for **pokecrystal**:
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

Expand All @@ -94,7 +94,7 @@ To install the software required for **pokecrystal**:
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

Expand All @@ -104,9 +104,7 @@ To install the software required for **pokecrystal**:
sudo pacman -S make gcc git rgbds
```

Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.6.1**.

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

Expand All @@ -122,7 +120,7 @@ To 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

Expand All @@ -133,7 +131,7 @@ If your distro is not listed here, try to find the required software in its repo
- `git`
- `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 **pokecrystal**](#build-pokecrystal).

Expand Down Expand Up @@ -161,12 +159,12 @@ make crystal11

### 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 pokecrystal, such as `pokecrystal/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 pokecrystal, such as `pokecrystal/rgbds-0.7.0/`. Then specify it when you run `make`:

```bash
make RGBDS=rgbds-0.6.1/
make RGBDS=rgbds-0.7.0/
```

```bash
make RGBDS=rgbds-0.6.1/ crystal11
make RGBDS=rgbds-0.7.0/ crystal11
```
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ 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`
ifeq ($(DEBUG),1)
RGBASMFLAGS += -E
Expand Down
13 changes: 0 additions & 13 deletions constants/hardware_constants.asm
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,6 @@
; https://github.com/gbdev/hardware.inc
; http://gameboy.mongenel.com/dmg/asmmemmap.html

; 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

; MBC3
DEF MBC3SRamEnable EQU $0000
DEF MBC3RomBank EQU $2000
Expand Down
1 change: 1 addition & 0 deletions data/maps/blocks.asm
Original file line number Diff line number Diff line change
Expand Up @@ -996,3 +996,4 @@ SafariRestHouseArea4_Blocks:

SafariZoneEntrance_Blocks:
INCBIN "maps/SafariZoneEntrance.blk"
ENDSECTION
4 changes: 3 additions & 1 deletion data/maps/scripts.asm
Original file line number Diff line number Diff line change
Expand Up @@ -519,4 +519,6 @@ INCLUDE "maps/SafariRestHouseArea1.asm"
INCLUDE "maps/SafariRestHouseArea2.asm"
INCLUDE "maps/SafariRestHouseArea3.asm"
INCLUDE "maps/SafariRestHouseArea4.asm"
INCLUDE "maps/Route39.asm"
INCLUDE "maps/Route39.asm"

ENDSECTION
8 changes: 4 additions & 4 deletions engine/debug/color_picker.asm
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,15 @@ endr
DebugColor_InitVRAM:
ld a, $1
ldh [rVBK], a
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill

ld a, $0
ldh [rVBK], a
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill

Expand Down
4 changes: 2 additions & 2 deletions engine/gfx/color.asm
Original file line number Diff line number Diff line change
Expand Up @@ -1029,8 +1029,8 @@ PushSGBBorder:
ret

SGB_ClearVRAM:
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill
ret
Expand Down
4 changes: 2 additions & 2 deletions engine/gfx/load_push_oam.asm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
WriteOAMDMACodeToHRAM::
ld c, LOW(hTransferShadowOAM)
ld b, OAMDMACodeEnd - OAMDMACode
ld b, OAMDMACode.End - OAMDMACode
ld hl, OAMDMACode
.copy
ld a, [hli]
Expand All @@ -25,4 +25,4 @@ hTransferShadowOAM::
jr nz, .wait
ret
ENDL
OAMDMACodeEnd:
.End:
4 changes: 2 additions & 2 deletions engine/menus/empty_sram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ endr

.EmptyBank:
call OpenSRAM
ld hl, SRAM_Begin
ld bc, SRAM_End - SRAM_Begin
ld hl, STARTOF(SRAM)
ld bc, SIZEOF(SRAM)
xor a
call ByteFill
call CloseSRAM
Expand Down
4 changes: 2 additions & 2 deletions engine/menus/intro_menu.asm
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ _ResetWRAM:
xor a
call ByteFill

ld hl, WRAM1_Begin
ld bc, wGameData - WRAM1_Begin
ld hl, STARTOF(WRAMX)
ld bc, wGameData - STARTOF(WRAMX)
xor a
call ByteFill

Expand Down
8 changes: 4 additions & 4 deletions engine/movie/trade_animation.asm
Original file line number Diff line number Diff line change
Expand Up @@ -167,16 +167,16 @@ RunTradeAnimScript:
jr z, .NotCGB
ld a, $1
ldh [rVBK], a
ld hl, vTiles0
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill
ld a, $0
ldh [rVBK], a

.NotCGB:
hlbgcoord 0, 0
ld bc, VRAM_End - vBGMap0
ld bc, STARTOF(VRAM) + SIZEOF(VRAM) - vBGMap0
ld a, " "
call ByteFill
ld hl, TradeGameBoyLZ
Expand Down Expand Up @@ -490,7 +490,7 @@ TradeAnim_TubeToPlayer8:
call DisableLCD
callfar ClearSpriteAnims
hlbgcoord 0, 0
ld bc, VRAM_End - vBGMap0
ld bc, STARTOF(VRAM) + SIZEOF(VRAM) - vBGMap0
ld a, " "
call ByteFill
xor a
Expand Down
4 changes: 2 additions & 2 deletions engine/overworld/init_map.asm
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ HDMATransfer_FillBGMap0WithBlack:
ldh [rHDMA1], a
ld a, LOW(wDecompressScratch)
ldh [rHDMA2], a
ld a, HIGH(vBGMap0 - VRAM_Begin)
ld a, HIGH(vBGMap0 - STARTOF(VRAM))
ldh [rHDMA3], a
ld a, LOW(vBGMap0 - VRAM_Begin)
ld a, LOW(vBGMap0 - STARTOF(VRAM))
ldh [rHDMA4], a
ld a, $3f
ldh [hDMATransfer], a
Expand Down
2 changes: 2 additions & 0 deletions home/header.asm
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,5 @@ Start::
; This makes sure it doesn't get used for anything else.

ds $0150 - @, $00

ENDSECTION
16 changes: 8 additions & 8 deletions home/init.asm
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ Init::
ldh [rLCDC], a

; Clear WRAM bank 0
ld hl, WRAM0_Begin
ld bc, WRAM0_End - WRAM0_Begin
ld hl, STARTOF(WRAM0)
ld bc, SIZEOF(WRAM0)
.ByteFill:
ld [hl], 0
inc hl
Expand All @@ -82,8 +82,8 @@ Init::
ldh a, [hSystemBooted]
push af
xor a
ld hl, HRAM_Begin
ld bc, HRAM_End - HRAM_Begin
ld hl, STARTOF(HRAM)
ld bc, SIZEOF(HRAM)
call ByteFill
pop af
ldh [hSystemBooted], a
Expand Down Expand Up @@ -185,8 +185,8 @@ ClearVRAM::
xor a ; 0
ldh [rVBK], a
.clear
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill
ret
Expand All @@ -200,8 +200,8 @@ ClearWRAM::
push af
ldh [rSVBK], a
xor a
ld hl, WRAM1_Begin
ld bc, WRAM1_End - WRAM1_Begin
ld hl, STARTOF(WRAMX)
ld bc, SIZEOF(WRAMX)
call ByteFill
pop af
inc a
Expand Down
4 changes: 2 additions & 2 deletions home/palettes.asm
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ ClearVBank1::
ld a, 1
ldh [rVBK], a

ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
ld hl, STARTOF(VRAM)
ld bc, SIZEOF(VRAM)
xor a
call ByteFill

Expand Down
2 changes: 1 addition & 1 deletion mobile/mobile_40.asm
Original file line number Diff line number Diff line change
Expand Up @@ -2404,7 +2404,7 @@ MACRO macro_100fc0
; Bit 7 set: Not SRAM
; Lower 7 bits: Bank if SRAM
; address, size[, OT address]
db ($80 * (\1 >= SRAM_End)) | (BANK(\1) * (\1 < SRAM_End))
db ($80 * (\1 >= STARTOF(SRAM) + SIZEOF(SRAM))) | (BANK(\1) * (\1 < STARTOF(SRAM) + SIZEOF(SRAM)))
dw \1, \2
if _NARG == 3
dw \3
Expand Down
2 changes: 2 additions & 0 deletions ram/hram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,5 @@ hFunctionTargetHi:: db
hCodeBuffer:: ds 3

ds 10

ENDSECTION
2 changes: 2 additions & 0 deletions ram/sram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -399,3 +399,5 @@ s7_a001:: db
ds $7fe

sMobileAdapterStatus2:: db

ENDSECTION
2 changes: 2 additions & 0 deletions ram/vram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ vTiles4:: ds $80 tiles
vTiles5:: ds $80 tiles
vBGMap2:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
vBGMap3:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT

ENDSECTION
2 changes: 2 additions & 0 deletions ram/wram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -3748,3 +3748,5 @@ SECTION "Stack RAM", WRAMX

wWindowStack:: ds $1000 - 1
wWindowStackBottom:: ds 1

ENDSECTION
16 changes: 3 additions & 13 deletions rgbdscheck.asm
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
MAJOR EQU 0
MINOR EQU 6
PATCH EQU 0

WRONG_RGBDS EQUS "fail \"pokecrystal requires rgbds v0.6.0 or newer.\""

IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__)
WRONG_RGBDS
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
fail "pokecrystal requires rgbds v0.7.0 or newer."
ENDC
IF __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 7
fail "pokecrystal requires rgbds v0.7.0 or newer."
ENDC

0 comments on commit 6a8c9bb

Please sign in to comment.