General Information
The CT Payphone family (CT24, CT25, CT34) were coin-operated public telephones manufactured by British Telecom in the 1980s. They are based on the RCA CDP1802 COSMAC microprocessor running at 2 MHz and represent one of the most commercially deployed uses of the 1802.
The (basic) emulation of these phones in Emma 02 was made possible by the extensive reverse engineering work of Chris Boyce, who traced the hardware, analysed the firmware, and documented the coin mechanism, serial protocol, and event-driven architecture from original CT24/25/34 hardware. With no official documentation available, Chris painstakingly worked out the I/O port assignments, sensor multiplexing, gate control logic, and SPM metering from the circuit boards and ROM code alone.
The CT24 (1982) was the original design using two PCBs. The CT25 is a renter's version, identical internally. The CT34 (1986) is a single-PCB redesign with more flexibility. Later models (CT44A, Mercury Payphone) used the CDP1806 processor with an HD44780 LCD display. All phones in the family run at 2 MHz crystal speed due to line-power constraints.
The firmware uses an unusual event-driven architecture with a massive ISR running every 8.4ms. The ISR generates events (e.g. “Key Pressed”, “Coin Inserted”) which are queued in a linear buffer. The main code runs with interrupts disabled most of the time, briefly enabling them via “interrupt gates” to check for pending events. A large table structure implements a state machine which maps events — up to 130 distinct events — to actions.
Technical specifications
CPU: RCA CDP1802
Clock: 2.0 MHz
Memory: 24 KB ROM + 1 KB RAM (10-bit masked)
Display: Segmented LCD with CD4056 drivers
Sound: MF4 DTMF tone generator
Keyboard: 4×3 telephone keypad (matrix scanned)
Serial: 1200 baud, 7O1 (bit-banged via Q/EF1)
Phone Models
| CT24 (1982) | Original BT payphone, two PCBs, segmented LCD |
| CT25 (1982) | Renter's version, identical to CT24 internally |
| CT34 (1986) | Single PCB redesign, more flexible |
| CT44A (1989) | CDP1806 processor, HD44780 2×16 LCD, modem, RTC |
| Mercury (~1989) | CT44-adjacent design, slightly different PCB |
Coin Mechanism
The phone uses a sophisticated coin mechanism with dual escrows (upper and lower), five optical sensors, and six electromagnetic gates. Coins are validated electronically, then routed mechanically:
- Gate 1: Accepts/rejects validated coin
- Gate 2: Routes coin to lower escrow (10p, 20p) or upper escrow (50p, £1)
- Gates 3–6: Cash or return coins from escrows at call end
Sensors are multiplexed via LED drive lines on output port 4. Gate 6 shares a bit with sensor LEDs 3&4, using a timing threshold (400µs) to distinguish brief LED scan pulses from sustained gate activation.
SPM (Subscriber Pulse Metering)
Call charging uses SPM pulses (50Hz, 50V, ~225ms width) sent from the exchange. The first pulse indicates the called party answered and debits the initial fee. Subsequent pulses at regular intervals debit the unit fee. The emulator simulates this via EF2 pulses triggered by an ANS button.
How to use the emulated phone
- Select CT Payphone and CT34.xml, then start the emulation.
- Insert coins by clicking the coin push buttons (10p, 20p, 50p, £1). Credit accumulates on the LCD display.
- Dial a number using the telephone keypad (the LP Dial LED flashes to show pulse dialling).
- Press the ANS button to simulate the called party answering. This triggers the first SPM pulse and debits the initial fee.
- Watch the credit count down penny-by-penny as subsequent SPM pulses arrive at regular intervals.
- You can insert more coins during the call to extend it.
- When you hang up (set Off Hook low), the phone cashes used coins into the cash box and returns unused coins to the return bucket, then powers down and restarts.
Follow On Call: Press the FOC button to drop the line and start a new call without hanging up, keeping remaining credit.
Free calls: 999 (emergency) is hard-wired in firmware and does not require coins. Other free numbers (080X, pager services) are defined in the phone configuration.
Other information
- CT54.info CT Payphone Restoration
Main emulator features
- Full coin mechanism emulation with configurable timing
- SPM (call metering) pulse generation
- LCD credit display with text indicators
- Telephone keypad emulation
- Serial port connection for real Tester 297 hardware
- Firmware versions supported via XML configuration
- Payphone I/O debugger with gate/sensor trace
- Firmware-specific coin denomination labels