Skip to content

Commit 7ef59b4

Browse files
Added flags where applicable; review comments
1 parent 2bd0730 commit 7ef59b4

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

hardware.inc

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ rev_Check_hardware_inc : MACRO
4040
ENDM
4141

4242
_VRAM EQU $8000 ; $8000->$9FFF
43+
_VRAM8000 EQU _VRAM
4344
_VRAM8800 EQU $8800
4445
_VRAM9000 EQU $9000
4546
_SCRN0 EQU $9800 ; $9800->$9BFF
@@ -68,7 +69,7 @@ rRAMB EQU $4000 ; $4000->$5fff - Bit 3 enables rumble (if present)
6869

6970
; --
7071
; -- P1 ($FF00)
71-
; -- Register for reading joy pad info. (R/W)
72+
; -- Register for reading joy pad info. (R/W)
7273
; --
7374
rP1 EQU $FF00
7475

@@ -185,15 +186,15 @@ rAUD1ENV EQU rNR12
185186

186187
; --
187188
; -- AUD1LOW/NR13 ($FF13)
188-
; -- Frequency lo (W)
189+
; -- Frequency low byte (W)
189190
; --
190191
rNR13 EQU $FF13
191192
rAUD1LOW EQU rNR13
192193

193194

194195
; --
195196
; -- AUD1HIGH/NR14 ($FF14)
196-
; -- Frequency hi (W)
197+
; -- Frequency high byte (W)
197198
; --
198199
; -- Bit 7 - Initial (when set, sound restarts)
199200
; -- Bit 6 - Counter/consecutive selection
@@ -225,15 +226,15 @@ rAUD2ENV EQU rNR22
225226

226227
; --
227228
; -- AUD2LOW/NR23 ($FF18)
228-
; -- Frequency lo (W)
229+
; -- Frequency low byte (W)
229230
; --
230231
rNR23 EQU $FF18
231232
rAUD2LOW EQU rNR23
232233

233234

234235
; --
235236
; -- AUD2HIGH/NR24 ($FF19)
236-
; -- Frequency hi (W)
237+
; -- Frequency high byte (W)
237238
; --
238239
; -- see AUD1HIGH for info
239240
; --
@@ -277,7 +278,7 @@ rAUD3LEVEL EQU rNR32
277278

278279
; --
279280
; -- AUD3LOW/NR33 ($FF1D)
280-
; -- Frequency lo (W)
281+
; -- Frequency low byte (W)
281282
; --
282283
; -- see AUD1LOW for info
283284
; --
@@ -287,7 +288,7 @@ rAUD3LOW EQU rNR33
287288

288289
; --
289290
; -- AUD3HIGH/NR34 ($FF1E)
290-
; -- Frequency hi (W)
291+
; -- Frequency high byte (W)
291292
; --
292293
; -- see AUD1HIGH for info
293294
; --
@@ -335,13 +336,12 @@ rAUD4POLY EQU rNR43
335336

336337
; --
337338
; -- AUD4GO/NR44 ($FF23)
338-
; -- (has wrong name and value (ff30) in Dr.Pan's doc!)
339339
; --
340340
; -- Bit 7 - Inital
341341
; -- Bit 6 - Counter/consecutive selection
342342
; --
343343
rNR44 EQU $FF23
344-
rAUD4GO EQU rNR44 ; silly name!
344+
rAUD4GO EQU rNR44
345345

346346

347347
; --
@@ -441,8 +441,8 @@ STATF_MODE10 EQU %00100000 ; Mode 10
441441
STATF_MODE01 EQU %00010000 ; Mode 01 (V-Blank)
442442
STATF_MODE00 EQU %00001000 ; Mode 00 (H-Blank)
443443
STATF_LYCF EQU %00000100 ; Coincidence Flag
444-
STATF_HB EQU %00000000 ; H-Blank
445-
STATF_VB EQU %00000001 ; V-Blank
444+
STATF_HBL EQU %00000000 ; H-Blank
445+
STATF_VBL EQU %00000001 ; V-Blank
446446
STATF_OAM EQU %00000010 ; OAM-RAM is used by system
447447
STATF_LCD EQU %00000011 ; Both OAM and VRAM used by system
448448
STATF_BUSY EQU %00000010 ; When set, VRAM access is unsafe
@@ -522,6 +522,7 @@ rOBP1 EQU $FF49
522522
; -- Window Y Position (R/W)
523523
; --
524524
; -- 0 <= WY <= 143
525+
; -- When WY = 0, the window is displayed from the top edge of the LCD screen.
525526
; --
526527
rWY EQU $FF4A
527528

@@ -531,15 +532,20 @@ rWY EQU $FF4A
531532
; -- Window X Position (R/W)
532533
; --
533534
; -- 7 <= WX <= 166
535+
; -- When WX = 7, the window is displayed from the left edge of the LCD screen.
536+
; -- Values of 0-6 and 166 are unreliable due to hardware bugs.
534537
; --
535538
rWX EQU $FF4B
536539

537540

538541
; --
539-
; -- KEY 1 ($FF4D)
542+
; -- SPEED ($FF4D)
540543
; -- Select CPU Speed (R/W)
541544
; --
542-
rKEY1 EQU $FF4D
545+
rSPD EQU $FF4D
546+
547+
SPDF_DBLSPEED EQU %10000000 ; 0=Normal Speed, 1=Double Speed (R)
548+
SPDF_PREPARE EQU %00000001 ; 0=No, 1=Prepare (R/W)
543549

544550

545551
; --
@@ -553,38 +559,49 @@ rVBK EQU $FF4F
553559

554560
; --
555561
; -- HDMA1 ($FF51)
556-
; -- Horizontal Blanking, General Purpose DMA (W)
562+
; -- High byte for Horizontal Blanking/General Purpose DMA source address (W)
563+
; -- CGB Mode Only
557564
; --
558565
rHDMA1 EQU $FF51
559566

560567

561568
; --
562569
; -- HDMA2 ($FF52)
563-
; -- Horizontal Blanking, General Purpose DMA (W)
570+
; -- Low byte for Horizontal Blanking/General Purpose DMA source address (W)
571+
; -- CGB Mode Only
564572
; --
565573
rHDMA2 EQU $FF52
566574

567575

568576
; --
569577
; -- HDMA3 ($FF53)
570-
; -- Horizontal Blanking, General Purpose DMA (W)
578+
; -- High byte for Horizontal Blanking/General Purpose DMA destination address (W)
579+
; -- CGB Mode Only
571580
; --
572581
rHDMA3 EQU $FF53
573582

574583

575584
; --
576585
; -- HDMA4 ($FF54)
577-
; -- Horizontal Blanking, General Purpose DMA (W)
586+
; -- Low byte for Horizontal Blanking/General Purpose DMA destination address (W)
587+
; -- CGB Mode Only
578588
; --
579589
rHDMA4 EQU $FF54
580590

581591

582592
; --
583593
; -- HDMA5 ($FF55)
584-
; -- Horizontal Blanking, General Purpose DMA (R/W)
594+
; -- Transfer length (in bytes)/mode/start for Horizontal Blanking, General Purpose DMA (R/W)
595+
; -- CGB Mode Only
585596
; --
586597
rHDMA5 EQU $FF55
587598

599+
HDMA5F_MODE_GP EQU %00000000 ; General Purpose DMA (W)
600+
HDMA5F_MODE_HBL EQU %10000000 ; HBlank DMA (W)
601+
602+
; -- Once DMA has started, use HDMA5F_BUSY to check when the transfer is complete
603+
HDMA5F_BUSY EQU %10000000 ; 0=DMA complete, 1=Busy (DMA still in progress) (R)
604+
588605

589606
; --
590607
; -- RP ($FF56)
@@ -599,6 +616,8 @@ rRP EQU $FF56
599616
; --
600617
rBCPS EQU $FF68
601618

619+
BCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing)
620+
602621

603622
; --
604623
; -- BCPD ($FF69)
@@ -608,14 +627,16 @@ rBCPD EQU $FF69
608627

609628

610629
; --
611-
; -- BCPS ($FF6A)
630+
; -- OCPS ($FF6A)
612631
; -- Object Color Palette Specification (R/W)
613632
; --
614633
rOCPS EQU $FF6A
615634

635+
OCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing)
636+
616637

617638
; --
618-
; -- BCPD ($FF6B)
639+
; -- OCPD ($FF6B)
619640
; -- Object Color Palette Data (R/W)
620641
; --
621642
rOCPD EQU $FF6B

0 commit comments

Comments
 (0)