----------------- THE STRIKERS Present ------------------ ------------ Seka Documentation ------------- ------------------------------ 1. Getting started with Seka. 2. The CLI-like commands. 3. The Editor. 4. The Assembler directives. 5. Special Stuff. 1. Getting started. ------------------- To Start Seka, simply type 'Seka' when Dos prompts you for a command. Seka will then ask you to enter the desired workspace size in KB. (the seka prompt is different). At this time, for a 512KB machine, you may enter a number up to 150 if you haven't any other running programs. At this time Seka is now ready to accept your command in a CLI-like fashion. 2. The CLI-like commands. ------------------------- 2.1. Disk functions. -------------------- 2.1.1. Directory. v[dfn:] ----------------- With the V command you are enabled to display the directory of the currently selected disk drive. But, with a special format of the same command you can also change the current data drive, for example vdf1: WITHOUT SPACES makes the df1: as current data drive. 2.2. File management functions. ------------------------------- 2.2.1. Kill a file on disk. kf + --------------------------- To erase any file on the current drive you need the KF command : it simply asks for a file name to erase. 2.2.2. read a source file. r + -------------------------- That command asks the user to enter a file name and reads that source file into the workspace. 2.2.3. write a source file. w + --------------------------- That command asks the user to enter a file name and writes that source file from the workspace back to disk. 2.2.4. read image. ri + + + ------------------ That function enables the programmer to import a block of binary image into his object program, like a Bitmap picture, Sampled Sound, Sound Tracker Module or anything like. Seka will first ask you to enter the file name, then the starting address (or label or register), then the ending address. If you enter a Carriage Return in place of the ending address, the entire binary file is incorporated. 2.2.5. write image. wi ------------------- That function enables you to save a portion of memory to disk. You can also save a non-relocatable executable program this way. 2.2.6. write object. wo + -------------------- This interesting function permits the user to create a relocatable and also executable program from an assembly result. It asks you to enter a file name and then creates the file on current data drive. The resulting file can then be called from Dos by typing his name. 2.2.7. kill source. ks + y / cl + y ------------------- This enables you to erase the current workspace after confirming your intention to do so by typing 'Y'. 2.2.8. old. o ----------- With that command it is possible to get back the workspace lost by a ks or cl command. 2.3. Editing functions. ----------------------- 2.3.1. insert line(s). i [linenumber] ---------------------- With that command you are enabled to insert some lines at the desired line number. You can get out insert mode by typing Control-C. 2.3.2. edit a line. e [linenumber] ------------------- When assembling a program you can sometimes get an error on a given line : it is possible to edit it and re-assemble. 2.3.3. delete line(s). z [number of lines] ---------------------- That command erases the desired number of lines starting from the current line. 2.3.4. set current line. t ------------------------ That command sets the current line to a given line number. 2.3.5. move current line up n lines. u [number of lines] ------------------------------------ That command sets the current line up by a desired step. 2.3.6. move current line down n lines. d [number of lines] -------------------------------------- That command sets the current line down by a desired step. 2.3.7. print line(s). p [number of lines] --------------------- That command outputs to screen the desired number of lines starting from the current line. 2.3.8. screen editor. ESC --------------------- With the 'ESC' key you can enter a screen-based editor which is very simple to use : look at paragraph 3 for a quick reference of all editor commands. 2.3.9. clear screen. -------------------- Sometimes, when the screen becomes too messy, it is desirable to clear it : it can be achieved by using the key alone. 2.4. memory functions. ---------------------- 2.4.1. assemble. a [address] + [options] ---------------- That command creates an executable program (in memory) from the current source file. 2.4.2. dissassemble. n [address] -------------------- With that function you can disassemble a section of machine-language code. 2.4.3. copy a memory address. c.[b]|[w]|[l] + + ----------------------------- That function copies the content of an address (or label) of the desired type into another address. The available types are : - b (byte) 8 bits - w (word) 16 bits - l (long) 32 bits The function will ask you to enter a source and destination address for the copy. 2.4.4. fill a memory area. f.[b]|[w]|[l] + + + -------------------------- That command fills a memory range of the desired type (byte,word,long) with a value of the same type. It will ask you to enter the beginning address, the ending address and the value. 2.4.5. hex/ascii dump. q [address] ---------------------- That command displays an hex/ascii dump of the current location if an address is not specified. 2.5. execution functions. ------------------------- 2.5.1. execute program. g [address] ----------------------- With that command you can execute the program you just assembled. It is possible to enter a breakpoint address or label or for running it without breakpoint set. 2.5.2. execute subroutine. j [address] -------------------------- That command works like the above but is used to run a subroutine (ended with RTS instruction) and doesn't enable a breakpoint set. 2.5.3. Step execution. s [address] ---------------------- It is possible to execute a program or subroutine instruction by instruction with simultaneous display of all registers with that command. It starts from the current location if no other address has been specified. 2.6. Miscellaneous functions. ----------------------------- 2.6.1. evaluate expressions. ? ---------------------------- With that function you can view the result of a computation. The expression is evaluated from left to right. The evaluation order (priority) can be modified by using the square brackets '[',']' instead of parentheses '(',')'. 2.6.2. exit to Dos. ! + y ------------------- With that function it is possible to get back to the operating system after giving confirmation by entering a 'y'. 3. The editor. -------------- 3.1. moving and simple editing. ------------------------------- The editor is quite simple to use. The four arrows on the cursor pad are used to move around in source code. The editor is auto-inserting : to insert some characters simply type them at the proper place, to insert a blank line type at the end of the line before. To delete the characters you may use the key which deletes the characters located to the right of the cursor, and which deletes the characters located to the left of the cursor. 3.2. Cut and Paste. ------------------- To increase the power of the editor a small cut-and-paste feature has been implemented. The control keys are as follows : - Mark first block : - Cut from mark : - Paste block : 3.3. Quitting the editor. ------------------------- You can always come back to the Seka command line interface with the key. 3.4. Some tips. --------------- A big problem of Seka's editor is the lack of speed. That point can be improved by using FastFonts (called before loading Seka in the disk's Startup-Sequence) or Add21KB (which removes one bitplane) or even both. 4. Assembler directives. ------------------------ 4.1. Assembling addresses. -------------------------- 4.1.1. Assembly origin. org <$address> ----------------------- That directive will give the assembler an address where the program can be assembled but it won't necessarily be loaded at that address at run-time. 4.1.2. Loading address. load <$address> ----------------------- That directive is used to indicate the loading address at run-time. 4.2. equates. ------------- Two formats are authorized for equating an expression. 4.2.1. equate. label: equ -------------- That formulation enables you to use the tabulation. 4.2.2. equate. label = -------------- With that syntax the tabulations are not allowed. 5. Special stuff. ----------------- That manual is the result of hours of experimentation with Seka and some very interesting conversations with my friends Lord Blitter and Skylight from Bamiga Sector One. I (The Amiga Buster) want to thank them very much for all their tips. If you are interested in swapping assembly or C language sources (and all other kinds of programs on Amiga) you can contact me at the following address : >>> THE STRIKERS <<< P. B. 18 B-1810 Wemmel Belgium