{
 "_comment": "generated by tools/mergeSurvey.py from survey/*.json - do not edit by hand",
 "unitLabels": {
  "boot/c128BootSector": {
   "0B27": "c128BootEntry",
   "0B45": "c128OpenCommandChannel",
   "0B55": "c128SendDriveCommand",
   "0B68": "sendDriveCommandLoop",
   "0B72": "sendDriveCommandDone",
   "0B00": "c128BootHeader",
   "0B07": "c128BootMessage",
   "0B25": "c128BootFileName",
   "0B75": "driveCmdPtrTable",
   "0B7B": "driveCmdSet1541Mode",
   "0B81": "driveCmdSelectHead0",
   "0B87": "driveCmdInitialize",
   "0B89": "c64CartImage",
   "0BF4": "sectorTailFiller"
  },
  "boot/c64CartridgeStub8000": {
   "8009": "cartColdStart",
   "800F": "clearLowRamLoop",
   "8065": "cartLoadEaFile",
   "8000": "cartHeader",
   "8061": "eaFileNameCart",
   "806B": "cartTailFiller"
  },
  "boot/eaBootFile": {
   "02B8": "eaLoadGame",
   "02DA": "deadLoadErrorRetry",
   "02A8": "strayBasicStub",
   "02D8": "leftoverErrorHandler",
   "02EC": "eaFileName",
   "02F0": "fileNamePadding",
   "0300": "basicVectorHijack"
  },
  "boot/fastLoaderC000": {
   "C000": "bootEntry",
   "C004": "bootLoadSectors",
   "C031": "bootLoadSectorsFail",
   "C034": "bootSetDest",
   "C03B": "bootExchangeByte",
   "C08A": "bootReadOneSector",
   "C09D": "bootReadSectorBody",
   "C0EF": "bootReceiveSectorData",
   "C145": "bootMain",
   "C229": "rtiVector",
   "C22A": "bootDisableIrqs",
   "C23F": "bootShowTitlePicture",
   "C2AB": "bootDriveInitialize",
   "C2CA": "bootWaitFrames",
   "C2DA": "bootModemInit",
   "C32C": "bootBlockExecute",
   "C341": "bootSendDosCommand",
   "C373": "leftoverLookupC373",
   "C387": "leftoverSetC387",
   "C390": "leftoverSetC390",
   "C397": "leftoverSetC397",
   "C39D": "leftoverCheckC39D",
   "C3BC": "leftoverStoreBE65",
   "C3C4": "leftoverCheckDiskId",
   "C132": "strBlockExecuteCopy",
   "C13F": "strBufferChannelCopy",
   "C143": "bootUnusedC143",
   "C219": "strGameChar",
   "C222": "strHmem",
   "C2D8": "strInitDrive",
   "C320": "rs232Params",
   "C322": "strHayesInit",
   "C35F": "strBlockExecute",
   "C36C": "strBufferChannel",
   "C36E": "bootPaddingC36E",
   "C372": "bootStrayC372",
   "C3C0": "bootDiskIdTable"
  },
  "game/graphicsData9300": {
   "9300": "bitmapRowLoTable",
   "9319": "bitmapRowHiTable",
   "9332": "bitmapColLoTable",
   "935A": "bitmapColHiTable",
   "9382": "screenRowLoTable",
   "939B": "screenRowHiTable",
   "93B4": "fontColorTable",
   "9426": "gameFont",
   "97B6": "unreferencedGlyphCodeBlock",
   "9810": "tallDigitGlyphPairTable",
   "9824": "windowFrameTileSets",
   "987E": "asciiToGlyphTable",
   "98BE": "consoleFontMulticolour",
   "9A96": "consoleFontHires",
   "9C6E": "terrainTileShapes",
   "9DCE": "unitSymbolShapes",
   "9E6E": "spareCursorShapes",
   "9E92": "cursorBlockShape",
   "9EA4": "cursorBoxSprite",
   "9EE3": "crosshairSprite",
   "9F22": "comcenCrossMarkerShape",
   "9F37": "circleDxPtrLoTable",
   "9F41": "circleDxPtrHiTable",
   "9F4B": "circleDyPtrLoTable",
   "9F55": "circleDyPtrHiTable",
   "9F5F": "circleStepCountTable",
   "9F69": "circlePointDeltaLists",
   "9FD1": "graphicsBlockTail"
  },
  "game/highMemoryFBB8": {
   "FC50": "multicolorFillPatterns",
   "FC54": "multicolorPixelMasks",
   "FD70": "arrowGlyphTable",
   "FE24": "droneShapesRle",
   "FF93": "targetingReticleSprite",
   "FBB8": "initLineStepper",
   "FBFA": "stepLine",
   "FC58": "plotFatPixel",
   "FC74": "plotBitmapPixelRow",
   "FCCD": "multiply8x8",
   "FCEC": "divideSigned16by8",
   "FD0A": "divideUnsigned16by8",
   "FD1E": "addRandomJitter",
   "FD4A": "nextScenarioRandom",
   "FD5D": "nextGameRandom",
   "FE21": "aircraftShapeTable",
   "FF90": "unknownShapeTail"
  },
  "game/mainProgram0800": {
   "1DA2": "scrollXStartIndex",
   "2BDD": "windowLeftTable",
   "2BF8": "windowTopTable",
   "2C13": "windowWidthTable",
   "2C2E": "windowHeightTable",
   "2C49": "windowFramePtrTable",
   "5A59": "overviewPatternLo",
   "5A7A": "overviewPatternHi",
   "5A9B": "overviewPatterns",
   "6782": "sidVoiceRegOffsetTable",
   "6787": "sndCommandSlotTable",
   "6792": "sndVoiceState",
   "67C2": "sndDriverVars",
   "67C8": "sndVoiceSoundId",
   "6831": "soundPointerTable",
   "68DF": "soundScriptData",
   "6C35": "unitGlyphPointerTable",
   "6C5D": "unitGlyphShapes",
   "6EDD": "padding6EDD",
   "0800": "gameEntry",
   "0804": "loadSectors",
   "0843": "writeSectors",
   "085C": "setLoadDest",
   "0863": "writeOneSector",
   "088F": "sendSectorData",
   "089C": "sendByteToDrive",
   "08EB": "readOneSector",
   "08FE": "readSectorBody",
   "0943": "finishTransfer",
   "0950": "receiveSectorData",
   "09A6": "manualLookupCheck",
   "0A6C": "mainStart",
   "0AA3": "returnToMainMenu",
   "0AC8": "startGameFromSetup",
   "0B4F": "loadCommTailBuild1",
   "0BB5": "initIrqAndInputState",
   "0BD8": "disableCiaInterrupts",
   "0BE7": "initInterruptVectors",
   "0C02": "setNmiVectorRti",
   "0C0D": "jumpToCd00IfPatched",
   "0C1C": "resetGameVariables",
   "0C66": "installRasterIrq",
   "0C8C": "showModemSetupPrompt",
   "0CA0": "resetMessagesAndBeep",
   "0CBD": "waitForAnswerOriginateKey",
   "0CE8": "buildOwnerNameString",
   "0D49": "setJoystickRepeatDelay",
   "0DB7": "scanKeyboard",
   "0E45": "testKeyMask",
   "0E56": "pollKeyboardEvent",
   "0EB1": "checkFirePressed",
   "0ED5": "checkFirePressedInteractive",
   "0EE5": "isPlayerInputAllowed",
   "0EEA": "isFireHeld",
   "0EFE": "stopAllSound",
   "0F03": "loadRuntimeOverlays_0F03",
   "0F16": "loadCommModule",
   "0F31": "loadCommBuild2",
   "0F41": "loadCommFinish",
   "0F44": "initCommModule",
   "0F55": "loadSectorsDelayed",
   "0F5F": "suspendCommModule",
   "0F71": "resumeCommModule",
   "0FB1": "checkDiskId",
   "1018": "diskErrorExit",
   "101C": "showDiskMessageAndFail",
   "1030": "reloadOverlayForVariant",
   "1047": "loadOverlayA",
   "1060": "loadStringsAndCommTail",
   "1070": "loadCommTailBuild2",
   "1080": "loadOverlayBIfNeeded_1080",
   "1086": "loadOverlayB",
   "10AB": "loadMapAndSetup_10AB",
   "10BB": "loadSetupBlock",
   "10CB": "suspendCommForDiskAccess",
   "10D1": "resumeCommAfterDiskAccess",
   "10DC": "waitForGameDiskInserted",
   "10F1": "rasterIrqHandler",
   "1293": "irqExit",
   "1298": "irqRti",
   "129C": "updateFrameTimers",
   "130A": "stepRandomSeed",
   "131B": "blinkCursorColor",
   "1331": "handleChatSend",
   "1399": "receiveChatCharacter",
   "13C4": "appendChatCharacter",
   "1414": "enterMainMenuKeepSelection",
   "141D": "enterMainMenu",
   "1439": "mainMenuLoop",
   "14F0": "snapshotSetupId",
   "1507": "selectDefaultMenuItem",
   "153B": "showMainMenu",
   "1565": "drawMenuFrame",
   "156F": "clearMenuTextWindow",
   "1575": "setMenuTextWindow",
   "1578": "setMenuWindowBounds",
   "158F": "clearMenuWindowPlain",
   "1599": "drawGameSetupSummary",
   "0803": "loaderStatus",
   "08E8": "sendByteShift",
   "08E9": "recvByteShift",
   "0993": "strBlockExecuteLeftover",
   "09A2": "loadDestLo",
   "09A3": "loadDestHi",
   "09A5": "savedSpriteEnable",
   "0A47": "padA47",
   "0A48": "msgIdentifyMap",
   "0B7D": "inputLockoutTimer",
   "0B7F": "ownerNameString",
   "0B94": "gameSettingsBlock",
   "0C8A": "perSideValueTable",
   "0CE4": "strOurs",
   "0D67": "keyMatrixCodeTable",
   "0DA7": "shiftedKeyTable",
   "0F81": "msgNotADataDisk",
   "0F91": "msgInsertGameDisk",
   "0FA2": "msgDiskError",
   "0FAD": "diskIdTable",
   "10EF": "spriteEnableScratch",
   "1299": "padIrq1299",
   "131A": "cursorBlinkTimer",
   "1412": "menuFlag1412",
   "1535": "menuItemHandlerTable",
   "163A": "tabColumnTable",
   "163D": "tabColourTable",
   "1640": "tabHighlightColourTable",
   "1643": "drawMenuTabBar",
   "168C": "setTabHighlightColour",
   "1691": "setTabNormalColour",
   "16B7": "blinkSelectedTab",
   "16D6": "printEnergyLabel",
   "16EB": "setMenuTextColour",
   "16FF": "printEnergyValue",
   "175A": "drawRepairTab",
   "17DA": "repairTabAction",
   "188B": "toggleSystemMarker",
   "189D": "drawSystemMarker",
   "1919": "eraseSystemMarker",
   "192D": "sendEnergyRepairCommand",
   "193C": "attemptSystemRepair",
   "19B0": "blinkRepairMarker",
   "19C9": "printAttemptingRepair",
   "19D6": "clearRepairMessage",
   "19E1": "setRepairMessageWindow",
   "19F3": "printOptionsList",
   "1A49": "miscTabAction",
   "1ADC": "endGameToMainMenu",
   "1B33": "hangUpModem",
   "1B35": "hangUpModemSetState",
   "1B5F": "openCommLink",
   "1B74": "openLinkAndWaitForConnection",
   "1B77": "waitForConnection",
   "1B9A": "waitForCarrier",
   "1BC1": "showMessageWaitForSpace",
   "1BF7": "voicePauseReconnect",
   "1C08": "hangUpAndPause",
   "1C17": "disconnectFromOpponent",
   "1C2C": "runMainMenu",
   "1C7B": "isAsymmetricGameType",
   "1C87": "restoreSettingsAfterFilm",
   "1CC1": "setViewVerticalLimit",
   "1CD3": "scrollViewBy",
   "1D4E": "scrollViewToUnit",
   "1D97": "setLineTargetToUnit",
   "1DE4": "scrollViewBitmap",
   "1F4E": "keepGroupBoxInsideMap",
   "16FE": "lastEnergyShown",
   "17D8": "comcenEnergySnapshot",
   "17D9": "repairAmount",
   "1881": "systemMarkerColumnTable",
   "1885": "systemMarkerRowTable",
   "1889": "blinkPhase",
   "188A": "showOkMarkers",
   "1BC0": "orphanRts1BC0",
   "1D4C": "scrollTargetUnit",
   "1D4D": "scrollStepDelay",
   "1DA5": "scrollXEndIndex",
   "1DA8": "scrollXStepOpcode",
   "1DAB": "scrollXBitmapSrcOffset",
   "1DAE": "scrollXBitmapDstOffset",
   "1DB1": "scrollYBitmapSrcLo",
   "1DB4": "scrollYBitmapSrcHi",
   "1DB7": "scrollYBitmapDstLo",
   "1DBA": "scrollYBitmapDstHi",
   "1DBD": "scrollYBitmapStrideLo",
   "1DC0": "scrollYBitmapStrideHi",
   "1DC3": "scrollYRowCount",
   "1DC6": "scrollXScreenStartIndex",
   "1DC9": "scrollXScreenEndIndex",
   "1DCC": "scrollXScreenSrcOffset",
   "1DCF": "scrollXScreenDstOffset",
   "1DD2": "scrollYScreenSrcLo",
   "1DD5": "scrollYScreenSrcHi",
   "1DD8": "scrollYScreenDstLo",
   "1DDB": "scrollYScreenDstHi",
   "1DDE": "scrollYScreenStrideLo",
   "1DE1": "scrollYScreenStrideHi",
   "1FC3": "enterMapScreen",
   "1FD0": "runMapMainLoop",
   "20F4": "scrollViewportByDirection",
   "2185": "runTargetCursorLoop",
   "2264": "previewPathToCursor",
   "22A2": "showUnitInfoPanel",
   "2367": "checkUserInterrupt",
   "2384": "printUnitStatusLines",
   "24E4": "animatePathMarkerToDestination",
   "24F3": "animatePathMarkerStep",
   "2540": "resetPathMarker",
   "256F": "resetPathMarkerToUnit",
   "2585": "positionMarkerSprite",
   "258F": "recenterViewportOnUnit",
   "25B7": "consumeSpaceKey",
   "25C4": "callSetupOverlayHook",
   "25C7": "getViewportOriginPointer",
   "25E3": "getViewportRowPointer",
   "25FA": "readMapCell",
   "260D": "readCellUnderCursor",
   "261C": "clearInfoPanel",
   "2622": "setInfoPanelWindow",
   "2636": "clearScreenAndRedrawGameScreen",
   "2639": "redrawGameScreen",
   "268F": "drawMiniMapFrame",
   "2698": "drawViewportFrame",
   "26A1": "clearViewportTextArea",
   "26B8": "drawInfoPanelFrame",
   "26C1": "drawViewport",
   "1FA6": "joystickDirectionTable",
   "1FB2": "diagonalDirectionTable",
   "20F0": "directionDeltaTable",
   "24E1": "pathMarkerState",
   "2772": "renderMapTile",
   "28E1": "drawMainWindowFrame",
   "28F1": "computeGameResult",
   "29B3": "setOtherPlayerPoints",
   "29C1": "shakeScreenScroll",
   "2A08": "patchUnitSideBranches",
   "2A1A": "printOptionWord",
   "2A38": "setBitmapDrawMode",
   "2A47": "setColourDrawMode",
   "2A56": "resetDrawModes",
   "2A64": "fillScreenColourRect",
   "2A9F": "calcCellPointers",
   "2AA3": "calcCellPointersXY",
   "2AC3": "drawCharAt",
   "2AC8": "plotGlyph",
   "2B18": "drawCharBlock",
   "2B75": "drawWindowInnerCorners",
   "2BB7": "drawTallGlyph",
   "2BCE": "xorColourBlock2x2",
   "2762": "nybbleToMulticolourTable",
   "2A29": "textDrawParams",
   "2A30": "bitmapDrawOpcodes",
   "2A34": "colourDrawOpcodes",
   "2C7F": "drawWindowFrame",
   "2CA1": "drawFrameBox",
   "2D1D": "drawFrameColumn",
   "2D2F": "drawFrameRow",
   "2D41": "initBitmapScreen",
   "2DBD": "setTerrainTilePtr",
   "2DDB": "clearMessageLineAndScreen",
   "2DDE": "clearCurrentScreenWindows",
   "2E0F": "magnifyWindow2x",
   "2F34": "setMagnifyCellPointers",
   "2F6A": "initSpritePointers",
   "2FA5": "clearAllSpriteData",
   "2FB2": "clearSpriteShape",
   "2FCF": "setCursorShapeSquare",
   "2FF3": "setCursorShapeCross",
   "2FFA": "setCursorShapeBlock",
   "3023": "mapCellToSpriteXY",
   "303A": "mapCellToSpriteXYRaw",
   "3049": "positionCursorSprite",
   "306C": "drawLineInPathSprite",
   "308A": "plotPathCross",
   "30A1": "plotPathSpritePixel",
   "30C0": "buildGroupFormationSprite",
   "31A3": "enableSprites",
   "31AF": "plotSpritePixel",
   "31CA": "setSpritePixel",
   "3239": "drawCircleInSprite",
   "3266": "computeCircleOctantPoints",
   "32BF": "plotCircleOctantPoints",
   "2E0D": "magnifyOddFlags",
   "2F85": "spriteBitMasks",
   "2F95": "spriteOffsetLoTable",
   "2F9D": "spriteOffsetHiTable",
   "3237": "spritePlotWork",
   "32EA": "hideSprite1",
   "3302": "showCrosshairSprite",
   "3306": "showCursorBoxSprite",
   "3340": "loadDirectionShapeSprite",
   "3383": "showComcenCrossMarker",
   "33B1": "gridCellToSpriteCoords",
   "340B": "getUnitSpriteCentreOnGrid",
   "341F": "updateMarkerSprite",
   "3456": "drawComcenRingSprite",
   "347F": "orderSelectedUnitToCursor",
   "34A4": "updateUnitAtDestinationFlag",
   "3568": "markAllUnitsVisible",
   "3576": "ageUnitVisibility",
   "35C3": "scanVisibleEnemies",
   "3746": "checkLineOfSightStep",
   "375D": "initLineBetweenUnits",
   "3767": "initLineFromUnit",
   "378B": "setScanFilterOppositeSide",
   "37AA": "collectUnitsInRadius",
   "3870": "distanceSquared",
   "38C2": "resolveAttack",
   "3A5A": "drawShotLineSprite",
   "3B22": "applyHitToUnit",
   "3BDF": "reduceUnitEnergyBy",
   "3BE2": "reduceUnitEnergy",
   "3BFC": "recordUnitHit",
   "3C20": "orderAttackUnitAtCursor",
   "32F6": "hideSprite0Dead",
   "33C8": "setMarkerSpriteDead",
   "34C6": "applyMoveOrderOld",
   "355D": "clampMapCoordOld",
   "379E": "collectAllUnitsInRadiusDead",
   "3C50": "setBoomerTargetCmd",
   "32DA": "circlePointBuffer",
   "33C2": "markerOffsetTableDead",
   "35A6": "sightRangeByType",
   "35B0": "rangeDistanceSqTable",
   "35BB": "terrainSightBonusTable",
   "3860": "squaresTable",
   "38A4": "baseDamageTable",
   "38B3": "terrainHeightTable",
   "38BB": "combatScratch",
   "3C5D": "countBoomersBelow",
   "3C74": "getBoomerTarget",
   "3C85": "selectBoomerTarget",
   "3CF2": "animateRingBurst",
   "3D57": "rollComcenSystemDamage",
   "3D8A": "initAllUnits",
   "3DA0": "initUnitRecord",
   "3DDA": "placeUnitOnMap",
   "3E23": "recycleDeadUnits",
   "3EBD": "removeUnitFromMap",
   "3EC2": "removeUnitLeavingCell",
   "3EE2": "applyBlitzStepCost",
   "3F27": "drawRecyclerOnMap",
   "3F57": "checkEnemyRecyclerSpotted",
   "3F97": "initialFacingForUnit",
   "3FA3": "mirrorMapCoordinate",
   "3FAC": "haltStunnedUnit",
   "3FE8": "haltAllUnitsAndReveal",
   "4027": "endGame",
   "3CF1": "ringAnimStep",
   "3D56": "comcenSystemIndex",
   "403B": "markComcenRevealed",
   "406F": "waitFramesOrInput",
   "4094": "runGameFrames",
   "40B2": "updateGameFrame",
   "4213": "processUnitStep",
   "4559": "tryStepTowardTarget",
   "4751": "moveUnitToCell",
   "47ED": "shuffleUnitOrder",
   "4805": "randomUnitIndex",
   "480F": "followDirectedUnit",
   "4860": "updateHitFlashTimers",
   "48A2": "drawUnitAtPosition",
   "48A5": "drawValueAtUnit",
   "48B1": "updateIdleFlag",
   "48DD": "rebuildGroupTables",
   "45E6": "finishRound",
   "405E": "terrainMoveCostTable",
   "4066": "speedClassRateTable",
   "406B": "zoneScoredBitTable",
   "406E": "unitMovedFlag",
   "4987": "averageGroupMoveVector",
   "4A02": "followGroupMovement",
   "4A35": "sendGroupMoveToCursor",
   "4A52": "moveGroupKeepingFormation",
   "4AA3": "addSelectedUnitToGroup",
   "4AD4": "joinUnitToGroup",
   "4AF2": "removeSelectedUnitFromGroup",
   "4B04": "isPointWithinGroupRange",
   "4B5E": "computeGroupBounds",
   "4BBF": "showTooFarMessage",
   "4BD3": "orderGroupNewPosition",
   "4C59": "setGroupMemberDestination",
   "4C6B": "syncLocalGroupFlags",
   "4C84": "rotateGroupFormation",
   "4D9F": "getCommandLength",
   "4DA9": "serviceCommandExchange",
   "4DB7": "processCommandExchange",
   "4E91": "executeTurnCommands",
   "4F05": "mergeIncomingPacket",
   "4F5E": "advancePacketCursor",
   "4F6B": "mergeOutgoingPacket",
   "4C7E": "formationRotateRules",
   "4D2A": "commandHandlerTable",
   "4D78": "commandLengthTable",
   "4FC4": "readCmdArgs3",
   "4FD0": "readCmdArgs2",
   "4FE4": "mirrorCmdCoordsIfRemote",
   "4FF7": "readCmdArg1",
   "5005": "mirrorCmdCoordsIfRemoteDec",
   "5011": "cmdMoveUnit",
   "501A": "cmdMoveGroupRelative",
   "5023": "cmdCloakOn",
   "504B": "cmdCloakOff",
   "5062": "cmdBlitzOff",
   "5070": "cmdBlitzOn",
   "5098": "cmdGroupCloakOn",
   "50AA": "cmdGroupBlitzOn",
   "50BE": "cmdGroupBlitzOff",
   "50D2": "cmdGroupCloakOff",
   "5151": "updateComcenCloakLock",
   "515D": "cmdClearTarget",
   "516B": "cmdSetTarget",
   "5185": "cmdJoinGroup",
   "519B": "cmdLeaveGroup",
   "51AB": "cmdPlaceUnit",
   "51EA": "cmdSetCustomMapSeed",
   "51EE": "cmdSetMapSeed",
   "520C": "cmdComcenRepairedOrSetupReady",
   "523E": "cmdSessionControl",
   "52AE": "getPauseClearMask",
   "52C8": "cmdDroneMove",
   "532F": "saveRegsForCmdReturn",
   "5336": "cmdDroneDetonate",
   "537B": "cmdDroneRelease",
   "538B": "cmdDroneArrived",
   "53A3": "cmdDroneLaunch",
   "53C0": "cmdMissileStrike",
   "542E": "cmdSelfDestruct",
   "5459": "destroyUnit",
   "5470": "cmdMoveKeepGroup",
   "5479": "cmdAddEnergy",
   "549E": "cmdHaltGroup",
   "54E1": "cmdSetRecycler",
   "5511": "cmdChooseSide",
   "553B": "sendChooseSide",
   "5548": "cmdDigIn",
   "554C": "cmdDigOut",
   "555A": "setUnitDigBits",
   "556D": "cmdGroupDigIn",
   "5571": "cmdGroupDigOut",
   "5596": "cmdSetFormation",
   "559C": "cmdSetGameType",
   "55A5": "cmdSetupOption",
   "55EC": "queueCmdBytePending",
   "55EF": "queueCmdByte",
   "560A": "queueCmd4",
   "560F": "queueCmd3",
   "561F": "queueCmd2",
   "562B": "sendOutgoingPacket",
   "56B1": "pollMenuSession",
   "56BB": "handleMenuSessionPacket",
   "56F1": "completeExchange",
   "572B": "readyForNewGameHandshake",
   "577C": "buildReadyPacket",
   "578A": "recordExchangeToFilm",
   "57BE": "writeFilmTimestamp",
   "57E7": "advanceFilmPtr",
   "57F2": "finalizeFilm",
   "585C": "setFilmPtrToEnd",
   "5867": "saveFilmEndAndRewind",
   "5874": "readFilmByte",
   "5893": "writeFilmByte",
   "58B2": "copyPageUnderIo",
   "58D5": "rewindFilmPtr",
   "58DE": "verifyFilmHeader",
   "5900": "computeFilmHeaderChecksum",
   "5915": "waitForExchangeIdle",
   "591E": "compareFilmPtrToEnd",
   "5929": "writeFilmSetupSnapshot",
   "5983": "getFilmSnapshotDestAddr",
   "5988": "getFilmSnapshotSrcAddr",
   "598D": "setFilmLimitToBufferEnd",
   "5998": "initFilmStream",
   "59B3": "isCmdRingNearlyFull",
   "59D0": "finishFilmPlayback",
   "5A14": "checkLinkTimeout",
   "5AD7": "drawOverviewMap",
   "5B6C": "drawOverviewQuarterLine",
   "5BAD": "buildOverviewQuadrant",
   "5BD4": "buildOverviewQuadrantNoColour",
   "5C7C": "drawMapCell",
   "5D1A": "drawViewportCell",
   "5D7F": "drawScreen1Cell",
   "5E03": "clearOverviewWindow",
   "562A": "outPacketFill",
   "5B64": "quadrantPixelMask",
   "5B68": "quadrantRowOffset",
   "5E17": "handleOwnUnitClick",
   "5E24": "runUnitOptionsMenu",
   "5FA6": "exitUnitMenu",
   "5FB1": "addMenuItem",
   "5FD1": "runMenuLoopWithFlag",
   "5FD7": "runMenuLoop",
   "5FDC": "runMenuLoopWatchUnit",
   "60E5": "unhighlightMenuRow",
   "60EA": "toggleMenuRowHighlight",
   "612F": "runJoinGroupMenu",
   "61CF": "runGroupOptionsMenu",
   "633C": "printGroupTitleAndName",
   "6358": "printGroupTitle",
   "6366": "clearGroupHighlight",
   "636E": "printSettingHeader",
   "6387": "printFormationCentred",
   "638E": "runGroupEditor",
   "64DA": "sendHaltGroupCmd",
   "64E4": "printSettingHeaderForLevel",
   "64F6": "printSettingWord",
   "6500": "setUnitDestination",
   "650E": "countGroupMembers",
   "5E14": "uiLevelTextColourTable",
   "612E": "menuLoopMode",
   "652E": "runRepairWhichMenu",
   "65A0": "runInGameOptionsMenu",
   "65E7": "waitForGroupRepositionsDone",
   "65FF": "runFormationOptionsMenu",
   "6637": "soundPlayerTick",
   "6651": "updateSoundVoice",
   "66C7": "runSoundScript",
   "671C": "fetchSoundScriptByte",
   "6728": "startSound",
   "67CB": "unpackRleTo0200",
   "681A": "fetchRleByte",
   "50EB": "applyGroupCloakOrBlitz",
   "5562": "applyDigBitsToUnit"
  },
  "game/unitStartTemplatesF000": {
   "F000": "unitStartTemplate0",
   "F190": "unitStartTemplate1",
   "F320": "unitStartTemplate2",
   "F4B0": "unitStartTemplate3",
   "F640": "mapBlockTail"
  },
  "game/messages8800": {
   "8800": "msgGetOpponentOnPhoneAnd",
   "881C": "msgPressAOrOAndSetModem",
   "8837": "msgPressSpaceWhenReady",
   "884E": "msgTrainerName",
   "8858": "msgOpponentReady",
   "8867": "msgWaitingForOpponent",
   "887E": "msgWaitingForConnection",
   "8897": "msgPickUpPhoneThenPressSpace",
   "88B6": "msgPressSpaceWaitHangupPhone",
   "88D6": "msgOpponentPickingGameMap",
   "88F0": "msgOpponentReadyForNewGame",
   "895E": "msgOpponentUsingNonStandardGame",
   "890C": "mapNameAlphabet",
   "892C": "gameTypeDefaultsSide0",
   "8945": "gameTypeDefaultsSide1",
   "897F": "messageBlockTail"
  },
  "game/tileRules0200": {
   "0200": "contourRuleTable",
   "0389": "setupBlockPadding",
   "0300": "initGameSystems",
   "031B": "invertTextFonts",
   "0339": "buildMapRowAddressTable",
   "035E": "resetSpritesAndVicBank"
  },
  "game/trainerPlaybook0200": {
   "0200": "trainerPlay0",
   "0296": "trainerPlay1",
   "032C": "trainerPlay2",
   "03C2": "trainerPlay3",
   "0458": "trainerPlay4",
   "04EE": "playbookTail"
  },
  "game/scratchAndMessages0400": {
   "0400": "checksumXorConstant",
   "0401": "mapNameSeedTable",
   "04AE": "scratchPageTail",
   "0500": "messagePtrLoTable",
   "0524": "messagePtrHiTable",
   "0548": "chatMessageLine",
   "056C": "msgWorking",
   "0576": "msgGameAborted",
   "0583": "msgNotAGameFilm",
   "0593": "msgSetupUnitsPressF1WhenDone",
   "05B4": "msgTimeoutRunStopToResume",
   "05D0": "msgResumed",
   "05D7": "msgTheBattleBegins",
   "05E9": "msgLastQtrWarning",
   "05FA": "msgPhoneTrouble",
   "0608": "msgTryAgain",
   "0612": "messageSoundTable",
   "0636": "optionSummaryTemplate",
   "064D": "optionWordTable",
   "065E": "msgClicks",
   "0668": "msgUs",
   "066F": "msgThem",
   "0677": "msgTypeMapName",
   "069F": "msgBtnToAccept",
   "0770": "tileVariantMaskTable",
   "0798": "tileVariantPad",
   "0799": "unitGlyphBaseTable",
   "079F": "terrainClassTable",
   "07EA": "terrainColourTable",
   "07F3": "table0400Tail",
   "0461": "verifyProgramChecksum",
   "06BA": "switchToRequestedScreen",
   "0709": "runComcenStunnedBlackout"
  },
  "game/pure-data units (index; per-unit detail in data_data_9300.json, data_ovl_8800.json, data_map_F000.json, data_setup_0200_default.json, data_table_0400.json, data_setup_0200.json, data_high_FBB8.json, data_main_0800.json)": {
   "9300": "bitmapRowLoTable",
   "9319": "bitmapRowHiTable",
   "9332": "bitmapColLoTable",
   "935A": "bitmapColHiTable",
   "9382": "screenRowLoTable",
   "939B": "screenRowHiTable",
   "93B4": "fontColorTable",
   "9426": "gameFont",
   "97B6": "unreferencedGlyphCodeBlock",
   "9810": "tallDigitGlyphPairTable",
   "9824": "windowFrameTileSets",
   "987E": "asciiToGlyphTable",
   "98BE": "consoleFontMulticolour",
   "9A96": "consoleFontHires",
   "9C6E": "terrainTileShapes",
   "9DCE": "unitSymbolShapes",
   "9E6E": "spareCursorShapes",
   "9E92": "cursorBlockShape",
   "9EA4": "cursorBoxSprite",
   "9EE3": "crosshairSprite",
   "9F22": "comcenCrossMarkerShape",
   "9F37": "circleDxPtrLoTable",
   "9F41": "circleDxPtrHiTable",
   "9F4B": "circleDyPtrLoTable",
   "9F55": "circleDyPtrHiTable",
   "9F5F": "circleStepCountTable",
   "9F69": "circlePointDeltaLists",
   "9FD1": "graphicsBlockTail",
   "8800": "msgGetOpponentOnPhoneAnd",
   "881C": "msgPressAOrOAndSetModem",
   "8837": "msgPressSpaceWhenReady",
   "884E": "msgTrainerName",
   "8858": "msgOpponentReady",
   "8867": "msgWaitingForOpponent",
   "887E": "msgWaitingForConnection",
   "8897": "msgPickUpPhoneThenPressSpace",
   "88B6": "msgPressSpaceWaitHangupPhone",
   "88D6": "msgOpponentPickingGameMap",
   "88F0": "msgOpponentReadyForNewGame",
   "895E": "msgOpponentUsingNonStandardGame",
   "890C": "mapNameAlphabet",
   "892C": "gameTypeDefaultsSide0",
   "8945": "gameTypeDefaultsSide1",
   "897F": "messageBlockTail",
   "F000": "unitStartTemplate0",
   "F190": "unitStartTemplate1",
   "F320": "unitStartTemplate2",
   "F4B0": "unitStartTemplate3",
   "F640": "mapBlockTail",
   "0200": "contourRuleTable",
   "0296": "trainerPlay1",
   "032C": "trainerPlay2",
   "03C2": "trainerPlay3",
   "0458": "trainerPlay4",
   "04EE": "playbookTail",
   "0400": "checksumXorConstant",
   "0401": "mapNameSeedTable",
   "04AE": "scratchPageTail",
   "0500": "messagePtrLoTable",
   "0524": "messagePtrHiTable",
   "0548": "chatMessageLine",
   "056C": "msgWorking",
   "0576": "msgGameAborted",
   "0583": "msgNotAGameFilm",
   "0593": "msgSetupUnitsPressF1WhenDone",
   "05B4": "msgTimeoutRunStopToResume",
   "05D0": "msgResumed",
   "05D7": "msgTheBattleBegins",
   "05E9": "msgLastQtrWarning",
   "05FA": "msgPhoneTrouble",
   "0608": "msgTryAgain",
   "0612": "messageSoundTable",
   "0636": "optionSummaryTemplate",
   "064D": "optionWordTable",
   "065E": "msgClicks",
   "0668": "msgUs",
   "066F": "msgThem",
   "0677": "msgTypeMapName",
   "069F": "msgBtnToAccept",
   "0770": "tileVariantMaskTable",
   "0798": "tileVariantPad",
   "0799": "unitGlyphBaseTable",
   "079F": "terrainClassTable",
   "07EA": "terrainColourTable",
   "07F3": "table0400Tail",
   "0389": "setupBlockPadding",
   "FC50": "multicolorFillPatterns",
   "FC54": "multicolorPixelMasks",
   "FD70": "missileCursorShapesRle",
   "FE24": "droneShapesRle",
   "FF93": "targetingReticleSprite",
   "1DA2": "scrollViewParamTables",
   "2BDD": "windowLeftTable",
   "2BF8": "windowTopTable",
   "2C13": "windowWidthTable",
   "2C2E": "windowHeightTable",
   "2C49": "windowFramePtrTable",
   "5A59": "overviewPatternLo",
   "5A7A": "overviewPatternHi",
   "5A9B": "overviewPatterns",
   "6782": "sidVoiceRegOffsetTable",
   "6787": "sndCommandSlotTable",
   "6792": "sndVoiceState",
   "67C2": "sndDriverVars",
   "67C8": "sndVoiceSoundId",
   "6831": "soundPointerTable",
   "68DF": "soundScriptData",
   "6C35": "unitGlyphPointerTable",
   "6C5D": "unitGlyphShapes",
   "6EDD": "mainProgramPadding"
  },
  "drive/driveBootstrap": {
   "0600": "driveBootstrapEntry",
   "0624": "queueFastLoaderReads",
   "0641": "jobQueueInitTable",
   "064D": "eaCopyrightMessage"
  },
  "drive/driveFastLoader": {
   "0300": "fastloaderMain",
   "0313": "commandDispatchLoop",
   "0342": "setHeadReadMode",
   "034B": "exchangeByteWithHost",
   "0391": "sendStatusAndLoop",
   "0397": "seekSectorAndSyncData",
   "039D": "findSectorHeader",
   "03E3": "waitForSyncByte",
   "03FB": "readSectorFromDisk",
   "044B": "sendSectorToHost",
   "0490": "handleWriteCommand",
   "04A0": "writeSectorToDisk",
   "0525": "prepareHeadAndVerifyId",
   "0531": "cryptSectorBuffer",
   "0553": "uploadBytesToDrive",
   "0561": "receiveCommand",
   "05DE": "finishSendByte",
   "05E2": "checksumBufferAndReport",
   "043B": "nibbleSendTable",
   "0582": "driveUploadScratch",
   "05F4": "hiddenSignature"
  },
  "game/mapGenerator6F00": {
   "6F04": "generateBattlefieldMap",
   "6F36": "runMapGeneratorPasses",
   "6F91": "serviceLinkWhileGenerating",
   "6F9E": "pickHillSummitSites",
   "701C": "findBlankSitesOnLanes",
   "708E": "advanceLaneIndex",
   "7097": "advanceRowCandidate",
   "70A0": "shuffleLaneColumns",
   "70D9": "paintHillSummits",
   "710A": "growLowerHillsBesideSlopes",
   "71B0": "growTerrainBlob",
   "72F6": "checkAlignedBlockForForest",
   "7340": "placeForestClusters",
   "73AD": "paintForestClusterSeeds",
   "73D4": "paintForestBlobAt",
   "73EE": "applyContourTiles",
   "7444": "applyContourRuleAtCell",
   "6F00": "laneColumnTable",
   "71AB": "unusedBitTable71AB",
   "74EE": "neighbourOffsetTable",
   "74F6": "bitMaskTable",
   "74FE": "clearMapMarkers",
   "7548": "generateRiver",
   "759E": "chooseNextRiverSegment",
   "761C": "advanceRiverPosition",
   "762E": "riverStepRight",
   "7632": "riverStepUp",
   "7636": "riverStepDown",
   "764A": "markRiverBanks",
   "76AD": "mapNameEntryScreen",
   "7717": "enterMapName",
   "782D": "setMapNameCursor",
   "7836": "clearMapNameField",
   "7841": "printMapName",
   "7850": "seedToMapName",
   "7872": "randomTileVariant",
   "78D1": "startGameSession",
   "7BB2": "shuffleInitialUnitOrder",
   "7BC6": "patchOwnSideBranches",
   "7BF9": "sendPhaseSyncAndWait",
   "7C1C": "waitForMapSeedCommand",
   "763A": "riverStepLo",
   "7642": "riverStepHi",
   "7894": "riverZoneOuterOffsets",
   "78A8": "riverZoneInnerOffsets",
   "78B8": "unitLayoutByGameType",
   "78BF": "comcenSpeedClassMap",
   "78C3": "roundsByGameType",
   "78CA": "gameTypeOptionsByMenuItem",
   "7C2E": "applyGameTypeDefaults",
   "7CA2": "removeUnitsUpToY",
   "7CAE": "selectSideDefaultsTable",
   "7CBF": "readDefaultAndAdvanceRow",
   "7CD1": "startFilmPlayback",
   "7D70": "initUnitOrderLists",
   "7D7D": "placeAllUnitsOnMap",
   "7D8B": "setGameClockForType",
   "7D98": "clearUnitsAndRecyclersFromMap",
   "7DA7": "clearRecyclerCell",
   "7DB8": "waitForSpaceKey",
   "7DE3": "handleMainMenuChoice",
   "7E39": "setModeFlagsAndStartGame",
   "7E4F": "checkDiskAndLoadFilmDirectory",
   "7E74": "writeFilmDirectory",
   "7E8B": "loadFilmDirectory",
   "7EA0": "drawFilmDirectoryPage",
   "7F3F": "runLoadFilmMenu",
   "7FA6": "setFilmDirectoryPagePtr",
   "7FCB": "nextFilmDirectoryPage",
   "7FDD": "runSaveFilmMenu",
   "810C": "printFilmSlotEntry",
   "8143": "filmSlotToTrack",
   "815E": "saveFilmToSlot",
   "81A5": "promptInsertGameDisk",
   "81B2": "promptInsertDataDisk",
   "81B6": "promptInsertDiskAndWaitSpace",
   "81F4": "checkFilmInMemory",
   "81FE": "waitFramesServicingComm",
   "820B": "beginGameTypeSelection",
   "821F": "runGameTypeMenu",
   "8279": "printGameTypeNamesLoop",
   "82A4": "applyCustomPresetTail",
   "82BF": "runMapTypeMenu",
   "833C": "sendGameTypeCommand",
   "8343": "printMenuTitle",
   "8356": "runMenuWidth10",
   "8358": "runMenuWithWidth",
   "8364": "resetSelectionAndView",
   "8378": "chooseRecycler",
   "843B": "printOptionWordLine",
   "8441": "clearInfoPanelSetRow",
   "7C29": "setupPhaseModeTable",
   "7FA1": "filmDirectoryPage",
   "7FA2": "filmMenuMode",
   "7FA3": "filmPageFirstSlotTable",
   "8451": "editValueWithJoystick",
   "84AA": "applyHandicapPoints",
   "84EC": "editTerrainPoints",
   "84F1": "editTerrainPointsForSide",
   "8511": "editDronesAndMissiles",
   "8518": "editDronesAndMissilesBody",
   "8547": "runGameStartOptions",
   "85BC": "editComcenSpeed",
   "85DB": "beginValueEdit",
   "8601": "setValueEditWindow",
   "860B": "editOptionBitOnOff",
   "862D": "runOnOffMenuAndApplyBit",
   "8632": "printOnOffMenuAndApplyBit",
   "8658": "handleStarKeyToggle",
   "8673": "showToggleStateMessage",
   "86AA": "setDestroyModeMessage",
   "86C3": "showCustomSummaryMessage",
   "8722": "setPersistentMessage",
   "872E": "appendOnOffWord",
   "8756": "showScenarioBannerAndWaitForButton",
   "8795": "printCentredTableEntry",
   "844F": "editValue",
   "8450": "customSetupChosen",
   "879F": "msgWonOnPointsTail",
   "87AC": "msgItWasADraw",
   "87BA": "msgWeWereKnockedOut",
   "87CE": "msgWeWonByKnockout",
   "87E3": "msgGameOver",
   "87ED": "msgDroneAlert",
   "87F9": "overlayTailPadding",
   "87FF": "overlayVariantFlag"
  },
  "game/comcenScreens6F00": {
   "6F00": "drawDroneHeadingPanel",
   "6F36": "drawDroneFuelPanel",
   "6F89": "drawDroneRadarFrame",
   "6F99": "drawDroneFuelDigits",
   "6FF5": "drawDroneCountPanel",
   "7036": "drawDroneCountDigit",
   "7061": "blinkDroneCountBox",
   "708D": "drawLaunchStrikeButtons",
   "70F5": "buildDroneScreen",
   "7135": "clearRadarWindowGrey",
   "713C": "clearRadarWindowBlack",
   "7163": "playDroneLostAnimation",
   "7204": "flashRadarAndWipe",
   "7221": "drawRadarIrisWipe",
   "727A": "buildRadarNoiseMasks",
   "72A1": "applyDroneBlast",
   "72B3": "applyDroneBlastToCell",
   "731E": "steerDrone",
   "7396": "drawRadarGlyph",
   "741C": "drawDroneRadarWindow",
   "74C3": "getRadarCellGlyph",
   "7552": "playStrikeZoomAnimation",
   "7587": "runMissileScreen",
   "759C": "missileScreenResume",
   "7134": "radarWipeColour",
   "715D": "unusedBytes715D",
   "7271": "savedDroneHeading",
   "7272": "clearBitMaskTable",
   "7316": "headingToDirectionTable",
   "7395": "radarGlyphSavedY",
   "7551": "zoomStepCounter",
   "7585": "missileScreenLocked",
   "7586": "cursorMovedFlag",
   "7894": "updateRadarSweep",
   "78CB": "restartRadarSweep",
   "78E7": "paintRadarSweepRow",
   "7926": "redrawEnemyUnitsOnRadar",
   "7959": "scrollRadarOnComcenMove",
   "7987": "isRadarCursorOnComcen",
   "7992": "radarCursorToMapCoords",
   "79A1": "checkStrikeHitsDrone",
   "79D8": "showDroneKillBurst",
   "7A13": "mapCellToRadarGrid",
   "7A2B": "isRadarGridCellInRange",
   "7A32": "initRadarScreen",
   "7A6B": "redrawRadarMapWindow",
   "7A78": "drawMissilePanel",
   "7ABA": "drawMissileCount",
   "7AEC": "blinkMissileCount",
   "7B05": "drawFireButton",
   "7B44": "drawDroneAlertPanel",
   "7B59": "resetDroneAlertPanel",
   "7B86": "flashDroneAlertPanel",
   "7B91": "fillDroneAlertPanel",
   "7BA2": "drawRadarMap",
   "7C5C": "getComcenCentredViewOrigin",
   "7891": "radarSweepState",
   "7A12": "padding7A12",
   "7AB9": "missileCountColour",
   "7B43": "droneAlertColour",
   "7FE6": "enterDroneScreen",
   "7FF6": "resetDroneScreen",
   "803D": "droneScreenIdleLoop",
   "808D": "launchDrone",
   "8124": "droneFlightLoop",
   "8182": "strikeWithDrone",
   "81D0": "endDroneFlight",
   "81FE": "getDroneMapPosition",
   "820F": "showDroneAlert",
   "821F": "fillDroneViewWindow",
   "8230": "releaseDroneControl",
   "823F": "drawDroneHeadingIndicator",
   "8279": "advanceDroneCamera",
   "82A4": "readDroneHeadingFromJoystick",
   "82BF": "drawShotLineInViewport",
   "840F": "rebaseLineCoordsToMin",
   "84B2": "scaleLineCoordsToFatPixels",
   "84F1": "plotDiamondMarker",
   "8518": "drawStatsTab",
   "8601": "printNumberRightAligned",
   "862D": "setTextColumn",
   "8632": "drawComcenSchematic",
   "7C6E": "comcenSchematicRle",
   "7FCE": "joyDirToHeadingTable",
   "7FD6": "headingLineEndColTable",
   "7FDE": "headingLineEndRowTable",
   "82B5": "shotLineWorkVars",
   "82BD": "unusedBytes82BD",
   "8512": "comSpeedDisplayTable",
   "868C": "strDrone",
   "8691": "strLaunch",
   "8697": "strStrike",
   "869D": "strFire",
   "86A1": "strDroneAlertTwoLine",
   "86AC": "statsTabLabels",
   "86FB": "filmViewWordTable",
   "8707": "msgEndOfFilm",
   "8713": "msgUnitRecycled",
   "8721": "msgShowViewTemplate",
   "872A": "msgSpeedTemplate",
   "8731": "msgSpottedRecycler",
   "8742": "msgComcenStunned",
   "8751": "msgSpottedEnemyComcen",
   "8766": "msgSpyUnderAttack",
   "8777": "msgSpottedEnemySpy",
   "8789": "msgWeLostOnPoints",
   "879B": "msgWeWonOnPoints",
   "87AC": "msgItWasADraw",
   "87BA": "msgWeWereKnockedOut",
   "87CE": "msgWeWonByAKnockout",
   "87E3": "msgGameOver",
   "87ED": "msgDroneAlert",
   "87F9": "overlayTailPadding",
   "87FF": "overlayVariantFlag"
  },
  "game/textEngineC000": {
   "C01A": "printChar",
   "C030": "restoreRegsAXY",
   "C03D": "handleControlChar",
   "C041": "printNewline",
   "C06A": "clearTextWindow",
   "C075": "clearToWindowBottom",
   "C07A": "clearToEndOfLine",
   "C097": "setCursorRow",
   "C099": "updateCursorPointers",
   "C0C0": "plotCharAndAdvance",
   "C0D7": "setFullScreenWindow",
   "C0E8": "saveRegsAXY",
   "C0EF": "printFillChars",
   "C100": "printTableEntry",
   "C121": "printStringCentred",
   "C12B": "printNextStringCentred",
   "C133": "printString",
   "C137": "printStringAtPointer",
   "C17D": "printDecimal",
   "C183": "convertToDecimalDigits",
   "C1E2": "printDecimalDigits",
   "C1F0": "plotGlyph_C1F0",
   "C24B": "plotGlyphDoubleSize",
   "C307": "plotGlyphLeftHalf",
   "C315": "plotGlyphRightHalf",
   "C320": "expandGlyphNibbles",
   "C34B": "colourDoubleSizeCell",
   "C367": "colourCellPair",
   "C37F": "waitFrames",
   "C397": "waitRasterBelowScreen",
   "C39F": "clearMessageLine",
   "C3AB": "setMessageLineWindow",
   "C3D8": "showMessageString",
   "C3E0": "printOnMessageLine",
   "C3F9": "advanceFillPointer",
   "C40E": "restoreTextWindow",
   "C41B": "saveTextWindow",
   "C428": "splitDecimalDigits",
   "C451": "checkUiContinue",
   "C470": "checkSetupUiContinue",
   "C493": "serviceChatDisplay",
   "C4DA": "drawTypedChatLine",
   "C4EF": "updateStatusMessage",
   "C557": "playMessageSound",
   "C560": "queueMessageUnlessFilm",
   "C566": "queueMessage",
   "C5C9": "decMessageIndex",
   "C5CF": "incMessageIndex",
   "C5D7": "redrawStatusMessage",
   "C5E4": "showMessageById",
   "C000": "bitPairHighTable",
   "C004": "solidColourByteTable",
   "C008": "bitMaskTable_C008",
   "C010": "pixelPairMaskTable",
   "C014": "pixelPairClearMaskTable",
   "C018": "unusedC018",
   "C23B": "pixelDoubleTable",
   "C44E": "decimalDigits",
   "C5EE": "showNextQueuedMessage",
   "C62A": "clearChatStatusLine",
   "C631": "handleMessageReviewKeys",
   "C6B6": "drawStatusScoreLine",
   "C6E5": "printPlayerPoints",
   "C6EF": "resetMessageQueue",
   "C6FF": "showStatusMessage",
   "C705": "showStatusMessageNoSound",
   "C70A": "handlePauseKey",
   "C7A3": "sendPauseCommand",
   "C7AA": "consumeRunStopKey",
   "C7C3": "showWaitingForOpponent",
   "C7D5": "handleTextEntryKey",
   "C853": "showWorkingMessage",
   "C85B": "promptPressButtonWhenReady",
   "C86D": "exitIfGameEnded",
   "C89A": "playSound",
   "C8A8": "requestSound",
   "C8E9": "dequeueSoundRequest",
   "C8FA": "updateComcenMoveSound",
   "C924": "setMessageSlot",
   "CD0A": "showUnitPictureSprites",
   "C630": "messageReviewIndex",
   "C87D": "soundClassTable",
   "C92C": "groupNameTable",
   "C964": "unitTypeNameTable",
   "C98C": "unitStatusNameTable",
   "C9D2": "unitOptionMenuText",
   "CA8C": "formationMenuText",
   "CAB9": "consoleMiscMenuText",
   "CAE9": "unitInfoLabelText",
   "CB0A": "consoleHeadingText",
   "CB1F": "uiPromptStrings",
   "CBF9": "gameHeaderText",
   "CC11": "rulesNameTable",
   "CC1F": "mainMenuItemText",
   "CC99": "inGameMenuText",
   "CCBD": "strGameTypeLabel",
   "CCC8": "scenarioNameTable",
   "CD00": "unitPictureHiTable",
   "CD05": "unitPictureLoTable",
   "CD52": "unitPictureGrunt",
   "CDD3": "unitPictureRider",
   "CE3B": "unitPictureBoomer",
   "CECD": "unitPictureSpy",
   "CF3A": "unitPictureComcen"
  },
  "game/modemDriverE000": {
   "E000": "commJumpTable",
   "E003": "commLinkControl",
   "E006": "getLinkByte",
   "E009": "putLinkByte",
   "E00C": "pollLinkStatus",
   "E012": "keyboardScanHook",
   "E015": "commKeyEntry",
   "E018": "clearPacketVars",
   "E034": "clearLinkVars",
   "E067": "clearInlineVarBlock",
   "E078": "clearProtocolVars",
   "E0A9": "popHostInRing",
   "E0C3": "popHostOutRing",
   "E0DD": "pushHostInRing",
   "E0F6": "pushHostOutRing",
   "E111": "commRequestDispatch",
   "E128": "requestPacketSend",
   "E12F": "serviceCommTick",
   "E14D": "receivePacketFsm",
   "E170": "beginReceivePacket",
   "E1DD": "sendPacketFsm",
   "E283": "countCompletedExchange",
   "E28D": "setExchangeFlags",
   "E29A": "commLinkControlDispatch",
   "E2B1": "initCommModule_E2B1",
   "E2BD": "clearArqVars",
   "E2C1": "openCommLink_E2C1",
   "E2EC": "readKeyAndHandleModemHotkeys",
   "E353": "loadBaudParameters",
   "E38D": "hangUpModem_E38D",
   "E393": "queueModemCommandString",
   "E3B2": "returnNoKey",
   "E3B6": "sendLinkByte",
   "E3B9": "receiveLinkByte",
   "E3BC": "reportLinkError",
   "E3CB": "pollCarrierState",
   "E3F3": "selectFramedLinkVectors",
   "E403": "countLinkError",
   "E408": "ignoreLinkError",
   "E40F": "clearUartVars",
   "E46E": "popArqRxRing",
   "E486": "popArqTxRing",
   "E49E": "pushArqRxRing",
   "E4B7": "pushArqTxRing",
   "E4D0": "returnRingEmpty",
   "E4D2": "popUartRxRing",
   "E4EA": "popUartTxRing",
   "E502": "pushUartRxRing",
   "E51B": "pushUartTxRing",
   "E534": "flushUartTxRing",
   "E540": "configureUserPortLines",
   "E574": "dropDtrLine",
   "E57B": "installCommNmiVector",
   "E586": "restartUart",
   "E593": "setCiaNmiMask",
   "E5B6": "clearUartState",
   "E5C3": "stopCommNmi",
   "E5D6": "serviceCarrierAndSuspendRequest",
   "E5FF": "rearmCarrierTimer",
   "E607": "startNextTxChar",
   "E654": "setBitPeriodFull",
   "E657": "setBitPeriod",
   "E663": "nmiStartNextChar",
   "E685": "commNmiHandler",
   "E69C": "nmiMergeIcrFlags",
   "E733": "popArqTxRingThunk",
   "E736": "pushArqRxRingThunk",
   "E739": "popUartRxRingThunk",
   "E73C": "queueByteForTransmit",
   "E743": "receiveByteTrackZeros",
   "E756": "runModemStateMachine",
   "E773": "clearInFlightFlags",
   "E01D": "packetVarBlock",
   "E030": "commBuildAndNmiVars",
   "E039": "linkVarBlock",
   "E048": "modemConfigTables",
   "E07D": "protocolVarBlock",
   "E3B5": "padByteE3B5",
   "E3BF": "linkIoVectorTable",
   "E414": "ringBufferBlock",
   "E5BB": "uartBitStateBlock",
   "E7CA": "sendNextModemCommandChar",
   "E7F7": "runLinkStateMachine",
   "E805": "beginByteSyncPhase",
   "E858": "runPacketPhase",
   "E8F8": "buildAckPacket",
   "E909": "sendPacket",
   "E937": "computePacketChecksum",
   "E94A": "buildPacketFromRing",
   "E96D": "writeTxRingByte",
   "E975": "readTxRingByte",
   "E978": "readTxRingByteAt",
   "E986": "noteIdlePoll",
   "E9AA": "receivePacket",
   "EA0D": "dispatchReceivedPacket",
   "EA7B": "deliverPacketPayload",
   "EAA0": "packetReturn",
   "EAB2": "clearPacketState",
   "EB03": "remoteCodeBuffer",
   "EC00": "clearBattlefieldMap",
   "EC1C": "setViewOriginToHome",
   "EC2B": "loadMapSeedIntoScenarioRng",
   "EC54": "makeMapPointSymmetric",
   "EC58": "rotateMapAndMirrorCodes",
   "EC91": "mirrorAllUnitCoordinates",
   "ECB8": "mirrorCoordinateArray",
   "ECD4": "mirrorTerrainCode",
   "ECF3": "loadUnitStartTemplate",
   "ED43": "exchangePlayerNamesAndSettings",
   "EDBE": "sendEmptyMessage",
   "EDC9": "exchangeNameHalf",
   "EDFC": "abortLinkAndReturnToMenu",
   "EE0F": "storeOpponentNameHalf",
   "EE20": "waitForLinkMessage",
   "EE26": "finaliseRecyclerSetup",
   "EE4A": "loadFilmStartSnapshot",
   "EEB9": "handleDisplayToggleKey",
   "EEC3": "announceAndToggleDisplayMode",
   "EEDD": "toggleBattleDisplayMode",
   "EAA1": "packetLengthCodeTable",
   "EAB7": "packetProtocolState",
   "EAC7": "txMessageRing",
   "EAEB": "packetBuffer",
   "EBD6": "modemHangUpString",
   "EBE3": "modemAnswerInitString",
   "EBF0": "modemDialInitString",
   "EBFD": "hangUpStringPtrLo",
   "EBFE": "modemInitStringPtrLoTable",
   "EC3B": "mirroredTerrainCodeTable",
   "EF08": "msgDisplayPromptPrefix",
   "EF10": "displayModeNameSlot",
   "EF18": "msgBattleDisplaySuffix",
   "EF28": "msgBeginnerDisplaySet",
   "EF3D": "msgStandardDisplaySet",
   "EF52": "gameOptionLabels",
   "EFAF": "msgInsertDiskTemplate",
   "EFD0": "wordData",
   "EFD4": "wordGame",
   "EFD8": "msgCustomOff",
   "EFE2": "msgDestroyOff",
   "EFED": "msgAccepted",
   "EFF5": "commTailFiller"
  },
  "game/trainerAiE000": {
   "E000": "commRequestEntry",
   "E003": "commSetLinkStateEntry",
   "E006": "commGetReceivedByteEntry",
   "E009": "commSendByteEntry",
   "E00C": "commFrameTickEntry",
   "E012": "commKeyboardScanVector",
   "E015": "commReadKeyEntry",
   "E043": "handleCommRequest",
   "E060": "setCommLinkState",
   "E075": "reportNoReceivedByte",
   "E077": "commNoOpClc",
   "E079": "runTrainerRoundHook",
   "E082": "buildTrainerReplyPacket",
   "E0E8": "trainerUnitStepHook",
   "E128": "setSubOverlayLoadDest",
   "E12F": "pickTrainerRallyPoint",
   "E14A": "randomiseCoordinate",
   "E170": "planTrainerRound",
   "E21F": "pushTrainerComcenForward",
   "E266": "retreatTrainerComcen",
   "E2BD": "scanTrainerUnitsForOrders",
   "E2F1": "decideTrainerGroupAction",
   "E339": "aimGroupAtOwnComcen",
   "E3D0": "aimGroupAtHomeLine",
   "E42A": "findTrainerAdvanceCell",
   "E49E": "issueTrainerGroupOrders",
   "E531": "computeTrainerGroupStats",
   "E5FF": "clampGroupTargetToMap",
   "E66C": "offsetPointInDirection",
   "E00F": "commRtsRtiStubs",
   "E018": "unusedJumpSlotE018",
   "E01D": "commInterfaceBlock",
   "E142": "randomCoordinateOffsetTable",
   "E2B7": "unitCombatValueTable",
   "E2BC": "trainerUnitScanIndex",
   "E664": "maxAdvanceByRankTable",
   "E69C": "isGroupDestinationTooRisky",
   "E773": "buildUnitThreatTables",
   "E7B9": "multiplyAbyY",
   "E7D3": "buildDirectionFanTowardTarget",
   "E7E3": "buildDirectionFan",
   "E80E": "getStepDirection",
   "E82A": "cellDistance",
   "E83C": "updateFocusGroupCentre",
   "E882": "computeGroupCentroid",
   "E919": "orderAiUnitToCell",
   "E937": "queueMirroredMoveOrder",
   "E95D": "isPathToPlayerComcenClear",
   "E997": "loadGroupCentreIntoLinePos",
   "E9A6": "scoreTargetBlock",
   "E9F6": "addUnitTargetValue",
   "EA1B": "offsetCoordinateClamped",
   "EA38": "mirrorBlockCornerForOpponent",
   "EA46": "queueAiCommand",
   "EA7B": "injectAiCommandsIntoPacket",
   "EACF": "updateAiUnitTracking",
   "EB67": "runAiComcenActions",
   "EBA5": "maybeQueueComcenEnergyRepair",
   "EBDD": "queueComcenCommand",
   "EBE4": "haltAiComcen",
   "EBEF": "assessThreatAroundAiComcen",
   "E68A": "dirToColDelta",
   "E693": "dirToRowDelta",
   "E7DB": "dirMirrorTable",
   "E9F1": "targetValueByUnitType",
   "EA45": "aiCmdQueuePeak",
   "EC82": "rankThreatDirections",
   "EC91": "smoothThreatRing",
   "ECD4": "findQuietestDirectionArc",
   "ED0B": "runAiMissileTurn",
   "EDD5": "fireMissileAtSpottedUnit",
   "EE00": "targetEnemyComcenWithMissile",
   "EE2D": "queueMissileStrikeCommand",
   "EE55": "randomlySignValue",
   "EE6A": "isUnitOnAiRadar",
   "EE85": "launchAiDrone",
   "EEE0": "chooseAiDroneTarget",
   "EF59": "pickDroneTargetAlongThreatAxis",
   "EFCD": "strayTextTail",
   "EFD0": "msgDatagamecustomOff2",
   "EFE2": "msgDestroyOff2",
   "EFED": "msgAccepted2",
   "EFF5": "overlayTailFiller"
  },
  "game/trainerSetupEC00": {
   "EC0F": "initTrainerAi",
   "ED8E": "rebuildAiGroupTables",
   "EEC3": "buildAiHeadingSearchOrder",
   "EEED": "orderAiGroupToPoint",
   "EF00": "shiftAiGroupDestinations",
   "EF27": "stepAiDroneAndQueueMove",
   "EF9E": "measureDroneDistanceToTarget",
   "EFAB": "decayDroneScoreThreshold",
   "EC00": "mainGroupByPlanTable",
   "EC05": "groupCountByPlanTable",
   "EC0A": "aiPlanParamTable",
   "EFCD": "msgSpaceTailFragment",
   "EFD0": "msgDataGameCustomOff",
   "EFE2": "msgDestroyOff",
   "EFED": "msgAccepted",
   "EFF5": "overlayTailPadding_EFF5"
  },
  "game/droneAiEE00": {
   "EE00": "flyTrainerDroneStep",
   "EE15": "pickDroneAimPointAndDecide",
   "EE2D": "midCheckDroneOnMapEE2D",
   "EE55": "midStoreDetonateThresholdEE55",
   "EE85": "midScanDiagonalBlockEE85",
   "EEED": "midCheckFuelForJinkEEED",
   "EEB6": "emitDroneDetonateCommand",
   "EED0": "maybeJinkDroneHeading",
   "EF0F": "steerDroneAndEmitMove",
   "EF9E": "droneDistanceToCell",
   "EFAB": "staleCommTailBytes",
   "EFD0": "msgDataDiskName",
   "EFD4": "msgGameDiskName",
   "EFD8": "msgCustomOff",
   "EFE2": "msgDestroyOff",
   "EFED": "msgAccepted",
   "EFF5": "trailingPadEFF5"
  }
 },
 "dataTypes": {
  "0B07": [
   "text",
   30
  ],
  "0B7B": [
   "text",
   6
  ],
  "0B81": [
   "text",
   6
  ],
  "0B87": [
   "text",
   2
  ],
  "8061": [
   "text",
   4
  ],
  "02EC": [
   "text",
   4
  ],
  "C132": [
   "text",
   13
  ],
  "C13F": [
   "text",
   2
  ],
  "C219": [
   "text",
   9
  ],
  "C222": [
   "text",
   7
  ],
  "C2D8": [
   "text",
   2
  ],
  "C322": [
   "text",
   10
  ],
  "C35F": [
   "text",
   13
  ],
  "C36C": [
   "text",
   2
  ],
  "C3C0": [
   "text",
   4
  ],
  "2C49": [
   "addr",
   54
  ],
  "6C35": [
   "addr",
   40
  ],
  "8800": [
   "text",
   28
  ],
  "881C": [
   "text",
   27
  ],
  "8837": [
   "text",
   23
  ],
  "884E": [
   "text",
   10
  ],
  "8858": [
   "text",
   15
  ],
  "8867": [
   "text",
   23
  ],
  "887E": [
   "text",
   25
  ],
  "8897": [
   "text",
   31
  ],
  "88B6": [
   "text",
   32
  ],
  "88D6": [
   "text",
   26
  ],
  "88F0": [
   "text",
   28
  ],
  "895E": [
   "text",
   33
  ],
  "0548": [
   "text",
   36
  ],
  "056C": [
   "text",
   10
  ],
  "0576": [
   "text",
   13
  ],
  "0583": [
   "text",
   16
  ],
  "0593": [
   "text",
   33
  ],
  "05B4": [
   "text",
   28
  ],
  "05D0": [
   "text",
   7
  ],
  "05D7": [
   "text",
   18
  ],
  "05E9": [
   "text",
   17
  ],
  "05FA": [
   "text",
   14
  ],
  "0608": [
   "text",
   10
  ],
  "0636": [
   "text",
   23
  ],
  "064D": [
   "text",
   17
  ],
  "065E": [
   "text",
   10
  ],
  "0668": [
   "text",
   7
  ],
  "066F": [
   "text",
   8
  ],
  "0677": [
   "text",
   40
  ],
  "069F": [
   "text",
   27
  ],
  "05F4": [
   "text",
   12
  ],
  "0993": [
   "text",
   15
  ],
  "0A48": [
   "text",
   36
  ],
  "0B7F": [
   "text",
   21
  ],
  "0CE4": [
   "text",
   4
  ],
  "0F81": [
   "text",
   16
  ],
  "0F91": [
   "text",
   17
  ],
  "0FA2": [
   "text",
   11
  ],
  "0FAD": [
   "text",
   4
  ],
  "1535": [
   "addr",
   6
  ],
  "879F": [
   "text",
   13
  ],
  "87AC": [
   "text",
   14
  ],
  "87BA": [
   "text",
   20
  ],
  "87CE": [
   "text",
   21
  ],
  "87E3": [
   "text",
   10
  ],
  "87ED": [
   "text",
   12
  ],
  "868C": [
   "text",
   5
  ],
  "8691": [
   "text",
   6
  ],
  "8697": [
   "text",
   6
  ],
  "869D": [
   "text",
   4
  ],
  "86A1": [
   "text",
   11
  ],
  "86AC": [
   "text",
   79
  ],
  "8707": [
   "text",
   12
  ],
  "8713": [
   "text",
   14
  ],
  "8721": [
   "text",
   9
  ],
  "872A": [
   "text",
   7
  ],
  "8731": [
   "text",
   17
  ],
  "8742": [
   "text",
   15
  ],
  "8751": [
   "text",
   21
  ],
  "8766": [
   "text",
   17
  ],
  "8777": [
   "text",
   18
  ],
  "8789": [
   "text",
   18
  ],
  "879B": [
   "text",
   17
  ],
  "C92C": [
   "text",
   56
  ],
  "C964": [
   "text",
   40
  ],
  "C98C": [
   "text",
   70
  ],
  "C9D2": [
   "text",
   186
  ],
  "CA8C": [
   "text",
   45
  ],
  "CAB9": [
   "text",
   48
  ],
  "CAE9": [
   "text",
   33
  ],
  "CB0A": [
   "text",
   21
  ],
  "CB1F": [
   "text",
   218
  ],
  "CBF9": [
   "text",
   24
  ],
  "CC11": [
   "text",
   14
  ],
  "CC1F": [
   "text",
   122
  ],
  "CC99": [
   "text",
   36
  ],
  "CCBD": [
   "text",
   11
  ],
  "CCC8": [
   "text",
   56
  ],
  "E000": [
   "addr",
   24
  ],
  "E3BF": [
   "addr",
   12
  ],
  "EBD6": [
   "text",
   13
  ],
  "EBE3": [
   "text",
   13
  ],
  "EBF0": [
   "text",
   13
  ],
  "EF08": [
   "text",
   8
  ],
  "EF10": [
   "text",
   8
  ],
  "EF18": [
   "text",
   16
  ],
  "EF28": [
   "text",
   21
  ],
  "EF3D": [
   "text",
   21
  ],
  "EF52": [
   "text",
   93
  ],
  "EFAF": [
   "text",
   33
  ],
  "EFD0": [
   "text",
   4
  ],
  "EFD4": [
   "text",
   4
  ],
  "EFD8": [
   "text",
   10
  ],
  "EFE2": [
   "text",
   11
  ],
  "EFED": [
   "text",
   8
  ],
  "EFCD": [
   "text",
   3
  ]
 }
}