This area is reserved by the system to hold sprite pattern definitions. Each sprite pattern requires 64 bytes and must start at an address which is an exact multiple of 64/$40. Other free locations within the current video bank which meet these criteria can also be used for sprite pattern storage, but BASIC sprite routines such as SPRSAV and SPRDEF assume that sprite patterns reside in this area. The sprite pointers for the default screen memory position (2040-2047/$07F8-$07FF) are initialized during the BASIC cold-start sequence as follows:
Pattern area | Pointer value | Default sprite |
---|---|---|
3584-3647/$0E00-$0E3F | 56/$38 | 0 |
3648-3711/$0E40-$0E7F | 57/$39 | 1 |
3712-3775/$0E80-$0EBF | 58/$3A | 2 |
3776-3839/$0EC0-$0EFF | 59/$3B | 3 |
3840-3903/$0F00-$0F3F | 60/$3C | 4 |
3904-3967/$0F40-$0F7F | 61/$3D | 5 |
3968-4031/$0F80-$0FBF | 62/$3E | 6 |
4032-4095/$0FC0-$0FFF | 63/$3F | 7 |
No system ROM routines change these settings. If your program doesn’t require sprites, this area can be used for other purposes such as to hold machine language routines.