The memory block of a segment can be modified before it is passed on to its consumers. A segment-modifier takes a list of memory blocks as input and outputs a modified list of memory blocks.
The build in 'BasicUpstart' modifier adds a memory block in $0801 with a basic upstart program that jumps to a given address:
.file [name="test.prg", segments="Code"]
.segment Code [start=$8000, modify="BasicUpstart", _start=$8000]
inc $d020
jmp *-3
The 'modify' parameter assigns the 'BasicUpstart' modifier. As a convention, arguments to the modifier has a _ appended in front, so '_start' is an argument for the BasicUpstart modifier.
Users can write their own modifiers as plug-ins (Crunchers etc.) as shown in the plug-in chapter.
Here is a list of build in segment modifiers:
Table 10.1. Build in modifiers
| Name | Parameters | Description |
|---|---|---|
| BasicUpstart | _start | Adds a memory block with a basic upstart program that points to the given start address. |





