ICTARI USER GROUP ISSUE #10 May 1994 ___ ______ ___ _________ _________ ___ \__\ \ __\ \ \__ \______ \ \ _____\ \__\ ___ \ \ \ __\ _____\ \ \ \ ___ \ \ \ \ \ \ \ ____ \ \ \ \ \ \ \ \ \_____ \ \____ \ \__\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \__\ \_______\ \______\ \________\ \__\ \__\ * m a g a z i n e * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= I C T A R I U S E R G R O U P 63 Woolsbridge Road, Ringwood, Hants, BH24 2LX Tel. 0425-474415 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= INDEX FOR ISSUE 10 ================== FOLDER SUBJECT ÿÿÿÿÿÿ ÿÿÿÿÿÿÿ ASSEMBLY Complete set of floating point arithmetic routines. Routine to read command line text string. The event_multi 'right button' problem solved at last. Twist scroll program, updated version. C Boink, a Break-out type game with source code. The event_multi 'right button' problem solved at last. GFA Code to read command line on TTP programs. GEM Window handling routines. Colour scroller routines. Corrections to bit maps article (see issue 8). PASCAL Pipe monitor. Displays AES messages. STOS Moving block puzzle game. MISC Atari Explorer Online Programmers Journal Issue 2. Various GEM bugs discussed. Program to display active GEM/TOS/BIOS/AES/VDI calls. The LZW and GIF compression algorithms explained. Membership list. Index for issues 1-9. In next months issue of ICTARI (this may change) :- ASSEMBLY Conversion of number to binary string. Conversion of number to hex string. Binary to decimal conversion routine. Decimal to binary conversion routine. Routine to input hex number from keyboard. Chip music playing routines. Auto folder time set routine. C GEM Tutorial by J White. Part 1. Introduction. Porting IBM PC RSC/Doodle to Atari GEM. Floating dialogue library for Lattice C. GFA Circles and spheres code. Picture image cutter and saver program. PASCAL Program to display boolean expressions as a Karno map. STOS Number guessing game that talks to you. MISC Blitter Chip manual. Click anywhere title box using Resource File editor. For future issues :- Polyline drawing routines in machine code. Bezier curve drawing routines. Picture decompression routines for IMG, Degas, Tiny, PCX, PAC, etc. Picture compression routine for IMG pictures. HP DeskJet/LaserJet compression routines (Mode 2 TIFF). Using the Xbtimer chip. Tutorial for using GEM commands from machine code and C. Playing sound samples on non STE machines. Picture switching techniques. VBL queue information. Printer driver code for printing mono/colour images. Sprite tutorial and code. Complete GFA Basic manual. ----------------------------------------------------------------------- EDITORIAL ÿÿÿÿÿÿÿÿÿ MEMBERSHIP ÿÿÿÿÿÿÿÿÿÿ As a result of our adverts in MicroMart magazine we have had ten enquiries and 4 new members so far. Please send in more MicroMart advert pages to us if you don't need them. We have also had four new members as a result of other letters sent to various User Groups and we would like to welcome them. ST Format have mentioned the group in this months issue of the magazine which may bring in more members. Total membership (excluding the committee) is now 33 members. We don't like to keep nagging but were are going to anyway. Would members who prefer to send us a disk each month PLEASE return them BEFORE the 10th of next month otherwise it entails a lot of work for us in the few days before publication on the 17th. If you decide to cancel your membership (heaven forbid) we would appreciate it if you would let us know so that we don't waste time and phone calls trying to find out what you want. Also, if you do send in a disk, please put a short letter on it for the correspondence section, just a note on what you would like to see, not like to see, programming problem, etc, etc. If we don't get ANY feedback we might feel that we are not providing what members want. Also we still need programming articles or routines, especially in C, GFA and STOS so if you have anything which may be of interest to other members, please send it in to us. You can always ring us first on the number above if you are not sure if it will be of use or if it has been done before. LZW GIF Compression ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ On this disk is a useful document file explaining the LZW and GIF compression formats. Unfortunately, as far as we are concerned, it is written in a foreign language, double dutch. Would anybody care to have a go at writing some code which can convert files from or to this format for general use. DOCUMENTATION ÿÿÿÿÿÿÿÿÿÿÿÿÿ We are planning a number of tutorial type articles for future issues in which diagrams could be used to explain various points. Obviously with a pure ASCII text file it is very difficult to draw a diagram or display a picture and trying to use just the ASCII line characters is not very satisfactory. We would, therefore, like to explore the possibility of incorporating images in these document files. There are two main alternatives :- 1. Use a pure ASCII format for the text as we do now and provide any pictures as .IMG files separately so that the reader can make up his own printed document using whatever Word-processor/DTP program he uses. 2. Publish the article in a Word-processor format which can store images and which all members can use. Possible programs would be First Word Plus, Write-On, Thats-Write, Redacteur and Calligrapher. Of these we would think Calligrapher would be favourite since it was given away free on the Atari ST Review cover disk (Issue 24) and should, therefore, be available to most members. One problem with this program is that the printing is abysmally slow, even on our Laser printer. Would all members please let us know when they send their disk back for next months issue or if you have already paid for next month perhaps you would drop us a postcard or ring us. If we don't get a unanimous decision on any Word-processor we will probably go for option 1. Incidentally if you send in a text file and you have access to Protext it would help us if you could send it to us in Protext format. If you don't have Protext then you can send it in ASCII format as usual. We try, where possible, to format text files with a 4 character left margin (so that the print-outs can be stored in ring binders without making holes in the text) and with the right margin set to 75 so that text editors that have a scroll bar on the right side of the screen can still show the whole line. TWIST SCROLL PROGRAM ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ In issue 9 we provided a Twist Scroll program (in M/C) which failed to work on machines with more than 1Mb of memory and Ian Hancock (alone) kindly fixed it to work properly. We have included it again in case anyone would like to use it and, perhaps, to improve it still further. ----------------------------------------------------------------------- CORRESPONDENCE ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ To *.* From Peter Hibbs Does anyone have any information on writing CPX accessory programs (for XCONTROL) in machine code. There were a number published on a recent cover disk which were quite useful but some were in German and I think it would be useful to write some additional ones. The 'Atari Compendium' book does have a shell CPX program but it is all in C, a machine code version of this would be handy, if it is possible. ----------------------------------------------------------------------- To *.* From Ian Hancock [morf] QUESTION: Is anyone interested in a program which converts spectrum emulator SNAP (SNA) files back into sound signals for recording onto tape. These can then be loaded back into the spectrum !!! If you are let ICTARI know and I'll send in the code - Oh yeah it's STE ONLY. Currently it won't convert snaps which use IM 2 on the speccy. I don't know why at the moment either : By the way the code is VERY untidy - I'm pretty ashamed of it. Just wondered ? ----------------------------------------------------------------------- To *.* From Steve Gale I am writing a simple text editor in machine code (Hi Rez) which uses the normal mouse arrow cursor AND the VT52 flashing block text cursor. The problem is that whenever the mouse cursor is moved over the text cursor the text cursor block gets corrupted until it is moved. Is there any way of avoiding this or will I have to write my own cursor flashing routine and if so how. ----------------------------------------------------------------------- To ICTARI From Kevin Preece Have you considered advertising in ST Applications, a magazine for serious users, published by the ST Club. */ We have sent STA details of ICTARI and they have promised to publish a full page article about the group sometime. ICTARI /* ----------------------------------------------------------------------- To *.* From Dick Teuber I would like to write a program which uses a Resource File but I don't want it as a separate file on the disk. Does anyone know how to incorporate the .RSC file within a program in C or machine code. ----------------------------------------------------------------------- TO: Nick Bates FROM: Ian Baker > Everyone wants to make sure their programs are compatible with other machines and all TOS versions, does anyone have any general rules to follow in order to ensure compatibility - particularly with the Falcon ? Your program should either be a full GEM application or use text only, otherwise it will not work with MultiTOS. Get the screen size from the VDI, do not assume it is a standard size and do not use Getrez(). Our Family Tree program worked unchanged on the Falcon and with SpeedoGDOS. It needed a change for MultiTOS due to a silly mistake in programming, when -1 was passed instead of 1. Standard TOS only recognised 0 and not 0, whereas -1 meant something to MultiTOS, a function extension we did not mean to call. Check parameters to O/S calls. Generally the compatibility is excellent. TO: All FROM: Mark Baker The article on Pexec was interesting, but incomplete. Under MiNT/MultiTOS six more modes were added. Modes 100, 104 and 106 work like modes 0, 4 and 6 respectively, but asynchronously (ie. multitasking). I can't remember now how you get the child's return value since obviously Pexec returns before the child finishes. Modes 200, 204 and 206 work like modes 0, 4 and 6 respectively but are for overlays, they remove your program from memory and run the new one. Therefore they never return. However if you intend to write programs for MultiTOS the shel_write AES call has been extended - it now works for one thing - and launches programs correctly, with TOS programs under miniwin or toswin and GEM programs running as if launched from the desktop. */ Thanks for the update, if anyone has more info on writing programs that are compatible with the modern Operating Systems we would be pleased to hear about them. ICTARI /* ----------------------------------------------------------------------- +++ End of file +++