PLUS D HACKER Plus D Hacker (PDH) is for use on the Plus D interface using version 2/2a System DOS. The software on tape will automatically transfer PDH to an empty disk held in drive 1. To do this you will need to load in your System from disk with RUN (this holds data on how many drives you have, printer codes etc.). With this loaded, type LOAD "" and play in the tape. After installation, you should then see the following files on the disk :- 1 +SYS HACK 14 CDE 8192,6656 2 HACKER SJN 39 SPECIAL 3 +SYS GRAPH 14 CDE 8912,6656 The files take up 67 sectors or 33.5K (this leaves 746.5K Space on a double sided disk for your use). Turn your computer off, then on again and then type RUN followed by ENTER to boot up and activate Plus D Hackers initializing process. Next load in a game or type some basic. Make sure that the PDH Disc is in drive 1, then press the snapshot button and then number zero. After a short while (9 secs.) you will be presented with a menu of 7 options described on the next page. Key R will return you back to the place you pressed the snapshot button. This takes 7 seconds. When selecting the other 6 options from the main menu, you will need to input Y or N to specify if you want to use the printer. If you are in 128K mode then you will also be asked for a page number (see table below). Paging on the 128K Spectrum In Spectrum 128K mode the memory layout is set out as 8 areas of 16K. 3 of these are the normal 16384-65535 48K areas. The other 5 extra RAM areas are paged into 49152-65535. When inputting a page number on any of the Plus D Hacker routines use the numbers 16-23. If you are using the Graphic Picture Searcher then use numbers 0-7. 0 16 NORMAL 49152,16384 1 17 EXTRA RAM1 49152,16384 3 19 " RAM2 49152,16384 4 20 " RAM3 49152,16384 6 22 " RAM4 49152,16384 7 23 " RAM5 49152,16384 Returning back to basic using key R If you are playing a computer game and would like to save parts of memory then go into pokes mode. Enter POKE 23730,23999 and JP to 4535. When you then return back to a game 'CLEAR 23999 : NEW' comes into force, clearing a bit of space to enter e.g. SAVE d1 "filename" CODE 24000,41536. Software using the stack in an unusual way (most of these are scrolling games) can crash the computer at certain points when you return back using Key R. This is due to the way the Plus D interface saves registers and interrupts when you press the snapshot button. Also, returning to 128K mode will sometimes cause a crash due to a bug in both the Plus D Interface and the Spectrum 128K. Key D Disassemble Input the start address from 0-65535 (128K mode input page no). 0-16383 will disassemble the Plus D ROM/RAM area. The disassembly routine will cope with the full 696 standard opcodes, plus a further 102 undocumented Zilog opcodes making a total of 798 opcodes. You may find BAD OPCODE appearing now and then, indicating a non-existent opcode. This may be part of graphic data or table maps of some sort. Key M returns back to the main menu, ENTER will pause disassembly and SPACE lets you input another address. Key T Text Listing The Key controls are the same as 'Disassemble'. The listing is shown as:- 23296 00 54 45 58 54 0D 06 3A 0TEXT.: ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ address 8 hex bytes 32-127 ASCII form Codes 1-32 and 128-255 are shown as a dot and byte zero as an inverse 0. Key G Graphic Picture Search W- Fast forward Graphics up screen S- " backwards " down screen Z- Fine tune Graphics up screen X- " " " down screen Q- " " scrolling left A- " " " right E- Alter size of screen upwards D- " " " " downwards O- " " " " to the left P- " " " " to the right R- Re-input Address M- Return Back to main menu 0-7 page in Spectrum 128 extra Ram 8 or 9 examine screen 1 in Spectrum 128K mode C- Colour, Most large graphics with plenty of colour will store the attributes after the picture data. So if you position the graphic exactly on the screen, (keys Z,X) you can then press C to show the attributes for the picture. If random colour is shown then use keys Q,A,O,P to search out the attributes. SPACE will abort colour mode. B- Block Screen$ searches for Screen$ or thirds held in memory W- Fast forward through memory S- " backwards " " Q- Fine tune forwards A- " " backwards O- " " to the left P- " " " " right C- Hold down to show colour 0-7 page in Spectrum 128 extra Ram SPACE aborts Block Screen$ mode Key S Search String You can input a string of text up to a maximum of 30 characters. Text must be enclosed in quotes. It does not matter if text to be searched is in upper or lower case, or if there are spaces between words e.g. if you want to search for 'Game Over', just enter "GAMEOVER". Notes: - Use SYMBOL SHIFT to get a quote. - Numbers are separated by a comma (use CAPS SHIFT to get a comma). - Numbers can be in the range of 0-255 (these are treated as a single byte). If you place a D before the number, then it would be treated as a double byte number (i.e. numbers in the range of 256-65535). - You can also search for mixed text e.g. "TEXT",13,D128,"S". - SPACE is the delete key. When text is being searched ENTER will pause and M will abort to the main menu. Key I Infinite Lives Search This will search for the following opcodes:- LD HL,nn DEC (HL) This is a common way to decrease lives. By poking this opcode to NOP (i.e. byte zero) you can stop the lives counter reaching zero. When the infinite lives search runs it will generate some addresses. By poking one address with zero at a time (go into pokes mode to do this) and returning back to the game, you can see if the poke has given infinite lives. If it hasn't then poke the next address with zero until you have the correct address that works. Key F Find Blocks This will search out occurrences of blocks of 256 or more bytes of the same type. First, the start and end address is shown, followed in brackets by the number of bytes this takes up and the data byte held in that area. Key B Block Fill This option allows you to poke a block of bytes for a certain area, e.g. to clear the UDG's area type 65368 65535 0. In Spectrum 128K mode you will be asked for a page number. Key P Pokes You will see displayed all the registers and stacks used when you pressed the snapshot button. JP holds the address of the instruction that will be executed when you return back. The two right hand columns show what is held in the stack. - SZ-H-PNC shows the state of the flags S (Sign), Z (Zero), H (Halt carry reset), P (Parity/overflow), N (Add/subtract) and C (Carry). - 48K denotes 48K mode and 128 for 128K mode. If you are in 128K mode then the page number that is being used is shown. - Registers can be altered by using CAPS SHIFT to highlight the register and using ENTER to select it. You can then enter the new content. - If the highlight is a large blue box then you can poke into memory. You can poke single or double bytes. In 128K mode you'll be asked for a page no. - SPACE will abort the pokes input and M will return you to the main menu. Watch out for the updated version of the Plus D Hacker for the Sam Coupe computer, which will use the full 80 column mode and other new routines. ----------------------------------------------------------------- NOTES - This isn't a carbon copy of the original instructions. The layout remains the same but parts have been re-worded to improve clarity. - Before activating the PDH, ensure that the PDH disk is inserted in Drive 1. If you press 0 with another disk, you can end up corrupting the disk as the Plus D ROM looks for a non-existent file (I speak from experience). - The infinite lives search can turn up pokes some of the time. However, it can generate pokes that can corrupt a game. It is no replacement for actually finding the pokes yourself (it doesn't handle DEC A or DEC (IY+n) structures for example). Typed in by Adam.