*********************************************************************
*************  Welcome to the MasterSeka V1.70 Manual  **************
**********  MasterSeka (C) by BUDDHA of Spreadpoint in 1990  ********
*********************************************************************

	Contact BUDDHA for other improvements/bugs!
	You can get my address from any cool guy or contact me by
	writing to Spreadpoint, Postlagernd, 8912 Obfelden, Switzerland
	or Plk 124677 C, 2810 Verden, United Germany.
	Call our Boards:

			NASTY BOYS     215 739 2150
			FLYING SAUCER  +32 87866808
		        HEAVEN'S GATE +49 211375191 

This file contains a quick reference table of (hopefully) all MasterSeka
functions.


CLI and/or 'MasterSeka.startup' file options
--------------------------------------------
	Syntax (with '-')		Explanation
	---------------------------------------------------------------
	-a AbsoluteAdr		: Workspace at Adr
	-b Scrollbarflag	: flag: 0=none, 1=right, 2= left border
	-c			: Workspace in Chipmemory
	-e Editorsize		: size: number of editor lines
	-h Historysize		: size: history size (default: 127)
	-l flag			: flag: 0=linenumbers off 1=on
	-r FileRequesterType	: 0=none, 1=ARP, 2=req.library
	-s Screendepth		: depth: 0=window, 1=1 plane, 2=2 planes
	-w X Y Width Heigth	: Size of window (set either parameter to
				  0 to use its default, use PAL/NTSC size
	-w+ X Y Width Heigth	: Dito, but use workbench screen size
	-X			: Close workbench (only when start from WB)


MasterSeka commands (optional parameters in '[' and ']')
--------------------------------------------------------
	=			: WorkInfo
	>[<SPACE>Filename]	: Copy output to file (close file with '>'!)
	?			: evaluate expression
	@[Command]		: execute CLI command
	a[Address]		: assemble (for options: see below)
	b			: bottom
	bAddress		: calculate bootblock checksum for Address
	c			: compare memory ranges
	cl			: kill source
	cls			: clear screen
	cs			: create sinus! (needs mathtrans.library)
	d[Address]		: dissassemble
	e[Line number]		: edit line
	f			: find in memory
	fi			: fill memory
	g[Address]		: jump to address
	h			: WorkInfo
	i[Line number]		: insert line
	j[Address]		: JSR to address
	ka			: free absolute memorylist (see 'INCBIN')
	kf[<SPACE>Filename]	: delete file
	kl			: kill linkfile in memory
	kp			: kill paste buffer
	ks			: kill source
	l[Searchstring]		: search source for searchstring
	m[Address]		: modify memory
	n[Address]		: show ASCII dump
	o			: old (get source back after 'ks')
	p[Amount]		: display 'Amount' sourcelines from current
	q[Address]		: hexdump memory
	r[<SPACE>Filename]	: read source
	ri[<SPACE>Filename]	: read binary file
	rl[<SPACE>Filename]	: read link file
	ro[<SPACE>Filename]	: read executable (LoadSeg)
	rs[Drivenumber]		: read sectors
	rt[Drivenumber]		: read cylinders
	s[Address]		: single step code
	t[Linenumber]		: jump to top of source or specified line
	u[Address]		: UnloadSeg executable
	v[Pathname]		: show directory
	v<SPACE>Pathname	: change directory
	w[<SPACE>Filename]	: write source
	wbFlag			: Flag: 0=Close WB, 1=Open WB
	wi[<SPACE>Filename]	: write binary file
	wl[<SPACE>Filename]	: write link file
	wo[<SPACE>Filename]	: write executable
	ws[Drivenumber]		: write sectors
	wt[Drivenumber]		: write cylinders
	y			: load EXTERNS
	zAmount			: zap 'Amount' lines


assemble options
----------------
	A	:	Error on absolute memory adr mode (for debugging)
	E	:	Listing on printer
	H	:	Stop after each page of the listing
	L	:	Produce linkable code
	O	:	Optimize
	P	:	Listing on printer (same as E)
	R	:	Error on reloc entry (non pc-relative code)
	V	:	Listing on screen


Shortcuts with Amiga-key (Direct mode marked with a '*')
--------------------------------------------------------
	a	:	Search previous occurence
	A	:	Assemble quickly (no options specified)
	b	:	Mark block
	c	:	Copy block
	i	:	Insert block
	k	:	Cut line
	*o	:	Kill old and open new source
	*q	:	Quit MasterSeka
	q	:	Quit editor
	Q	:	Quickstart (assemble and jump)
	r	:	Replace next occurence
	R	:	Replace ...
	s	:	Search next occurence
	S	:	Search ...
	x	:	Cut block
	y	:	Cut to end of line
	;	:	Insert comment to marked block
	.	:	Remove comment from marked block

Shortcuts with CTRL-key:
------------------------
	A	:	One screen up
	B	:	Mark block
	C	:	Cut block
	D	:	Delete to end of lines
	E	:	Cursor to End of Line
	F	:	Paste block (fill)
	J	:	Search for text (jump)
	K	:	Kill line
	L	:	Lower case
	O	:	Insert line
	P	:	Paste
	Q	:	Cursor to Start of Line
	R	:	Rotate block
	S	:	100 lines up
	T	:	Top of File
	U	:	Upper case
	W	:	Write block to disk
	X	:	100 lines down
	Y	:	One screen down
	Z	:		"
	[	:	ESC

Shortcuts with ALT-key:
------------------------
<CURSOR RIGHT>	:	Jump to matching label
<CURSOR LEFT>	:	Jump back to label call


Pseudo opcodes (directives)
---------------------------
	Syntax			: Explanation		: Example
--------------------------------------------------------------------------
	align Size[,Offset]	: align PC		: align 32
	blk.B/W/L Size[,Code]	: fill block		: blk.b 100,'B'
	code			: code section		:
	cnop Size[,Offset]	: see 'align'		:
	dc.B/W/L Value[s]	: insert constants	: dc.b "BUDDHA"
	ds.B/W/L Size[,Code]	: see 'blk'		:
	endif			: terminate conditional	:
	endm			: terminate macro def.	:
symbol:	equ			: define symbol		: sysbase equ 4
	else			: conditional assembly	:
	even			: align PC to even	:
	end			: end of source		:
	globl			: global symbol (link)	:
	if Expression		: conditional assembly	:
	illegal			: breakpoint $4AFC	:
	incbin "Filename"	: include file in object: incbin "Data"
	incbin "Filename",Adr	: load file to Adr	: incbin "A",$50000
	list			: assembly listing on	:
	load Address		: assemble to 'Address'	: load $50000
symbol:	macro			: start macro definition: plop: macro
	nlist			: assembly listing off	:
	nolist			: 	"		:
	odd			: align PC to odd	:
	org Address		: generate absolute code:
	page			: listing -> new page	:
	plen pagelen		: set page length	: page 66
	pwid pagewid		: set page width	: pwid 70
	pinit expression	: init page settins	:
	section name,type	: code,code_c,bss,bss_c	: section aa,BSS_C

68020 instructions supported:
-----------------------------
	index scale:	eg. move.w (a0,d0.w*4),d0
   	DIVs.L
	DIVsL.L
	EXTB.L
	MOVEC			Rc: SFC,DFC,CACR,USP,VBR,CAAR,MSP,ISP
	MOVES
	MULs.L
	MULs.L
	RTD
	TST	An/D16(PC)/D8(PC,Rn)


Have fun....	BUDDHA


