Compare commits
3 Commits
d1fe5dfbd8
...
68e9da7e31
| Author | SHA1 | Date |
|---|---|---|
|
|
68e9da7e31 | |
|
|
cab418a9d9 | |
|
|
9921ba9b5c |
261
labels.mlb
261
labels.mlb
|
|
@ -1,5 +1,4 @@
|
||||||
NesMemory:0000-0001:Word_44F9
|
NesMemory:0036-0037:Argument_D
|
||||||
NesMemory:0036-0037:Argument_D
|
|
||||||
NesMemory:2000:PpuControl_2000:7 bit 0\n---- ----\nVPHB SINN\n|||| ||||\n|||| ||++- Base nametable address\n|||| || (0 = $2000; 1 = $2400; 2 = $2800; 3 = $2C00)\n|||| |+--- VRAM address increment per CPU read/write of PPUDATA\n|||| | (0: add 1, going across; 1: add 32, going down)\n|||| +---- Sprite pattern table address for 8x8 sprites\n|||| (0: $0000; 1: $1000; ignored in 8x16 mode)\n|||+------ Background pattern table address (0: $0000; 1: $1000)\n||+------- Sprite size (0: 8x8; 1: 8x16)\n|+-------- PPU master/slave select\n| (0: read backdrop from EXT pins; 1: output color on EXT pins)\n+--------- Generate an NMI at the start of the\n vertical blanking interval (0: off; 1: on)
|
NesMemory:2000:PpuControl_2000:7 bit 0\n---- ----\nVPHB SINN\n|||| ||||\n|||| ||++- Base nametable address\n|||| || (0 = $2000; 1 = $2400; 2 = $2800; 3 = $2C00)\n|||| |+--- VRAM address increment per CPU read/write of PPUDATA\n|||| | (0: add 1, going across; 1: add 32, going down)\n|||| +---- Sprite pattern table address for 8x8 sprites\n|||| (0: $0000; 1: $1000; ignored in 8x16 mode)\n|||+------ Background pattern table address (0: $0000; 1: $1000)\n||+------- Sprite size (0: 8x8; 1: 8x16)\n|+-------- PPU master/slave select\n| (0: read backdrop from EXT pins; 1: output color on EXT pins)\n+--------- Generate an NMI at the start of the\n vertical blanking interval (0: off; 1: on)
|
||||||
NesMemory:2001:PpuMask_2001:7 bit 0\n---- ----\nBGRs bMmG\n|||| ||||\n|||| |||+- Display type: (0: color, 1: grayscale)\n|||| ||+-- 1: Show background in leftmost 8 pixels of screen, 0: Hide\n|||| |+--- 1: Show sprites in leftmost 8 pixels of screen, 0: Hide\n|||| +---- 1: Show background\n|||+------ 1: Show sprites\n||+------- Emphasize red\n|+-------- Emphasize green\n+--------- Emphasize blue
|
NesMemory:2001:PpuMask_2001:7 bit 0\n---- ----\nBGRs bMmG\n|||| ||||\n|||| |||+- Display type: (0: color, 1: grayscale)\n|||| ||+-- 1: Show background in leftmost 8 pixels of screen, 0: Hide\n|||| |+--- 1: Show sprites in leftmost 8 pixels of screen, 0: Hide\n|||| +---- 1: Show background\n|||+------ 1: Show sprites\n||+------- Emphasize red\n|+-------- Emphasize green\n+--------- Emphasize blue
|
||||||
NesMemory:2002:PpuStatus_2002:7 bit 0\n---- ----\nVSO. ....\n|||| ||||\n|||+-++++- Least significant bits previously written into a PPU register\n||| (due to register not being updated for this address)\n||+------- Sprite overflow. The intent was for this flag to be set\n|| whenever more than eight sprites appear on a scanline, but a\n|| hardware bug causes the actual behavior to be more complicated\n|| and generate false positives as well as false negatives; see\n|| PPU sprite evaluation. This flag is set during sprite\n|| evaluation and cleared at dot 1 (the second dot) of the\n|| pre-render line.\n|+-------- Sprite 0 Hit. Set when a nonzero pixel of sprite 0 overlaps\n| a nonzero background pixel; cleared at dot 1 of the pre-render\n| line. Used for raster timing.\n+--------- Vertical blank has started (0: not in vblank; 1: in vblank).\n Set at dot 1 of line 241 (the line *after* the post-render\n line); cleared after reading $2002 and at dot 1 of the\n pre-render line.
|
NesMemory:2002:PpuStatus_2002:7 bit 0\n---- ----\nVSO. ....\n|||| ||||\n|||+-++++- Least significant bits previously written into a PPU register\n||| (due to register not being updated for this address)\n||+------- Sprite overflow. The intent was for this flag to be set\n|| whenever more than eight sprites appear on a scanline, but a\n|| hardware bug causes the actual behavior to be more complicated\n|| and generate false positives as well as false negatives; see\n|| PPU sprite evaluation. This flag is set during sprite\n|| evaluation and cleared at dot 1 (the second dot) of the\n|| pre-render line.\n|+-------- Sprite 0 Hit. Set when a nonzero pixel of sprite 0 overlaps\n| a nonzero background pixel; cleared at dot 1 of the pre-render\n| line. Used for raster timing.\n+--------- Vertical blank has started (0: not in vblank; 1: in vblank).\n Set at dot 1 of line 241 (the line *after* the post-render\n line); cleared after reading $2002 and at dot 1 of the\n pre-render line.
|
||||||
|
|
@ -33,6 +32,8 @@ NesMemory:4017:Ctrl2_FrameCtr_4017:Read (NES - input):\n---4 3210\nRead data fro
|
||||||
NesMemory:4200:SBX_4200_DataAndRAM:Read tape data byte.\nWrite for RAM banks.\n\n7 bit 0\n---- ----\nAA.. .BBB\n|||| ||||\n|||| |+++- Select RAM bank mapped to $5000\n||++-+---- Unused\n++-------- Select RAM bank mapped to $6000
|
NesMemory:4200:SBX_4200_DataAndRAM:Read tape data byte.\nWrite for RAM banks.\n\n7 bit 0\n---- ----\nAA.. .BBB\n|||| ||||\n|||| |+++- Select RAM bank mapped to $5000\n||++-+---- Unused\n++-------- Select RAM bank mapped to $6000
|
||||||
NesMemory:4201:SBX_4201_RomAndTape:Read for tape status:\n\n7 bit 0\n---- ----\nABCD ....\n|||| ||||\n|||| ++++- Unused\n|||+------ Unknown\n||+------- Set when in data region during seek??\n|+-------- tape data synched? current data bit? something else??\n+--------- Something to do with $4202.0? decoder disabeld? decoder data ready?\n\nWrite for ROM bank:\n\n7 bit 0\n---- ----\n.... AAAA\n|||| ||||\n|||| ++++- Select 16k ROM bank at $8000-$BFFF\n++++------ Unused
|
NesMemory:4201:SBX_4201_RomAndTape:Read for tape status:\n\n7 bit 0\n---- ----\nABCD ....\n|||| ||||\n|||| ++++- Unused\n|||+------ Unknown\n||+------- Set when in data region during seek??\n|+-------- tape data synched? current data bit? something else??\n+--------- Something to do with $4202.0? decoder disabeld? decoder data ready?\n\nWrite for ROM bank:\n\n7 bit 0\n---- ----\n.... AAAA\n|||| ||||\n|||| ++++- Select 16k ROM bank at $8000-$BFFF\n++++------ Unused
|
||||||
NesMemory:4202:SBX_4202_TapeCtrl:Read for status:\n\n7 bit 0\n---- ----\n.A.. B...\n|||| ||||\n|||| |+++- Unused\n|||| +---- Power supply not connected (unused on SBX-1)\n||++------ Unused\n|+-------- Shift register ready for next bit? (tape ready?)\n+--------- Unused\n\nWrite for control:\n\n7 bit 0\n---- ----\nA?BC ?DEF\n|||| ||||\n|||| |||+- Data decoding enable?\n|||| ||+-- IRQ enable?\n|||| |+--- Maybe tape audio enable??\n|||| +---- Unknown\n|||+------ Pulse low to clock data bit\n||+------- Pulse low to reset drive controller?\n|+-------- Unknown\n+--------- Output data bit
|
NesMemory:4202:SBX_4202_TapeCtrl:Read for status:\n\n7 bit 0\n---- ----\n.A.. B...\n|||| ||||\n|||| |+++- Unused\n|||| +---- Power supply not connected (unused on SBX-1)\n||++------ Unused\n|+-------- Shift register ready for next bit? (tape ready?)\n+--------- Unused\n\nWrite for control:\n\n7 bit 0\n---- ----\nA?BC ?DEF\n|||| ||||\n|||| |||+- Data decoding enable?\n|||| ||+-- IRQ enable?\n|||| |+--- Maybe tape audio enable??\n|||| +---- Unknown\n|||+------ Pulse low to clock data bit\n||+------- Pulse low to reset drive controller?\n|+-------- Unknown\n+--------- Output data bit
|
||||||
|
NesMemory:44F9-44FA:Word_44F9
|
||||||
|
NesMemory:44FB-44FC:Word_44FB
|
||||||
NesMemory:6000-6001:ScriptStackAddr:The first two bytes of a\nscript always point to the\nstart of the script's stack.
|
NesMemory:6000-6001:ScriptStackAddr:The first two bytes of a\nscript always point to the\nstart of the script's stack.
|
||||||
NesPrgRom:0000:Handler_FE_DrawCharacter:\nDraws a character from the SBX ROM's\ncharset.
|
NesPrgRom:0000:Handler_FE_DrawCharacter:\nDraws a character from the SBX ROM's\ncharset.
|
||||||
NesPrgRom:0022:L0022
|
NesPrgRom:0022:L0022
|
||||||
|
|
@ -172,7 +173,7 @@ NesPrgRom:0DAC:LCDAC
|
||||||
NesPrgRom:0DD9:LCDD9_Multiply_8to16:\nByte_06C8 * Byte_06C9\n= Word_06CE
|
NesPrgRom:0DD9:LCDD9_Multiply_8to16:\nByte_06C8 * Byte_06C9\n= Word_06CE
|
||||||
NesPrgRom:0DE2:L0DE2_loop
|
NesPrgRom:0DE2:L0DE2_loop
|
||||||
NesPrgRom:0DEB:L0DEB
|
NesPrgRom:0DEB:L0DEB
|
||||||
NesPrgRom:0DF8:LCDF8_StringShenanigans
|
NesPrgRom:0DF8:LCDF8_Bin2DecString_disabled:\nThis code seems to be disabled. If\nByte_0607 != 1, return early.\n\nHowever, Byte_0607 is only written\nonce in the reset routine with $00.\n\nIf this code were used, it takes the\nbinary value in Byte_ED and converts\nit to ASCII decimal in String_0700.\nThe value is only two digits.
|
||||||
NesPrgRom:0E00:L0E00
|
NesPrgRom:0E00:L0E00
|
||||||
NesPrgRom:0E1D:LCE1D_loop
|
NesPrgRom:0E1D:LCE1D_loop
|
||||||
NesPrgRom:0E2A:LCE2A
|
NesPrgRom:0E2A:LCE2A
|
||||||
|
|
@ -237,16 +238,54 @@ NesPrgRom:13C7:LD3C7
|
||||||
NesPrgRom:13DC:LD3DC_loop
|
NesPrgRom:13DC:LD3DC_loop
|
||||||
NesPrgRom:13EA:LD3EA
|
NesPrgRom:13EA:LD3EA
|
||||||
NesPrgRom:1403:LD403_end
|
NesPrgRom:1403:LD403_end
|
||||||
|
NesPrgRom:1649:Handler_A1
|
||||||
|
NesPrgRom:164B::ArgA >= 15?
|
||||||
|
NesPrgRom:1667::byte 1 - rom data bank
|
||||||
|
NesPrgRom:166D::\nbyte 2&3 are the data source for\na screen to draw.
|
||||||
|
NesPrgRom:1678::byte 5 - tile count
|
||||||
|
NesPrgRom:167E::byte 7 - source addr low
|
||||||
|
NesPrgRom:1684::byte 8 - source addr high
|
||||||
|
NesPrgRom:168A::byte 4 - rom data bank
|
||||||
|
NesPrgRom:16BA:L16BA_LoadMetadata:\nLoads data from a table.\nTable is 15 elements long, each element\nis 8 bytes.
|
||||||
|
NesPrgRom:16C2::\nArgA (Y) index -> offset
|
||||||
|
NesPrgRom:16D1:
|
||||||
|
NesPrgRom:1703:L1703_WeirdPointerMath:byte 2
|
||||||
|
NesPrgRom:1708::byte_61
|
||||||
|
NesPrgRom:170A::byte 3
|
||||||
|
NesPrgRom:1711::\nWord_96 -= 1\n(source addr ($4722.W) - 1)
|
||||||
|
NesPrgRom:171E::byte_61
|
||||||
|
NesPrgRom:1722:
|
||||||
|
NesPrgRom:1726::byte_61
|
||||||
|
NesPrgRom:172B::byte_61
|
||||||
|
NesPrgRom:1733::\nWrite $4722.W + 6 to $697E.W
|
||||||
|
NesPrgRom:1742::\nRead four bytes from ($4722.W)\n(bytes 2&3 from metadata)
|
||||||
|
NesPrgRom:1746::width?
|
||||||
|
NesPrgRom:174B::height?
|
||||||
|
NesPrgRom:174D:
|
||||||
|
NesPrgRom:1757::\nnumber of tiles (width * height)
|
||||||
|
NesPrgRom:176E::\n$61.W += above result\n
|
||||||
|
NesPrgRom:177B:
|
||||||
|
NesPrgRom:177C::hardcoded to $FE above
|
||||||
|
NesPrgRom:1788:
|
||||||
|
NesPrgRom:1796:L1796_WriteTiles:\nWrites tiles to the PPU.\nByte_06C0 - number of tiles.\nWord_0724+0 - Tile ID\nWord_0745 - Base Dest Addr (ie, $0000 or $1000).\nWord_06BC - Data Source Addr
|
||||||
|
NesPrgRom:17A8::tile ID?
|
||||||
NesPrgRom:17B0:L17B0
|
NesPrgRom:17B0:L17B0
|
||||||
NesPrgRom:17CC:L17CC
|
NesPrgRom:17CC:L17CC_loop
|
||||||
NesPrgRom:17E7:L17E7
|
NesPrgRom:17E7:L17E7_loop
|
||||||
|
NesPrgRom:17F1::\nSource Addr += 16 bytes
|
||||||
|
NesPrgRom:1802::\nDest PPU Addr += 16 bytes
|
||||||
|
NesPrgRom:1813:
|
||||||
|
NesPrgRom:181B::\ntile ID rolled over.\nReset the PPU address to tile ID 4\nwith the current Base Addr.\n(Wrap to the top of the current tile\nbank, skipping the first four tiles)
|
||||||
NesPrgRom:183D:L183D
|
NesPrgRom:183D:L183D
|
||||||
NesPrgRom:184E:LD84E
|
NesPrgRom:184E:LD84E_DrawScreen:\nSeen drawing a full nametable using\ndata from ROM and tape.
|
||||||
NesPrgRom:1851:LD851
|
NesPrgRom:1851:LD851
|
||||||
NesPrgRom:1868:LD868
|
NesPrgRom:1868:LD868
|
||||||
NesPrgRom:1872:LD872
|
NesPrgRom:1872:LD872
|
||||||
NesPrgRom:187C:LD87C
|
NesPrgRom:187C:LD87C
|
||||||
NesPrgRom:188C:LD88C_PointerShenanigans
|
NesPrgRom:188C:LD88C_VarShuffle:\nMoves some vars around:\n\nWord_96 -> Pointer_83 (from metadata earlier on)\nPointer_83 += 1\n$697E.W -> $85.W tile data\n$6AFE.W -> $87.W attribute data
|
||||||
|
NesPrgRom:1894:
|
||||||
|
NesPrgRom:18A1::\ntile data
|
||||||
|
NesPrgRom:18AB::\nAttribute data
|
||||||
NesPrgRom:18E0:LD8E0_SetNT_00
|
NesPrgRom:18E0:LD8E0_SetNT_00
|
||||||
NesPrgRom:18EB:LD8EB_SetNT_01
|
NesPrgRom:18EB:LD8EB_SetNT_01
|
||||||
NesPrgRom:18F6:LD8F6_SetNT_02
|
NesPrgRom:18F6:LD8F6_SetNT_02
|
||||||
|
|
@ -260,8 +299,13 @@ NesPrgRom:1959:LD959_Pointer83_HeaderCopy:\nReads data via Pointer_83,\nwrites t
|
||||||
NesPrgRom:195B:L195B_loop
|
NesPrgRom:195B:L195B_loop
|
||||||
NesPrgRom:196C:LD96C_Pointer83_PixelToTile:\nTakes pixel coords an converts to\ntile coords?\n\nData at (Pointer_83) is the header\nfor nametable data in RAM.
|
NesPrgRom:196C:LD96C_Pointer83_PixelToTile:\nTakes pixel coords an converts to\ntile coords?\n\nData at (Pointer_83) is the header\nfor nametable data in RAM.
|
||||||
NesPrgRom:196E:L196E_loop
|
NesPrgRom:196E:L196E_loop
|
||||||
|
NesPrgRom:1978::\nByte_6A /= 8
|
||||||
|
NesPrgRom:197F::\nByte_6B /= 8
|
||||||
NesPrgRom:1987:LD987_ArgSwap:\nSwap ArgA+1 with Byte_6A\nSwap ArgB+1 with Byte_6B
|
NesPrgRom:1987:LD987_ArgSwap:\nSwap ArgA+1 with Byte_6A\nSwap ArgB+1 with Byte_6B
|
||||||
NesPrgRom:199A:LD99A_CopySomethingTo0777
|
NesPrgRom:199A:LD99A_BufferTo0777:\nCopies PPU data to a buffer.
|
||||||
|
NesPrgRom:199C::\nload the pixel coords and divide\nby 8 to get tile coords (again).
|
||||||
|
NesPrgRom:19AD:
|
||||||
|
NesPrgRom:19B6::\nload width from header data
|
||||||
NesPrgRom:19BD::\nWord_81 = Byte_06CC * Word_06CA.Low
|
NesPrgRom:19BD::\nWord_81 = Byte_06CC * Word_06CA.Low
|
||||||
NesPrgRom:19D6::\nWord_81 += (Byte_6A - Word_06CA.High)
|
NesPrgRom:19D6::\nWord_81 += (Byte_6A - Word_06CA.High)
|
||||||
NesPrgRom:19E7::\nWord_81 += Array_85
|
NesPrgRom:19E7::\nWord_81 += Array_85
|
||||||
|
|
@ -270,6 +314,7 @@ NesPrgRom:19FF::ensure data ends with a null
|
||||||
NesPrgRom:1A03:LDA03_loop
|
NesPrgRom:1A03:LDA03_loop
|
||||||
NesPrgRom:1A0C:LDA0C
|
NesPrgRom:1A0C:LDA0C
|
||||||
NesPrgRom:1A31:LDA31
|
NesPrgRom:1A31:LDA31
|
||||||
|
NesPrgRom:1A3B:
|
||||||
NesPrgRom:1A41::\nWord_81 = Word_06CA.High * 8
|
NesPrgRom:1A41::\nWord_81 = Word_06CA.High * 8
|
||||||
NesPrgRom:1A59::\nWord_81 += Word_87
|
NesPrgRom:1A59::\nWord_81 += Word_87
|
||||||
NesPrgRom:1A66:
|
NesPrgRom:1A66:
|
||||||
|
|
@ -282,7 +327,7 @@ NesPrgRom:1AE4:LDAE4
|
||||||
NesPrgRom:1AF7:L1AF7
|
NesPrgRom:1AF7:L1AF7
|
||||||
NesPrgRom:1B12:L1B12_loop
|
NesPrgRom:1B12:L1B12_loop
|
||||||
NesPrgRom:1B1C:L1B1C
|
NesPrgRom:1B1C:L1B1C
|
||||||
NesPrgRom:1B34:LDB34_BufferSomePPUStuff:\nBuffers some PPU data and\nwaits for NMI to draw it.
|
NesPrgRom:1B34:LDB34_BufferAndWrite_PPU:\nBuffers some PPU data and\nwaits for NMI to draw it.
|
||||||
NesPrgRom:1B3A::\nvertical PPU increment
|
NesPrgRom:1B3A::\nvertical PPU increment
|
||||||
NesPrgRom:1B4D:L1B4D:\nhorizontal PPU increment
|
NesPrgRom:1B4D:L1B4D:\nhorizontal PPU increment
|
||||||
NesPrgRom:1B5D:LDB5D
|
NesPrgRom:1B5D:LDB5D
|
||||||
|
|
@ -294,36 +339,46 @@ NesPrgRom:1BB1:LDBB1
|
||||||
NesPrgRom:1BB3:LDBB3
|
NesPrgRom:1BB3:LDBB3
|
||||||
NesPrgRom:1BB8:L1BB8
|
NesPrgRom:1BB8:L1BB8
|
||||||
NesPrgRom:1BC3::\nSet NMI action to write PPU\ndata, then wait for it to\nexecute.
|
NesPrgRom:1BC3::\nSet NMI action to write PPU\ndata, then wait for it to\nexecute.
|
||||||
NesPrgRom:1BD4:LDBD4
|
NesPrgRom:1BD4:LDBD4_UpdateAttrData:\nSomething with updating attribute\ndata with data from the tape's\nimage.
|
||||||
|
NesPrgRom:1BDE:
|
||||||
|
NesPrgRom:1BE4:
|
||||||
|
NesPrgRom:1BFC:
|
||||||
|
NesPrgRom:1C09:
|
||||||
|
NesPrgRom:1C11:
|
||||||
|
NesPrgRom:1C1B:
|
||||||
|
NesPrgRom:1C1F:
|
||||||
|
NesPrgRom:1C25:
|
||||||
|
NesPrgRom:1C2B:
|
||||||
NesPrgRom:1C33:L1C33
|
NesPrgRom:1C33:L1C33
|
||||||
NesPrgRom:1C39:L1C39
|
NesPrgRom:1C39:L1C39
|
||||||
NesPrgRom:1C3E:L1C3E_loop
|
NesPrgRom:1C3E:L1C3E_loop
|
||||||
NesPrgRom:1C50:L1C50
|
NesPrgRom:1C50:L1C50
|
||||||
NesPrgRom:1C57:L1C57
|
NesPrgRom:1C57:L1C57
|
||||||
NesPrgRom:1C94:LDC94
|
NesPrgRom:1C94:L1C94_OR_AttrtData:\nOR's tiles atttribute data onto\nthe existing attribute table?
|
||||||
NesPrgRom:1CB0:L1CB0
|
NesPrgRom:1CAD:
|
||||||
|
NesPrgRom:1CB0:L1CB0_loop
|
||||||
NesPrgRom:1CC2:L1CC2
|
NesPrgRom:1CC2:L1CC2
|
||||||
NesPrgRom:1CD4:LDCD4_BufferPPUData:Buffers some PPU data using\ntables in the HW stack.\n\nAlways Attribute data?
|
NesPrgRom:1CD4:LDCD4_BufferPPUData:Buffers some PPU data using\ntables in the HW stack.\n\nAlways Attribute data?
|
||||||
NesPrgRom:1CD6::horizontal drawing
|
NesPrgRom:1CD6::horizontal drawing
|
||||||
NesPrgRom:1CF0:L1CF0
|
NesPrgRom:1CF0:L1CF0
|
||||||
NesPrgRom:1D11:L1D11
|
NesPrgRom:1D11:L1D11
|
||||||
NesPrgRom:1D2B:LDD2B
|
NesPrgRom:1D2B:LDD2B_LoadSpritePaletteData
|
||||||
NesPrgRom:1D2D:L1D2D
|
NesPrgRom:1D2D:L1D2D
|
||||||
NesPrgRom:1D35:L1D35
|
NesPrgRom:1D35:L1D35
|
||||||
NesPrgRom:1D44:LDD44_CopyPaletteToBuffer:\nCopies palette data from the tape\ndata buffer (Pointer_9A) to a\npalette buffer at $0610
|
NesPrgRom:1D44:LDD44_CopyPaletteToBuffer:\nCopies palette data from the tape\ndata buffer (Pointer_9A) to a\npalette buffer at $0610.\n\nReplaces #$3D with #$0F in the data.
|
||||||
NesPrgRom:1D46:L1D46
|
NesPrgRom:1D46:L1D46
|
||||||
NesPrgRom:1D4E:L1D4E
|
NesPrgRom:1D4E:L1D4E
|
||||||
NesPrgRom:1D5A:LDD5A_PaletteBgCopy:\nCopies the background colors \nfrom one palette to the other
|
NesPrgRom:1D5A:LDD5A_PaletteBgCopy:\nCopies the background colors from\nthe background palettes to the\nsprite palettes.
|
||||||
NesPrgRom:1D5C:L1D5C
|
NesPrgRom:1D5C:L1D5C
|
||||||
NesPrgRom:1D6B:LDD6D_PpuBuffer:\nBuffering data at $610 to the\nPPU data buffer at 305
|
NesPrgRom:1D6B:L1D6D_BufferAndWritePalData:\nBuffers and writes palette data to\n$3F00. Data is sourced from $0610.
|
||||||
NesPrgRom:1D7F:L1D7F
|
NesPrgRom:1D7F:L1D7F
|
||||||
NesPrgRom:1D90:L1D90
|
NesPrgRom:1D90:L1D90_WriteFourTiles:\nBuffers and draws four tiles. Tiles\nare loaded in pairs. Because reasons.\n\nWord_0745 is the initial destination address.
|
||||||
NesPrgRom:1DA2:L1DA2_loop
|
NesPrgRom:1DA2:L1DA2_loop
|
||||||
NesPrgRom:1DB6:L1DB6_loop
|
NesPrgRom:1DB6:L1DB6_loop
|
||||||
NesPrgRom:1DE2:L1DE2
|
NesPrgRom:1DE2:L1DE2
|
||||||
NesPrgRom:1F37-1F76:Table_DF37:maybe 64 bytes?
|
NesPrgRom:1F37-1F76:Table_DF37:maybe 64 bytes?
|
||||||
NesPrgRom:1F7A-2177:Table_1F78
|
NesPrgRom:1F7A-2177:Table_1F78
|
||||||
NesPrgRom:2178-224D:Table_2178
|
NesPrgRom:21D5-224C:Table_21D5:15 entries of 8 bytes each.
|
||||||
NesPrgRom:2300:L2300_LoadScreen:\nScreen ID in A\nSaves current bank, swaps to the screen's bank, writes\ntile data, and finally writes pattern data.
|
NesPrgRom:2300:L2300_LoadScreen:\nScreen ID in A\nSaves current bank, swaps to the screen's bank, writes\ntile data, and finally writes pattern data.
|
||||||
NesPrgRom:2319:L2319_LoadTileData_Shifted:\nShift A three times and TAX before dropping into\nL2323_LoadTileData
|
NesPrgRom:2319:L2319_LoadTileData_Shifted:\nShift A three times and TAX before dropping into\nL2323_LoadTileData
|
||||||
NesPrgRom:2323:L2323_LoadTileData:\nLooks like this loads up a screen using a lookup table for\nthe bank and data address. It shuffles around a bunch\nof pointers.
|
NesPrgRom:2323:L2323_LoadTileData:\nLooks like this loads up a screen using a lookup table for\nthe bank and data address. It shuffles around a bunch\nof pointers.
|
||||||
|
|
@ -375,7 +430,7 @@ NesPrgRom:2718:L2718
|
||||||
NesPrgRom:271B:L271B_FrameWait_JMP:\nJMP's to L2BFC.\nWhy not just JSR to that address directly?
|
NesPrgRom:271B:L271B_FrameWait_JMP:\nJMP's to L2BFC.\nWhy not just JSR to that address directly?
|
||||||
NesPrgRom:2721:L2721_TurnOnNMI_LongJump
|
NesPrgRom:2721:L2721_TurnOnNMI_LongJump
|
||||||
NesPrgRom:2724:L2724_TurnOffNMI_LongJump
|
NesPrgRom:2724:L2724_TurnOffNMI_LongJump
|
||||||
NesPrgRom:2727:L2727
|
NesPrgRom:2727:L2727_ShuffleRngMaybe_LongJump
|
||||||
NesPrgRom:272D:L272D
|
NesPrgRom:272D:L272D
|
||||||
NesPrgRom:2733:L2733_WriteScroll_LongJmp
|
NesPrgRom:2733:L2733_WriteScroll_LongJmp
|
||||||
NesPrgRom:2739:L2739:\nJust JMP's to L3513.\nAgain, why not just JSR to the label directly?
|
NesPrgRom:2739:L2739:\nJust JMP's to L3513.\nAgain, why not just JSR to the label directly?
|
||||||
|
|
@ -577,7 +632,8 @@ NesPrgRom:31F6:LF1F6
|
||||||
NesPrgRom:3209:L3209
|
NesPrgRom:3209:L3209
|
||||||
NesPrgRom:3214:L3214
|
NesPrgRom:3214:L3214
|
||||||
NesPrgRom:321A:L321A
|
NesPrgRom:321A:L321A
|
||||||
NesPrgRom:325E:L325E
|
NesPrgRom:325E:L325E:\nOpcode 0xDF is waiting for thes to\nbecome zero.
|
||||||
|
NesPrgRom:326C::\nOpcode $9D is waiting on this to\nbecome zero again.
|
||||||
NesPrgRom:3280:L3280
|
NesPrgRom:3280:L3280
|
||||||
NesPrgRom:3285:L3285
|
NesPrgRom:3285:L3285
|
||||||
NesPrgRom:3297:L3297
|
NesPrgRom:3297:L3297
|
||||||
|
|
@ -607,7 +663,7 @@ NesPrgRom:342B::\nIncrement pointer to next PPU row?
|
||||||
NesPrgRom:343C::\nInsert NULL terminator
|
NesPrgRom:343C::\nInsert NULL terminator
|
||||||
NesPrgRom:3442:L3442_Idk:\nCMP's X+1 to data at $0300.\nIf less than, RTS.\nOtherwise store $00 at $0302+X, where\nX = data at $301. Then discard the top\ntwo values on the stack.
|
NesPrgRom:3442:L3442_Idk:\nCMP's X+1 to data at $0300.\nIf less than, RTS.\nOtherwise store $00 at $0302+X, where\nX = data at $301. Then discard the top\ntwo values on the stack.
|
||||||
NesPrgRom:3455:L3455_RTS
|
NesPrgRom:3455:L3455_RTS
|
||||||
NesPrgRom:3456:L3456:\nhuh?
|
NesPrgRom:3456:L3456_ShuffleRngMaybe:\nhuh?
|
||||||
NesPrgRom:3466:L3466_loop
|
NesPrgRom:3466:L3466_loop
|
||||||
NesPrgRom:346D:L346D_WriteSprites
|
NesPrgRom:346D:L346D_WriteSprites
|
||||||
NesPrgRom:3490:Read_Controllers
|
NesPrgRom:3490:Read_Controllers
|
||||||
|
|
@ -1061,17 +1117,38 @@ NesPrgRom:4D9D:L8D9D_middle_loop
|
||||||
NesPrgRom:4DBD:L8DBD_loop
|
NesPrgRom:4DBD:L8DBD_loop
|
||||||
NesPrgRom:4DDF:L8DDF
|
NesPrgRom:4DDF:L8DDF
|
||||||
NesPrgRom:4E1F:L8E1F
|
NesPrgRom:4E1F:L8E1F
|
||||||
NesPrgRom:4E2A:L8E2A_PointerShenanigans:\nAdd a pointer to the data it points\nto, store result in Pointer_9A.\nWord_96 is another pointer output.\n\nDepending on if ZERO is set, source\npointer is either $5000 (Z unset) or\n$5400 (Z set).
|
NesPrgRom:4E2A:L8E2A_PointerShenanigans:\nAdd a pointer to the data it points\nto, store result in Pointer_9A.\nWord_96 is another pointer output.\n\nDepending on if ZERO is set, source\npointer is either $5000 (Z unset) or\n$5400 (Z set).\n\nSets Pointer_9A to some palette data.
|
||||||
NesPrgRom:4E2E::always branch
|
NesPrgRom:4E2E::always branch
|
||||||
NesPrgRom:4E30:L8E30
|
NesPrgRom:4E30:L8E30
|
||||||
NesPrgRom:4E32:L8E32
|
NesPrgRom:4E32:L8E32
|
||||||
NesPrgRom:4E63:L8E63
|
NesPrgRom:4E42::\nOffset to palette data?
|
||||||
NesPrgRom:4E87:L4E87
|
NesPrgRom:4E4D::\nWord_52 += Word_56
|
||||||
NesPrgRom:4E99:L4E99
|
NesPrgRom:4E5A::\npointer to palette data?
|
||||||
NesPrgRom:4F17:L4F17
|
NesPrgRom:4E62:
|
||||||
|
NesPrgRom:4E63:L8E63_GetDataPointers:\nInput is Word_96 - points to data header\n\nPointers to the tile data for\neach image are written to a table\nat $6800.\n\nPointers to the attribute data for\neach image are written to a table\nat $6890.
|
||||||
|
NesPrgRom:4E68::image count
|
||||||
|
NesPrgRom:4E6A::\nWord_61 = Word_96
|
||||||
|
NesPrgRom:4E72::\nWord_61 += 1
|
||||||
|
NesPrgRom:4E7F::\nPointer_63 = Word_61
|
||||||
|
NesPrgRom:4E87:L4E87_loop:\nAdvance Word_61 to the start of the\ndata after the header.
|
||||||
|
NesPrgRom:4E97:
|
||||||
|
NesPrgRom:4E99:L4E99_ReadLoop
|
||||||
|
NesPrgRom:4EA6::\n???????
|
||||||
|
NesPrgRom:4EAA::\nread dimensions from header
|
||||||
|
NesPrgRom:4EB5::\nWord_67 = data W*H
|
||||||
|
NesPrgRom:4ECC::\nWord_61 += Word_67
|
||||||
|
NesPrgRom:4ED9:
|
||||||
|
NesPrgRom:4EE9:
|
||||||
|
NesPrgRom:4EF4::\nWord_61 += Word_67
|
||||||
|
NesPrgRom:4F01::\nPointer_63 += 6
|
||||||
|
NesPrgRom:4F0E:
|
||||||
|
NesPrgRom:4F17:L4F17_rts
|
||||||
NesPrgRom:4F18:L8F18_rts
|
NesPrgRom:4F18:L8F18_rts
|
||||||
NesPrgRom:4F19:L8F19
|
NesPrgRom:4F19:L8F19_LoadHeaderData:\nLoads header information from tape\ndata loaded into $5000 or $5400.\n\nPointer_63 is the data start\n\n$697E address for tile data\n$6AFE address for attribute data
|
||||||
NesPrgRom:4F1B::load loop counter for later
|
NesPrgRom:4F1B::load loop counter for later
|
||||||
|
NesPrgRom:4F20:
|
||||||
|
NesPrgRom:4F28:
|
||||||
|
NesPrgRom:4F35:
|
||||||
NesPrgRom:4F3D:L8F3D_loop
|
NesPrgRom:4F3D:L8F3D_loop
|
||||||
NesPrgRom:4F4F:L8F4F_loop
|
NesPrgRom:4F4F:L8F4F_loop
|
||||||
NesPrgRom:4F53::$697E
|
NesPrgRom:4F53::$697E
|
||||||
|
|
@ -1079,6 +1156,10 @@ NesPrgRom:4F59::$697F
|
||||||
NesPrgRom:4F6B::A
|
NesPrgRom:4F6B::A
|
||||||
NesPrgRom:4F70::B
|
NesPrgRom:4F70::B
|
||||||
NesPrgRom:4F75::Word_06CE = A * B
|
NesPrgRom:4F75::Word_06CE = A * B
|
||||||
|
NesPrgRom:4F82::\nadd result to Word_61
|
||||||
|
NesPrgRom:4F8F::Word_61 is now data length\n
|
||||||
|
NesPrgRom:4FAC:
|
||||||
|
NesPrgRom:4FB9:
|
||||||
NesPrgRom:4FCF:L8FCF_rts
|
NesPrgRom:4FCF:L8FCF_rts
|
||||||
NesPrgRom:4FD0:Handler_DC:something to do with the\nlower 3 bits in the arguments\nand words 34 and 36
|
NesPrgRom:4FD0:Handler_DC:something to do with the\nlower 3 bits in the arguments\nand words 34 and 36
|
||||||
NesPrgRom:4FE5:L8FE5_gt
|
NesPrgRom:4FE5:L8FE5_gt
|
||||||
|
|
@ -1116,34 +1197,62 @@ NesPrgRom:5115:L9115_TurnOnBG
|
||||||
NesPrgRom:511F:L911F_WaitLoop:\nWord_6D - Word_B1, looped\nwhile positive result in\nlow byte.\nResult isn't saved.
|
NesPrgRom:511F:L911F_WaitLoop:\nWord_6D - Word_B1, looped\nwhile positive result in\nlow byte.\nResult isn't saved.
|
||||||
NesPrgRom:512B:Handler_9D_SomethingTape
|
NesPrgRom:512B:Handler_9D_SomethingTape
|
||||||
NesPrgRom:5133:L9133
|
NesPrgRom:5133:L9133
|
||||||
NesPrgRom:514A:L914A
|
NesPrgRom:514A:L914A:\nArgB != 0
|
||||||
NesPrgRom:5155:L9155
|
NesPrgRom:5155:L9155:\nWait for data to finish being read\nfrom the tape.\n\nSet $44F8, ArgA to 1 and wait for\nthe IRQ to set this back to 0.
|
||||||
NesPrgRom:5161:L9161_WaitLoop
|
NesPrgRom:5161:L9161_WaitLoop
|
||||||
|
NesPrgRom:5177::\nJump into the code for Opcode $9D\nafter all the opcode specific stuff\nand draw a screen.
|
||||||
NesPrgRom:517A:Handler_9E_DrawAndShowScreen:\nDraw and show a full screen from\ntape data. This includes sprites.
|
NesPrgRom:517A:Handler_9E_DrawAndShowScreen:\nDraw and show a full screen from\ntape data. This includes sprites.
|
||||||
NesPrgRom:519D:L919D
|
NesPrgRom:519D:L919D
|
||||||
NesPrgRom:51AF:L91AF
|
NesPrgRom:51AF:L91AF
|
||||||
|
NesPrgRom:51BE::array index and bank info?
|
||||||
NesPrgRom:51F0:L91F0
|
NesPrgRom:51F0:L91F0
|
||||||
NesPrgRom:5231:L9231
|
NesPrgRom:5231:L9231
|
||||||
NesPrgRom:523F:L923F
|
NesPrgRom:523F:L923F
|
||||||
NesPrgRom:52D1:Handler_DF:\nDoes something with strings?\nPossibly drawing them?
|
NesPrgRom:52B5:L52B5
|
||||||
|
NesPrgRom:52D1:Handler_DF_DrawImage:\nDraws an image from RAM on top of\nthe current nametable. Seen using\ndata from the tape.\n\nArgB: X Coord (in tiles)\nArgC: Y Coord (in tiles)
|
||||||
NesPrgRom:52E1:Handler_8B:\nDoes something with strings?\nPossibly drawing them?
|
NesPrgRom:52E1:Handler_8B:\nDoes something with strings?\nPossibly drawing them?
|
||||||
NesPrgRom:52EC:L92EC
|
NesPrgRom:52EC:L92EC
|
||||||
NesPrgRom:52F4:L92F4
|
NesPrgRom:52F4:L92F4
|
||||||
NesPrgRom:52FF:L92FF
|
NesPrgRom:52FF:L92FF
|
||||||
NesPrgRom:5312:L9312_WaitLoop
|
NesPrgRom:5312:L9312_WaitLoop:\nthis is reset in IRQ
|
||||||
|
NesPrgRom:5317:
|
||||||
|
NesPrgRom:5327:
|
||||||
|
NesPrgRom:532D:
|
||||||
|
NesPrgRom:5345::\nWord_06BC = Word_459E
|
||||||
|
NesPrgRom:5351::\nWord_06BC -= #$5000
|
||||||
|
NesPrgRom:535A::\nWord_06BC /= 16
|
||||||
NesPrgRom:535C:L935C_loop
|
NesPrgRom:535C:L935C_loop
|
||||||
NesPrgRom:53CC:L96CC:\nTile vs Pixel coords?
|
NesPrgRom:5365:
|
||||||
|
NesPrgRom:53A2::\nArgA = ArgB\nArgB = ArgC
|
||||||
|
NesPrgRom:53B5:L53B5
|
||||||
|
NesPrgRom:53CC:L56CC_CoordTranslate:\nTile vs Pixel coords?\n\nScript coords are in tiles, tape\ncoords are in pixels.
|
||||||
|
NesPrgRom:53D5:
|
||||||
NesPrgRom:53DC:
|
NesPrgRom:53DC:
|
||||||
NesPrgRom:53EC:L93EC_PointerShenanigans
|
NesPrgRom:53E4:
|
||||||
NesPrgRom:5416:L5416
|
NesPrgRom:53EC:L93EC_PointerShenanigans_Array85Load:\nLoads the first set of pointers to\ndata and attributes into Array_85
|
||||||
NesPrgRom:5495:L5495
|
NesPrgRom:53F4::\nPointer_83 += 1
|
||||||
|
NesPrgRom:5401:
|
||||||
|
NesPrgRom:540B:
|
||||||
|
NesPrgRom:5416:L5416_TranslateTileIds:\nOffset tile ID from tape to real\nID. There may have been other tile\ndata already loaded, but the tape\ndata assumes this tile data is the\nonly thing loaded.
|
||||||
|
NesPrgRom:541C:L541C_ImageLoop
|
||||||
|
NesPrgRom:5420::\nget pointer to start of data
|
||||||
|
NesPrgRom:542A::\nget data dimensions
|
||||||
|
NesPrgRom:5435:
|
||||||
|
NesPrgRom:544D:
|
||||||
|
NesPrgRom:544F:L544F_loop
|
||||||
|
NesPrgRom:5453::\ndon't update tiles whose ID < 4.\nthese are static uniform tiles
|
||||||
|
NesPrgRom:5461:L5461
|
||||||
|
NesPrgRom:546F::tile count
|
||||||
|
NesPrgRom:5477:
|
||||||
|
NesPrgRom:5491:L5491_Done
|
||||||
|
NesPrgRom:5495:L5495_GotoNextNametable
|
||||||
NesPrgRom:549A:L549A
|
NesPrgRom:549A:L549A
|
||||||
NesPrgRom:54AF:L54AF
|
NesPrgRom:54AF:L54AF
|
||||||
NesPrgRom:54BF:L54BF
|
NesPrgRom:54BF:L54BF
|
||||||
NesPrgRom:54C8:L54C8
|
NesPrgRom:54C8:L54C8
|
||||||
NesPrgRom:54D8:L54D8
|
NesPrgRom:54D8:L54D8
|
||||||
NesPrgRom:5512:L5512
|
NesPrgRom:5512:L5512
|
||||||
NesPrgRom:5521:L9521_WeirdInc_Word4E
|
NesPrgRom:5521:L9521_WeirdInc_Word4E:\nLooks like bank stuff?
|
||||||
NesPrgRom:552C:L552C
|
NesPrgRom:552C:L552C
|
||||||
NesPrgRom:5530:L9530_ClearTables:Uses Pointer_50 and fills a\npage with #$FF. Then fill\na bunch of seemingly random\npages in ram with #$00. Some\nfull pages, others half or\nquarter pages.\n\nSeen filling at $6000.
|
NesPrgRom:5530:L9530_ClearTables:Uses Pointer_50 and fills a\npage with #$FF. Then fill\na bunch of seemingly random\npages in ram with #$00. Some\nfull pages, others half or\nquarter pages.\n\nSeen filling at $6000.
|
||||||
NesPrgRom:553C:L553C_loop
|
NesPrgRom:553C:L553C_loop
|
||||||
|
|
@ -1229,19 +1338,35 @@ NesPrgRom:5872::set to 1 if not already 1
|
||||||
NesPrgRom:5880:L9880
|
NesPrgRom:5880:L9880
|
||||||
NesPrgRom:5889:L9889_WritePPUData:\nBuffer then write PPU data
|
NesPrgRom:5889:L9889_WritePPUData:\nBuffer then write PPU data
|
||||||
NesPrgRom:5892:L5892
|
NesPrgRom:5892:L5892
|
||||||
NesPrgRom:58BD:L98BD_loop
|
NesPrgRom:58BD:L98BD_loop:\nWord_06BC /= 4
|
||||||
|
NesPrgRom:58C6:
|
||||||
|
NesPrgRom:58E1::\nWord_06BE /= 4
|
||||||
NesPrgRom:58E3:L98E3_loop
|
NesPrgRom:58E3:L98E3_loop
|
||||||
NesPrgRom:58FF:L58FF
|
NesPrgRom:58EC::\nWord_06BE += Word_074D
|
||||||
NesPrgRom:590C:L590C
|
NesPrgRom:58FF:L58FF_WriteLoop
|
||||||
|
NesPrgRom:590C:L590C_bufferLoop
|
||||||
NesPrgRom:590F::addr high
|
NesPrgRom:590F::addr high
|
||||||
NesPrgRom:5916::addr low
|
NesPrgRom:5916::addr low
|
||||||
NesPrgRom:591C::length
|
NesPrgRom:591C::length
|
||||||
NesPrgRom:592C:L592C
|
NesPrgRom:592C:L592C_copyLoop
|
||||||
NesPrgRom:594C:L594C
|
NesPrgRom:5937::\nnumber of tiles written
|
||||||
|
NesPrgRom:5941::\nwrap back around to the start\non overflow
|
||||||
|
NesPrgRom:594C:L594C:tiles left to copy
|
||||||
|
NesPrgRom:5954::\nWord_06BC += 16
|
||||||
|
NesPrgRom:5965::\nWord_06BE += 16
|
||||||
|
NesPrgRom:5976:
|
||||||
NesPrgRom:5984::wait for write to PPU?
|
NesPrgRom:5984::wait for write to PPU?
|
||||||
NesPrgRom:598A:L598A
|
NesPrgRom:598A:L598A_done
|
||||||
NesPrgRom:5995:L9995
|
NesPrgRom:5995:L9995_CountDataLen:\nGets the lengths of data for all\nthe images in the data and saves\nthe start offset to each in\nTable_4E01\n\nInput is Word_96, used as a pointer
|
||||||
NesPrgRom:59BC:L59BC
|
NesPrgRom:599D::\nWord_96 = Word_50
|
||||||
|
NesPrgRom:59A5:
|
||||||
|
NesPrgRom:59A7::number of images/sprites
|
||||||
|
NesPrgRom:59AF::\nWord_50 += 1
|
||||||
|
NesPrgRom:59BC:L59BC_loop
|
||||||
|
NesPrgRom:59C9::\nWord_61 += (Word_50), Y
|
||||||
|
NesPrgRom:59D6:
|
||||||
|
NesPrgRom:59DB:
|
||||||
|
NesPrgRom:59E8:
|
||||||
NesPrgRom:5A01:Handler_88_PlaySound:\nSeems to play a short SFX
|
NesPrgRom:5A01:Handler_88_PlaySound:\nSeems to play a short SFX
|
||||||
NesPrgRom:5A2E::\nenabling different channels?
|
NesPrgRom:5A2E::\nenabling different channels?
|
||||||
NesPrgRom:5A39:
|
NesPrgRom:5A39:
|
||||||
|
|
@ -1335,13 +1460,16 @@ NesPrgRom:63C5:LA3C5_indirect_jsr
|
||||||
NesPrgRom:63C8:Handler_9C_Toggle44FE:\n---
|
NesPrgRom:63C8:Handler_9C_Toggle44FE:\n---
|
||||||
NesPrgRom:63D3:LA3D3
|
NesPrgRom:63D3:LA3D3
|
||||||
NesPrgRom:63DE:Handler_EC:\nSome scroll math
|
NesPrgRom:63DE:Handler_EC:\nSome scroll math
|
||||||
NesPrgRom:647B:Handler_EB
|
NesPrgRom:647B:Handler_EB_DrawOverlay
|
||||||
NesPrgRom:648A:LA48A_rts
|
NesPrgRom:648A:LA48A_rts
|
||||||
NesPrgRom:648B:LA48B
|
NesPrgRom:648B:LA48B
|
||||||
NesPrgRom:64A4:LA4A4
|
NesPrgRom:64A4:LA4A4
|
||||||
NesPrgRom:64C3::\nByte_4A = ArgA.Low\nArgA = ArgA - 1
|
NesPrgRom:64C3::\nByte_4A = ArgA.Low\nArgA = ArgA - 1
|
||||||
|
NesPrgRom:64C7:
|
||||||
NesPrgRom:64D2:
|
NesPrgRom:64D2:
|
||||||
NesPrgRom:64E6:
|
NesPrgRom:64E6:
|
||||||
|
NesPrgRom:64EB:
|
||||||
|
NesPrgRom:64F8:
|
||||||
NesPrgRom:650D:
|
NesPrgRom:650D:
|
||||||
NesPrgRom:6524:
|
NesPrgRom:6524:
|
||||||
NesPrgRom:6531:
|
NesPrgRom:6531:
|
||||||
|
|
@ -1425,7 +1553,7 @@ NesPrgRom:6B30:Handler_AF_StrToArgA:Takes the first byte of the string\nat $0700
|
||||||
NesPrgRom:6B3A:Handler_B0_ArgAToStr:Takes ArgA+0 and writes it to the\nfirst Word of the string at $0700.
|
NesPrgRom:6B3A:Handler_B0_ArgAToStr:Takes ArgA+0 and writes it to the\nfirst Word of the string at $0700.
|
||||||
NesPrgRom:6C83:Handler_A8
|
NesPrgRom:6C83:Handler_A8
|
||||||
NesPrgRom:6CEE:Handler_F2_InfLoop
|
NesPrgRom:6CEE:Handler_F2_InfLoop
|
||||||
NesPrgRom:6E56:Handler_A9:ArgA DataID (used as a lookup into $6C01)\n\nupdates or restores nametable.\nlooks like it works on a portion\nof the screen, not the full screen.
|
NesPrgRom:6E56:Handler_A9_RestoreTiles:ArgA DataID (used as a lookup into $6C01)\n\nupdates or restores nametable.\nlooks like it works on a portion\nof the screen, not the full screen.
|
||||||
NesPrgRom:6E5F:L6E5F_loop
|
NesPrgRom:6E5F:L6E5F_loop
|
||||||
NesPrgRom:6E69:L6E69
|
NesPrgRom:6E69:L6E69
|
||||||
NesPrgRom:6E6D:L6E6D:\ndraws some nametable stuff
|
NesPrgRom:6E6D:L6E6D:\ndraws some nametable stuff
|
||||||
|
|
@ -1636,9 +1764,6 @@ NesPrgRom:EC88:Data_EC88:Attribute Data. First half.
|
||||||
NesPrgRom:ECA8:Data_ECA8:Attribute data. Second half.
|
NesPrgRom:ECA8:Data_ECA8:Attribute data. Second half.
|
||||||
NesPrgRom:ECC8:Data_ECC8:Tile Data in rows
|
NesPrgRom:ECC8:Data_ECC8:Tile Data in rows
|
||||||
NesPrgRom:10000:D10000:Title sprite CHR data
|
NesPrgRom:10000:D10000:Title sprite CHR data
|
||||||
NesPrgRom:3FA20-3FA27:CHR_BA20_A
|
|
||||||
NesPrgRom:3FA28-3FA2F:CHR_BA28_B
|
|
||||||
NesInternalRam:0000-0001:Word_00
|
|
||||||
NesInternalRam:0002-0003:Pointer_02
|
NesInternalRam:0002-0003:Pointer_02
|
||||||
NesInternalRam:0004-0005:Word_04:Either a pointer or a counter, depending on context.
|
NesInternalRam:0004-0005:Word_04:Either a pointer or a counter, depending on context.
|
||||||
NesInternalRam:0008-0009:Pointer_08
|
NesInternalRam:0008-0009:Pointer_08
|
||||||
|
|
@ -1673,12 +1798,12 @@ NesInternalRam:0054-0055:Pointer_54
|
||||||
NesInternalRam:0056-0057:Word_56
|
NesInternalRam:0056-0057:Word_56
|
||||||
NesInternalRam:0058-0059:Word_58
|
NesInternalRam:0058-0059:Word_58
|
||||||
NesInternalRam:005A-005B:Pointer_5A
|
NesInternalRam:005A-005B:Pointer_5A
|
||||||
NesInternalRam:0060-0061:Pointer_60
|
NesInternalRam:0060:Byte_60
|
||||||
NesInternalRam:0062:Byte_62
|
NesInternalRam:0061-0062:Word_61
|
||||||
NesInternalRam:0063-0064:Pointer_63
|
NesInternalRam:0063-0064:Pointer_63
|
||||||
NesInternalRam:0065:Byte_65
|
NesInternalRam:0065:Byte_65
|
||||||
NesInternalRam:0066-0067:Word_66
|
NesInternalRam:0066:Byte_66
|
||||||
NesInternalRam:0068-0069:Word_68
|
NesInternalRam:0067-0068:Word_67
|
||||||
NesInternalRam:006A:Byte_6A
|
NesInternalRam:006A:Byte_6A
|
||||||
NesInternalRam:006B-006C:Word_6B
|
NesInternalRam:006B-006C:Word_6B
|
||||||
NesInternalRam:006D-006E:Word_6D
|
NesInternalRam:006D-006E:Word_6D
|
||||||
|
|
@ -1700,7 +1825,7 @@ NesInternalRam:00B4:Flag_BtnLeft
|
||||||
NesInternalRam:00B5:Flag_BtnRight
|
NesInternalRam:00B5:Flag_BtnRight
|
||||||
NesInternalRam:00B6:Flag_BtnA
|
NesInternalRam:00B6:Flag_BtnA
|
||||||
NesInternalRam:00B7:Flag_BtnB
|
NesInternalRam:00B7:Flag_BtnB
|
||||||
NesInternalRam:00B8-00B9:Word_B8
|
NesInternalRam:00B8-00BF:Array_RngMaybe
|
||||||
NesInternalRam:00C0:Frame_Sleeping
|
NesInternalRam:00C0:Frame_Sleeping
|
||||||
NesInternalRam:00C4:Byte_C4
|
NesInternalRam:00C4:Byte_C4
|
||||||
NesInternalRam:00C5:Flag_BtnStart
|
NesInternalRam:00C5:Flag_BtnStart
|
||||||
|
|
@ -1741,10 +1866,7 @@ NesInternalRam:0300:TapeCtrl_Cache_0300
|
||||||
NesInternalRam:0301:Byte_0301
|
NesInternalRam:0301:Byte_0301
|
||||||
NesInternalRam:0302-0303:PpuBuffer_Address:Destination address for the buffer's contents
|
NesInternalRam:0302-0303:PpuBuffer_Address:Destination address for the buffer's contents
|
||||||
NesInternalRam:0304:PpuBuffer_Length:Length of data in the buffer
|
NesInternalRam:0304:PpuBuffer_Length:Length of data in the buffer
|
||||||
NesInternalRam:0305-0324:PpuBufferData_0305
|
NesInternalRam:0305-034D:PpuBufferData_0305
|
||||||
NesInternalRam:0325:Byte_0325
|
|
||||||
NesInternalRam:0326-0327:Word_0326
|
|
||||||
NesInternalRam:0328-0347:Table_0328
|
|
||||||
NesInternalRam:0420-0440:AudioString_0420
|
NesInternalRam:0420-0440:AudioString_0420
|
||||||
NesInternalRam:0441-0461:AudioString_0441
|
NesInternalRam:0441-0461:AudioString_0441
|
||||||
NesInternalRam:0462-0482:AudioString_0462
|
NesInternalRam:0462-0482:AudioString_0462
|
||||||
|
|
@ -1780,26 +1902,27 @@ NesInternalRam:0606:Byte_0606
|
||||||
NesInternalRam:0607:Byte_0607
|
NesInternalRam:0607:Byte_0607
|
||||||
NesInternalRam:0610-061F:PaletteBuffer_0610
|
NesInternalRam:0610-061F:PaletteBuffer_0610
|
||||||
NesInternalRam:0620-062F:PaletteBuffer_0620
|
NesInternalRam:0620-062F:PaletteBuffer_0620
|
||||||
NesInternalRam:0680:Byte_0680
|
NesInternalRam:0680:Byte_0680_CurrentNametable
|
||||||
NesInternalRam:06BC-06BD:Word_06BC
|
NesInternalRam:06BC-06BD:Word_06BC
|
||||||
NesInternalRam:06BE-06BF:Word_06BE
|
NesInternalRam:06BE-06BF:Word_06BE
|
||||||
NesInternalRam:06C0:Byte_06C0
|
NesInternalRam:06C0:Byte_06C0
|
||||||
NesInternalRam:06C3-06C4:Word_06C3
|
NesInternalRam:06C3-06C4:Word_06C3
|
||||||
NesInternalRam:06C8:Byte_06C8
|
NesInternalRam:06C8:Byte_06C8_Input
|
||||||
NesInternalRam:06C9:Byte_06C9
|
NesInternalRam:06C9:Byte_06C9_Input
|
||||||
NesInternalRam:06CA-06CB:Word_06CA
|
NesInternalRam:06CA-06CB:Word_06CA
|
||||||
NesInternalRam:06CC:Byte_06CC
|
NesInternalRam:06CC:Byte_06CC
|
||||||
NesInternalRam:06CD:Byte_06CD
|
NesInternalRam:06CD:Byte_06CD
|
||||||
NesInternalRam:06CE-06CF:Word_06CE_Result:Multiply result\n(also div result??)
|
NesInternalRam:06CE-06CF:Word_06CE_Result:Multiply result\n(also div result??)
|
||||||
NesInternalRam:06D1-06D6:Table_06D1
|
NesInternalRam:06D0:Byte_06D0
|
||||||
|
NesInternalRam:06D1-06D6:ScreenDraw_Header
|
||||||
NesInternalRam:0700-071F:String_0700
|
NesInternalRam:0700-071F:String_0700
|
||||||
NesInternalRam:0720-073F:String_0720
|
NesInternalRam:0720-073F:String_0720
|
||||||
NesInternalRam:0740:Byte_0740_TapeNMISetup:set to 0 if tape NMI is setup\nset to 1 if not\n?? maybe
|
NesInternalRam:0740:Byte_0740_TapeNMISetup:set to 0 if tape NMI is setup\nset to 1 if not\n?? maybe
|
||||||
NesInternalRam:0741-0742:Word_0742_NextAvailTileId
|
NesInternalRam:0741-0742:Word_0742
|
||||||
NesInternalRam:0745-0746:Word_0745
|
NesInternalRam:0745-0746:Word_0745
|
||||||
NesInternalRam:0747-0748:Word_0747_NT
|
NesInternalRam:0747-0748:Word_0747_NT
|
||||||
NesInternalRam:0749-074A:Word_0749_Attr
|
NesInternalRam:0749-074A:Word_0749_Attr
|
||||||
NesInternalRam:074B:Byte_074B
|
NesInternalRam:074B:Byte_074B_TileIdOffset
|
||||||
NesInternalRam:074D-074E:Word_074D
|
NesInternalRam:074D-074E:Word_074D
|
||||||
NesInternalRam:0750:Byte_0750
|
NesInternalRam:0750:Byte_0750
|
||||||
NesInternalRam:0753:BgFlag_0753
|
NesInternalRam:0753:BgFlag_0753
|
||||||
|
|
@ -1831,7 +1954,10 @@ NesWorkRam:0480:Table_WR0480
|
||||||
NesWorkRam:0640-067F:Table64_6640
|
NesWorkRam:0640-067F:Table64_6640
|
||||||
NesWorkRam:0700-07FF:Page_6700
|
NesWorkRam:0700-07FF:Page_6700
|
||||||
NesWorkRam:0800-080F:Table_6800
|
NesWorkRam:0800-080F:Table_6800
|
||||||
|
NesWorkRam:0880-097F:Table_WR_880:Something with sprites.
|
||||||
NesWorkRam:0980-098F:Table_6980
|
NesWorkRam:0980-098F:Table_6980
|
||||||
|
NesWorkRam:0A00:Stack_6A00
|
||||||
|
NesWorkRam:0AFE-0AFF:Word_6AFE
|
||||||
NesWorkRam:0C01:Table_6C01
|
NesWorkRam:0C01:Table_6C01
|
||||||
NesWorkRam:0C41-0C42:Table_6C41
|
NesWorkRam:0C41-0C42:Table_6C41
|
||||||
NesWorkRam:0CC1-0CC2:Table_6CC1
|
NesWorkRam:0CC1-0CC2:Table_6CC1
|
||||||
|
|
@ -1916,6 +2042,13 @@ NesWorkRam:871A-871B:Word_471A
|
||||||
NesWorkRam:871C-871D:Word_471C
|
NesWorkRam:871C-871D:Word_471C
|
||||||
NesWorkRam:871E-871F:Word_471E
|
NesWorkRam:871E-871F:Word_471E
|
||||||
NesWorkRam:8720:PrevRamBank_4720
|
NesWorkRam:8720:PrevRamBank_4720
|
||||||
|
NesWorkRam:8721:Byte_4721
|
||||||
|
NesWorkRam:8722:Byte_4722
|
||||||
|
NesWorkRam:8723:Byte_4723
|
||||||
|
NesWorkRam:8724:Byte_4724
|
||||||
|
NesWorkRam:8725:Byte_4725
|
||||||
|
NesWorkRam:8726:Byte_4726
|
||||||
|
NesWorkRam:8727-8728:Word_4727
|
||||||
NesWorkRam:8800:LongCallIndex_4800
|
NesWorkRam:8800:LongCallIndex_4800
|
||||||
NesWorkRam:8801-8814:BankTable_4801:Stores the bank number for a\nscript so we can return to it\nlater.
|
NesWorkRam:8801-8814:BankTable_4801:Stores the bank number for a\nscript so we can return to it\nlater.
|
||||||
NesWorkRam:8815-883C:WordTable_4815:Table of code return addresses
|
NesWorkRam:8815-883C:WordTable_4815:Table of code return addresses
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue