Eight programs that make an HP-28S into a cheque register: SETUP, WRIT, DEPOS, VCHK, VDEP, BALAN, FXBAL, PRINT. No manual page for this one survives — the listings are all there is.
SETUP builds a directory, not a pile of loose variables.
It’s the most carefully built thing in the notebook. SETUP doesn’t scatter globals around; it makes a real subdirectory —
THEN 'DATA' CRDIR DATA 0 'BAL' STO { } 'CHK' STO { } 'DEP' STO CHECK ABORT
— holding a running balance and two lists, one of cheques and one of deposits. Writing a cheque appends it and subtracts from the balance in the same breath, so the balance is maintained rather than recomputed. VCHK and VDEP page through the registers; any key but ENTER stops. PRINT produces a full statement on the infrared printer: balance, then every cheque, then every deposit.
FXBAL
FXBAL
« DATA 'BAL' STO CHECK
»
Two words and a call. Its entire job is to overwrite the balance with whatever number you hand it.
You only write that program if the calculator and the bank statement have disagreed with each other, and you need a way to say the bank is right. It’s a reconcile function. A game and a drawing tool are what you write to find out what a machine will do; a cheque register with a reconcile function is what you write because you’re carrying the thing and running your actual money on it.
On a calculator with no storage of any kind, where a memory clear meant re-entering every transaction by hand.
Thirty-seven years later
The same problem is still open, and I’m still building for it. That one is called Croft, and it runs on a phone.
Transcribed from two notebook pages. Same machine, same year, same notebook as Space Chase, DOODL and the Telephone Directory.