VIRTUTECH CONFIDENTIAL Previous - Up - Next
i8254
- Provided by
-
8254
- Class Hierarchy
-
conf-object → log-object → i8254
- Interfaces Implemented
-
log_object, event_poster, io_memory
- Ports
-
Gate2 (signal), Gate1 (signal), Gate0 (signal)
- Description
-
The i8254 device implements the functionality of the PIT (Programmable Interval Timer) counter device found in most PCs. In a real system it is used to generate interval signals for the TOD clock, DMA refresh, and the speaker. The simulated device is only connected to the interrupt device; it counts internally, and the value can be read and written from the processor. The 8254 device also implements Port B in the 8255 PPI (Programmable Peripheral Interface). This port is used to control the builtin PC speaker. Counting mode 1, and BCD counting is not implemented.
Attributes
- Attributes inherited from class conf-object
-
attributes, classname, component, iface, name, object_id, queue
- Attributes inherited from class log-object
-
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
- Attribute List
-
- bcd
- Optional attribute; read/write access; type: [iii]|[iiii].
The counting format for each counter (0 or 1).
- beep
- Optional attribute; read/write access; type: Integer.
Set to 1 if a beep is currently playing in the speaker. Only valid if the have_speaker attribute is 1.
- clock_freq_hz
- Optional attribute; read/write access; type: [fff]|[ffff].
Clock input frequencies for the counters, in Hz. Defaults to 1193180.0 Hz for all counters. The frequency should be set before simulation starts.
- cmd
- Optional attribute; read/write access; type: [iii]|[iiii].
The RW command for each counter.
- cmd_names
- Pseudo attribute; read-only access; type: [ssss].
List of all command names.
- count
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four count values, one for each counter.
- counting
- Optional attribute; read/write access; type: [iii]|[iiii].
For each of the four counters, a flag indicating whether it is running.
- gate
- Optional attribute; read/write access; type: [iii]|[iiii].
Four gate signals (1 or 0], one for each counter.
- have_speaker
- Optional attribute; read/write access; type: Integer.
Set to 1 (default) if counter 2 is connected to a standard PC speaker.
- initial_count
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four initial count values, one for each counter.
- initial_time
- Optional attribute; read/write access; type: [fff]|[ffff].
For each of the four counters, a time stamp indicating when the counter was last restarted (in floating-point format)
- interrupt_pin
- Optional attribute; read/write access; type: Integer.
Interrupt request status.
- irq_dev
- Optional attribute; read/write access; type: Object or Nil.
Device to send interrupts to, that implements the simple-interrupt.
- irq_level
- Optional attribute; read/write access; type: Integer.
Interrupt level for the interrupt device.
- latched
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four flags, each set to 1 if the corresponding counter has a latched value.
- latched_count
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four latched values, one for each counter.
- latched_s
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four flags, each set to 1 if the corresponding counter has a latched status.
- latched_status
- Optional attribute; read/write access; type: [iii]|[iiii].
A list of four latched status bytes, one for each counter.
- mode
- Optional attribute; read/write access; type: [iii]|[iiii].
The PIT counting mode for each counter (0 - 5).
- mode_names
- Pseudo attribute; read-only access; type: [ssssss].
List of all mode names.
- next_read_high
- Optional attribute; read/write access; type: [iii]|[iiii].
For each of the four counters, a flag indicating if the next read access is for the high byte.
- next_write_high
- Optional attribute; read/write access; type: [iii]|[iiii].
For each of the four counters, a flag indicating if the next write access is for the high byte.
- null_count
- Optional attribute; read/write access; type: [iii]|[iiii].
The 'null count' status bit.
- out
- Optional attribute; read/write access; type: [iii]|[iiii].
Output values (0 or 1], one for each counter.
- refresh_clock
- Optional attribute; read/write access; type: Integer.
Bit 4 when reading from port B.
- speaker
- Optional attribute; read/write access; type: Integer.
Enable flag for speaker, only valid if the have_speaker attribute is 1.
Command List
- Commands defined by interface log_object
-
log, log-group, log-level, log-size, log-type
- Commands
-
info | print information about the device |
status | print status of the device |
Command Descriptions
-
<i8254>.info
- Synopsis
-
<i8254>.info
- Description
-
Print detailed information about the configuration of the device.
-
<i8254>.status
- Synopsis
-
<i8254>.status
- Description
-
Print detailed information about the current status of the device.
VIRTUTECH CONFIDENTIAL Previous - Up - Next