Old computers. New hardware. Questionable ideas.

PB686 CMOS is 64 bytes: 40h to 7Fh alias 00h to 3Fh

The Packard Bell PB686 has 64 bytes of CMOS and no more. If you select index 40h through 7Fh at port 70h, you get the same registers as 00h through 3Fh: reading 4Eh gives you 0Eh, 6Eh gives you the checksum byte at 2Eh, and so on. The RTC ignores bit 6 of the index. There's no extended CMOS bank on this board, so anything that treats 40h to 7Fh as spare storage is really overwriting the clock, the configuration bytes and the checksum.

Applies to

Evidence

One side effect to know about. Because 4Ch is really 0Ch, reading index 4Ch reads RTC Register C, and on an MC146818A reading Register C clears every pending interrupt flag [D] (documented only, not measured). The 2026-09-02 sweep did exactly that without meaning to: 4Ch read 50, so two flags were pending and that read cleared them. It was harmless here, but a probe that only meant to look at "extended CMOS" was touching the clock's interrupt state.

Check it yourself

You need DOS and DEBUG. This only reads.

  1. Read a low index and its alias: o 70 8e, i 71, then o 70 ce, i 71. The first pair reads 0Eh and the second reads 4Eh. Setting bit 7 of the index (the 8 in 8e and the c in ce) masks NMI while you read; my extended-CMOS script set it on every index. On the PB686 both reads give the same value.
  2. Repeat for a few more pairs, for example 10h/50h and 2Eh/6Eh (o 70 90/o 70 d0, o 70 ae/o 70 ee).
  3. For the convincing version, read 40h, 42h and 44h (o 70 c0, o 70 c2, o 70 c4, each followed by i 71) and compare them with the seconds, minutes and hours on your clock. If they show the current time, 40h is the clock.
  4. Avoid 4Ch unless you mean to: it reads Register C and clears its flags.
  5. Finish with o 70 0d and i 71, which leaves the index on Register D with NMI unmasked. My script ends the same way.

On a board with a real extended bank, the reads in steps 1 and 2 would usually differ, and step 3 would not show the time.

Sources

Revised

2026-10-25.

Revision log:

Wrong about something? Tell me at [email protected].

Index of /library/