The Multiface 128 is the 128K update of Romantic Robot's popular utility.
And it's a pretty powerful hunk of hardware in its own right - the Poke person's delight in fact.
Hooked up to any Spectrum, it allows any program to be stopped, screens to be dumped and memory to be examined and 'tweaked' to magical effect.
Mind you, you'll need to know your way around machine-code pretty thoroughly to understand what you're looking at. It wont let you do anything you couldn't have done anyway - it just makes it less painstaking.
The memory examination function (called, alas, the Multi Toolkit) is a bit crude. You can look at blocks of Ram and Rom in hexadecimal or as text, and can Poke new values in for the infinite lives. It's quite slow, though, and it helps if you can translate Z80 code to and from hex.
This is where Genie - Multiface Disassembler - comes in. This is on optional extra, a program that loads into Multiface 128's internal 8K Ram. When it's in, the Multiface is a changed beast. Now when the button gets pressed a new menu appears - Ret Dis Text Num 280 find Mx:x. Stirring stuff.
Ret returns you to the program you interrupted. Dis starts to disassemble Ram or Rom into proper Z80 mnemonics. Text displays in decimal of hex. 280 shows the complete status of the CPU in the Spectrum, registers, flags, interrupt status, the lot, as it was when the button was pressed. Find scans through the whole of Ram for a sequence of numbers. Mx:x displays (and lets you set) the Rom:Ram pages for a 128K+2 Spectrum.
Dis is incredibly useful if you're in the habit of hunting for infinite lives or want to inspect the Rom.
Text and Num do much the same as the standard toolkit, except that they do it faster. Z80 is almost as much fun as Dis because, not only does it show what the Z80 was doing, but it allows you to alter the registers and flags.
There are a few things not on the menu. H toggles between hex and decimal at all times. S sets the device scrolling, so you can sit back and watch the disassembly unfurl. C copies the top eight lines of the screen to the printer, and A allows you to Poke stuff into Ram.
Everything happens in an eight-line window at the top of the screen. Genie, like Multiface, stores the old screen, so that when the time comes to return to the program you're inspecting nothing is amiss.
There are a few things that could be nicer about Genie. The Find facility is pretty limited (to find a text string, you have to convert it to hex by hand first), and you still have to know Z80 mnemonics in hex to be able to patch a program. Similarly, it would have been very useful to inspect Ram as hex and text simultaneously.
Having said that, considering that the program fits in about 5K, it's impressive. It knows all about paging and the Spectrum 128K+2's little ways. The printer support is good enough to be genuinely useful. And I don't think I'm going to want to be without it, because it makes messing about with machine code such a joy. If you're into infinite lives - and know a bit about machine code - or you're heavily into Z80 mnemonics it's an essential purchases.