• No se han encontrado resultados

10. ESPECIFICACIONES TÉCNICAS

10.1. ESPECIFICACIONES TÉCNICAS DEL EQUIPAMIENTO HARDWARE Y SOFTWARE

10.2.1. Reglamentación Sistemas Ticketing 42

Custom mode flag

Normally, the system clock is set for the slow (1-MHz) rate and sprites are disabled during tape and disk operations to in- sure proper timing. However, this location can be used to allow the VIC clock and sprite registers to retain their current settings during such operations. When bit 7 of this location is set to % 1 , the registers are left unchanged. This location is ini- tialized to 0/$00 by the IOINIT routine [$E109], part of the re- set sequence. That setting is not changed by any ROM routine, so this feature is not used by the system.

2619 $0 A3B LDTB 1_SA

Starting page for 40-column screen memory

The value in this location is used during the screen editor routines to determine the starting page for 40-column (VIC) screen memory. During the screen editor initialization routine [$C07B], this location is set to the value in location 49228/ $C04C, which is currently 4/$04. This specifies screen mem- ory at address 1024/$0400.

The value here determines where the screen editor thinks VIC screen memory begins, but not the actual starting address of the screen. (This location is not a shadow for a VIC regis- ter.) The actual screen starting address is determined by the

2613

$0A35

The default value for this location, set during the screen editor initialization routine [SC07B], is 208/$D0, which places the default split at screen row 20. The value here can be changed in BASIC by specifying a split parameter with the GRAPHIC statement.

2613 $OA35 FNADRX

Temporary storage for X register

This location is used to preserve the contents of the X register during the Kernal routine that reads a character from a file- name [$F7AE].

2614 $0A36 PALCNT

Jiffy clock compensation flag

In systems using the PAL video format, this location is used as a counter during the Kernal UDTIM routine [$F5F8], It is in- cremented each time UDTIM is called to update the jiffy clock locations (160-162/$A0-$A2). When the count has reached 5, the UDTIM routine is repeated and the counter is reset to zero. This triggers an extra update of the jiffy clock every fifth IRQ in PAL systems, so that ten extra jiffy clock "ticks" occur for each 50 IRQs. This means that the jiffy clock still incre- ments 60 times per second on PAL-video 128s where the IRQ rate is only 50 per second. For systems using the NTSC for- mat, this portion of the UDTIM routine is skipped, so the loca- tion will always hold its initial value of zero.

2615 $0A37 SPEED

Temporary storage for clock rate register

This location is used to hold the value in the VIC system clock rate register (53296/SD030) during tape and serial bus opera- tions. The current register value is stored here at the beginning of the operation and the register is reset for slow (1-MHz) mode for the duration of the operation; then the value here is restored to the register once the operation is completed.

2616 $0 A38 SPRITES

Temporary storage for sprite enable register

This location is used to hold the value in the VIC sprite enable register (53269/$D015) during tape and serial bus operations. The current register value is stored here at the beginning of

140

$0A3B

2619

the operation and the register is reset to 0/$00 to disable all sprites for the duration of the operation. The VIC chip requires extra timing cycles while sprites are active, so they are dis- abled to avoid disrupting the precise timing required for tape and serial operations. Once the operations are complete, the value here is restored to the VIC register.

2617 $0A39 BLANKING

Temporary storage for VIC control register

This location is used to hold the value in the VIC control reg- ister at 53265/$D011 during tape operations. The register value is stored here at the beginning of the tape operation, before bit 4 of the register is set to %0 to blank the screen during the operation. Upon completion of the tape operation, the value here is restored to the register.

2618 $0A3A HOLD_OFF

Custom mode flag

Normally, the system clock is set for the slow (1-MHz) rate and sprites are disabled during tape and disk operations to in- sure proper timing. However, this location can be used to allow the VIC clock and sprite registers to retain their current settings during such operations. When bit 7 of this location is set to % 1 , the registers are left unchanged. This location is ini- tialized to 0/$00 by the IOINIT routine [$E109], part of the re- set sequence. That setting is not changed by any ROM routine, so this feature is not used by the system.

2619 $0 A3B LDTB 1_SA

Starting page for 40-column screen memory

The value in this location is used during the screen editor routines to determine the starting page for 40-column (VIC) screen memory. During the screen editor initialization routine [$C07B], this location is set to the value in location 49228/ $C04C, which is currently 4/$04. This specifies screen mem- ory at address 1024/$0400.

The value here determines where the screen editor thinks VIC screen memory begins, but not the actual starting address of the screen. (This location is not a shadow for a VIC regis- ter.) The actual screen starting address is determined by the

2620-2621 $0A3C-$0A3D

value in bits 4-7 of the VIC register at 53272/SD018. If you change the register value, you should also change the value in this location, and vice versa.

2620-2621 $0A3C-$0A3D CLR_EA

Working pointer into 80-column memory

These locations are used to hold an address in VDC memory during the routine that clears a line of text on the 80-column screen [$C4C0] and the one that copies a line up or down for scrolling [$C53C],

2622-2623 $0A3E-$0A3F Unused

These locations are unused by any system ROM routine, and are thus available for your own programming.

2624-2650 $0A40-$0A5A

Screen editor variable storage for the inactive screen

The screen editor variables for whichever screen (40- or 80- column) is currently inactive are stored here. When the screens are switched, the screen editor SWAPPER routine [$CD2E] ex- changes the contents of this area with the values for the active screen at 224-250/$E0-$FA. Thus, the active and inactive screens are totally independent, and all window size settings for the inactive screen will be preserved until the screen be- comes active again.

Location 2650/$0A5A should not be included in this range. Only locations 224-249/$E0-$F9 actually hold screen editor variables. However, the SWAPPER routine incorrectly copies 27 values instead of the proper 26, so the contents of location 2650/$0A5A and location 250/$FA will be exchanged whenever the active screen is switched. Both locations are nor- mally unused.

2651-2655 $0A5B-$0A5F Unused

None of the locations in this range is used by any system rou- tine, so all are available for your own programming,

2656-2665 $0A60-$0A69

Storage for inactive tab-stop bitmap

The tab-stop bitmap for whichever screen (40- or 80-column) is currently inactive is stored here. When the screens are

142

$0AA0-$0AA7 2720-2727

r

switched, the screen editor SWAPPER routine [$CD2E] ex- changes the contents of this area with the tab-stop bitmap for the active screen at 852-861/$0354-$035D.

2666-2669 $0A6A-$0A6D Storage for inactive line-link bitmap

The line-link bitmap for whichever screen (40- or 80-column) is currently inactive is stored here. When the screens are switched, the screen editor SWAPPER routine [$CD2E] ex- changes the contents of this area with the line-link bitmap for the active screen at 862-865/$035E-$0361.

2670-2687 $0A6E-$0A7F Unused

None of the locations in this 18-byte area is used by any system ROM routine, so they are available for your own programming.

Documento similar