448 lines
12 KiB
Diff
448 lines
12 KiB
Diff
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 <zooey-devel@lists.sourceforge.net>.
|
|
+Report bugs to <zooey\-devel@lists.sourceforge.net>.
|
|
|
|
.SH EXIT CODES
|
|
0 assembly OK,
|
|
.br
|
|
-1 warnigs (if displayed),
|
|
+1 warnings (if displayed),
|
|
.br
|
|
2 errors,
|
|
.br
|