Skip to content
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

Update to RGBDS 0.7.0 #1101

Merged
merged 1 commit into from
Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
22 changes: 11 additions & 11 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,7 +104,7 @@ To install the software required for **pokecrystal**:
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

Expand All @@ -120,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 @@ -131,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 @@ -159,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 @@ -104,7 +104,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
2 changes: 2 additions & 0 deletions data/maps/blocks.asm
Original file line number Diff line number Diff line change
Expand Up @@ -1045,3 +1045,5 @@ BetaBlank_Blocks: ; unreferenced

GoldenrodDeptStoreRoof_Blocks:
INCBIN "maps/GoldenrodDeptStoreRoof.blk"

ENDSECTION
2 changes: 2 additions & 0 deletions data/maps/scripts.asm
Original file line number Diff line number Diff line change
Expand Up @@ -484,3 +484,5 @@ SECTION "Map Scripts 25", ROMX

INCLUDE "maps/SilverCaveOutside.asm"
INCLUDE "maps/Route10North.asm"

ENDSECTION
4 changes: 2 additions & 2 deletions docs/bugs_and_glitches.md
Original file line number Diff line number Diff line change
Expand Up @@ -2679,8 +2679,8 @@ If `IsInArray` returns `nc`, data at `bc` will be executed as code.
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
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 @@ -979,8 +979,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 @@ -105,8 +105,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 @@ -470,7 +470,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 @@ -91,9 +91,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 @@ -68,3 +68,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 @@ -177,8 +177,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 @@ -193,8 +193,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 @@ -2400,7 +2400,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 @@ -176,3 +176,5 @@ endc
hClockResetTrigger:: db

ds 19

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 @@ -3650,3 +3650,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."
Rangi42 marked this conversation as resolved.
Show resolved Hide resolved
ENDC