home *** CD-ROM | disk | FTP | other *** search
- The main document files on this disk are formatted for printing on normal-
- sized (66 lines per page) fanfold paper. To print, from a CLI, type:
-
- type > prt: Introduction.doc
- type > prt: Reference.doc
-
- **********************************************************************
-
- To make the best use of the menus, run "FastFonts" by MicroSmiths, or
- "Blitzfonts" by Hayes Haugen. If you don't, the menus will be very sluggish
- to scan through, because of the large number of sub-menu items.
-
- **********************************************************************
-
- The file "arp.library" must be available for ReSource to run. ReSource will
- look for "libs:arp.library" OR "ReSource:libs/arp.library". This allows you
- to run ReSource after booting on a disk that does NOT have arp.library in
- its' LIBS: directory.
-
- **********************************************************************
- In an effort to minimize piracy, each copy of ReSource sold is individually
- assembled and linked, making it easy to tell who the original purchaser was,
- should it be pirated. Should you find any commercial copies of ReSource
- "floating around", send a copy to the author:
-
- Glen McDiarmid
- 28 Marginson Street,
- Ipswich, Queensland
- 5405 AUSTRALIA
- (07) 812-2963
-
- If you are the first to send in that particular copy of ReSource, you will
- recieve a complementary copy of my next software release. In any case,
- I will send back to you, the latest version of ReSource. This offer
- applies only to original purchasers of ReSource.
- **********************************************************************
- Bug fixes/Late changes:
-
- V3.01 (06 April 1989): The new "Origin" functions were not functioning
- correctly. Fixed. Some functions which should have triggered a screen
- update were not doing so. Fixed. Two new symbol bases were added;
- "Janus library" and "Rexxsyslib". A user reported that when the "All" option
- for "blank lines" was selected, "JSR" and "BSR" lines should have been
- followed with a blank line. These functions now work slightly differently in
- the menus; you may select "Unconditional", "Conditional", or "Calls". You
- may select more than one, in this case a blank line will appear after any
- line which falls into any of the selected categories. Lines will never be
- followed by more than one blank line, regardless of how many selected
- categories it falls into.
- **********************************************************************
-
- V3.00 (01 April 1989): This is the third upgrade to ReSource.
- New features include:
-
- PROJECT/O'lay binary image: This function prompts you for a filename.
- ReSource will attempt to open the file, and read the contents, overlaying the
- current file. This is NOT the same as opening a file normally, as all
- labels, symbols, comments, data types, etc., stay as they are. Only the
- actual contents of the executable itself are overwritten. For example, you
- may wish to pass on a ".RS" file to someone, but because the program you have
- disassembled is copyrighted, you cannot legally distribute the normal .RS
- file, as it contains the executable. By using this function, and inputting a
- filename of "*" (asterisk), ReSource will completely clear the executable
- within the current file. You may then save to a ".RS" file, which may then
- be distributed, void of the executable. If another person has previously
- purchased the program that you have disassembled, he/she may load it into
- ReSource, and use "SAVE/Save binary image/All", to save the executable to a
- file. He/she then loads the special .RS file which you created. Next, he/
- she then uses "PROJECT/O'lay binary image", supplying as a filename, the name
- of the file previously saved with the "SAVE/Save binary image/All" function.
- This effectively puts the executable back into the .RS file. The other save
- functions may then be used, to save to a .asm file, for example.
-
- Several new symbols bases are now available, including:
- Arexx library (previously ghosted)
- Color entry
- Devinfo
- Expansion int
- PrtInfo
- RomBoot Base
-
- STRINGS/Accumulator/:
- Previously, if any maths functions were used, the accumulator would always
- show the results in hex. You may now choose between hex, decimal, or binary.
-
- SPECIAL FUNCTIONS/Origin/:
- There is sometimes a requirement to disassemble a block of code, as if it is
- loaded to some particular area of memory, other than that to which it is now
- loaded. For example, if you disassemble Kickstart, and save the binary
- image, then later load this into ReSource, it will not disassemble properly
- unless ReSource "thinks" that it's origin is $FC0000. To do this, load the
- file, then use the "Specify" option. Both the "Specify" and "Set" sets the
- origin to an absolute address, the "Set" option is the same as "Specify",
- except it assumes that the current loading address is to be used. These
- options are really only useful if the file is loaded as a binary image, or
- from track, or memory. If loaded from an executable, the reloc32 information
- will ensure that proper relocation is done where needed. It is because no
- reloc32 information is available when loading other files, that this function
- is required. To remove the origin, so that it uses whatever actual address
- the file is loaded to, use the "Clear" option.
-
- SPECIAL FUNCTIONS/Reloc32/: Use these functions to specifically delocate or
- relocate the current file. Is only useful if file was loaded from an
- executable, where reloc32 information is present. Be aware that relocation
- is performed immediately after the "PROJECT/O'lay binary image" function,
- when a file is actually loaded.
-
- OPTIONS 2/Leading zeroes/: Use these options to specify whether or not you
- wish the leading zeroes on hex values to be shown.
-
- OPTIONS 2/Assembler/: Use these options to specify which assembler the
- output should be suitable for. Metacomco output currently works with CAPE as
- well, although smaller files will result with CAPE output. Currently, "dc.b"
- will be shown as "db", "dc.w" is shown as "dw", and "dc.l" is shown as "dl",
- if CAPE is chosen.
-
- The program "ShowKeys" was updated, to recognize the new functions. Also, it
- now looks for ctrl-c.
- **********************************************************************
-
- V2.42 (14 March 89): Several symbols in "rawkey codes" symbol had
- incorrect values. These were corrected. Whenever a "load file" was opened
- that contained labels of 16 characters long, ReSource would lock up. Fixed.
- There is a new distributor for ReSource in the USA. Contact:
-
- The Puzzle Factory
- P.O. Box 986
- Veneta, OR 97487 USA
- (503) 935-3709
-
- V2.41 (21 Feb 89): CAPE macro assembler release 2.00 now used to assemble
- ReSource. When a DIVS, DIVU, MULS or MULU opcode had an immediate source
- operand greater than $FF, only the lower byte value would be shown. For
- example, " DIVS #$3E8,D0" was shown as " DIVS #$E8,D0". Fixed.
- Code is now disassembled around 30% faster than in previous versions.
- A bug which sometimes caused the "calculate .asm size" function to crash was
- reported to me. I also received an .RS file which I was able to use to track
- down the bug.
-
-
- V2.38: (1 Feb 89): Several bugs were introduced in V2.37 when the CAPE
- assembler was used. Until the problems are sorted out, Metacomco will be
- used. This version should be identical to V2.36.
-
- V2.37 (11 Jan 88): Used CAPE assembler to assemble ReSource. (Metacomco
- was used previously). No actual changes to source for this release.
-
- V2.36 (24 Nov 88): PC-Relative addressing modes now fully supported.
- e.g.:
-
- MOVE.L MyLabel(PC),D0
- ... rest of code
- MyLabel: dc.l 0
-
- V2.35 (17 Nov 88): Blank lines were not shown properly. Fixed.
-
- V2.34 (16 Nov 88): In various places, ReSource was putting extra spaces in
- the output .asm file, notable on blank lines, and after the "RTS"
- instruction. This has been eliminated. The "MOVEQ.L" instruction was
- changed to "MOVEQ", also to decrease the size of the .asm file. Where a
- JSR uses a PC-relative address, this shows now as "JSR Label(PC)". The same
- applies to the JMP instruction. Flip case for code was not working
- properly, this was fixed. Local labels are now supported. When ReSource
- decided that you had were trying to create a duplicate label, you had to
- "click" in the resulting requester, before typing in the new label name.
- Fixed. Offset -6 in the potgo.device was incorrect, it now properly shows
- "_LVOAllocBits". Single quotes are now shown properly in ASCII strings, as
- two single quotes.
-
- V2.33 (23 Nov 88): When the last occurence of a particular symbol is
- removed, the entry in the equate/ xref table is now also removed. When
- creating a symbol, unless a macro is being either created or executed, the
- symbol creation will fail if it is already defined as a label. This only
- applies to manually defined symbols. There is still no checks to make sure
- that you do not define a symbol twice, to two different values. In this
- case, the entry in the equate table will equate the symbol to the first
- replacement value. This will be fixed in a later version. For now, just
- be aware of the potential problem.
-
- V2.28 (24 Oct 88): When allocating a larger memory block for list nodes,
- the size was calculated by doubling the original block size. To make better
- use of (limited) memory, the new block size is now 1.5 times the size of the
- original. When the multiply function was used, it would sometimes cause a
- 'macro fail' when it shouldn't have. Fixed.
-
- V2.27 (16 Oct 88): Some forms of references were not being recognized when
- disassembling directly from memory, or binary files. Fixed.
-
- V2.26 (15 Oct 88): When a file was loaded with label (debug symbols) that
- refered to locations beyond the end of the file, ReSource would crash. Now,
- ReSource will not use labels unless they are refer to locations within the
- current file.
-
- V2.25 (10 Oct 88): "SYMBOLS 2/H-I/Hunk types" created incorrect symbols for
- some values. Fixed.
- A bug introduced in V2.24 which resulted in some bad code being produced was
- fixed. E.G.:
- OR.W D0,-$0004(A5),D0
-
- V2.24 (02 Oct 88): "SPECIAL FUNCTIONS/Convert xx(A4)'s" changed so that
- relative Effective Addressing is still used, but instead of using an absolute
- offset, a relative offset is achieved. I.E:
-
- MOVE.L -$541E(A4),D0
- .. becomes ...
- MOVE.L lbC000342-DT(A4),D0
- .. instead of ...
- MOVE.L lbC000342,D0
-
- This will require you to define the label "DT". Normally, it will be placed
- where the A4 register points to in the file. However, sometimes A4 will
- point to some place beyond the end of the file, you can still equate "DT" to
- that address:
-
- DT equ START+$19042
-
- As long as "DT" is within 32K of all labels that require relative addressing
- from A4, you can place DT anywhere you want. For programs smaller than 64K,
- you could place "DT" in the middle of the file, and all parts of the file
- would be able to be referenced from an offset from A4, both data AND code,
- providing that they are in the same section as "DT".
-
- The advantage of using relative addressing is mostly in program size, however
- some speed increase is likely also. Each time you use relative addressing
- instead of absolute addressing, you will save at least SIX bytes in program
- size, but only two bytes for the loaded program size. When this function was
- used previously, it usually resulted in a file that was much larger than the
- original. Now, it should be approximately the same size as the original,
- when you reassemble the source code that you create.
-
- When "SAVE/Save .asm" was used, and the destination device became full before
- all of the file was saved, if the user hit "Cancel" on the system requester,
- the file was not properly deleted. Fixed.
-
- To help with programs that use A-line and F-line instructions, these will be
- shown as a macro, named "AFLINE", the only operand being the word value.
- Where this has been detected in the file, and "SAVE/Symbol table" is active,
- the appropriate macro will be defined at the start of the output file:
-
- AFLINE macro
- dc.w \1
- endm
-
- The "EXG" instruction was displaying its operands in the reverse order.
- Fixed.
-
- V2.23 (22 Sep 88): "CURSOR/Absolute/Fwd reference" and
- "CURSOR/Absolute/Second fwd reference" would not accept references to the
- first byte in any file. Fixed.
- "SYMBOLS 2/A-B/Breakbits" now shows multiple symbols correctly.
-
- V2.22 (22 Sep 88): When extremely long lines of ASCII were displayed, the
- output buffer sometimes overflowed. The maximum line length for ascii
- lines is now 256 characters. The output buffer size was increase from 4K
- to 8K, so that displays with many long ASCII lines will be displayed
- fully.
- When a program with an extremely high number of symbols was saved as a
- .asm file, the output buffer would overflow, usually resulting in a
- GURU. The equates table is now saved after each line.
- It was not mentioned in the main documentation that .RS files saved under
- V2.XX cannot be loaded by previous versions of ReSource. However, ALL .RS
- files created by V2.XX and previous, can be loaded by V2.XX. .RS files
- saved under V2.XX are compressed before saving, resulting in much smaller
- .RS files.
-
- V2.21 (20 Sep 88): If a full-line comment starts with a semicolon, it will
- be shown WITHOUT a semicolon. When this happened, it was being shown one
- character too long. Fixed.
- If the OpenLibrary call for "arp.library" fails, ReSource now tries to open
- "ReSource:libs/arp.library" instead. Thanks Charlie!!
- When "SYMBOLS 1/Libraries/Dos" was used for offset -$A2, "_LVODirPacket" was
- given, instead of "_LVOGetPacket". Fixed.
- "ShowKeys" program added to distribution disk.
-
- V2.20 (18 Sep 88): Even though "DISPLAY/Decimal conversion/None" may have
- been selected, zeroes were still being shown in decimal ("0" instead of
- "$00"). Fixed.
-
- V2.19 (15 Sep 88): If "LABELS/Create single/Label" is used inside a macro,
- the check for duplicate labels is no longer made. Outside of macros, the
- user will be asked again for a label, until either a unique label is given,
- or the user selects "cancel". Inside macros, define the accumulator string,
- and use "Put label" to ensure unique labels are used.
-