Disassembler
Jump to navigation
Jump to search
Disassembler version 2.21 Main Super Def Coding: AWA from AXE, Additional Def Coding: EZ from AXE, Doc by Brainz of Armalyte, Some Ideas by Xelon of AXE, Some Small Ideas by Brainz of Armalyte. And Of Course We Could Continue For A Long, Long Time, But I Think We'd Better Stop Now *** Standard Disclaimer *** If this program ruins your life, then you can't blame me, nor can you blame Eazy or AWA! If you still come to me, I'll pat you on the back, say I'm very sorry and push you out of my house with gentle force. Or: I do not accept *ANY* claims of damage this program might do. Send all angry people to Saddam Hoessein (or Bush, depends on your opinion ...). *** Usual Commercial Craptalk *** May I congratulate you with the purchase/download/request/theft/ swap/bribe of the AXE disassembler? It is a very powerful tool for programmers, developers, lamers, shitheads, US Gold coders (huh?), and every other ST freak. In this small (I hope it will be small) doc I will explain the use of this magnificent program (although AWA is a slow coder, and a lazy one, he is a thorough coder ...), and I'll try to solve some of your questions. *** How To Disassemble *** When you have executed the disassembler, you might be presented with a fileselector. It is now your job (yes, YOUR job) to doubleclick on the program you want to disassemble. An example: you want to disassemble Acopy. You double click it. That's all. End of example. Go home. Well, anyway. The program (the disassembler, d*ckhead!) will then acces the (hard)disk for a moment, irritate you, and finally (sigh) present you with a dialog saying: "Relocate with address:". If you want to do so, then type the address from where it should be relocated. If you do not know what it does, or if you do not need it, click the little and charming '0'. Tadaaaaaaa! The disassembler in action (take a picture, you won't be seeing this alot from now ...)! Now, there are two (2) windows, one showing ASCII (the window on the RIGHT) and one showing all the mnemonics (the one on the LEFT). Nice, you will probably say. But what now? Ah, the inevitable question! Now you must enter the datasections. "WHAT!?". If this was your first reaction, then I advise you the f**k off now, because then you're either 1) A lamer, or 2) A US Gold coder (probably this one). If you didn't react like that, but if there was a slight flicker in your eyes, then I'll explain what a datasection is. In an Assembler program, you can define 'data', like this: "DC.B "Hello!",0", or like this: "DC.L 0". The disassembler from AWA is as stupid as hell, and it can't sort all those things out by itself, so you'll have to do it yourself (>very evil grin<)! In fact, that's the only though thing about disassembling ... Entering the datasections isn't hard, nor is it very complicated, but FINDING them can be quite a nuisance ... If you have found a datasection, then be sure that either window is on the start of it, AND ACTIVE (a small 1 or 2 should be present in the upper right corner, respectivly meaning mnemonics and ASCII), then press: CTRL-B (this marks the start of a datasection). Then go to the end of the datasection, and press CTRL-K. If you want to save the block into the datasectionstable (funny how strange words can grow with AXE products ...) press CTRL-A. There are more ways to do so, I'll talk about them later. Well ... When you have worked for some time, you will feel like a second-hand banana, just like me. If this is the case (it will be, finally), then you can save your datasectionstable, with the option 'Save .DAW file'. The disassembler will ask you for a comment (like: "I disassembled this file, asshole, not you!'), and it will then save the DAW file. When you want to continue, just load the program, then load the DAW and voila! It's there! After some loooong and sleepless nights you WILL finally manage to find all the datasections of the program you so much love(d), and you would like to save the file. Well, this is possible (ofcourse). Choose 'Make Disassembly (or something in between (baby you can be a star (ploingploingploing ploingploing) baby you can drive ...).), and the program will make a nice, partially commented, disassemble. By the way: while saving, the program will say (at a certain point): 'The EZ Relocate Routine!'. You can click on 'Skip This Part' most of the time. (=>AWA: I included this option for programs that do not have a relocation-tab. For example lotsa music routines. If you have ripped some nice coding from address $78000 and saved it to disk with a monitor (templemon) you should use the Relocate option with address $78000 and The EZ Relocate Routine with the address $78000, $79000 (Length of your ripped coding is then about $1000 bytes). My Disassembler will then scan the whole program for addresses between $78000-$79000. If there are any addresses found they will be used as labels. Try it out to see what happens.) Now to the menues: *** The Menues, And What They (Might) Do *** The menue consists of 5 titles, which might work according to normal GEM rules. The menues are: Menu ATARI sign: ================ Information : Info about this program. Menue File: =========== Load Program : This should load a file into memory (old file is cleared and the old DAW too ...) Load DAW : This loads a previously saved DAW into memory. Save DAW : This saves some hard work to disk, as a DAW file. THIS IS THE MOST IMPORTANT OPTION! Almost. Make Disas : This makes a neat ASM-file from your program. Quit : This firstly tells you how to hardwarescroll, and then shows a demo incorporating hardwarescrolling and and 92 channel sound (stereo). In versions above also three 320x400 sprites are moved (saying 'AXE').. Most important option. Menue Options: ============== Show sections : This shows all the datasections you have defined till then. Add sections : Add a datasection to your collection. You must then enter: where it starts, where it ends, and enter it's 'value' (Long,Character, Word or Byte). Kill section : Kill a preciously gathered section. Clear DAW : Clear the complete DAW in memory (noooo ...). Set Address : Jump to window address xxxx. Switch Window : Switch window (TAB does the same thing). Search : Search for Mnenonic, ASCII or Hex value ... Search Next : Repeats the last search. Set Options : This let's you define some options. Check the dialog out and see for yourself. Relocate : Relocate the file in memory with address xxxxx. Menue Special: ============== Music On/Off : This turns of the sweet melodies the soundchip squeezes from itself. Click again to torture again ....... Music List : The list of High Quality music, AWA so stylishly included. Fd Dta Pointers: This options find all the pointers in the data section. This only works of course if there IS a data-section (Check with [HELP]) and if there are any pointers. Read Sectors : You cannot only read programs but also sectors for disassembling. Though the actual program will be lost, and also the DAW file. (So becareful!). There are two ways to read sectors. You can use RWabs or FDC1772. If you want to use the RWabs option you first have to read the BPB of that drive. So if you want to read sectors from drive A just click first on the little A button. You can use the FDC1772 option for special formatted disk.(=Bootable programs (Demos,Games)). Just fill in the Start/End Track,Sector,Side. You may not exceed the Max Sector Limit, if you do, you will be warned and asked to read sectors again. If sectors are read and an error occurs you MUST read at least one sector before the program will continue. Menue Help: =========== Help : This helps you (a little, if you really need help, you can contact me or EZ) (See below) Program Info : Gives you information about the program you are disassembling at the moment. *** Keyboard Commands *** Ctrl-B : Start Of Block: Begin of a data section. Ctrl-K : End Of Block: End of a data section. Ctrl-A : Add Block: Adds a predefined datasection to the table. CONTROL-1/0 : Saves the position where you are in the window at the moment. ALT-1/0 : Retrieves the saved positions. Clr/Home : Jump to TOP of window Shift Clr/H : Jump To Bottom of window Cursor keys : This scrolls the windows one line/mnemonic. Shift+Cursor: This scrolls the windows one screen. *** Other Things AWA Brainstormed *** The dialogs are flying, that means, you can click on a dialog, hold and move it somewhere else. The positions will be saved for one session. You can click on an address in window 1: bra R37da. If you click on '37da' the actual window address will become $37da. (It only works if the address really exists, so if the $37da is in the BBS section it won't work, get it?). Ten addresses will be remembered. If you then click on the right button and left button you jump one address back. Datasections are shown as black parts in the mnemonics window. So you can easy see what is data and text. First you have to add the datasections yourself. I have added some DAW files, just try them out. (You should use the right program, else it will probably be one big mess. So: acopy12p.daw is the daw file for acopy12p.prg) *** The 'Where-Should-I-Put-This' Part *** Not much left to say. Some useful tips, maybe? (Naah..) With each disassembler version some DAW's are released. It shouldn't be hard to understand that these are for your own use, but it would be nice if you stated that you got certain routines by a .DAW file from AWA. Also if you have got any DAW files made yourself I (AWA) would be very happy if you send them to me. My address: Arjen Wagenaar or Arnhem Quick BBS Dorpsweg 32a 085-644262 1711rj Hensbroek My Address For BBS Users: 02265-1674 2:281/801.4 Of course you can also contact EZ. He is also a coding maniac from AXE. His address: Erwin Zoer Admiraliteitsweg 36 1601ed Enkhuizen And we both live in the Netherlands... P.S. Doc became a little bigger then expected (dumb grin ...).