********************************************************************
**********  Welcome to the MasterSeka V1.31 instructions   *********
****************  MasterSeka (C) by BUDDHA in 1989  ****************
********************************************************************

	contact BUDDHA for other improvments/bugs!
	You can get my address from any cool guy or contact me on
	the PRISM HQ in Switzerland ++41 1 8255751. Tell them you
	got the number from me!

MasterSeka V1.0 is based on the Seka V3.0 of Promax/Kefrens, so here
first their instructions:

The SEKA V3.0 is based on the SEKA V1.5 not the SEKA V2.1 by MFC.
Anyhow this version supports all SEKA V2.1 commands. The upgrade
programming was done by Promax of Kefrens.  This is not a lesson
in how to use the Seka, only upgrade instructions to the new
commands.

Summary of SEKA V2.1 improvements supported by SEKA V3.0:

1. Workspace:
   ----------
   Pressing return by accident when you are asked 'WORKSPACE>'
   allocates normally ( 0 kbytes user memory ).  Pressing return
   by accident will now just repeat the question.

3. Execute:
   --------
   Typing '@' enables you to execute a command on the disk,
   like in the CLI.  Please note that the CLI command RUN must
   be present in the c-directory.  You use it like this:

              SEKA>@
              EXECUTE>Type DF0:SekaV3.0txt

   The output from this command is of course directed to the Seka
   window !!  Not like in the SEKA V2.1 in the AmigaDOS window.

4. >Extern and y:
   --------------
   Typing the command 'y' executes all >EXTERN commands in your
   source code.  The extern command is used instead of the 'ri'
   command.  Type in your source code:

            9  
           10  >EXTERN "filename",start [ , length ]
           11  

               start    = where to load the file
               length   = the desired load length. If you want to
                          load the entire file
                          skip the length indication.

   The start and length values may both be labels and direct
   pointers or a mixture of both.  If you use labels you must
   offcourse remember to assemble before typing 'y'.

5. Look in source:
   ---------------
   The 'L' command doesn't distinguish between lowercase and uppercase.


Summary of SEKA V3.0 improvements not included in the SEKA V2.1:

1. Copy (debugged):
   ----------------
   The line command 'c'-copy now works ok. There was a bug in
   the two way copy selection, that made the Seka destroy the
   copied data.
   In earlier SEKA versions pressing return accidentally caused
   a system crash!  This error is corrected.

2. Fill (debugged):
   ----------------
   Like the Copy command pressing return caused a crash.

3. Copy Link file (debugged):
   --------------------------
   The copy link file commando 'CL' had the same error as fill.

4. Breaking Seka commands:
   -----------------------
   Pressing Ctrl+C breaks any Seka action.  In earlier Seka
   versions, it was not possible to break the directory function.

5. Chip, Fast or Abs memory:
   -------------------------
   This function enables you to specify your program memory type.
   If you are making stupid programs with copperlists etc. and
   they must be located in chip-RAM, type a 'c'. Otherwise type
   'f' or just hit return.
   These options were also available on the Seka V2.1.  The new
   achievement is the Abs-mem option.  Typing an 'a' enables you
   to type in the address where to allocate the user memory --
   where to put your programs.

6. Friendly Directory:
   -------------------
   The 'v' command printed the directory no earlier than when it
   had loaded the entire list. This is corrected, and the names
   are printed out one by one.

7. Assemble-Optimize:
   ------------------
   The assembler option 'O' (optimize) had two bugs. Sometimes BRA
   became BR.SA and BRA.L was not changed into a BRA.S when possible.
   These disadvantages are now fixed.

8. Repeat last line.
   -----------------
   Pressing CURSOR-UP repeats last line as usual, but tabs are now
   repeated like a normal char.

9. Write Block.
   ------------
   Pressing CTRL-W in the editor (write block) didn't work.  Now
   this function works ok.  Mark your block as usual, then instead of
   CTRL-C (cut block) press CTRL-W.  You will now be faced with the
   prompt FILENAME>.  Type a name and your block is saved at the disk.

10.Hunt in memory:
   ---------------
   The old line command 'h' is moved and is now called '=', this
   has made space for a new command called 'h'-hunt. This is
   a hunt in memory command.  Try to type:

              SEKA>h
              BEGIN>$40000      (address or label)
              END>$50000        (      ----      )
              DATA>"hello",$A   (string in ascii or bytes seperated
                                     with:  <space> or , or + )

   If your data is found a lot of times in memory, hunt can
   be stopped by pressing CTRL-C.

11.Print command:
   --------------
   Typing '?' in the SEKA V2.1 printed the hex, dec and binary value.
   Now this version also prints 4 ascii characters (one longword). 

12.PAL & NTSC:
   -----------
   This version of the SEKA features automatic PAL and NTSC selection.
   If you start up in PAL the window is automatically opened with full
   256 lines.

13.Edit window:
   ------------
   Pressing ESC activates the edit window. The edit window has been
   enlarged to  22 lines/PAL , 19 lines/NTSC. 
   This could cause a problem because the 'q' command displays 8
   lines and the edit window deletes some of these lines.  To
   solve this problem I have given the key just below the ESC key
   marked ` a new function.  Pressing this key opens a smaller edit
   window 13 lines/PAL,  10 lines/NTSC.  Inside the editor, the ` key
   has its normal function. So you can still use it in your programs.

14.Edit scrolling:
   ---------------
   Pressing the shift together with one of the cursor keys, scrolls
   the edit display one full screen up or down.

15.One hand editing:
   -----------------
   In the editor it is now possible to do mark-block, cut block and
   paste-block with the same hand.  CTRL-B = mark block,  CTRL-C =
   cut block.  CTRL-F or CTRL-P = fill/paste block.

16.Rotating block:
   ---------------
   Let's say you have typed something, that is in exactly the wrong order. 
   (the first line should be the last etc.etc.).  Mark the desired
   block and press CTRL+R to rotate this block.

17.Lowercase block:
   ----------------
   Mark a block and press CTRL+L.  All text is turned into lowercase.

18.Uppercase block:
   ----------------
   Mark block and press CTRL+U.  Uppercase again.

20.Delete to EOL:
   -----------
   Press CTRL+D and the line is deleted from the cursor to the end of
   line.

21.Go to top of text:
   ------------------
   Press CTRL+T and you are at the top line of your source.

22.Look in editor:
   ---------------
   Looking with the 'l' command finds text in you source.  Now this
   function can be executed while editing.  Press CTRL+J in the
   editor if you want to look for the same text once more.

Promax note:
-------------
   In this version of the Seka I have not only tried to make new
   functions but also debugged some of the old ones. I have used nearly
   all the SEKA V2.1 functions, and improved some of them. A bigger
   edit window is provided.  Therefore more lines are printed taking
   up more time.  The time used can be cut down using the CLI commands
   wb2 (one Workbench bitpl) and blitzfonts before running the Seka.
-------------------------------------------------------------------
All text & errors above this ^ line was written by PROMAX !




Now MasterSeka's new improvements, done by BUDDHA:

MasterSeka V1.0:
----------------
- can now be started from WorkBench (odaer Werchbank , Sali Chris!)

- accepts CLI-parameters, i.e. Workspace can be chosen from CLI:
  type 'MasterSeka 50' to start MasterSeka using 50k of workspace (Public).

- The hunt command has been improved to support search for longer hexdata
  (i.e. where in Seka V3.0 you had to enter DATA>$70,$00,$60,$06
   you may now enter                        DATA>$70006006

- the filelength is now displayed DEC and HEX and not Pizza

- ri will now display start- and endaddress after having loaded the file.

- silly endmark (ASCII $1A = CTRL-Z) won't be saved with the source any
  longer.

- lines with more than 70 columns won't trash the edit window any longer.

- MasterSeka will AUTO RUNBACK, i.e. will detach itself from CLI!

- The way Seka assembles BRAs has been improved the following way:
  Optimize will only optimize branches with UPPERCASE ".L", so you
  are able to set some branches to long by yourself, which are NOT
  CHANGED! (Thanx to AMICOM for that idea!)
  Example:	bra  , bra.L, BRA.L will be optimized (changed to bra.S),
	   but	bra.l, BRA.l won't!

- One-Hand-Scrolling has been improved:
  CTRL+A	=	Screen Up	(also SHIFT+CursorUp)
  CTRL+Y/Z	=	Screen Down	(also SHIFT+CursorDown)
  CTRL+S	=	100 lines up
  CTRL+X	=	100 lines down

- SHIFT+CursorLeft/Right jumps to Start/End of Line

- BUSY WAITING has been removed, i.e. MasterSeka will now multitask better!

- '!'-command now offers 3 possibilities:
	a) Exit to System
	b) Restart MasterSeka (you may change WorkSpaceSize!)
	c) Abort '!'-command

- Write Object has been modified once more (no more 'MODE>' to ignore):
	'wo'  works like in Seka V1.5 (public hunks)
	'woc' produces chipmem hunks, i.e. CODE will be loaded to CHIPMEM!
		(I implemented this feature though it's a loser feature,
		 because only sloppy programmers occupy worthy CHIPMEM (or
		 GRAPHICSMEM as it will be in KickStart 1.4) with CODE!
		 But I know that there are lots of 'coders' who ignore all
		 the rules which make the AMIGA more powerful than ATARI
		 or (I)diotic (B)ullshit (M)achines.
		 AMIGA: BTTR	(better than the rest! Hi BTA-Depeche!)

- CTRL+T in editor jumps to top of file. But if you are already there
  MasterSeka jumps to the bottom of the source!


MasterSeka V1.1:
----------------
- Some commands changed their place:
	'h'  has got its old function : Info about Workspace etc.
	'f'  = FIND (previously h = hunt)
	'fi' = fillmem

- fillmem ('FI') and copymem ('C') have got warnings to prevent crashes.

- Zap : if you zap more the 20 lines, they won't be printed out any more,
  so Zap is now much faster.

- CTRL-T (Top/Bottom of file in editor) crashed sometimes. It should work
  now.

- Editormarks are now implemented:
	F1-F10:		Jump to mark 1-10
 Shift	F1-F10:		Set     mark 1-10 !


MasterSeka V1.2:
----------------
- Editormarks now remembers X- and Y-position AND MasterSeka 'tries' to
  track the marks, i.e. entering/deleting lines before a mark will also
  move the marks' positions (except you are editing the same line a mark
  is placed... I'll try to fix it sometime.)!
  WARNING: Jumping to a mark or CTRL+T  will clear your Cut/Paste buffer!
	   I'll remove that bug as soon as possible!

- New Commands: rs[Drive] = read sectors
		rt[Drive] = read cylinders ("tracks" is more common but wrong)
		ws[Drive] = write sectors
		wt[Drive] = write cylinders
			[Drive] : Drivenumber (0-3)
			BEGIN> : Address of first byte to read to/write from
			SECTOR/CYLINDER> : First Sec/Cyl to read/write
			AMOUNT> : Number of Sec/Cyl to read/write
		(example: Use	'rs1 <RETURN>
				 $50000 <RETURN>
				 0 <RETURN>
				 2 <RETURN>'
			   to read the bootblock from DF1: to $50000)

		b <ADR> = Calc BootChkSum for bootblock at address <ADR>
			  (example: b $50000 :-0 )

		cls = Clear Screen (not a mighty command, but ...)


- Bug in MasterSeka 1.0 & 1.1 corrected: BTST DX,DX didn't work. Now fixed!

- Disassemble now prints:
   a)			MOVEM.L	(a7)+,D0-D7/A0-A2/A5
	instead of	MOVEM.L	(a7)+,D0/D1/D2/D3/D4/D5/D6/D7/A0/A1/A2/A5

   b)	Negative offsets as signed decimals
	Positive offsets as unsigned hexnumbers
	(example: MOVE.W #$00F,$180(A5) but JSR -552(A6) !)

- command 'n' (disassemble) has changed its place; it's now called 'd'
  (old 'd' command [editor x lines down] has been removed)

- new command 'n' = asciidump memory (example: 'n $50000')

- CTRL+K in editor: Kill actual line

- Pressing just <RETURN> will now repeat the last command if it was one of
  these:	D (disassemble), Q (Hexdump), N (ASCIIdump)

- Little bug in the startup-code fixed: CLI/SHELL the MasterSeka is launched
  from will now behave normally.

- EDITOR SCROLLING IMPROVED!!! Just try it!!!

MasterSeka V1.24:
-----------------
- Editor scrolling debugged: CTRL-J doesn't bug any more, "<END>"-bug removed.

- SHIFT-LEFT and SHIFT-RIGHT now works in Command-Mode too.

- Pressing return now repeats 'q.w $200', 'q.l $200' as it should

- Default value to fill a block (BLK.X <length>) is now 0 instead of -1.

- New math operation '^': 2^3 ( =2*2*2 =8 ), 3^5 ( =3*3*3*3*3 = 243 ), etc.

- MEGA-BUG removed:	( '/' means or!)
   lea X(An,D/An.w/l),a0 with X > 127 / X < -128 : Out of range reported!
   lea X(PC,D/An.w/l),a0 with distance > 127 / < -128 : Dito!
   lea X(An/PC,D/An.Y) with Y not 'W'/'L' : Illegal adressing mode reported!
  (Hi AMICOM!)
  Remark:	Leaving away the size of the offset register, LONGWORD(!)
		is taken as default. Standard would be WORD, but the old
		Seka takes longword, so for the sake of compatibility, I
		left this bug! Example: LEA 12(A0,D0) is equal to
					LEA 12(A0,D0.L)

- MOVEQ got some new modes:	(Hi AMICOM!)
				X:	-128 < X < 128
				Y:	-256 < Y < 256
		MOVEQ.L	#X,Dn = MOVEQ	#X,Dn

		MOVEQ.B #Y,Dn (	Inofficial syntax!!!! But it allows
				a range from -256 to 256! remember:
				The value is sign-extended, i.e. the
				whole longword is affected !)
	Remark: MOVEQ.B #200,Dn means the same  as MOVEQ.L #200-$100,d0
						or MOVEQ   #-56,d0

- Bug in read/write sectors/cylinders eliminated.

- RS, RT, WS & WT commands without a drivenumber accesses last chosen
  drive (or DF0: if none set).
  Defaults for RS (read sectors) and WS (write sectors) commands:
	BEG>		:	$50000
	SECTOR>		:	0
	AMOUNT>		:	2
  (Just press return to use one of these defaults. If you use the defaults
  for SECTOR (0) and AMOUNT (2) [Though you want to write a bootblock], the
  bootblock checksum is calculated automagically.)

  Defaults for RT (read cylinders) and WT (write cylinders) commands:
	BEG>		:	$50000
	CYLINDER>	:	0
	AMOUNT>		:	1

- Another bug removed:	The Seka sometimes stopped assembling
			with a 'Relative Word/Byte' error when
			a Symbol/Label was accessed which was
			defined later in the source.
			(For example:	LEA	BUDDHAoffset(a4),a0
					.
					.
					BUDDHAoffset:	=	$C64
			 produced a 'Relative Word/Byte' error, so you
			 had to change your source to:
					LEA	BUDDHAoffset+0(a4),a0
					etc.		    ^^
			 to deceive the Kuma Seka.)
			 This bug has been corrected. Hi AMICOM!

- WindowTitle now shows the full current path.

MasterSeka V1.26:
-----------------
PS: Since version 1.0:	printer.device is only opened if really used!

- Pressing <HELP> is now ignored. No more trash produced.

- Command '?' prints now a signed decimal number (-2 instead of 4294967294)

MasterSeka V1.31:
-----------------
- Bugs removed:	- WO (write object) now creates correct hunks
		- V (show dir) does now unlock its dir
		- Trackdisk commands now cleanup correctly!

- Great new command line parsing (CLI options) added:
	MasterSeka PAR1 PAR2 PAR3 ...
  Possible parameters are (NUMBER is a number in hex or dec):
	NUMBER			Workspace size
	STRING			Source to preload
	-a NUMBER		Use absolute mem at adr NUMBER for workspace
	-c			Use Chipmem for workspace
	-e NUMBER		Editor lines
	-w X0 Y0 Width Heigth	Window specifications
				(To get a RAW:10/10/620/120 window, write
				 -w 10 10 620 120. Difficult eh? ;-) )

  e.g. 'Masterseka 100 MySource -c' uses 100k of chipmem and loads the file
  MySource to edit/assemble...

  AND you may store a default configuration in a file 'S:MasterSeka.startup'!
  Example: Write the following two lines to the file S:MasterSeka.startup

	100
	-w 0 1 0 0

  That means: Your MasterSeka will have a default workspace of 100k and
  will open a window with the top left corner at the position (0/1).
  Omitting the width and heigth (or any parameter) uses the default value
  for them.

- Just pressing return now also cancels 'C' (copymem) and 'FI' (fillmem)

- New 'R' & 'W' (read/write source) mode:
  You may type	'r[SPACE]sourcename' to load a source.
  	"	'w[SPACE]sourcename' to save 	"

- Speed of assembling improved: BLK.X will be assembled much faster!

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


Thanks to AMICOM & DEPECHE, PRISM, DDC for reporting bugs / new ideas...

Have fun...
