home *** CD-ROM | disk | FTP | other *** search
/ The Grim Reaper 12 / Grim_Reaper_The_Issue_12_1993___BASIC.atr / cod.doc < prev    next >
Text File  |  2023-02-26  |  9KB  |  1 lines

  1. Codebuster¢----------¢¢Written by Tom Wells¢¢Codebuster is a delightful tool for the experienced ATARI hacker. It is a disassembler that will load any DOS file into a buffer and display the contents as ASCII, hex, or 6502 instructions. It will write out this same file as a binary load file. More than one file may be loaded into the buffer and then rewritten out as one combined file.¢ It will read boot files, but it won't write out boot files.¢*¢The next few screens contain the formats of the commands available in this program. All of the commands are entered through the standard OS input routines and thus must be followed by pressing the RETURN key.¢ The commands are entered as single characters followed by the required and/or optional positional parameters. All addresses must be entered in hex (hhhh). All other numbers will be in decimal (dddd).¢ Codebuster does not check for valid hex or decimal numbers.¢*¢Here are all the commands available:¢¢¢IJttach, אoot, בhange, גisplay, דnter, הind, זelp, כist, לemory, נpen, פead, צend, רnopen, שirtual, תrite, eןit, םero, Ñlabels, ijcompress, ¡©½lister options, וet סut¢¢¢Place holders  * , -¢¢¢Filenames do not need the "D:".¢*¢IJttach labels to the disassembly.¢¢A¢¢This will turn on the label attaching logic. Entering the command a second time will turn it off. However the labels must first be דntered.¢*¢Read the אoot file.¢¢B dddd¢¢The decimal number is the max number of sectors to load. If none is specified all the sectors in the boot file will be loaded.¢*¢בhange memory¢¢C hhhh hhhhhhhhhhhhhhhhhhhhhhh¢or¢C hhhh 'abScefgh...'¢¢Change the contents of memory at hhhh to the hex string or the ASCII string. Remember you will be changing a virtual address which should relate to a section of code in the code buffer. You can change memory anywhere in the machine so be careful. Using a place holder in the address will change memory at the last found address.¢*¢גisplay the contents of memory.¢¢D hhhh dddd¢¢Display memory at address hhhh for the next dddd bytes. This will be a virtual memory address unless a ש is entered to turn off virtual addressing. If only a 'D' is entered the next default number of bytes will be displayed. A place holder may be used for the address to change the default number of bytes without changing the address.¢*¢דnter the label file.¢¢E filename.ext¢¢Enter the standard named DOS file to be used to build a table for the label attacher. Each entry must have a $ to start the hex value.¢¢LABEL  = $hhhh   ;comments¢or¢LABEL  EQU $hhhh ;comments¢¢The labels will be placed at the end of the program moving the user code buffer up in memory. If you were looking at some code it will be over-written and the virtual addressing will be incorrect.¢*¢הind a string¢¢F (F,A) hhhhhhhhhhhhhhhhhhhh¢or¢F (F,A) 'abcdefghij¢¢The second F tells Codebuster to find the first occurance in the code buffer. If it is not specified the next occurance will be searched for. The A requests Codebuster to start at the front of the buffer and find ALL occurances of the string. When the end of the buffer is reached a message is printed and the find pointer is reset to the front of the buffer.¢*¢וet sectors from the disk¢¢G hhhh dddd hhhh¢¢Get dddd sectors starting with sector hhhh (first hhhh) and put them at virtual address (second hhhh). If no address is given put sectors at bottom of code buffer. If no count of sectors is given get 1. If no sector is given get the first sector.¢*¢כist machine language code.¢¢L hhhh dddd¢¢List machine language code beginning at hex hhhh for the next dddd instructions. If the number of instructions is entered it becomes the new default. The standard default is a full screen (21). If only an 'L' is entered the next default number of instructions will be listed. A place holder may be used in the address field to change the default without changing the address.¢*¢Display the לemory location and the size of the user code buffer.¢¢M¢¢¢This probably is of little use to you but it helped me during development and I didn't have the heart to take it out.¢*¢נpen the listing disk file.¢¢O filename.ext¢¢This is the file where all output can be sent with the צend command. The file must be opened before issuing a גisplay or כist command with send pointing to the disk. Once it is open you may leave it open and צend the output to the screen or the disk.¢ When you are done you must close (רnopen) the file before output can be sent to another file. Many other screen messages will go to this file like the boot file record and binary load file load ranges.¢*¢סut sectors to the disk¢¢P hhhh dddd hhhh¢¢Put dddd sectors starting at sector hhhh (first hhhh) from the virtual address (second hhhh). If no address is given put sectors from the bottom of the code buffer. If no count of sectors is given put 1. If no sector is given put to the first sector.¢*¢פead a binary load file into memory.¢¢R filename.ext¢¢As each block of binary load file is encountered the program will prompt you for a response. This allows you to skip, load, or concantenate certain portions of a binary file. A range that is loaded is placed at the bottom of the buffer. If you load a second load range it will overwrite the first and the virtual addressing will be set to that of the second load range.¢*¢You may also concantenate a load range if it will fit in the buffer. A concantenated load range will be placed in the buffer according to the virtual address setting.¢¢For example if the front of the buffer was set to virtual address $5000 and you tried to concantenate a load range of $4000 Codebuster would not allow you to because that would place the load range below the buffer in the program area.¢ The address could also be too high. That is beyond the top of free RAM.¢*¢צend output to screen, printer, disk¢¢S D¢¢צend output to the open disk file.¢¢¢S P¢¢צend output to the printer.¢¢S S¢¢צend output to the screen only. This cancels צend printer and צend disk.¢¢Output can be sent to the printer and the disk at the same time.¢*¢רnopen the listing disk file.¢¢U¢¢This file must be closed in order to save anything written to it before leaving Codebuster. If you leave with an eןit it will close this file for you, but if you just system reset the file will be lost. Sorry about the silly name. I needed the 'C' for the change function.¢*¢Set שirtual addressing.¢¢V hhhh¢¢If a 'V' is entered by its self virtual addressing will be turned off and you will be looking at real addresses. If an address is entered the start of the code buffer can be referenced by the address you gave.¢ It is like relocating code in memory. The program starts up with virtual turned off, or in real mode.¢*¢תrite binary file¢¢W filename.ext lo-addr hi-addr run-addr init-addr alt-addr¢¢This command will create a binary load file from the code buffer. You must specify the start and end of the block of memory to write. You may specify an alternate address (changing the virtual address will do the same thing). Either run and or init addresses may be specified.¢ Place holding characters may be used on run-addr and init-addr.¢*¢eןit the Codebuster.¢¢X¢¢This will close the listing file and return you to DOS.¢*¢םero out the user code buffer.¢¢Z¢¢This will zero out all of the addresses specified in the לemory command. When looking at a section of code the zeros will help identify where the code ends.¢*¢Ñ invoke the internal label processor¢¢% filename.ext¢¢The input file is an assembly listing from Codebuster. Create the file by נpening a listing file, listing some code and רnopening the listing file. Then give the label processor the file name The labeler will gather up all references and then verify which ones are internal and convert all internal addresses to labels. All undefined opcodes are converted to AMAC DB commands.¢*¢ij Toggle the compress option¢¢@¢¢This will place MEDIT tab characters in and shorten the output from the labeler. It is a space saving feature.¢*¢Lister options¢¢¡ list found address - 1¢© list found address¢½ display found address¢¢¢When "finding" ASCII or hex strings these options determine how to tell you where the string is. The addess may be displayed or listed. Listing minus one will allow you to see the instruction that is associated with immediate values or addresses in instructions. Listing or displaying the address found allows you to see ASCII strings or assembler instructions.¢*¢This program is public domain and therefore free for the giving and getting. My best wishes to all fellow hackers.¢