diff -Naur zooey-1.4.orig/zooey.1 zooey-1.4/zooey.1 --- zooey-1.4.orig/zooey.1 2006-12-29 06:17:20.000000000 -0500 +++ zooey-1.4/zooey.1 2022-12-27 19:45:47.730325765 -0500 @@ -3,66 +3,65 @@ ZooEY \- 6502 crossassembler. .SH SYNOPSIS -.B zooey - [\fIOPTIONS\fR] source +.B zooey \fB\-o output\fR [\fIOPTIONS\fR] \fBsource\fR .SH DESCRIPTION .PP ZooEY is a crossassembler designed for 6502 processors. Binaries are generated specially for -8-bit Atari systems (Atari DOS II and SpartaDOS X formats supported). This tool is +8\-bit Atari systems (Atari DOS II and SpartaDOS X formats supported). This tool is compatible with Quick Assembler, one of most popular assemblers in Poland. .SH OPTIONS .TP -\fB\ -d\fR +\fB\ \-d\fR More information about assembly process. .TP -\fB\ -h\fR +\fB\ \-h\fR Help. .TP -\fB\ -i path\fR -Add directory to search path for icl files. Order is: current dir is first, next is first -i path, -second -i path and next. +\fB\ \-i path\fR +Add directory to search path for icl files. Order is: current dir is first, next is first \-i path, +next is second \-i path, etc. .TP -\fB\ -l filename\fR +\fB\ \-l filename\fR Generate labels report. Each line consists of 5 fields: label name, decimal value, hexadecimal value, declaration line number and (optional) additional information. -In last filed can be two values: 'Reloc' means that label is relocable. 'Unused' means +In last field can be two values: 'Reloc' means that label is relocatable. 'Unused' means that label is unused. .TP -\fB\ -m\fR +\fB\ \-m\fR Check memory collisions. You can check collisions only with 'd' and 's' block types. All other blocks are ignored. .TP -\fB\ -o filename\fR -Output fle name. +\fB\ \-o filename\fR +Output file name. .TP -\fB\ -r\fR -Remove previously created file if assembly fail. Name is taken from \fI-o\fR option. +\fB\ \-r\fR +Remove previously created file if assembly fails. Name is taken from \fI\-o\fR option. .TP -\fB\ -s\fR +\fB\ \-s\fR Turn on SpartaDOS X filenames for ICL directive. Ordinary paths looks like 'D2:filename.ext'. If you have sources from SDX, your paths' syntax may be like 'D:>dir1>dir2>filename.ext'. All included file must be in current directory. .TP -\fB\ -v\fR -Prints version and exit. +\fB\ \-v\fR +Prints version and exits. .TP -\fB\ -w\fR +\fB\ \-w\fR Turn display warnings on. .TP -\fB\ -z\fR +\fB\ \-z\fR Turn off QA strange behavior. Currently works: .br -- pseudodirective \fIend\fR used in file included by \fIicl\fR conclude current file and back +\- pseudodirective \fIend\fR used in file included by \fIicl\fR conclude current file and back to previous file, not to main, -- pseudodirectove \fIopt\fR are not skipped in file included by \fIicl\fR. +\- pseudodirectove \fIopt\fR are not skipped in file included by \fIicl\fR. .SH QA INCOMPATIBILITIES ZooEY is a Quick Assembler descendant. As such it should work well with -any code written natively with Quick Assembler. However when porting some +any code written natively with Quick Assembler. However, when porting some code from original QA sources, you have to be aware that not all options of native OPT directive are supported. Those that work are generating binary headers and generating source printout. For details, look at pseudo @@ -70,51 +69,51 @@ .SH VALUES AND TYPES -A numeric value is a number from 0 to $FFFF (0-65535). +A numeric value is a number from 0 to $FFFF (0\-65535). It can be put down in any of the following ways, which defines how it is treated by the assembler: .RS 0 -.B - \fI:lda 2000,x\fR +.B \- \fI:lda 2000,x\fR generates opcode of the mnemonic in specified addressing mode, .BR .br -.B - \fI<$2000\fR +.B \- \fI<$2000\fR generates LSB of the word, .BR .br -.B - \fI>$2000\fR +.B \- \fI>$2000\fR generates MSB of the word, .BR .br -.B - \fI'A'\fR +.B \- \fI'A'\fR generates an ATASCII/ASCII code of the value, .BR .br -.B - \fI'A'*\fR +.B \- \fI'A'*\fR generates an ATASCII/ASCII code of the value +128 (highest bit inverted), .BR .br -.B - \fI"A"\fR +.B \- \fI"A"\fR generates an internal code of the value, .BR .br -.B - \fI"A"*\fR +.B \- \fI"A"*\fR generates an internal code of the value +128 (highest bit inverted), .BR .br -.B - \fI*\fR -current PC (Program Counter) value. This is a 16-bit value, +.B \- \fI*\fR +current PC (Program Counter) value. This is a 16\-bit value, .BR .br -.B - \fI$1010\fR +.B \- \fI$1010\fR a hex representation of the value, .BR .br -.B - \fI%1010\fR +.B \- \fI%1010\fR a binary representation of the value, .BR .br -.B - \fI1010\fR +.B \- \fI1010\fR a decimal representation of the value. .BR .TP @@ -128,8 +127,8 @@ multiplication, division, modulo, division, .BR .br -.B \fI+ -\fR -addition, substraction, +.B \fI+ \-\fR +addition, subtraction, .BR .br .B \fI< >\fR @@ -158,8 +157,8 @@ .SH MACROS -Macro must be enclosed in \fImac\fR and \fIenm\fR directives. -And the macro arguments must start with \\ and +A macro must be enclosed in \fImac\fR and \fIenm\fR directives. +The macro arguments must start with \\ and be decimal numbers which correspond to macro argument sequence. To use a macro you just call its name and arguments like: macro_name arg1,arg...,argN. @@ -181,12 +180,12 @@ .br enm .PP -.RS -7 +.RS \-7 Using the macro: .br .RS 7 blah $2000,$2001 -.RS -7 +.RS \-7 .PP The above macro will be unrolled by assembler into: .br @@ -202,7 +201,7 @@ .RS 4 .ifdef value .br - .if codition + .if condition .br .elif condition .br @@ -210,7 +209,7 @@ .br .fi .br -.RS -4 +.RS \-4 where 'condition' is any arithmetic or logical argument, and 'value' is const symbol defined or not. .br An example: @@ -225,26 +224,26 @@ .br cmp 20 .br -beq *-2 -.RS -3 +beq *\-2 +.RS \-3 .fi .SH ADDITIONAL DIRECTIVES Those two are automatic. I.e assembler recognizes the EOLs anyway. -If, for some reason the assembler can't parse the EOLs, those directive can +If, for some reason the assembler can't parse the EOLs, these directives can force it into a specified EOL mode. .RS 0 .B \fI.atari\fR -forces the assembler to assume that the sourcefile has atari EOLs (9B) +forces the assembler to assume that the sourcefile has Atari EOLs (9B) .BR .br .B \fI.unix\fR -forces the assembler to assume that the sourcefile has unix EOLs (0A) +forces the assembler to assume that the sourcefile has Unix EOLs (0A) .BR .PP The assembling of unpublished (illegal) or extended (65C02) instructions. -By default Zooey uses the op-code list of a generic vanilla MOS6502. +By default Zooey uses the op\-code list of a generic vanilla MOS6502. If you want to extend the instruction set use the following: .RS 0 .B \fI.65c02\fR @@ -261,7 +260,7 @@ .PP .B \fIbin 'fname'[,A[,B]]\fR includes contents of the file 'fname'. -If A is present - readout starts at the offset A, if B is present, +If A is present \- readout starts at the offset A, if B is present, B bytes of file are read in. .BR .PP @@ -275,33 +274,33 @@ .BR .RS 5 .br -.B - a -- address - 16-bit value. -You can write adresses in a row like this: 'dta a(1,2,3,4)', +.B \- a +\- address \- 16\-bit value. +You can write addresses in a row like this: 'dta a(1,2,3,4)', .BR .br -.B - b -- byte - 8-bit value, +.B \- b +\- byte \- 8\-bit value, .BR .br -.B - c -- ATASCII/ASCII code(s) for given argument e.g. dta c'ABCD', +.B \- c +\- ATASCII/ASCII code(s) for given argument e.g. dta c'ABCD', .BR .br -.B - d -- Internal Antic Character code(s) for given argument, +.B \- d +\- Internal Antic Character code(s) for given argument, .BR .br -.B - h -- MSB of argument, +.B \- h +\- MSB of argument, .BR .br -.B - l -- LSB of argument, +.B \- l +\- LSB of argument, .BR .br -.B - v -- vector - 16bit value, relocatable. +.B \- v +\- vector \- 16bit value, relocatable. .BR .br \fINOTICE\fR: Relocatable values work only when declared indirectly @@ -309,86 +308,86 @@ .br Example: .br -dta v($1000) - unrelocatable vector value (constant) +dta v($1000) \- unrelocatable vector value (constant) .br -dta v(*) - relocatable vector value +dta v(*) \- relocatable vector value .br -dta v(*+100) - relocatable, if inside a relocatable block. -.RS -5 +dta v(*+100) \- relocatable, if inside a relocatable block. +.RS \-5 .PP .B \fImem A,B\fR define(reserve) memory block started at A and size B. Usefull only -with \fI-m\fR option (memory checking). +with \fI\-m\fR option (memory checking). .PP .B \fIopt\fR -assembling options. You can use a number, p+ and p- as arguments. +assembling options. You can use a number, p+ and p\- as arguments. .RS 5 .br -.B - a number -is a value from 0 to 255 (compatible with QA opt - +.B \- a number +is a value from 0 to 255 (compatible with QA opt \- but not all bit setups are supported), .BR .br -.B - p+, p- +.B \- p+, p\- source printout on and off. .BR .br -.B - h+, h- +.B \- h+, h\- standard DOS header (FFFF) on and off. -.RS -5 +.RS \-5 .PP .B \fIorg\fR binary header block generation (interchangable with 'blk'). The parameters are: .RS 5 .br -.B - addr -- address (exactly like in QA), +.B \- addr +\- address (exactly like in QA), .BR .br -.B - n,addr -- headerless block, beginning with addr, +.B \- n,addr +\- headerless block, beginning with addr, .BR .br -.B - d,addr<,addr2> -- a generic DOS block with FFFF header. -Source is assembled from addr. If addr2 is provided, the block addres is addr2. +.B \- d,addr<,addr2> +\- a generic DOS block with FFFF header. +Source is assembled from addr. If addr2 is provided, the block address is addr2. .BR .br -.B - e,[m|e],size -- dummy block. Reserves a memory block in lowmem or xms. +.B \- e,[m|e],size +\- dummy block. Reserves a memory block in lowmem or xms. Does not contain data, only reserves address space of size 'size', .BR .br -.B - s,addr -- generic Sparta block with FAFF header. Symbols and jumps +.B \- s,addr +\- generic Sparta block with FAFF header. Symbols and jumps to 'r' type block are supported. After using the two, one must use 'u,a' and 'u,s' blocks (using the same rules as apply for 'r' type blocks), .BR .br -.B - r,[m|e] -- relocatable sparta block with FEFF header. +.B \- r,[m|e] +\- relocatable sparta block with FEFF header. After the last 'r' block, you must use 'u,a' block(s). -And, if you used symbols - 'u,s' block(s), +And, if you used symbols \- 'u,s' block(s), .BR .br -.B - u,a -- address update block (must follow 'r' block - see above), +.B \- u,a +\- address update block (must follow 'r' block \- see above), .BR .br -.B - u,s -- symbol update block (must follow 'r' block - see above), +.B \- u,s +\- symbol update block (must follow 'r' block \- see above), .BR .br -.B - u,n,'name',addr -- symbol declaration block. Defines symbol 'name' (max 8 chars) beginning at addr. +.B \- u,n,'name',addr +\- symbol declaration block. Defines symbol 'name' (max 8 chars) beginning at addr. .BR .PP -.RS -5 +.RS \-5 .B \fIsin A,B[,C]\fR generates a sine table with MAX of A and table length of B. -The aplitude level is at 0 or C (if specified). +The amplitude level is at 0 or C (if specified). .BR .PP .B \fIsmb\fR @@ -419,7 +418,7 @@ .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111\-1307 USA .SH AUTHORS .TP @@ -430,12 +429,12 @@ Testing and documentation. .SH REPORTING BUGS -Report bugs to . +Report bugs to . .SH EXIT CODES 0 assembly OK, .br -1 warnigs (if displayed), +1 warnings (if displayed), .br 2 errors, .br