Skip to content

Commit 46a765a

Browse files
committedJan 2, 2024
Happy New Year! 0.08 imminent
- update copyright year (welcome to the free world Mickey!) - update hardware.inc - RGBDS skipped 0.6.2 in favor of 0.7; delete Windows Actions artifact download instructions from README.md
1 parent cebe915 commit 46a765a

File tree

5 files changed

+222
-66
lines changed

5 files changed

+222
-66
lines changed
 

‎CHANGES.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Make shadow during jump more visible
55
* Revamp instructions with visual aids
66
* Add tutorial floor "Closet"
7-
* SGB, GBC: Lighten green to reduce Helmholtz-Kohlrausch
7+
* SGB, GBC: Lighten green to reduce Helmholtz-Kohlrausch illusion
88
* SGB: make border tile 0 transparent to reduce flash during fade
99
* Upgrade to new hardware.inc
1010
* Prepare for RGBDS 0.6: HALT NOP, LD to LDH, SET to =, MACRO name
@@ -15,7 +15,9 @@
1515
* extractcels.py: add 8x16-pixel object tile support
1616
* extractcels.py: add streaming object tile format
1717
* Make header with rgbfix
18+
* Allow building with out-of-tree RGBDS for regression testing
1819
* Document sound effects driver, including its stream format
20+
* Document some inspirations for the character design
1921
* how_to_encode.md: recommend CamStudio codec (CSCD) (thanks beware)
2022
* how_to_encode.md: vertical video
2123

‎README.md

+7-19
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,15 @@ harder to earn than others.
4848
Building
4949
--------
5050

51-
Building the game requires [RGBDS] 0.6.2 or later, [Python] 3,
52-
[Pillow], and [GNU Make]. Once you have these installed,
53-
run this command:
51+
Building the game requires [RGBDS] 0.7 or later, [Python] 3,
52+
[Pillow], [GNU Make], and GNU Coreutils. Once you have these
53+
installed, run this command:
5454

5555
make
5656

57-
Until RGBDS 0.6.2 is released, use the development version (`master`)
58-
instead. To install the development version on Windows without WSL:
59-
60-
1. Open "Installing [RGBDS]".
61-
2. Follow "using a development version".
62-
3. Scroll down to "Using our CI" and follow "made available on
63-
GitHub".
64-
4. Under "workflow run results", follow the name of the most recent
65-
pull request with a green checkmark next to `master`.
66-
5. Scroll down to "Artifacts" and follow `rgbds-canary-win64`, which
67-
is a link to a zip archive.
68-
6. Install the programs in the archive per the instructions in
69-
"Installing RGBDS".
70-
71-
To add GNU Make to an installation of [Git for Windows], follow
57+
If you're using Windows and not using WSL, it may be convenient to
58+
obtain Coreutils through [Git for Windows], which contains a
59+
distribution of MSYS2. To add GNU Make to Git for Windows, follow
7260
[evanwill's instructions] to download the latest Make without Guile
7361
from [ezwinports].
7462

@@ -83,7 +71,7 @@ from [ezwinports].
8371
Legal
8472
-----
8573
Copyright 2002, 2012 Martin Korth
86-
Copyright 2018, 2021 Damian Yerrick
74+
Copyright 2018, 2024 Damian Yerrick
8775

8876
This program is free software. Permission is granted to use it
8977
subject to the terms of the zlib License. See the file `LICENSE`.

‎src/hardware.inc

+209-43
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
;*
22
;* Gameboy Hardware definitions
3+
;* https://github.com/gbdev/hardware.inc
34
;*
45
;* Based on Jones' hardware.inc
56
;* And based on Carsten Sorensen's ideas.
67
;*
8+
;* To the extent possible under law, the authors of this work have
9+
;* waived all copyright and related or neighboring rights to the work.
10+
;* See https://creativecommons.org/publicdomain/zero/1.0/ for details.
11+
;*
12+
;* SPDX-License-Identifier: CC0-1.0
13+
;*
714
;* Rev 1.1 - 15-Jul-97 : Added define check
815
;* Rev 1.2 - 18-Jul-97 : Added revision check macro
916
;* Rev 1.3 - 19-Jul-97 : Modified for RGBASM V1.05
@@ -27,6 +34,21 @@
2734
;* Rev 3.0 - 27-Aug-20 : Register ordering, byte-based sizes, OAM additions, general cleanup (Blitter Object)
2835
;* Rev 4.0 - 03-May-21 : Updated to use RGBDS 0.5.0 syntax, changed IEF_LCDC to IEF_STAT (Eievui)
2936
;* Rev 4.1 - 16-Aug-21 : Added more flags, bit number defines, and offset constants for OAM and window positions (rondnelson99)
37+
;* Rev 4.2 - 04-Sep-21 : Added CH3- and CH4-specific audio registers flags (ISSOtm)
38+
;* Rev 4.3 - 07-Nov-21 : Deprecate VRAM address constants (Eievui)
39+
;* Rev 4.4 - 11-Jan-22 : Deprecate VRAM CART_SRAM_2KB constant (avivace)
40+
;* Rev 4.5 - 03-Mar-22 : Added bit number definitions for OCPS, BCPS and LCDC (sukus)
41+
;* Rev 4.6 - 15-Jun-22 : Added MBC3 registers and special values
42+
;* Rev 4.7.0 - 27-Jun-22 : Added alternate names for some constants
43+
;* Rev 4.7.1 - 05-Jul-22 : Added RPB_LED_ON constant
44+
;* Rev 4.8.0 - 25-Oct-22 : Changed background addressing constants (zlago)
45+
;* Rev 4.8.1 - 29-Apr-23 : Added rOPRI (rbong)
46+
;* Rev 4.9.0 - 24-Jun-23 : Added definitions for interrupt vectors (sukus)
47+
;* Rev 4.9.1 - 11-Sep-23 : Added repository link and CC0 waiver notice
48+
49+
50+
; NOTE: REVISION NUMBER CHANGES MUST BE REFLECTED
51+
; IN `rev_Check_hardware_inc` BELOW!
3052

3153
IF __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 5
3254
FAIL "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later."
@@ -37,18 +59,32 @@ ENDC
3759
IF !DEF(HARDWARE_INC)
3860
DEF HARDWARE_INC EQU 1
3961

62+
; Usage: rev_Check_hardware_inc <min_ver>
63+
; Examples: rev_Check_hardware_inc 4.1.2
64+
; rev_Check_hardware_inc 4.1 (equivalent to 4.1.0)
65+
; rev_Check_hardware_inc 4 (equivalent to 4.0.0)
4066
MACRO rev_Check_hardware_inc
41-
;NOTE: REVISION NUMBER CHANGES MUST BE ADDED
42-
;TO SECOND PARAMETER IN FOLLOWING LINE.
43-
IF \1 > 4.1 ;PUT REVISION NUMBER HERE
44-
WARN "Version \1 or later of 'hardware.inc' is required."
67+
DEF CUR_VER equs "4,9,1" ; ** UPDATE THIS LINE WHEN CHANGING THE REVISION NUMBER **
68+
69+
DEF MIN_VER equs STRRPL("\1", ".", ",")
70+
DEF INTERNAL_CHK equs """MACRO ___internal
71+
IF \\1 != \\4 || \\2 < \\5 || (\\2 == \\5 && \\3 < \\6)
72+
FAIL "Version \\1.\\2.\\3 of 'hardware.inc' is incompatible with requested version \\4.\\5.\\6"
4573
ENDC
74+
\nENDM"""
75+
INTERNAL_CHK
76+
___internal {CUR_VER}, {MIN_VER},0,0
77+
PURGE CUR_VER, MIN_VER, INTERNAL_CHK, ___internal
4678
ENDM
4779

80+
81+
;***************************************************************************
82+
;*
83+
;* General memory region constants
84+
;*
85+
;***************************************************************************
86+
4887
DEF _VRAM EQU $8000 ; $8000->$9FFF
49-
DEF _VRAM8000 EQU _VRAM
50-
DEF _VRAM8800 EQU _VRAM+$800
51-
DEF _VRAM9000 EQU _VRAM+$1000
5288
DEF _SCRN0 EQU $9800 ; $9800->$9BFF
5389
DEF _SCRN1 EQU $9C00 ; $9C00->$9FFF
5490
DEF _SRAM EQU $A000 ; $A000->$BFFF
@@ -59,17 +95,80 @@ DEF _IO EQU $FF00 ; $FF00->$FF7F,$FFFF
5995
DEF _AUD3WAVERAM EQU $FF30 ; $FF30->$FF3F
6096
DEF _HRAM EQU $FF80 ; $FF80->$FFFE
6197

62-
; *** MBC5 Equates ***
6398

64-
DEF rRAMG EQU $0000 ; $0000->$1fff
65-
DEF rROMB0 EQU $2000 ; $2000->$2fff
66-
DEF rROMB1 EQU $3000 ; $3000->$3fff - If more than 256 ROM banks are present.
67-
DEF rRAMB EQU $4000 ; $4000->$5fff - Bit 3 enables rumble (if present)
99+
;***************************************************************************
100+
;*
101+
;* MBC registers
102+
;*
103+
;***************************************************************************
104+
105+
; *** Common ***
106+
107+
; --
108+
; -- RAMG ($0000-$1FFF)
109+
; -- Controls whether access to SRAM (and the MBC3 RTC registers) is allowed (W)
110+
; --
111+
DEF rRAMG EQU $0000
112+
113+
DEF CART_SRAM_ENABLE EQU $0A
114+
DEF CART_SRAM_DISABLE EQU $00
115+
116+
117+
; --
118+
; -- ROMB0 ($2000-$3FFF)
119+
; -- Selects which ROM bank is mapped to the ROMX space ($4000-$7FFF) (W)
120+
; --
121+
; -- The range of accepted values, as well as the behavior of writing $00,
122+
; -- varies depending on the MBC.
123+
; --
124+
DEF rROMB0 EQU $2000
125+
126+
; --
127+
; -- RAMB ($4000-$5FFF)
128+
; -- Selects which SRAM bank is mapped to the SRAM space ($A000-$BFFF) (W)
129+
; --
130+
; -- The range of accepted values varies depending on the cartridge configuration.
131+
; --
132+
DEF rRAMB EQU $4000
133+
134+
135+
; *** MBC3-specific registers ***
136+
137+
; Write one of these to rRAMG to map the corresponding RTC register to all SRAM space
138+
DEF RTC_S EQU $08 ; Seconds (0-59)
139+
DEF RTC_M EQU $09 ; Minutes (0-59)
140+
DEF RTC_H EQU $0A ; Hours (0-23)
141+
DEF RTC_DL EQU $0B ; Lower 8 bits of Day Counter ($00-$FF)
142+
DEF RTC_DH EQU $0C ; Bit 7 - Day Counter Carry Bit (1=Counter Overflow)
143+
; Bit 6 - Halt (0=Active, 1=Stop Timer)
144+
; Bit 0 - Most significant bit of Day Counter (Bit 8)
145+
146+
147+
; --
148+
; -- RTCLATCH ($6000-$7FFF)
149+
; -- Write $00 then $01 to latch the current time into the RTC registers (W)
150+
; --
151+
DEF rRTCLATCH EQU $6000
152+
153+
154+
; *** MBC5-specific register ***
155+
156+
; --
157+
; -- ROMB1 ($3000-$3FFF)
158+
; -- A 9th bit that "extends" ROMB0 if more than 256 banks are present (W)
159+
; --
160+
; -- Also note that rROMB0 thus only spans $2000-$2FFF.
161+
; --
162+
DEF rROMB1 EQU $3000
163+
164+
165+
; Bit 3 of RAMB enables the rumble motor (if any)
166+
DEF CART_RUMBLE_ON EQU 1 << 3
68167

69168

70169
;***************************************************************************
71170
;*
72-
;* Custom registers
171+
;* Memory-mapped registers
73172
;*
74173
;***************************************************************************
75174

@@ -104,9 +203,9 @@ DEF rSB EQU $FF01
104203
; --
105204
DEF rSC EQU $FF02
106205

107-
DEF SCF_START EQU %10000000 ;Transfer Start Flag (1=Transfer in progress, or requested)
108-
DEF SCF_SPEED EQU %00000010 ;Clock Speed (0=Normal, 1=Fast) ** CGB Mode Only **
109-
DEF SCF_SOURCE EQU %00000001 ;Shift Clock (0=External Clock, 1=Internal Clock)
206+
DEF SCF_START EQU %10000000 ; Transfer Start Flag (1=Transfer in progress, or requested)
207+
DEF SCF_SPEED EQU %00000010 ; Clock Speed (0=Normal, 1=Fast) ** CGB Mode Only **
208+
DEF SCF_SOURCE EQU %00000001 ; Shift Clock (0=External Clock, 1=Internal Clock)
110209

111210
DEF SCB_START EQU 7
112211
DEF SCB_SPEED EQU 1
@@ -146,6 +245,8 @@ DEF TACF_16KHZ EQU %00000011
146245
DEF TACF_65KHZ EQU %00000010
147246
DEF TACF_262KHZ EQU %00000001
148247

248+
DEF TACB_START EQU 2
249+
149250

150251
; --
151252
; -- IF ($FF0F)
@@ -264,6 +365,9 @@ DEF rAUD2HIGH EQU rNR24
264365
DEF rNR30 EQU $FF1A
265366
DEF rAUD3ENA EQU rNR30
266367

368+
DEF AUD3ENA_OFF EQU %00000000
369+
DEF AUD3ENA_ON EQU %10000000
370+
267371

268372
; --
269373
; -- AUD3LEN/NR31 ($FF1B)
@@ -288,6 +392,11 @@ DEF rAUD3LEN EQU rNR31
288392
DEF rNR32 EQU $FF1C
289393
DEF rAUD3LEVEL EQU rNR32
290394

395+
DEF AUD3LEVEL_MUTE EQU %00000000
396+
DEF AUD3LEVEL_100 EQU %00100000
397+
DEF AUD3LEVEL_50 EQU %01000000
398+
DEF AUD3LEVEL_25 EQU %01100000
399+
291400

292401
; --
293402
; -- AUD3LOW/NR33 ($FF1D)
@@ -346,6 +455,9 @@ DEF rAUD4ENV EQU rNR42
346455
DEF rNR43 EQU $FF22
347456
DEF rAUD4POLY EQU rNR43
348457

458+
DEF AUD4POLY_15STEP EQU %00000000
459+
DEF AUD4POLY_7STEP EQU %00001000
460+
349461

350462
; --
351463
; -- AUD4GO/NR44 ($FF23)
@@ -430,8 +542,8 @@ DEF LCDCF_WIN9800 EQU %00000000 ; Window Tile Map Display Select
430542
DEF LCDCF_WIN9C00 EQU %01000000 ; Window Tile Map Display Select
431543
DEF LCDCF_WINOFF EQU %00000000 ; Window Display
432544
DEF LCDCF_WINON EQU %00100000 ; Window Display
433-
DEF LCDCF_BG8800 EQU %00000000 ; BG & Window Tile Data Select
434-
DEF LCDCF_BG8000 EQU %00010000 ; BG & Window Tile Data Select
545+
DEF LCDCF_BLK21 EQU %00000000 ; BG & Window Tile Data Select
546+
DEF LCDCF_BLK01 EQU %00010000 ; BG & Window Tile Data Select
435547
DEF LCDCF_BG9800 EQU %00000000 ; BG Tile Map Display Select
436548
DEF LCDCF_BG9C00 EQU %00001000 ; BG Tile Map Display Select
437549
DEF LCDCF_OBJ8 EQU %00000000 ; OBJ Construction
@@ -440,6 +552,15 @@ DEF LCDCF_OBJOFF EQU %00000000 ; OBJ Display
440552
DEF LCDCF_OBJON EQU %00000010 ; OBJ Display
441553
DEF LCDCF_BGOFF EQU %00000000 ; BG Display
442554
DEF LCDCF_BGON EQU %00000001 ; BG Display
555+
556+
DEF LCDCB_ON EQU 7 ; LCD Control Operation
557+
DEF LCDCB_WIN9C00 EQU 6 ; Window Tile Map Display Select
558+
DEF LCDCB_WINON EQU 5 ; Window Display
559+
DEF LCDCB_BLKS EQU 4 ; BG & Window Tile Data Select
560+
DEF LCDCB_BG9C00 EQU 3 ; BG Tile Map Display Select
561+
DEF LCDCB_OBJ16 EQU 2 ; OBJ Construction
562+
DEF LCDCB_OBJON EQU 1 ; OBJ Display
563+
DEF LCDCB_BGON EQU 0 ; BG Display
443564
; "Window Character Data Select" follows BG
444565

445566

@@ -620,6 +741,7 @@ DEF rHDMA5 EQU $FF55
620741

621742
DEF HDMA5F_MODE_GP EQU %00000000 ; General Purpose DMA (W)
622743
DEF HDMA5F_MODE_HBL EQU %10000000 ; HBlank DMA (W)
744+
DEF HDMA5B_MODE EQU 7 ; DMA mode select (W)
623745

624746
; -- Once DMA has started, use HDMA5F_BUSY to check when the transfer is complete
625747
DEF HDMA5F_BUSY EQU %10000000 ; 0=Busy (DMA still in progress), 1=Transfer complete (R)
@@ -637,37 +759,65 @@ DEF RPF_DATAIN EQU %00000010 ; 0=Receiving IR Signal, 1=Normal
637759
DEF RPF_WRITE_HI EQU %00000001
638760
DEF RPF_WRITE_LO EQU %00000000
639761

762+
DEF RPB_LED_ON EQU 0
763+
DEF RPB_DATAIN EQU 1
764+
640765

641766
; --
642-
; -- BCPS ($FF68)
643-
; -- Background Color Palette Specification (R/W)
767+
; -- BCPS/BGPI ($FF68)
768+
; -- Background Color Palette Specification (aka Background Palette Index) (R/W)
644769
; --
645770
DEF rBCPS EQU $FF68
771+
DEF rBGPI EQU rBCPS
646772

647773
DEF BCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing)
774+
DEF BCPSB_AUTOINC EQU 7
775+
DEF BGPIF_AUTOINC EQU BCPSF_AUTOINC
776+
DEF BGPIB_AUTOINC EQU BCPSB_AUTOINC
648777

649778

650779
; --
651-
; -- BCPD ($FF69)
652-
; -- Background Color Palette Data (R/W)
780+
; -- BCPD/BGPD ($FF69)
781+
; -- Background Color Palette Data (aka Background Palette Data) (R/W)
653782
; --
654783
DEF rBCPD EQU $FF69
784+
DEF rBGPD EQU rBCPD
655785

656786

657787
; --
658-
; -- OCPS ($FF6A)
659-
; -- Object Color Palette Specification (R/W)
788+
; -- OCPS/OBPI ($FF6A)
789+
; -- Object Color Palette Specification (aka Object Background Palette Index) (R/W)
660790
; --
661791
DEF rOCPS EQU $FF6A
792+
DEF rOBPI EQU rOCPS
662793

663794
DEF OCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing)
795+
DEF OCPSB_AUTOINC EQU 7
796+
DEF OBPIF_AUTOINC EQU OCPSF_AUTOINC
797+
DEF OBPIB_AUTOINC EQU OCPSB_AUTOINC
664798

665799

666800
; --
667-
; -- OCPD ($FF6B)
668-
; -- Object Color Palette Data (R/W)
801+
; -- OCPD/OBPD ($FF6B)
802+
; -- Object Color Palette Data (aka Object Background Palette Data) (R/W)
669803
; --
670804
DEF rOCPD EQU $FF6B
805+
DEF rOBPD EQU rOCPD
806+
807+
808+
; --
809+
; -- OPRI ($FF6C)
810+
; -- Object Priority Mode (R/W)
811+
; -- CGB Only
812+
813+
; --
814+
; -- Priority can be changed only from the boot ROM
815+
; --
816+
DEF rOPRI EQU $FF6C
817+
818+
DEF OPRI_OAM EQU 0 ; Prioritize objects by location in OAM (CGB Mode default)
819+
DEF OPRI_COORD EQU 1 ; Prioritize objects by x-coordinate (Non-CGB Mode default)
820+
671821

672822

673823
; --
@@ -753,7 +903,6 @@ DEF AUDENV_DOWN EQU %00000000
753903
; -- Can be used with AUD1HIGH, AUD2HIGH, AUD3HIGH
754904
; -- See AUD1HIGH for more info
755905
; --
756-
757906
DEF AUDHIGH_RESTART EQU %10000000
758907
DEF AUDHIGH_LENGTH_ON EQU %01000000
759908
DEF AUDHIGH_LENGTH_OFF EQU %00000000
@@ -777,10 +926,33 @@ DEF BOOTUP_B_AGB EQU %00000001 ; GBA, GBA SP, Game Boy Player, or New GBA S
777926

778927
;***************************************************************************
779928
;*
780-
;* Cart related
929+
;* Interrupt vector addresses
930+
;*
931+
;***************************************************************************
932+
933+
DEF INT_HANDLER_VBLANK EQU $0040
934+
DEF INT_HANDLER_STAT EQU $0048
935+
DEF INT_HANDLER_TIMER EQU $0050
936+
DEF INT_HANDLER_SERIAL EQU $0058
937+
DEF INT_HANDLER_JOYPAD EQU $0060
938+
939+
940+
;***************************************************************************
941+
;*
942+
;* Header
781943
;*
782944
;***************************************************************************
783945

946+
;*
947+
;* Nintendo scrolling logo
948+
;* (Code won't work on a real GameBoy)
949+
;* (if next lines are altered.)
950+
MACRO NINTENDO_LOGO
951+
DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D
952+
DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99
953+
DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E
954+
ENDM
955+
784956
; $0143 Color GameBoy compatibility code
785957
DEF CART_COMPATIBLE_DMG EQU $00
786958
DEF CART_COMPATIBLE_DMG_GBC EQU $80
@@ -837,14 +1009,10 @@ DEF CART_ROM_1536KB EQU $54 ; 96 banks
8371009
; $0149 SRAM size
8381010
; these are kilobytes
8391011
DEF CART_SRAM_NONE EQU 0
840-
DEF CART_SRAM_2KB EQU 1 ; 1 incomplete bank
8411012
DEF CART_SRAM_8KB EQU 2 ; 1 bank
8421013
DEF CART_SRAM_32KB EQU 3 ; 4 banks
8431014
DEF CART_SRAM_128KB EQU 4 ; 16 banks
8441015

845-
DEF CART_SRAM_ENABLE EQU $0A
846-
DEF CART_SRAM_DISABLE EQU $00
847-
8481016
; $014A Destination code
8491017
DEF CART_DEST_JAPANESE EQU $00
8501018
DEF CART_DEST_NON_JAPANESE EQU $01
@@ -882,7 +1050,7 @@ DEF PADB_A EQU $0
8821050
;***************************************************************************
8831051

8841052
DEF SCRN_X EQU 160 ; Width of screen in pixels
885-
DEF SCRN_Y EQU 144 ; Height of screen in pixels
1053+
DEF SCRN_Y EQU 144 ; Height of screen in pixels. Also corresponds to the value in LY at the beginning of VBlank.
8861054
DEF SCRN_X_B EQU 20 ; Width of screen in bytes
8871055
DEF SCRN_Y_B EQU 18 ; Height of screen in bytes
8881056

@@ -930,18 +1098,16 @@ DEF OAMB_PAL1 EQU 4 ; Palette number; 0,1 (DMG)
9301098
DEF OAMB_BANK1 EQU 3 ; Bank number; 0,1 (GBC)
9311099

9321100

933-
;*
934-
;* Nintendo scrolling logo
935-
;* (Code won't work on a real GameBoy)
936-
;* (if next lines are altered.)
937-
MACRO NINTENDO_LOGO
938-
DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D
939-
DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99
940-
DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E
941-
ENDM
942-
9431101
; Deprecated constants. Please avoid using.
9441102

9451103
DEF IEF_LCDC EQU %00000010 ; LCDC (see STAT)
1104+
DEF _VRAM8000 EQU _VRAM
1105+
DEF _VRAM8800 EQU _VRAM+$800
1106+
DEF _VRAM9000 EQU _VRAM+$1000
1107+
DEF CART_SRAM_2KB EQU 1 ; 1 incomplete bank
1108+
DEF LCDCF_BG8800 EQU %00000000 ; BG & Window Tile Data Select
1109+
DEF LCDCF_BG8000 EQU %00010000 ; BG & Window Tile Data Select
1110+
DEF LCDCB_BG8000 EQU 4 ; BG & Window Tile Data Select
1111+
9461112

9471113
ENDC ;HARDWARE_INC

‎src/instructions.z80

+2-2
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,9 @@ pages_end:
180180
page1txt:
181181
db LF
182182
db "Libbet and the Magic Floor",LF
183-
db "v0.08wip (2021-03-xx)",LF
183+
db "v0.08 (2024-01-xx)",LF
184184
; Row skipped because B=3
185-
; Can't cut 1 line here because "rearranging" and "passage" are so long
185+
; Can't cut 1 line here because "rearranging" and "passage" are long
186186
db "One day, Libbet was",LF
187187
db "rearranging her basement",LF
188188
db "when she discovered a",LF

‎src/intro.z80

+1-1
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ def COPR equ $1A
375375
coprNotice:
376376
db "",LF
377377
db COPR," 2002, 2012 Martin Korth",LF
378-
db COPR," 2018, 2023 Damian Yerrick",LF
378+
db COPR," 2018, 2024 Damian Yerrick",LF
379379
db "",0
380380

381381
intro_obj_palette:

0 commit comments

Comments
 (0)
Please sign in to comment.