SHADOWING THE ROM
EXPLOITATION of Interface One has been minimal but Melbourne House hopes to put that right with its new book, Spectrum Shadow ROM Disassembly by Gianluca Carri.
The book opens with a brief introduction to the use of hook codes and a description of those which can easily be used from Basic. They include accepting a character from the keyboard, and a test for key depression.
Carri devotes a section of the book to his extensions of Spectrum Basic. They allow you to POKE strings of characters into memory, add line numbers to the Basic EDIT command, speed up the microdrive CATalogue and produce pseudo-random file handling.
Each shortroutine is listed in assembly code format so you will need an assembler to enter it. The author has included a Basic loader program for those who do not want to enter the assembly code, which means that a long list of numbers has to be entered - such a process is prone to error.
Although the author shows how each of his new commands operate, together with information about how the machine code extensions work, he does not explain how they are patched into the Basic Operating System. As a result, the book only provides ready to run listings and not much new information for readers who want to get to the heart of the Shadow ROM.
The third, and most important, section is devoted to a complete disassembly of the Interface One ROM. The assembly language listing is split into subroutines.
Each routine is explained in a short paragraph and descriptions of each line of code are given opposite the appropriate line of the routine. An appendix at the back lists all the ROM routines together with corresponding entry points.
Carri has also included appendices on system variables, labels and how to tell whether you have got a ROM1 or ROM2. The technicalities involved may easily put off a beginner, but the book could be regarded as a source of reference for machine code programmers.
Spectrum Shadow ROM Disassembly
Publisher: Melbourne House
Price: £8.95 (paperback)