updates from last weekend

This commit is contained in:
Zorchenhimer 2025-11-07 20:33:20 -05:00
parent cab418a9d9
commit 68e9da7e31
Signed by: Zorchenhimer
GPG Key ID: 70A1AB767AAB9C20
1 changed files with 135 additions and 52 deletions

View File

@ -277,15 +277,15 @@ 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:184E:LD84E_DrawScreen:\nSeen drawing a full nametable using\ndata from ROM, not the tape.
NesPrgRom:184E:LD84E_DrawScreen:\nSeen drawing a full nametable using\ndata from ROM and tape.
NesPrgRom:1851:LD851
NesPrgRom:1868:LD868
NesPrgRom:1872:LD872
NesPrgRom:187C:LD87C
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 (data metadata pointed to)\n$6AFE.W -> $87.W
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:
NesPrgRom:18AB:
NesPrgRom:18A1::\ntile data
NesPrgRom:18AB::\nAttribute data
NesPrgRom:18E0:LD8E0_SetNT_00
NesPrgRom:18EB:LD8EB_SetNT_01
NesPrgRom:18F6:LD8F6_SetNT_02
@ -299,8 +299,13 @@ NesPrgRom:1959:LD959_Pointer83_HeaderCopy:\nReads data via Pointer_83,\nwrites t
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: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: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:19D6::\nWord_81 += (Byte_6A - Word_06CA.High)
NesPrgRom:19E7::\nWord_81 += Array_85
@ -309,6 +314,7 @@ NesPrgRom:19FF::ensure data ends with a null
NesPrgRom:1A03:LDA03_loop
NesPrgRom:1A0C:LDA0C
NesPrgRom:1A31:LDA31
NesPrgRom:1A3B:
NesPrgRom:1A41::\nWord_81 = Word_06CA.High * 8
NesPrgRom:1A59::\nWord_81 += Word_87
NesPrgRom:1A66:
@ -321,7 +327,7 @@ NesPrgRom:1AE4:LDAE4
NesPrgRom:1AF7:L1AF7
NesPrgRom:1B12:L1B12_loop
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:1B4D:L1B4D:\nhorizontal PPU increment
NesPrgRom:1B5D:LDB5D
@ -333,28 +339,38 @@ NesPrgRom:1BB1:LDBB1
NesPrgRom:1BB3:LDBB3
NesPrgRom:1BB8:L1BB8
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:1C39:L1C39
NesPrgRom:1C3E:L1C3E_loop
NesPrgRom:1C50:L1C50
NesPrgRom:1C57:L1C57
NesPrgRom:1C94:LDC94
NesPrgRom:1CB0:L1CB0
NesPrgRom:1C94:L1C94_OR_AttrtData:\nOR's tiles atttribute data onto\nthe existing attribute table?
NesPrgRom:1CAD:
NesPrgRom:1CB0:L1CB0_loop
NesPrgRom:1CC2:L1CC2
NesPrgRom:1CD4:LDCD4_BufferPPUData:Buffers some PPU data using\ntables in the HW stack.\n\nAlways Attribute data?
NesPrgRom:1CD6::horizontal drawing
NesPrgRom:1CF0:L1CF0
NesPrgRom:1D11:L1D11
NesPrgRom:1D2B:LDD2B
NesPrgRom:1D2B:LDD2B_LoadSpritePaletteData
NesPrgRom:1D2D:L1D2D
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: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:1D6B:L1D6D_WritePalData:\nBuffers and writes palette data to\n$3F00. Data is sourced from $0610.
NesPrgRom:1D6B:L1D6D_BufferAndWritePalData:\nBuffers and writes palette data to\n$3F00. Data is sourced from $0610.
NesPrgRom:1D7F:L1D7F
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
@ -414,7 +430,7 @@ NesPrgRom:2718:L2718
NesPrgRom:271B:L271B_FrameWait_JMP:\nJMP's to L2BFC.\nWhy not just JSR to that address directly?
NesPrgRom:2721:L2721_TurnOnNMI_LongJump
NesPrgRom:2724:L2724_TurnOffNMI_LongJump
NesPrgRom:2727:L2727
NesPrgRom:2727:L2727_ShuffleRngMaybe_LongJump
NesPrgRom:272D:L272D
NesPrgRom:2733:L2733_WriteScroll_LongJmp
NesPrgRom:2739:L2739:\nJust JMP's to L3513.\nAgain, why not just JSR to the label directly?
@ -616,7 +632,8 @@ NesPrgRom:31F6:LF1F6
NesPrgRom:3209:L3209
NesPrgRom:3214:L3214
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:3285:L3285
NesPrgRom:3297:L3297
@ -646,7 +663,7 @@ NesPrgRom:342B::\nIncrement pointer to next PPU row?
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:3455:L3455_RTS
NesPrgRom:3456:L3456:\nhuh?
NesPrgRom:3456:L3456_ShuffleRngMaybe:\nhuh?
NesPrgRom:3466:L3466_loop
NesPrgRom:346D:L346D_WriteSprites
NesPrgRom:3490:Read_Controllers
@ -1100,17 +1117,38 @@ NesPrgRom:4D9D:L8D9D_middle_loop
NesPrgRom:4DBD:L8DBD_loop
NesPrgRom:4DDF:L8DDF
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:4E30:L8E30
NesPrgRom:4E32:L8E32
NesPrgRom:4E63:L8E63
NesPrgRom:4E87:L4E87
NesPrgRom:4E99:L4E99
NesPrgRom:4F17:L4F17
NesPrgRom:4E42::\nOffset to palette data?
NesPrgRom:4E4D::\nWord_52 += Word_56
NesPrgRom:4E5A::\npointer to palette data?
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: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:4F20:
NesPrgRom:4F28:
NesPrgRom:4F35:
NesPrgRom:4F3D:L8F3D_loop
NesPrgRom:4F4F:L8F4F_loop
NesPrgRom:4F53::$697E
@ -1118,6 +1156,10 @@ NesPrgRom:4F59::$697F
NesPrgRom:4F6B::A
NesPrgRom:4F70::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:4FD0:Handler_DC:something to do with the\nlower 3 bits in the arguments\nand words 34 and 36
NesPrgRom:4FE5:L8FE5_gt
@ -1155,26 +1197,54 @@ NesPrgRom:5115:L9115_TurnOnBG
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:5133:L9133
NesPrgRom:514A:L914A
NesPrgRom:5155:L9155
NesPrgRom:514A:L914A:\nArgB != 0
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: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:519D:L919D
NesPrgRom:51AF:L91AF
NesPrgRom:51BE::array index and bank info?
NesPrgRom:51F0:L91F0
NesPrgRom:5231:L9231
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:52EC:L92EC
NesPrgRom:52F4:L92F4
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: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:53EC:L93EC_PointerShenanigans
NesPrgRom:5416:L5416
NesPrgRom:53E4:
NesPrgRom:53EC:L93EC_PointerShenanigans_Array85Load:\nLoads the first set of pointers to\ndata and attributes into Array_85
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:54AF:L54AF
@ -1182,7 +1252,7 @@ NesPrgRom:54BF:L54BF
NesPrgRom:54C8:L54C8
NesPrgRom:54D8:L54D8
NesPrgRom:5512:L5512
NesPrgRom:5521:L9521_WeirdInc_Word4E
NesPrgRom:5521:L9521_WeirdInc_Word4E:\nLooks like bank stuff?
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:553C:L553C_loop
@ -1268,19 +1338,35 @@ NesPrgRom:5872::set to 1 if not already 1
NesPrgRom:5880:L9880
NesPrgRom:5889:L9889_WritePPUData:\nBuffer then write PPU data
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:58FF:L58FF
NesPrgRom:590C:L590C
NesPrgRom:58EC::\nWord_06BE += Word_074D
NesPrgRom:58FF:L58FF_WriteLoop
NesPrgRom:590C:L590C_bufferLoop
NesPrgRom:590F::addr high
NesPrgRom:5916::addr low
NesPrgRom:591C::length
NesPrgRom:592C:L592C
NesPrgRom:594C:L594C
NesPrgRom:592C:L592C_copyLoop
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:598A:L598A
NesPrgRom:5995:L9995
NesPrgRom:59BC:L59BC
NesPrgRom:598A:L598A_done
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: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:5A2E::\nenabling different channels?
NesPrgRom:5A39:
@ -1678,7 +1764,6 @@ NesPrgRom:EC88:Data_EC88:Attribute Data. First half.
NesPrgRom:ECA8:Data_ECA8:Attribute data. Second half.
NesPrgRom:ECC8:Data_ECC8:Tile Data in rows
NesPrgRom:10000:D10000:Title sprite CHR data
NesInternalRam:0000-0001:Word_00
NesInternalRam:0002-0003:Pointer_02
NesInternalRam:0004-0005:Word_04:Either a pointer or a counter, depending on context.
NesInternalRam:0008-0009:Pointer_08
@ -1713,12 +1798,12 @@ NesInternalRam:0054-0055:Pointer_54
NesInternalRam:0056-0057:Word_56
NesInternalRam:0058-0059:Word_58
NesInternalRam:005A-005B:Pointer_5A
NesInternalRam:0060-0061:Pointer_60
NesInternalRam:0062:Byte_62
NesInternalRam:0060:Byte_60
NesInternalRam:0061-0062:Word_61
NesInternalRam:0063-0064:Pointer_63
NesInternalRam:0065:Byte_65
NesInternalRam:0066-0067:Word_66
NesInternalRam:0068-0069:Word_68
NesInternalRam:0066:Byte_66
NesInternalRam:0067-0068:Word_67
NesInternalRam:006A:Byte_6A
NesInternalRam:006B-006C:Word_6B
NesInternalRam:006D-006E:Word_6D
@ -1740,7 +1825,7 @@ NesInternalRam:00B4:Flag_BtnLeft
NesInternalRam:00B5:Flag_BtnRight
NesInternalRam:00B6:Flag_BtnA
NesInternalRam:00B7:Flag_BtnB
NesInternalRam:00B8-00B9:Word_B8
NesInternalRam:00B8-00BF:Array_RngMaybe
NesInternalRam:00C0:Frame_Sleeping
NesInternalRam:00C4:Byte_C4
NesInternalRam:00C5:Flag_BtnStart
@ -1781,10 +1866,7 @@ NesInternalRam:0300:TapeCtrl_Cache_0300
NesInternalRam:0301:Byte_0301
NesInternalRam:0302-0303:PpuBuffer_Address:Destination address for the buffer's contents
NesInternalRam:0304:PpuBuffer_Length:Length of data in the buffer
NesInternalRam:0305-0324:PpuBufferData_0305
NesInternalRam:0325:Byte_0325
NesInternalRam:0326-0327:Word_0326
NesInternalRam:0328-0347:Table_0328
NesInternalRam:0305-034D:PpuBufferData_0305
NesInternalRam:0420-0440:AudioString_0420
NesInternalRam:0441-0461:AudioString_0441
NesInternalRam:0462-0482:AudioString_0462
@ -1825,14 +1907,14 @@ NesInternalRam:06BC-06BD:Word_06BC
NesInternalRam:06BE-06BF:Word_06BE
NesInternalRam:06C0:Byte_06C0
NesInternalRam:06C3-06C4:Word_06C3
NesInternalRam:06C8:Byte_06C8
NesInternalRam:06C9:Byte_06C9
NesInternalRam:06C8:Byte_06C8_Input
NesInternalRam:06C9:Byte_06C9_Input
NesInternalRam:06CA-06CB:Word_06CA
NesInternalRam:06CC:Byte_06CC
NesInternalRam:06CD:Byte_06CD
NesInternalRam:06CE-06CF:Word_06CE_Result:Multiply result\n(also div result??)
NesInternalRam:06D0:Byte_06D0
NesInternalRam:06D1-06D6:Table_06D1
NesInternalRam:06D1-06D6:ScreenDraw_Header
NesInternalRam:0700-071F:String_0700
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
@ -1840,7 +1922,7 @@ NesInternalRam:0741-0742:Word_0742
NesInternalRam:0745-0746:Word_0745
NesInternalRam:0747-0748:Word_0747_NT
NesInternalRam:0749-074A:Word_0749_Attr
NesInternalRam:074B:Byte_074B
NesInternalRam:074B:Byte_074B_TileIdOffset
NesInternalRam:074D-074E:Word_074D
NesInternalRam:0750:Byte_0750
NesInternalRam:0753:BgFlag_0753
@ -1874,6 +1956,7 @@ NesWorkRam:0700-07FF:Page_6700
NesWorkRam:0800-080F:Table_6800
NesWorkRam:0880-097F:Table_WR_880:Something with sprites.
NesWorkRam:0980-098F:Table_6980
NesWorkRam:0A00:Stack_6A00
NesWorkRam:0AFE-0AFF:Word_6AFE
NesWorkRam:0C01:Table_6C01
NesWorkRam:0C41-0C42:Table_6C41