|★ HARDWARE ★ PERIPHERIQUES CPC - INTERFACES DEBUGERS ★ INTERFACE DEBUG - HACKIT|LE HACKER) ★|
|LE HACKER v4 (Amstrad Cent Pour Cent)||HACKIT (Amstrad Action)||HACKIT (CPC Computing)|
THOSE of us who dabble in the black art - otherwise known as machine code - will always welcome something which makes life easier. And Hackit from Siren Software is a novel ha'rdware device which aims to do that very thing.
It plugs into your CPC's expansion port, and has a through connector so you can attach further peripherals. On it are a red push-button and an on/off switch.
If Hackit is switched off, the button functions as a reset switch, which in itself is quite useful. With Hackit turned on, however, the button has a different effect. If a non-Basic program is running, it will be stopped and control passed to Hackit. This contains a foreground ROM - one that takes over the machine in much the same way as Basic.
The Hackit ROM contains a number of utilities accessed by typing in commands, which can be listed with the obligatory help instruction. If you have stopped something you didn't write, the memory command is a good place to begin. It draws a map of memory useage, non-zero bytes being pixel plotted, and zero bytes left blank. This tells you where areas of program and data are located.
Now you can disassemble an area of "memory to screen or file. The screen option also shows hex values, but the disassembly to file is address and mnemonics only. I think the idea of the omission is that you can reassemble the file without modification.
It depends on your assembler, but some will not accept the address field which has to be stripped out. Given that some people will have to process the file. Siren might as well have left the hex values in because I prefer to look through the disassembly in a text editor rather than as acres of paper listing.
Also, the disassembly to any device doesn't show the Ascii value of the memory bytes, which is essential for identifying text.
Another useful function is edit. This takes you into a simple memory editor which allows you to edit memory in hex or Ascii. You can scroll backwards or forwards, but only a line at a time -you can't flick through page by page as you can with most monitors.
RSXs in background roms can be used, but being a foreground ROM Hackit boots up without background roms being initialised. When Basic starts up it goes round initialising any background roms present, but Hackit doesn't do that and if you want to use Maxam, for example, you have to initialise it yourself with a call to the firmware.
This is understandable because if Hackit automatically initialised roms their workspace would corrupt memory. It is far better that you look for a blank area of memory to allocate as ROM workspace, and just initialise what you need.
However, a little more explanation in the instructions would be a good idea because if you haven't initialised a background ROM before, it may seem more difficult than it actually is.
It took me some time to wake up Maxam, mainly due to my Britannia romboard deciding not to be friends with Hackit.
Using another board I got into Maxam, and was able to use the superior memory editor. Not all roms will function 100 per cent under these circumstances, for instance Maxam's text editor wouldn't work. One thing I didn't like about the RSX facility is that you can't pass parameters.
Areas of memory can be filled with a byte value, copied, moved, and saved or loaded to tape or disc. Ports can be read or written to, and individual bytes can be peeked and poked. Memory can be searched, and you can clear the screen, set up the colours, select tape or disc operation, and copy screen output to the printer.
If you have a CPC6128 or ram-expanded CPC664/464 you can switch the extra 16k blocks into the address space between &4000 and &8000. Another option in connection with extra RAM doesn't work with the extra 64k in the CPC6128, but only with an expanded CPC464/664.
As the office RAM pack has walked I was unable to test the feature, but according to the instructions the idea is that you can get a program running in the extra 64k as if it were in the first bank. You can then press the red button, and enter Hackit leaving the 64k intact.
By typing alternate you can reenter Basic, this time in the other 64k bank. You can then load and run a game. If you stop the game you can copy the screen or a chunk of memory into the first program.
If I understand the instructions correctly, this would allow you to write your own machine code to process the second program in some way. It is possible to call a machine code routine from within Hackit, so no doubt this feature has its uses.
Hackit is a serious tool for machine code programmers. As far as it goes it performs a useful function, and is a welcome addition to my armoury.
As well as being handy for debugging it allows you to study the work of professional programmers, and if you wish help you customise commercial programs for your own needs.
Having seen it in action it makes me want to see the idea taken further as I like the idea of a hardware-based debugging system. To make full use of Hackit you need to understand machine code, and it is definitely not for those who don't, or don't want to learn.
L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!
CPCrulez[Content Management System] v8.7-desktop
L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.