home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
No Fragments Archive 4: The Falcon Archive
/
nf_archive_four_v1.0.iso
/
ARCHIVE
/
WORK
/
TOOLS
/
DSPDIT.ZIP
/
MANUAL
/
DSPDIT.TXT
< prev
Wrap
Text File
|
1996-09-28
|
21KB
|
709 lines
Contents
========
1 General information
1.1 Files needed
2 Getting started
3 The editor
3.1 Keyboard in the Editor
3.2 Special functions
3.2.1 PART
3.2.2 MACRO
3.2.3 (un-)split line
3.2.4 (un-)rem line
3.2.5 Define
3.2.6 Force token
3.3 Mouse
4 Menu
4.1 About DSPdit
4.2 File
4.2.1 Save ASCII
4.2.2 Save ASM
4.3 Assembler
4.3.1 Assemble
4.3.2 Assemble...
4.4 Editor
4.4.1 Calculator
4.4.2 Search
4.4.3 Replace
4.4.4 Jump to line
4.4.5 Next error
4.4.6 Underline errors
4.5 Block
4.6 Options
4.6.1 Source Settings
4.6.2 Settings
4.6.3 Screen Save
4.6.4 Tabulators
4.6.5 Locate Applications
4.6.6 Define Colors
4.6.7 Memory
4.6.8 Minimum RAM Mode
4.6.9 Load/Save Settings
5 Various
5.1 Addresses
5.2 Thanks
1 General information
=====================
Watch your daughters, SCYNACORE prod. is back!
DSPdit
-THE devkit for the DSP-
This software may not be sold or published on CDs, via PDL etc
without written permission of the authors. QDSP-ASM is (c) by Gilles
Audoly and DSPdit is (c) by Andreas John, Achim Settelmeier.
The authors must not be made responsible for anything!
Read the manual carefully and don't misunderstand the jokes, ok?! ;-)
***** ß-Release *****
DSPdit is a fast DSP devkit for your ATARI Falcon030, consisting of
an assembler and an editor.
This comfortable DSPd(evk)it/DSP(e)dit was written because we had
none ;-) It looks very much like TurboAss because TAss is our beloved
assembler (believe it or not, DSPdit is completely written with
TurboAss).
DSPdit consists of two parts, an assembler (coded by Gilles Audoly)
and an editor (done by TSCC). As QDSP-ASM is originally done to
process ASCII-Files (like Motorola's assembler), it can be used for
ASCII-Files as well but then, you don't have all those nice features
of this devkit.
DSPdit is PD. This means, that it is allowed to copy and spread the
program as long as you copy all the files listed in 'Files needed'
(but of course it is allowed to copy QDSP-ASM separatly, read the
DSP_ASM.DOC for more info)!
The files may not be altered!
We don't expect large donations for our work but at least you should
say thanks, if you like DSPdit :-)
1.1 Files needed
----------------
DSPDIT.PRG - the program (commandline accepted)
DSPDIT.HYP - this text
DSPDIT.SET - the Settings (not really required; see Options)
QDSP_ASM.TTP - the assembler (can be used without DSPdit)
DSP_ASM.DOC - the manual for QDSP-ASM
2 Getting started
=================
To install DSPdit, format your harddisk and copy DSPdit to the AUTO-
folder of your boot partition so that it's available everytime you
boot up. Then install MutliTOS and thousands of accessories to slow
down your Falcon 'cause DSPdit is too fast for you ;-)
Ok, now for the serious part:
Just copy the whole folder to any path on your harddisk you want and
run DSPDIT.PRG. You'll get a message saying, that no Settings are
available, meaning, the DSPDIT.SET-file is missing and default
Settings will be used.
First, you should locate all the Applications you need. Use 'Locate
Applications' in the Options-menu to do so. Here, you select the path
and name of QDSP-ASM, which may be located in another folder as well
as your beloved debugger and up to 4 'external' Applications (you
don't really need to use all four entries, ok?).
Now, you can set up the editor if you want. Try 'Settings' (^S) in
menu Options (see chapter Options for further informations).
Don't forget to save your settings using 'Save Settings' in menu
Options!
3 The editor
============
The editor was especally desinged to allow fast and comfortable
editing of DSP-Sources. It features syntaxcheck (ok, still a bit
buggy but it gets better ;-)), autoformat (meaning evertime your HD
is full, it is wiped out ;-) Ha!
Just kidding, it's only the autoformatting of the lines you enter),
keyboardmacros (for example to allow fast linedelete everytime you
hit return ;-)), direct support of the great QDSP-ASM and easy call
of external programs.
Of course, such simple functions like cursormovement and tabulator
jump are included, too (for the guys, who need that).
3.1 Keyboard in the Editor
--------------------------
To control this little box that inverts letters (some call it cursor)
use the four arrowkeys. For special moves try control to jump
wordwise left/right or pagewise up/down and use shift to jump to the
begining/end of a line or to scroll the source and let the cursor
stand, where it is. For finishing moves use ClrHome to access the top
line on the current page or Shift ClrHome for the top line of the
source. Hitting ClrHome twice will jump to the bottom line. Tab will
jump to the next and Shift-Tab will jump to the previous Tabulator.
All other keyboardshortcuts can be found in the Menu (Always the
keycombination behind the topic, just as seen in all actual GEM-
Programs).
But of course, there're lotsa hidden special moves for faster editing
as well. But as no mag will publish them in the near future (they're
too complex to find out), here's a list (a=alternate, s=shift,
^=control):
^DEL - delete line
^U - undelete line (same as undo but can be used several
times in different lines - for quick linecopying)
^D - double line (but doesn't double labels and comments)
(^)INSERT - insert line
sINSERT - change insertmode
^~ - swap aktual and previous line
a~ - swap aktual and next line
^Z - jump to last edited line
UNDO - Guess it! (Yes! It's harddisk quickformatting ;-))
^(1-9) - set bookmark 1-9
a(1-9) - jump to bookmark 1-9
HELP - fold PART/MACRO (see Special functions)
^HELP - fold all following PARTs/MACROs (see Special
functions)
sRETURN - split line (see Special functions)
sBACKSPACE - unsplit line (see Special functions)
^RETURN - rem line (see Special functions)
s^RETURN - unrem line (yeah, I think, ya know where to find
that)
^ESC - record keyboardmacro ('M' in the infoline symbolises
that you are in the record-mode)
aESC - end record keyboardmacro
ESC - call Menu
^W - changes valuebase or jumps to the label (see Mouse -
doubleclick)
3.2 Special functions
---------------------
3.2.1 PART
To provide a better readability of the sources, it can be devided
into parts indicated by PART and ENDPART. If you're inside a part
and press HELP, the part is folded to one single line. To reopen
it, press HELP once again. A closed part is indicated by >PART.
You may even enter a string behind PART to remember, what's inside
it! Yeah, that's comfortable!
Press ^HELP to open all FOLLOWING parts. Of course, you may also
fold macros indicated by MACRO and ENDM.
3.2.2 MACRO
Macros are defined as:
label MACRO "String"
move \1,\2
ENDM
You see, that placeholders in macros are written in the form of
backslash + number.
So your macros can have up to 9 parameters.
The macros have to be in the first lines of the program. To use
macros, DSPdit checks if your opcode might be a macro. If this is
true, the tokenizer of DSPdit accepts the macro as a new opcode,
this is visualized with a '@' in front.
In this example: label x0,a0
Will be shown as: @label x0,a0
And be assembled as: move x0,a0
For more detail to the subject of macrohandling look in the
dokumentation of QDSP-ASM.
Of course you can fold them as well as PARTs.
And don't mix up with keyboardmacros ;-)
3.2.3 (un-)split line
From your texteditor you know, that (s)RETURN cuts the line at the
cursorposition and moves the rest into the next line. So far so
good. but does cutting "move X0,A" into pieces like "mov" / "e
X0,A" make sense to you???
Well, not all guys know it doesn't and that's why DSPdit only
splits where it's possible! You may split the line between label
and instruction or between instruction and remark. To confuse you
even more, we also allowed you to split the line between
parallelmoves! DSPdit then automatically adds a move to the next
line where the former parallelmove stands! Of course we included
the other way round, too. This means, you can make a parallelmove
out of a normal move (of course only, if it's allowed).
3.2.4 (un-)rem line
By pressing ^RETURN, the current line can be quickly deactivated
(a ";>" will be added to the beginning of the line).
s^RETURN removes those two characters (jepp, guessed right: the
vise versa function ;-)).
3.2.5 Define
[Erm, somehow it's damn difficult to explain, how defines work, so
enjoy this ;-)] Defines are a nice method to include non-concrete
code into your programs [Do you know, what I mean with difficult
to explain? ;-)], eg. if you often change the registers in your
program or if you want to give registers a name.
If you want to use defines, you'll have to put a @ before the
name. Let's have an expample:
r_register DEFINE 'R0'
n_register DEFINE 'N0'
move X:(@r_register)+,X0
move Y1,Y:(@r_register)+@n_register
This feature was included especally for Michael & Björn ;-)
3.2.6 Force token
In case the tokenizer fails to accept a correct line, you can
force it to accept the line if you write a # at the start of the
line.
Example:
# PSEUDOOP-THAT-DSPDIT-DOESN'T-KNOW
3.3 Mouse
---------
The mouse (or trackball) is usually used to control the good old
mousecursor.
But how can this help me developping a source, you ask?
Well, a single click with the left button will set the normal cursor
to this position. This provides extremly fast access for all three-
handed-humanoids (two hands on the keyboard and one hand on the
mouse).
- A doubleclick on a Symbol will jump to the line in which this
symbol is defined.
- A doubleclick on label opens the search box, so by hitting return,
you can search for the lines in which this label is used.
- A doubleclick on a Number will change it from Hex to Bin to Deci to
Hex etc...
This function is also accessable via keyboard. Just press ^W.
You can mark a Block using the mouse by holding the button for a
longer time and move up'n'down.
For those of you, who think, GEM is great, we also included a nice
Menu, which can be accessed using the mouse (of course it's no GEM as
we are sick assembler-freaks who think "only own code is errorfree
code" ;-))
4 Menu
======
The menu can be used by two methods: You can select a drop down menu
using the mouse and then click on the submenu.
Or you may press ESC and scroll though the menu with the cursorkeys
or numbers. This allows you to have keyboardmacros that select a menu
which can't be reached with standart shortcuts.
4.1 About DSPdit
----------------
Click and see (much better than plug'n play on PC ;-) - besides that:
It really is the truth ;-)))
4.2 File
--------
Just those standard save/load-functions... But to explain some in
more detail:
4.2.1 Save ASCII
Saves the source just like it is shown on the screen (except, that
all closed PARTs are saved open.
If a Block is marked you are asked if you want to save just the
Block or the whole source.
4.2.2 Save ASM
Saves the source as ASCII-Text with all PARTs/ENDPARTs mutated to
comments, so that you can use any assembler (e.g. the one from
Motorola) to assemble your (with DSPdit edited) sources...
If you think, we or Gilles have another bug in the code and you
want to go sure, that it really is not your code that doesn't
work...
Or if you want to see some warnings that QDSP-ASM doesn't
feature...
But keep in mind, that QASM is not 100% compatible to the one from
Motorola (esp. Macro-Definitions)
4.3 Assembler
-------------
4.3.1 Assemble
Look "Assemble..." (silly, but it's a 'forward' declaration ;-)).
This one does the same, but without dialog.
4.3.2 Assemble...
The output-filename can be chosen (with paths and anything that
the MS-DOS-Filesystem features, which is not much). This name is
saved with the source, so don't think, you will always get
'NONAME.P56'.
You can also decide, if you want to select an output-file anytime
you assemble your source or just use the fixed one (in our mind
better than to have an 'OUTPUT'-pseudoop).
And you can suppress the wait-for-a-key-when-assembling-is-
finished-function if you want. This can be done because DSPdit
automatically takes over all errors from QDSP-ASM so there's no
real need to see all the messages.
And then it is possible to change the assemblemode:
Outputfile can be:
a P56-file,
a LOD-file or
a LOD-file (with a yell for the debugger afterwards only, if
no syntax errors are left over!)
As QDSP-ASM features an pseudoop called 'PRINTVAL' (see
documentation of QDSP-ASM), we support that as well. Just play
around with the button and you surely see what it effects ;-)
There is also the possibility included to start one of the
Applications (which DSPdit offers 4 slots for!) after assembling
was successful. This makes coding a bit faster, as DSPdit is it's
own develop-shell.
You can suppress the commandline-box with the button offered in
that box as well.
Not to forget that it is possible to choose cancel. ;-)
4.4 Editor
----------
4.4.1 Calculator
Just to look like TAss ;-)) No, it really calcs formulas! But no
symbols allowed to calc with (in a deep mood of being bored this
will maybe change but it's hard to do).
Please take note that this calculator can calc fractionals!!
4.4.2 Search
A standard search-functions which shouldn't need explainations.
4.4.3 Replace
Ok, you surely know, how replacling works, so we won't bore you
with that. But this replacefunction can do more than just replace
explicit words! To completely confuse you, we included not one of
those simple allquantors, no!
We have multiquantors, yeah!
Ok, what the fuck is a multiquantor?
You can define which letters can be used instead of the
multiquantor. This allows you to replace only what you really want
to replace. Let's have an example: Multiquantors are k and d, the
string to search for is mo*e.
This will replace mode or smoke but not move!
If you select exclude multiquantor, all letters except the ones
you entered will be used instead of the multiquantor.
The multiquantor has no effect on the replacestring!
4.4.4 Jump to line
Set cursor to the line you entered, or jumps to the label you want
to jump to.
Just that simple.
4.4.5 Next error
Moves cursor to the line with the next error. The warnig is
cleared after the line is changed.
4.4.6 Underline errors
This flag forces DSPdit to underline the lines with errors in
them.
Errors are updated everytime you assemble the source.
(Gives a rather nice overview of errors ;-))
4.5 Block
---------
I think, this doesn't need any explainations, except perhaps, that
this blockfunctions don't work like cut'n insert via clipboard but
always copy or move the currently marked Block (to be honest: I hate
clipboards, you never know, what will be inserted).
4.6 Options
-----------
4.6.1 Source Settings
Click on Act.src will choose the actual source to be automatically
loaded after entering DSPdit. Of course, this can be turned off
(guess which button to use ;-)).
There's also a button to allow saving the source packed (with a
damn fast lzwpack-routine supplied by G. Audoly :-)). It should be
on as packing takes no time but safes some discspace.
We also included the possibility to save your source automatically
after a while. It may be saved under the current source's name
(Act.Src) or under the name of a temporary file (SaveSrc). The
temporary file can be chosen using Sel.
This setting also affects Minimum RAM Mode savings.
The changed Settings may be saved under the actual settingsname
using the Save Set button.
4.6.2 Settings
In this very big box you can choose your preferred settings. Some
words about them:
Show HEX: all hexvalues can be cut, expanded or cut bytewise.
Capitalizing is provide, too, in order to increase the readability
of your source.
You may even choose if an immediate value or adress should be
short or long as default.
These settings will be saved together with the source AND with the
other settings. This means, you're using the default settings
until you load a source. Then you use the source' settings.
Clever, eh?
4.6.3 Screen Save
Hmm, nothing special about this, I think...
4.6.4 Tabulators
This specifies the visualisation of the source on the screen.
In this dialog you can define the spaces between label and opcode,
opcode and operand, ...
Risk also a look in Define Colors.
4.6.5 Locate Applications
This nice function helps you to recover all your lost applications
;-)
Naa, it just gives you the ability to enter path and name of your
beloved programs (including QDSP-ASM), which can be called by a
single click on start Applications (or push ^F1-^F4). You don't
need to enter all four programs but at least QDSP-ASM must and a
debugger (eg. the one by Brainstorm) should be entered.
4.6.6 Define Colors
With this little dialog you can define which parts of a line
should be shown in which color.
And, of course, the three used colors can be freely defined by
your own creativity ;-))
See: Tabulators (Naaah! Just test it out!!! ;-))
4.6.7 Memory
You may enter the maximum amount of free memory which may be used
by DSPdit.
QASM and other Applications need their parts of RAM as well, but
you can also use Minimum RAM Mode...
4.6.8 Minimum RAM Mode
This mode forces DSPdit to save the actual source (see
Source Settings for details of this precedure) and deallocate the
used Memory before calling an external program.
The source may be saved under the actual source's name or under
the name of a temporary file.
Afterwards, when coming back to DSPdit again, the Memory is
allocated again and the source will be loaded right into this
memoryblock. This allows you to use nearly the full RAM for your
external Application.
4.6.9 Load/Save Settings
After you've changed your settings and located all Applications
you should save them. Here's a list of what will be saved:
-autoload file
-Applications names
-Applications command line
-Tabulators
-autoloadflag
-packflag
-screensaver time
-autosave time and flags
-nearly all other settings
This will be saved together with the source:
-cursorposition
-time and date of last change
-time and date of creation
-Block start and end
-insertmode
-bookmarks
-output filename
-Commandlines of the called Applications (Slot 1-4)
-assemblemode
-show hex Setting
-capitalizing Settings
5 Various
=========
5.1 Addresses
-------------
For bugreports, suggestions, updates etc write to:
Settelmeier Achim (SCY) or John Andreas (Dynacore)
Ruelzheimer Str. 39 Schulzenstraße 36
76756 Bellheim 76771 Hoerdt
GERMANY GERMANY
Email: achim_settelmeier@ka2.maus.de andreas_john@ka.maus.de
(due to the limits of the Mausnet no mails >16kBytes!!!)
Do NOT FORGET to include a DISK for an update as well as a STAMP and
an envelope for a quick reply.
Remember that PD-Soft just lives from feedback! WRITE US!!!
5.2 Thanks
----------
We just want to say thanks to CRAC for fixing bugs and including many
features.
Thanks also go to Rebelsoft (Hi Björn&Michael!) for massiv betatesing
and long bugreports :-)
ok, this should do.
bye
Andreas (Dynacore) and Achim (SCY)