DE LA INVESTIGACIÓN EMPÍRICA
8.1. ANÁLISIS DE LA VALIDEZ
8.2.1. Bucle fonológico
CIA #1 control register A log
This location is used to record the status of CIA #1 control register A (56334/$DC0E) during tape operations.
2572 $0A0C
CIA #1 interrupt control register log
This location is used to record the status of the CIA #1 inter- rupt control register (56333/$DC0D) during tape operations.
2573 $0A0D
CIA #1 timer A status log
The CIA #1 control register A log value from 25 71 /$0AOB is stored here during certain tape operations to preserve the timer A status.
$0A0E TIMOUT 2574
IEEE timeout flag
When the VIC-20 was introduced, its Kemal included a jump table entry (SETTMO, at 65442/$FFA2) to support a proposed IEEE bus interface. The IEEE bus is the parallel data bus used by Commodore's original PET/CBM models for communica- tions with peripheral devices. The interface was never intro- duced, but the Kernals of all subsequent Commodore models have slavishly included the SETTMO jump table entry. In the
128, the SETTMO routine [$F75F] does nothing more than store the accumulator contents in this location. This location is
124
$0A10 2576
not used by any other 128 routine, and is provided strictly to maintain Kernal jump table compatibility with previous Com- modore models.
2575 $0A0F ENABL
RS-232 activity flag
This location is used during the RS-232 routines to record the value in the CIA #2 interrupt control register (56589/$DD0D). CIA #2 interrupt requests generate the NMI interrupts that drive RS-232 transmission and reception. While the CIA #2 interrupts for RS-232 are disabled, this location will be set to 0/$00. When bits are set in the CIA #2 interrupt control regis- ter to enable RS-232 operations, the corresponding bits are also set in this location. If any of the following bits is set to % 1 , the corresponding interrupt is enabled:
Bit Interrupt source RS-232 activity 0 Timer A bits being transmitted 1 Timer B bits being received
4 FLAG line waiting for start bit to be received
This location is initialized to 0/$00 during the IOINIT routine [$E109], part of the reset and RUN/STOP-RE STORE
sequences.
2576 $0A10 M51CTR
RS-232 control register
This location controls some of the operating characteristics of the RS-232 interface. When a file is opened to device 2, the first character of the filename is copied here. Although RS-232 communications in the 128 are managed by software, the bits of this location are defined to simulate the control register of a 6551 UART chip, a hardware device for controlling serial com- munications. The bits are used as follows:
Bits 0-3: These bits determine the baud rate for both transmis- sion and reception—the rate (in bits per second) at which bits will be sent or received. Valid settings are as follows:
2571 SOAOB
here, then substitute the address of the IRQ service routine to handle the tape operation. Upon completion of the operation, the original address stored here will be restored to the IIRQ vector.
Location 2570/$0A0A is also used as a flag to indicate whether or not a tape IRQ routine is active. That location is initialized to 0/$00 by the IOINIT routine, part of the RESET sequence, and will also be reset to that value upon completion of the tape operation. Thus, a nonzero value in the flag loca- tion indicates that a tape interrupt routine is active.
2571 $0AOB CASTON
CIA #1 control register A log
This location is used to record the status of CIA #1 control register A (56334/$DC0E) during tape operations.
2572 $0A0C
CIA #1 interrupt control register log
This location is used to record the status of the CIA #1 inter- rupt control register (56333/$DC0D) during tape operations.
2573 $0A0D
CIA #1 timer A status log
The CIA #1 control register A log value from 25 71 /$0AOB is stored here during certain tape operations to preserve the timer A status.
$0A0E TIMOUT 2574
IEEE timeout flag
When the VIC-20 was introduced, its Kemal included a jump table entry (SETTMO, at 65442/$FFA2) to support a proposed IEEE bus interface. The IEEE bus is the parallel data bus used by Commodore's original PET/CBM models for communica- tions with peripheral devices. The interface was never intro- duced, but the Kernals of all subsequent Commodore models have slavishly included the SETTMO jump table entry. In the
128, the SETTMO routine [$F75F] does nothing more than store the accumulator contents in this location. This location is
124
$0A10 2576
not used by any other 128 routine, and is provided strictly to maintain Kernal jump table compatibility with previous Com- modore models.
2575 $0A0F ENABL
RS-232 activity flag
This location is used during the RS-232 routines to record the value in the CIA #2 interrupt control register (56589/$DD0D). CIA #2 interrupt requests generate the NMI interrupts that drive RS-232 transmission and reception. While the CIA #2 interrupts for RS-232 are disabled, this location will be set to 0/$00. When bits are set in the CIA #2 interrupt control regis- ter to enable RS-232 operations, the corresponding bits are also set in this location. If any of the following bits is set to % 1 , the corresponding interrupt is enabled:
Bit Interrupt source RS-232 activity 0 Timer A bits being transmitted 1 Timer B bits being received
4 FLAG line waiting for start bit to be received
This location is initialized to 0/$00 during the IOINIT routine [$E109], part of the reset and RUN/STOP-RE STORE
sequences.
2576 $0A10 M51CTR
RS-232 control register
This location controls some of the operating characteristics of the RS-232 interface. When a file is opened to device 2, the first character of the filename is copied here. Although RS-232 communications in the 128 are managed by software, the bits of this location are defined to simulate the control register of a 6551 UART chip, a hardware device for controlling serial com- munications. The bits are used as follows:
Bits 0-3: These bits determine the baud rate for both transmis- sion and reception—the rate (in bits per second) at which bits will be sent or received. Valid settings are as follows:
2577 $OA11 3 0 0 0 0 0 0 0 0 1 1 1