Skip to navigation


Workspaces: Cartridge WRAM

[NES version, Common]

Name: Cartridge WRAM [Show more] Type: Workspace Address: $6000 to $7FFF Category: Workspaces Summary: The 8K of battery-backed RAM in the Elite cartridge, which is used for the graphics buffers and storing saved commanders Deep dive: The pattern and nametable buffers
Context: See this workspace in context in the source code References: No direct references to this workspace in this source file
ORG $6000 .pattBuffer0 SKIP 8 * 256 ; The pattern buffer for bitplane 0 (1 bit per pixel) ; that gets sent to the PPU during VBlank ; ; 256 patterns, 8 bytes per pattern (8x8 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 3 of 6) ; * ClearScreen ; * DrawBigLogo ; * DrawDash ; * GetHeadshot ; * GetSystemBack ; * LoadHighFont ; * LoadNormalFont ; * pattBufferHiAddr ; * ResetBuffers ; * SetLinePatterns ; * ShowScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattBuffer1 SKIP 8 * 256 ; The pattern buffer for bitplane 1 (1 bit per pixel) ; that gets sent to the PPU during VBlank ; ; 256 patterns, 8 bytes per pattern (8x8 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 3 of 6) ; * ClearScreen ; * GetHeadshot ; * GetSystemBack ; * LoadHighFont ; * pattBufferHiAddr ; * SetLinePatterns ; * ShowScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nameBuffer0 SKIP 30 * 32 ; The buffer for nametable 0 that gets sent to the PPU ; during VBlank ; ; 30 rows of 32 tile numbers ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * ClearDashEdge ; * ClearScreen ; * CLYNS ; * CopyNameBuffer0To1 ; * DIALS ; * DrawBoxEdges ; * DrawBoxTop ; * DrawDashNames ; * DrawIconBar ; * GetRowNameAddress ; * HideIconBar ; * MSBAR ; * MSBAR_b6 ; * nameBufferHiAddr ; * NLIN2 ; * ResetScanner ; * SendBarNamesToPPU ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrBuffer0 SKIP 8 * 8 ; The buffer for attribute table 0 that gets sent to the ; PPU during VBlank ; ; 8 rows of 8 attribute bytes (each is a 4x4 tile block) ; ; [Show more]
; ; This variable is used by the following: ; ; * SetViewAttrs ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nameBuffer1 SKIP 30 * 32 ; The buffer for nametable 1 that gets sent to the PPU ; during VBlank ; ; 30 rows of 32 tile numbers ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDashEdge ; * ClearScreen ; * CLYNS ; * CopyNameBuffer0To1 ; * DrawBoxEdges ; * DrawDashNames ; * DrawIconBar ; * GetRowNameAddress ; * HideIconBar ; * nameBufferHiAddr ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrBuffer1 SKIP 8 * 8 ; The buffer for attribute table 0 that gets sent to the ; PPU during VBlank ; ; 8 rows of 8 attribute bytes (each is a 4x4 tile block) .currentSlot SKIP 256 ; The save slot for the currently selected commander ; file ; ; [Show more]
; ; This variable is used by the following: ; ; * CopyCommanderToBuf ; * JAMESON ; * ResetCommander ; * SaveLoadCommander ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart1 SKIP 8 * 73 ; The first part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart2 SKIP 8 * 73 ; The second part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart3 SKIP 8 * 73 ; The third part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr3 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 40 ; These bytes appear to be unused