I have written a FD utility to analyze the protection mechanism used on diskettes (see viewtopic.php?f=47&t=9012
) and now I want to add it a basic GUI. The application is written in C and therefore the GUI need to be written in C.
I am not a GUI person and when I need to build a simple user interface under Windows I use GUI generator. Therefore I naively thought that a Resource Construction Set programs, in conjunction with AES library, would provide this capability for the Atari environment! But after a little bit of lecture I have quickly realized that a RCS program only builds a resource tree and that you need to write all the GEM code in order to use it! Therefore even for a simple GUI it looks like you need to get a minimum knowledge about GEM (VDI / AES / GEMDOS …). For information I found a program called Visual Assembler 4.0 that seems to be a GUI generator but unfortunately it only works on Falcon, generates assembly code, seems very complex, and not maintained for quite some time.
Therefore I have “googled” around the Web to find documentation, tutorials, examples on how to write GEM code for a typical simple GUI.
The most relevant documents that I have found so far are:
• The C-manship by Clayton Walnum (http://cmanship.atariforge.org/
) is a popular and excellent GEM programming tutorial for Atari originally published in ST Log magazine. You can find it in HTML, HYP, and it comes with sources.
• The Atari Compendium (http://cd.textfiles.com/ataricompendium/
) provides a lot of background information on GEM. I prefer the PDF version which is easier to read offline than the HTML. Note that the PDFs are protected and you need to do some work to print them.
• Very good set of articles in ST-Magazine (http://www.abandonware-magazines.org/af ... .php?mag=6
) # 77-80 as well as #81-93 by Claude Attard. But sorry in French only
• Article in START Magazine (http://www.atarimagazines.com/start
) vol1 #2
• Articles in ST-LOG Magazine (http://www.atarimagazines.com/st-log/
) #34 & #35b
• “Le livre du GEM” Micro-Application (GEM programmer’s Guide – Abacus) (http://letotd.free.fr/livres.htm
) goes into a lot of details and is very good as a reference but IMHO it miss practical basic examples.
• The Professional GEM series by Tim Oren publish by Antic Publishing http://removers.free.fr/wikipendium/wak ... ngArticles
• AES and VDI quick reference books in Hypertext (.hyp) format (comes with sources) by Clayton Walnum http://dev-docs.atariforge.org/html/search.php?find=_q
. This is an excellent reference and if you develop on PC use WinGuide program. (Note that I found some errors in the description of the parameters).
• DR Programmer’s guide for VDI and AES. http://dev-docs.atariforge.org/html/search.php?find=_o
I have also found several libraries that are supposed to help or replace GEM:
• e_gem.220 extended GEM: Apparently very powerful (used for example by the Zorg editor) but seems complex, has not been maintained for years, and is documented in German
• BIG : Written by Claude Attard – The latest known release is 2.01 but I could not found it! However the v1.7 Is easy to find.
• EASY_GEM (seems like a very nice and powerful lib and is maintained. See http://membres.lycos.fr/eazygem/EZ_GEM.htm
• Windom 2 (http://windom.sourceforge.net/
). Huge and powerful lib but targeted mainly for Mint?
For RSC construction I have found the following program:
• Lattice C: Wercs (basic but do the job)
• Resource Master 3.65 (German http://www.ardisoft.de/Download/rsm365d.zip
and English http://homepage.ntlworld.com/derryck123/ddp/rsm364.lzh
). Looks powerful but I could not make it work! When in good mood the program displays unreadable Graphics but most of the time the program simply crashes (tested on Steem and on an Atari Ste). I have tried it with many different configurations and TOS versions but none of them works. I even tried to run the program under Mint with XAES but still crashes. If somebody knows a working version or what is needed to make it work I would be interested.
• Interface 2.33 - German/English/French. ftp://kurobox.serveftp.net:3021/program ... trface.zip http://www.hadley.de/ ftp://gem.win.co.nz/hall/tos_206/intrface.zip
seems to be a reasonable RCS.
• And miscellaneous: RCSView 1.14 (German/English), ORCS (German), InterRCS viewer, GEM RCS 2.3 GNU, …
As you can see, it is relatively easy to find a lot of useful information and programs! Actually this is even too much information !!! So I have focused mainly on publications from Clayton Walnut and Claude Attard (see above references) as well as the Compendium for reference. To get some basic knowledge I have decided to build several small demo programs that, when combined, will have all the features required by the GUI of my final application. I propose to document, and publish these demo programs so that hopefully they can be useful for others in the same situation. In return I expect to get feedback about what I am doing wrong so I can update the demos accordingly.
Note : I will try to use unambiguous and easy to read code with many comments and relatively classic coding presentation. I would prefer to avoid too many debates around C itself so we can concentrate on the GEM issues, but of course any comment is welcome.
First of all I would like to know if there is any interest for this project
before I invest time. Based on feedback I will see how far I will go.
If there is interest, I may continue by publishing the final program: My floppy disk Protection ANalyZER (PANZER) based on my low level floppy disk library. As already mentioned this program is somewhat described in the protection document that I wrote some time ago (and still under development)… But this is another story…
If this sounds interesting in the next message I will describe the development environment as well as some of the initial requirements for the demo programs.