mirror of https://github.com/pret/pokecrystal.git
Update to RGBDS 0.7.0 (#1101)
This commit is contained in:
parent
30739842af
commit
dbf6044650
|
@ -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
|
||||
|
|
6
FAQ.md
6
FAQ.md
|
@ -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`
|
||||
|
||||
|
|
22
INSTALL.md
22
INSTALL.md
|
@ -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.
|
||||
|
||||
|
@ -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).
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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).
|
||||
|
||||
|
@ -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
Makefile
2
Makefile
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1045,3 +1045,5 @@ BetaBlank_Blocks: ; unreferenced
|
|||
|
||||
GoldenrodDeptStoreRoof_Blocks:
|
||||
INCBIN "maps/GoldenrodDeptStoreRoof.blk"
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -484,3 +484,5 @@ SECTION "Map Scripts 25", ROMX
|
|||
|
||||
INCLUDE "maps/SilverCaveOutside.asm"
|
||||
INCLUDE "maps/Route10North.asm"
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -2697,8 +2697,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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
@ -25,4 +25,4 @@ hTransferShadowOAM::
|
|||
jr nz, .wait
|
||||
ret
|
||||
ENDL
|
||||
OAMDMACodeEnd:
|
||||
.End:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -167,8 +167,8 @@ 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
|
||||
|
@ -176,7 +176,7 @@ RunTradeAnimScript:
|
|||
|
||||
.NotCGB:
|
||||
hlbgcoord 0, 0
|
||||
ld bc, VRAM_End - vBGMap0
|
||||
ld bc, STARTOF(VRAM) + SIZEOF(VRAM) - vBGMap0
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ld hl, TradeGameBoyLZ
|
||||
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -68,3 +68,5 @@ Start::
|
|||
; This makes sure it doesn't get used for anything else.
|
||||
|
||||
ds $0150 - @, $00
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -176,3 +176,5 @@ endc
|
|||
hClockResetTrigger:: db
|
||||
|
||||
ds 19
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -399,3 +399,5 @@ s7_a001:: db
|
|||
ds $7fe
|
||||
|
||||
sMobileAdapterStatus2:: db
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -3650,3 +3650,5 @@ SECTION "Stack RAM", WRAMX
|
|||
|
||||
wWindowStack:: ds $1000 - 1
|
||||
wWindowStackBottom:: ds 1
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue