/* Document for C64_ASS 6510-assembler by Oyvind Jergan 1997
 *
 */

(Read <syntax> for further information about the syntax and <ins_set> for a
list if the valid instructions)

This program is an assembler for assembling 6510-sourcefiles to executable
code for the C64. You shuld notice the folloving:
- Arguments:
	The program requires 2 or 3 argumentes. The call-syntax is:
	Usage: C64_ASS source-file instructionset-file [output-file]
	The parameters are the following:
	- C64_ASS:
		The executable file.
	- source-file:
		File containing the source in ascii format. The syntax for
		the source if given in an additional file called <syntax>.
	- instructionset-file:
		File containing the 6510-instructionset. This file comes
		with the assembler.
	- [output-file] (optional):
		IF no error accure during assembling, this file will be
		written. It contains the resulting code. Two bytes are
		included at the start of the file containing the
		load-address. If the program is called with only 2 arguments,
		"source-file.C64" will be used as output-file.

- Zero-page addressing-modes:
	The syntax Exp, [Exp , y] and [Exp , x] are used for both zero-page
	and absolute addressing-modes. To select one of them, the assembler
	does the following:
	- If Exp is defined (at the time the compiler find the instruction
	  in pass 1 (defined above)) and Exp < 256, the zero-page addresing-
	  mode is used if possible (if it is valid for that instruction).
	- Else, the absolute addressing-mode is used.    

- Variables:
	All variable-names are limited to 40 characters. The syntax for
	variable-names is contained in the file <syntax>.

- Ascii / Petascii:
	The assembler use ascii as a default. But most existing assembler-
	source for the C64 use Petascii. So if you like to compile exsisting
	code use the following assembler-directive:
	#set_option o_use_pet_ascii 1
	   
- Transfering the file to a C64:
	If you have an Amiga you can use the program <RunC64> to transfer
	the file to a C64 using a parallell-cable. It will put the file in
	memory where the load-address (two first bytes) points. If you want
	to execute the file direct, you can add a basic line, as RunC64
	automaticly executes an eventual basic-program after the transfer.
	To get a copy of RunC64, contact the author.

- Some hints on using the assembler:
	The following are some examles of how to use this assembler:

	1) new_page	* = * + 256 - <* ; set * to start of the next page

	2) 		* = $0801	 ; make the following basic program:
	   basic        .word nextline   ; 1997 sys4096
			.word 1997
			.byte $9e
			.text "4096"
			.byte 0
	   next_line	.word 0

- The author:
	- Contact me about:
		- Anything regarding the assembler
		- If you like some of my other C64-related programs:
			- The transfer-program RunC64 (Amiga->C64)
			- The transfer-program C64Player (Amiga->C64) for
			  C64-music.
	- How to reach me:
		- Address:
			Oyvind Jergan
			Vestby gt. 56
			2000 Lillestrom
			Norway
		- Phone:
			+047 63-815894
		- E-Mail:
			oyvindje@stud.ntnu.no
		- Homepage:
			http://www.stud.ntnu.no/~oyvindje
