Basmify ======= 1.1 ARexx scripts for using the assembler BAsm of Barfly from within the editor CygnusED. 0. CONTENTS ------------- 1. Disclaimer 2. Requirements 3. Installation 3.1 Options 3.2 Localization 4. Usage 5. Limitations 6. Author 7. Credits 8. History 1. DISCLAIMER --------------- Copyright (c) 1995-1996 by Ulrich Flegel. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. No guarantee of any kind is given that the programs described in this document are 100% reliable. You are using this material at your own risk. The author can not be made responsible for any damage which is caused by using these programs. Permission is granted to include this package in Aminet CD-ROMs. None of the programs may be included or used in commercial programs unless by written permission from the author. None of the programs may be modified in any way. For improvements contact the author. None of the programs may be used on any machine which is used for the research, development, construction, testing or production of weapons or other military applications. This also includes any machine which is used for training persons for any of the above mentioned purposes. 2. REQUIREMENTS ----------------- · Barfly · CygnusEd 3.0 or higher · ARexx 3. INSTALLATION ----------------- Copy the files 'Assemble.ced' and 'NextError.ced' to any directory. Assign 'Basmify:' to this directory. If you don't the scripts will not find each other. Then you have to change the 'NextError' and 'Assemble' variables in the scripts to fit the pathnames. Adapt the BAsmPath variable in the 'Assemble.ced' script to the pathname of the directory where your BAsm is, so BAsm needs not to be in your path. In CygnusED assign the scripts to two function keys (menu: Special; DOS/ARexx interface »; Install DOS/ARexx command...), say 'NextError.ced' to F9 and 'Assemble.ced' to F8. For initial reading and quick usage skip the subsections of chapter 3 and read on at chapter 4. 3.1 OPTIONS ------------- You may supply the ARexx scripts with some options. You have to put the options in the invocation string defined in chapter 3. Because I have no idea how to request from CygnusEd which language is currently in use I had to supply a workaround. The workaround is completely transparent because it works like an override of CygnusEd's locale information. The option is named: LOCALE «Language» , where «Language» is the descriptor of the language to be used by the script (f.i. deutsch). Omission of the LOCALE option will enable english language as long as no CygnusEd-localization-info is available. It may be of no great use but you can supply a set of BAsm options via the scripts. Normally you want to put these in the source or in environment variables used by BAsm. Nevertheless, for testing purposes this might be handy. Use the following option: OPT «BAsmOptions» Example «BAsmOptions» would be: -O+ -OW+ Due to limited parsing abilities of ARexx and to keep the scripts simple I had to make one assumption: !! The OPT option must be the last of all options supplied to the scripts !! This should be no great limitation considered most people won't use OPT anyway. If you want consistent behaviour regarding localization and options you HAVE TO supply the same options to both scripts. This results from the fact that both scripts may call each other. I didn't want to use separate environment variables for configuration and options. This would easily be possible. If there is a big need for this I might implement it. Example: F8: Assemble.ced LOCALE deutsch OPT -O+ -OW+ F9: NextError.ced LOCALE deutsch OPT -O+ -OW+ This configuration will set German language and enable optimization plus resulting warnings. 3.1 LOCALIZATION ------------------ The release version of Basmify only supports english and German language messages. To enhance Basmify for further languages it is necessary to modify both scripts. You have to search for: «WHEN Language='XXX' THEN». Mark a block until «END». Copy this Block straight on top of the «OTHERWISE» statement of the nesting «SELECT» statement. Now replace in each line of the new block every «XXX» by a matching translation. Look up the english meanings of the message variables in the «OTHERWISE» branch. It is important you replace the correct language descriptor in the «WHEN Language='XXX' THEN» line. Otherwise it is possible the localization informations from CygnusEd wouldn't match (given there is such a support). Don't forget to translate the messages in both scripts. In an error case a fall back to english will occur. 4. USAGE ---------- Start CygnusEd and load the source code you want to assemble. For assembly press F8 (or the key you have assigned 'Assemble.ced' to) in the view where the source code is located. 'Assemble.ced' saves automatically any changes to the source before assembly. 'Assemble.ced' invokes BAsm and if no errors occurred you will get an appropriate message. If there were errors or warnings you are told and 'NextError.ced' is invoked automatically to display the first error/warning. Subsequent key-presses on the 'NextError.ced' assigned key result in displaying the next error/warning. First all errors are shown, afterwards all warnings. When all errors/warnings have been shown and you press 'NextError' again you will be asked if you want to assemble the source again. 5. LIMITATIONS ---------------- · The scripts don't yet handle multiple BAsm · The scripts could handle smart language localization if I knew how to find out the language CygnusEd is currently using (any status number for this?). 6. AUTHOR ----------- If you have any suggestions or bug-reports, feel free to contact me (e-mail preferred). Ulrich Flegel e-mail: flegel@ibr.cs.tu-bs.de irc: Froody (#amigager) phone: ++49-5307-5660 7. CREDITS ------------ I will constantly insert any contribution to Basmify here for your information. You might find it amusing or interesting. ____________________________________________________________________________ 95Oct2.114549+0100mesz.395394-2+180@hphalle0.informatik.tu-muenchen.de was originally sent by rattei@informatik.tu-muenchen.de. Christian Rattei wrote (Mon, 2 Oct 1995 11:45:37 +0100 (MEZ)) in a Mail about "Basmify": Following the forwarded message: Hi, Ich bin der Autor der BarflyInCED ARexx Scripte. Wie ich feststellen mußte, hast Du große Teile der Dokumentation, sowie des Readme-Files Deines Basmify Paketes (so, wie ich sie in aminet/dev/asm fand) von den Files meines Archivs übernommen. Da nicht nur meine Scripte, sondern _sämtliche_ Files des Archivs (also insbesondere _auch_ die Dokumentation) meinem Copyright unterliegen, betrachte ich dies als Verletzung meiner Urheberrechte. Ich erwarte hiermit eine umgehende Entschuldigung Deinerseits _und_ verlange für zukünftige Versionen Deines Basmify Archivs (falls es welche geben sollte und diese weiterhin, zumindest teilweise, auf meinen Dateien beruhen sollten) die Nennung meines Namens als Mitautor der betroffenen Teile des Archivs bzw. einen Verweis auf mein Original- Archiv mit Nennung meines Namens als Autor. Sollte dies nicht geschehen, behalte ich mir weitere Schritte vor. Bye, Chris -- Christian Rattei (rattei@informatik.tu-muenchen.de) -------------------------------------------------------------------------------- ____________________________________________________________________________ For all of you interested in the above statement: I suggest you have a «diff -y»-run on BarflyInCED and Basmify scripts and documentation. 8. HISTORY ------------ V1.0 initial public release V1.1 second public release - enhanced locale handling (introduced workaround for missing CED locale support) - fixed port handling (scripts can now distinguish multiple CED instances) - fixed options handling (calling script will feed called script with selected options)