REVIEWS COURTESY OF ZXSR

Plus D Hacker
by Steve J. Nutting
Steve J. Nutting
1988
Your Sinclair Issue 40, Apr 1989   page(s) 82

RAGE HARD!

This month Phil Snout goes all soft again, (kwar!) with a fabby utility for all MGT Plus D users.

CONTACT BOX
Indug
34 Bourton Road
Gloucester
GL4 0LE
Plus D Hacker
Price: 3.95

The Disciple was a brilliant disk interface, and the Plus D which followed in its wake was more of a way of life. Quite some industry built up around this piece of kit, and the success of the device and its operating system led its designer onwards into the 1990s with the SAM Coupe. But while we eagerly wait for the arrival of the SAM range into our homes, let's not forget the Plus D.

We reported on the Plus D back in issue 27. Existing Speccy owners who run this system have a strong set-up which is fairly future proof. All tape software can be backed up to disk and run in the disk environment. And now there's a new development for Plus D owners, which comes courtesy of INDUG.

I'M IN WITH THE INDUG

INDUG is a user group for Disciple/Plus D users, and as well as producing a fine news magazine, this group also promotes independently produced software for the device. One of its number, Steve Nutting, has designed this neat little program called Plus D Hacker which lets you hack into games and examine/edit graphics and code.

In order to use this wammy program you first have to load the System disk that you generated when you first got your Plus D. This is an automatic reflex for all Plus D owners, so I won't bore you with the details. Next load the Plus D Hacker tape, and insert a fresh disk.

The program will autostart. FORMAT the disk and then write three files. This is now your working Hacker disk.

The three files are as follows:

P1 +SYS HACK 14 CODE 8192,6656
P2 HACKER SJN 41 SPECIAL
P3 GRAPHICTEXT 14 CODE 8192,6656

These three hunks of code use up 35K, which means, after a quick bit of maths involving my toes, you're left with 744K to use. Or only 344K if you're running single sided media like five an' a quarter inch disks. You can then activate the Hacker program by slapping the Plus D button, followed by 0 or 6. You press 0 if you want to return to the program with the screen restored, and 6 if you'd like the screen to be cleared. Then you have the Main Hacker Menu with a choice of options: D, T, G, S, I, F, B, L and P

WHAT'S ON THE MENU?

Hacker is a very complex program, with a great deal of sophistication built in. The options available perform the following functions:

Key D
This disassembles the code in memory, from a given Start Address (0-65535) into readable Z80 mnemonics. The quality of the disassembly is really VERY good, recognising a total of 798 op codes, including 102 undocumented Zilog codes!

Key T
This also disassembles the code between specified locations, but this time an ASCII dump of the code is supplied down the side. Very handy for reading and altering text in programs to customise them!

Key G
This is one of the most powerful Hacker commands. Using this sub-utility, you can scan the code for graphic sprites information, and even set up a search for likely sprite data. You can even fast forward through the code, and see the data graphically represented. When you get to an area you like the look of, you can also fine tune the graphics until the bit you want is on the screen, also scrolling left and right through the code to find the bits that match. Finally you can stretch or shrink the graphics to resize them. Most of the time the code for a graphic is spread around through a piece of game code, and this helps you to visually check the graphics you are editing. Having tracked down the graphics you want from the game/program, you can then grab them, attributes and all. Good eh?

Key S
Use this to search for a string, or particular piece of text, like a Hi-score table or congratulations message perhaps. Once you've found it you can edit it in the normal way. Not only that, but you can also search for numbers in the range 0-255 (what else?). If you know your onions, or even your op codes, you will be able to nail down exactly what the programmers have done, and where they've hidden all the games important little places. In combination you can also search for mnemonics, like LD HL,128, and in a similar way to the pure ASCII or numerical search you can seek and destroy the games most important bits, or even bytes.

Key I
Well, this one speaks for itself. The infinite Lives search, looking for the bytes LD HL,nn (a common lives incremented or even DEC (HL), which as Dave MaccaMcCandless will tell you is best POKEd to NOP to prevent any lives counter reaching zero. Nifty, huh? This routine makes your job a lot easier, on account of the fact that the DEC (HL) for example could be in as many as 20-30 different locations! You're gonna need help, boy!

Key F
This simply finds blocks of 256 or more recurring bytes. You are told the start and end address of the block, and which code occupies all these spaces in the code.

Key B
The Block Fill function is a bit like the last one, except that this one FILLs an area with a code rather than just looking at it. You can dear any area of memory using this means, just by typing the start and end addresses and the op you want it in. Like 65368 65535 0, for example. Type that in and bang goes all your UDGs.

Key P
At last! The POKEs section. Pressing P gives you a display of all the registers and stacks used when you pressed the snapshot button. You can edit any location in memory, just by typing the address and the number you would like to be there. Simple as a multiface, really, with less fiddle. To escape from this mode just type H.

And that's the menus. Incidentally, for 128 users, there is the capability to switch RAM banks. As you know your memory is organised into 16K banks and cleverly switched as you use it. (Ho ho ho) Well, you can fix up any 128 programs too, as the Hacker program deals with that too. If some of the routines are too fast for you, you can slow them down, by typing address 13858,0-255, where 0 is fast and 255 is slow. So you can even tailor the speed of your system to your own requirements.

THE VERDICT

Hacker is a fine program, combining some of the best qualities of all the best utilities. In combination with the Plus D interface, it makes the best peripheral for the Speccy even better value. And speaking of value, hows about the price? Care to take a guess? Just £3.95 (or £4.95 for overseas persons). Yup, that's not a misprunt. For just four thin pounds, you can have the hardest (honk) utility since the Interface One. What can I say? it works like a dream and does the business. And if you need a better recommendation than that, then you must have had a Mr Potato Head transplant!

(Many thanks to Steve Nutting and INDUG for sending us a copy of Plus D Hacker.)


REVIEW BY: Phil South

Transcript by Chris Bourne

Crash Issue 62, Mar 1989   page(s) 56

After last months unveiling of Miles Gordon Technology's alternative Spectrum SAM - IAN CULL now reviews MGT's alternative to the +3, the Plus D disk drive add-on. Deepening Amstrad's woes further Ian also disparages the +2A, while updating his DICE review and looking over yet more techie mags.

To make best use of the Plus D, additional hacker programs are needed since it has few functions apart from the 'snapshot' one. Genie, for all Multifaces except the +3, has for some time allowed hackers to stop a game or other program in mid-flight, call up a disassembler/editor, then continue the stopped program as if nothing had happened. Now, two programs for the Plus D allow similar tasks to be carried out. The 'official' Pick-Poke-It (PPI) from MGT themselves and Plus D Hacker (PDH) from INDUG, 34 Bourton Road, Gloucester GL4 0LE. PPI costs £14.95, against PDH which costs just £3.95!

Both programs are supplied on tape, so that they can be configured onto any Plus D set up. In both cases, a new Plus D system file is created on disk, which will auto-initialise the hack-program whenever the disk is booted. Other necessary files take 15K of disk space for PPI and 20.5K for PDH.

Genie fits totally into the Multiface RAM, so is instantly available when the magic button is pressed. Both PPI and PDH, however, store their code on disk, and take some time to appear when the button is pressed - PPI takes 6 seconds, PDH takes 7.5 seconds. However, PDH has a second mode, in which the screen is not saved (useful in some cases) which appears almost instantly!

Once loaded, both programs offer similar facilities (though PDH offers some unusual additional routines), but the routines are also called in from disk as required (eg 2 seconds to call up the disassembler) - PR is quicker here, but PDH is smart enough to not reload the routine if you have just used it. One problem with both programs is that some of the Spectrum RAM is taken up with the hack-program itself (just the screen on PDH, but all memory up to 23755 on PPI). PDH does not deal with this, indeed it is possible to disassemble/edit PDH itself for crash it, if you're not careful). PPI, however, allows the 'missing' memory to be loaded into the 48K section, and examined there - this is detailed under the 128K bank functions as an appendix, so 48K users may miss it!

Both of the programs have a poor keyboard interface; there is a tendency for double registering of keys, etc. This is particularly annoying in PDH, since there is no delete function. You have to let the selected function begin, then abort it (very dangerous if the selected function was a fill memory, or similar).

PPI offers, once the button has been pressed, the normal snapshot functions, as well as a disassembler; memory editor; search routine; access to Z80 registers; (128K) bank switch and search: block find and fill, and graphics search. Output can be sent to the printer with both.

Of the two packages, PPI is far easier to use. When disassembling or displaying memory, one page at a time is given, then the menu can be recalled, the same function restarted, or the following page displayed. PDH simply disassembles/displays until ENTER is pressed (to pause the display), SPACE (which restarts) or M (to recall the main menu). PDH only uses the bottom third of the screen, whereas PPI uses the whole screen. POKEing is also simpler with PR, allowing entry of message strings as well as decimal/hex numbers - PDH has a POKE facility within a general Z80 register page and only accepts decimal numbers.

However, PDH offers additional facilities to PPI - in particular, semi-automated infinite life POKE searches (though nowhere near as sophisticated as the Multiface Lifeguard program), and a graphics search mode. This is quite intriguing, as it allows memory to be scrolled around onscreen in many ways, giving a reasonable chance of finding where a games graphics are held in memory. Another PDH bonus is an additional program that can be loaded into the Plus D over the top of the hack-program (but taking no main Spectrum memory), which gives the Spectrum some graphics drawing functions. For example, RUN*1 (followed by 7 arguments!) allows an area of memory to be defined as a graphic; RUN*d will delete lines of BASIC etc. One problem is that these routines use information from the hack-program, which cannot be run at the same time.

In summary, both programs do their job reasonably well. PPI is a well written program, with excellent documentation - but it is very expensive. PDH is less 'professional', but offers a number of unusual additional functions, and is very good value. Documentation for PDH is not too good (and there is a warning of possible crashes on 128K Spectrums). The average Spectrum user would be quite happy with Plus D Hacker, but serious game hackers may wish to pay the additional money for Pick-Poke-It, to get a more reliable product.


REVIEW BY: Ian Cull

Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB