[CodePhile]
By Robert Goldsmith

Welcome one, welcome all to the newest section of AtariPhile, CodePhile. Here is where the ins and outs of GEMDOS and its compatables are explained with examples of how to go about implimenting the ideas. The tutorials are for HiSoft Basic 2.2 with ALL the libraries and are for those of you with experiance of HS Basic and who want to program for GEM. [Atari Computings' reader disk 4 has HiSoft Basic v1 and a special upgrade offer - Ed]

Of cause, the methods can easily be converted to C, C++ or other languages. However, a copy of the Atari Compendium is recommended to everyone to aid them as I have found it invaluable and the most used referance book in my collection, well worth the £40 I paid for it.

In order to give some structure to the tutorials, I plan to impliment a number of projects to show different features and methods used in GEM, most of which will deal with the VDI and the AES (the Video Display Interface and Application Environment Services respectively) as these are the most used areas by any GEM program. Hopefully, all the code will be legal and will work on any configuration of machine (unless specified otherwise eg. the Vector fonts stuff if you don't have NVDI 3+ or SpeedoGDOS) and much of the code should work on an ST or TT as well as a Falcon. However, using a 14Mb Falcon, NVDI and Magic, I cannot test compatability for everything easily. One advantage of programming in an environment such as Magic 5 is that you can check for compatability in areas such as Iconifying (which in some programs I've noticed doesn't work as expected) and long file names (Lots of problems there...). If you are using GEM 4.92 (Iconify) or a long file name file system, these should work as expected, tell me if they don't :) I also plan to follow the 'guidelines' for GEM interfaces but, as you will designing your own layouts in WERCS (I'll use wercs as it came with HSBasic so you should all have it even though it plays up in a major way in magic) it is up to you how everything looks.

Although this page is me talking to you, I would love some feedback of ideas, methods, improvements and bug reports from you the reader so I can try and do a better job and, of cause, so that I learn something as well as you. Those of you out there who have been using GEM for some time could drop a line offering ideas and ponting out better methods and those new to GEM are quite welcome to drop a line with problems and queries. I'm stationed on 42BBS and pop on about twice a week (I'm very buisy) and I also have an E-Mail address there (see bellow). I hope to answer all messages but it may take me a little time to get back to you. Before you ask someone, try to solve the problem yourself. I learnt GEM that way and it is a good way to really understand what is going on, not just copying code.

My first project idea is for a simple font listing program showing the 7 fonts starting at a predefined number each in its ow window. This will show the basic methods of window control, clipping, redraws and the much dreaded EVNT_MULTI function that is used to communicate in a Gem Environment, especially M-Tasking ones like Magic. I also want to demonstrate menus, dialogs, Blitter routines and other things but am a bit stuck for projects so if anyone wants to suggest simple ideas that can be carried out and explained without a huge knowlege of gem (that rules out DSP coding and disk Formatters by the way ) I would love to here from you.

Last, if anyone wants to volenteer to help readers with C, C++ problems, I would be very greatful as I have only a basic knowedlge of the great language at the moment.

Now, just to tell everyone who this guy is thats writing such a magnificent page , I'm Robert Goldsmith, I've been learning HS Basic for about 2 years and have yet to find anything useful to release to show my programming to the world. I help out in 42 Technical and hang around N.Falcon.Misc along with the odd bit of Beta testing and code help for Simon Coward who has written the likes of Rotator and WebSpinner. I'm off to uni soon... have my A levels coming up in the summer and have a part time job as a waiter. I am also the only person I know that cannot get my ZETNET internet account working after 2 months of trying :) Hows that for a personal description. I wonder how many readers I just lost [g]. Well, thanks for reading and I hope to see you next issue, oh and if you don't have HS Basic, go and get it 'cos it really is a pritty good package and the only Basic Compiler I know of on this platform...

You can contact me on 42BBS:
NeST address 90:100/300
E-Mail rgoldsmith@fffnet.demon.co.uk

I'll try and respond to all mail either personaly or via the CodePhile page...