# Extending and Repointing

## Manual Repointing

There's a few options for finding pointers yourself and updating them to new locations. Event Assembler comes with the command line program `PFinder` in `Event Assembler/Tools`, that given a rom and an offset will find all pointers to that offset for you. Otherwise, you can manually hunt down pointers yourself in a hex editor. Take the hex value of the address the table is located at in the ROM, add `0x08000000`, reverse the byte order, and search for matches. Make sure you check beyond just the first match, as there may be more than 1 reference to the address. Once you've located your pointers, the next step is replacing them. Generally, the standard way of doing this in EA is something like:

```
PUSH
ORG $<OFFSET1>
POIN <LABEL>
ORG $<OFFSET2>
POIN <LABEL>
POP
```

where each `<OFFSET>` is the locations you found in the previous step, and `<LABEL>` is the new location of the data you're repointing, easiest done by placing it at an EA label.

## Repointing CSVs

CSVs can be repointed automatically by C2EA quite easily. In the top left cell where you would normally have the table offset, instead put `INLINE MyTableLabel` and the contents of the CSV will be placed in free space and have all references to it automatically updated to instead reference `MyTableLabel`.
