SPACE Newsletter

October 2006

View the original PDF

October 2006

NEWSLETTER for October, 2006 President’s Corner by Michael Current October, 2006 This month's A-T-A-R-I column by Paul Alhart, which originally appeared in the May 1992 issue of Atari Interface Magazine (AIM), features software that, if all goes will, should be on this month's October 2006 SPACE DOM. There should be two LISTed files: USR.LST & PICTURE.LST and a 62 sector picture file PICTURE which is used to demonstrate PICTURE.LST, on the DOM. I hope this all worked out! I've tried my hand a few auctions of Atari magazines on eBay recently. I added a couple issues of Current Notes to my collection. That was always an information-packed publication. And I was very excited to complete my collection of the very short-lived (3 issues) Atarian magazine, published by Atari in support of the 2600, 7800, and XEgs, in 1989. It took nearly $50 to win that one. On the other hand, I missed out on a really nice large set of older Current Notes issues. That auction went for an amazing $75! I think we get spoiled with all the fantastic deals we tend to find in our own little SPACE club auctions! Don't forget, nominations for SPACE Executive Board positions will be solicited this month, in advance of elections at next month's Annual Meeting. What can you do for SPACE? Thanks, keep using that Atari, and come to your next SPACE meeting, Friday October 13, 2006.

does represent half of our current paid up membership. It would have been nice to have more members for our auction but we did just fine. There wasn't a lot of interesting things this time as we were just trying to clear out what had been left over from the past auctions. At least we were successful in doing just that. I think we may have another auction before the end of the year because I made a trip to Eden Prairie the weekend before our September meeting and at the garage sale of a former member, Henry Conor, I picked up some of his old Atari hardware and software. I did not want to include these things in the Sept. auction as I didn't want members to be upset about not having advance notice of what I had picked up. There are a couple of 1050 drives, an 850 interface, game cartridges, and a few disks. He was going to have a couple of 800's but his son who had them did not make it to the sale by the time I had gotten there as he had planned. I told him to give me a call if he gets them and I would make another trip out there, but he seemed like he wanted to get rid of these things right away. His wife is ill and he was in the process of moving. Anyway. I do have a few things already for the next auction. Here is the breakdown of SPACE's bank account for the month ended September 30, 2006: Beginning balance as of Sept. 1, 2006: 628.09 Receipts for the Sept. meeting: Membership renewal Dom sales Auction sales Total Receipts No expenses at the Sept. meeting Ending SPACE balance at Sept 30, 2006:

Treasurer's Report by Greg Leitner For September, 2006

I can't believe you will be reading this in the Fall of 2006. Where did the summer go? This year was so hot I spent little of my time outdoors and on September 10, 2006 I finally turned off my central air. I am really hoping that we have a nice couple of months before winter sets in, but the I can tolerate the cold much better than the heat. We had six members show up for the September SPACE meeting and although that doesn't sound very impressive it

15.00 18.00 18.00 51.00

679.09

This is a great time of the year for SPACE as our expenses are minimal and the potential for receipts is tremendous. With membership renewals (mine is next month) and the great DOMs that Glen provides us, the future is very rosy. If we can squeeze another auction in before year end and we can keep our membership around ten we can start another year in 2007 with a very healthy bank account. Please join us in October and we can begin to talk about elections that need to be held in November. I hope to see you all next month.

Secretary's Report By Nolan Friedland For September, 2006

No meeting minutes were Received.

******************************************** BBS Corner By Nolan Friedland For October, 2006

************************************************** If anyone has any comments, suggestions, ideas, or submissions for the BBS Corner column or the SPACE BBS web site, you may email them to me, Nolan Friedland, at the address shown on the back of this newsletter under the "CLUB OFFICIALS" section.

******************************************** A-T-A-R-I Answers, Tips And Relevant Information by: Paul V. Alhart 1992.5 Usable USR Routines. Just the other day I overheard a computer technician say "There ought to be a law against anything written in BASIC." When I asked him why, he replied "Because it’s a stupid language." I let the subject drop there, but it did get me to thinking. I have heard and read many comments like this about BASIC over the years. Mostly they are made by NON programmers or programmers that are snobs. The truth of the matter is, BASIC is probably the most widely used high level programming language there is for any personal computer platform. BASIC is a powerful yet easy to learn language. It allows you to write programs quickly without having to worry about the little details involved with I/O, memory management, and messy things like that. On the other hand, compared to most compiled languages, BASIC is very slow. There are lots of tricks that can be used to speed up BASIC programs though. One of them is the use of machine language from within a BASIC program. In Atari BASIC this is done by using the USR command. Although the routines themselves are written in machine language, the bulk of the program can be written in good old BASIC. The machine language routines must be in your computer's memory and the program must be able to locate them. There are several ways to do this. The code could be in the form of data statements which are read by the program and POKEd

into specific memory locations or into a string. This takes time though and generally accounts for the message ....Initializing Please Wait.... that you see at the beginning of some programs. Another way is to write the code in the form of string data to begin with. Although this requires the programmer to type in lots of those funny looking characters, there is no initialization delay when the program is run. Also for this method to work, the code must be relocatable. OK, so we have gotten a little off the subject of simple BASIC programming. Rather than chance losing any of you by delving into an in-depth study of machine language and Atari BASIC, I'll just jump right ahead to the fun part, the Usable USR Routines. On this months AIM 8-bit DOM you will find several canned USR routines I have collected over the years. They can be used in your own BASIC programs to add speed and features that are not directly supported by Atari BASIC. There are two LISTed files: USR.LST & PICTURE.LST and a 62 sector picture file PICTURE which is used to demonstrate PICTURE.LST, on the DOM. Use Bob Puff's UNARC utility to extract them from the the file USR.ARC. USR.LST contains the following routines: Double PEEK This routine will get a 16-bit decimal address and place that address in the variable "I". You supply only the first location of the address. For example, If you specify 560 the results would = (I=PEEK(560)+256*PEEK(561). Double POKE also requires the first location of the first address to POKE to. All other entries will be considered 16-bit or two byte numbers (065536) to POKE to successive memory locations. Ex. X=USR (DPOKE,960,100,4000,3) would place the following values in memory: 960(100), 961(0), 962(160), 962(15), 963(3), 964(0) Single POKE works the same but only POKEs 8-bit numbers (0-255 decimal). Great for setting color registers or placing data in successive memory location like Page 6. RAINBOW will cycle the color register of your choice for 4 to 5 seconds before returning it to its previous value. As written it will cycle the background color (color register 4) To rotate a different register change the 12th machine language character in the routine (the character (just before the first inverse "P") as follows: ^V (Control V) = register 0, ^W = register 1, ^X = register 2, ^Y = register 3, and ^Z = register 4. Clear Memory will clear blocks of memory by writing zeros to all locations specified. You supply the starting address and number of bytes to be cleared. Be careful. This routine can also erase portions of memory vital to the O/S, causing your computer to crash if you supply the wrong address. Clear 256 bytes works the same as Clear memory except that you supply only the starting address. 256 bytes (or 1 page) of

memory will then be cleared starting at that location. This is useful for clearing page 6 or memory to be used for player/missile graphics. P/M Move is actually two routines. One for moving a player Up the screen, the other for Down. You must supply the base address of the player you wish to move. Memory Shift can move a block of memory to a new location. Useful for swapping character sets, you supply the From address, the To address, and the number of bytes to be moved.

Line 37 is used to hold the picture on the screen till the BREAK key is pressed. Yes, that's me in that TV test pattern. Makes it all worth while doesn't it. Till next month.... ********************************************** From: Michael Current [hunmanik@earthlink.net] Sent: Monday, September 18, 2006 8:16 PM Subject: EMU>Atari ST/STE emulator Hatari 0.90 has been released --Date: Mon, 28 Aug 2006 17:12:51 -0700

CIO will quickly copy large blocks of data between memory and other I/O devices using IOCB#2. Great for moving a disk based data file into memory as you will see in the program PICTURE.LST To use CIO, IOCB#2 must first be opened for the desired operation. In PICTURE.LST it is opened in LINE 35 to READ from D:PICTURE. Changing the 4 to an 8 in the open statement will open IOCB#2 to WRITE to D:PICTURE. Next you must supply three arguments to the USR call. The 7 tells CIO to read from the I/O device and write to memory. A 9 here will reverse the process as long as the IOCB was opened using an 8 for write. The next argument is the first address in memory you wish to read from or write to. The last argument is the number of bytes to read or write.

The version 0.90 of the Atari ST/STE emulator Hatari has been released. New in this version are:

PICTURE.LST is a short BASIC program that makes use of some of these routines. Besides being a useful subroutine it should help you understand the usage and power of USR routines. It will get a 62 sector (MicroIllustrator) picture file from a disk file and display it on your screen.

- Slightly improved FDC handling, --slow-fdc option is not anymore needed.

PICTURE.LST first uses DPEEK to find the display list and the beginning of screen RAM. It then sets up a graphics 7+ display list (Lines 27-33). On XL/XE machines this is the same as a GR.15 call from BASIC. There is no BASIC equivalent command on the 400/800s however. Use of this method of setting up the display list will work on any 8-bit Atari model. Change GRAPHICS 8+16 in Line 27 to GRAPHICS 8 if you would like to have a text window at the bottom of the screen.

- Bugfix to GEMDOS path handling.

- Better Spectrum 512 support (60Hz support, improved I/O memory waitstates). - STE right border opening support (used in Obsession, Pacemaker). - Blitter Smudge mode support (used in Pacemaker demo). - Wheel-mouse simulates cursor up and down.

- Bugfix to MFP, sound works now in more YMRockerz releases.

- Re-written command-line option handling. - (Again) lots of code const/static, type usage and indentation cleanup. - Preliminary support for TOS 3.0x and 030 TT software that runs in ST resolutions and doesn't need PMMU. - Native GUI for Mac OSX.

Line 34 uses SPOKE to set all the color registers to the desired values. This line is not required if you want to settle for just the default colors.

- ACSI emulation fixes to get HD formatting to work with AHDI 5. HD emulation now works quite fine with AHDI 5 (but other HD drivers are currently not supported).

Line 35 opens IOCB#2 to read from "D:PICTURE. Line 26 tells CIO to read 7680 bytes of data from D:PICTURE and put in memory. In this case it puts it directly in screen RAM so you can see it. Next RAINBOW is invoked for a little special effect. 7680 bytes of data are required for a full GR.7+ screen. Change this value to 6400 if you are going to use the split screen text window. By changing the 4 in the open statement to an 8 and the 7 in the CIO call to a 9, any picture being displayed would be saved to a 62 sector disk file.

- Joystick shortcut changed to toggle cursor emulation between ports 0 and 1. - Keys for all Hatari shortcuts can now be configured from hatari.cfg. - Added command line option for setting ST keyboard mapping. - Joystick command line option requires now parameter for a port for which the joystick cursor emu is enabled. - Fixed relative mouse event handling in zoomed low-rez.

- Hatari shows now more of the bottom border (screen size is now 384x276 instead of 384x267).

DO NOT REPLY TO a8maestro"a t"a8maestro.com as above. Use mtg2006 " a t " a8maestro.com instead.

- Fixed sync delay timings - sound should now be better (e.g. on Mac OS X).

**********************************************

- Added basic support for compiling Hatari with MinGW. URL: http://hatari.sourceforge.net/ [This news item courtesy of Atari.org - http://www.atari.org] ********************************************** From: Michael Current [hunmanik@earthlink.net] Sent: Monday, September 18, 2006 8:15 PM Subject: EMU>SAP 1.2 available, ALSA/SDL variants --Date: Mon, 28 Aug 2006 17:12:22 -0700 * Program forked into two variants (SDL and ALSA) * Preferences dialog added

From: Michael Current [hunmanik@earthlink.net] Sent: Monday, September 25, 2006 9:39 PM Subject: ST>ARAnyM 0.9.4beta released --Date: Mon, 25 Sep 2006 17:07:58 -0700 ARAnyM 0.9.4beta and also new AFROS (no longer a disk image!) have been released. URL: http://aranym.org/ [This news item courtesy of Atari.org - http://www.atari.org] ********************************************** From: Michael Current [hunmanik@earthlink.net] Sent: Monday, September 25, 2006 9:39 PM Subject: ST>Sources for X-Debug available --Date: Mon, 25 Sep 2006 17:09:43 -0700

* Separate web page created http://www.baktra.wz.cz/english/mmsap.html [This news item courtesy of Atari.org - http://www.atari.org] ********************************************** From: Michael Current [hunmanik@earthlink.net] Sent: Monday, September 25, 2006 9:22 PM Subject: MTG ADV:New Items for Sale Date: Fri, 15 Sep 2006 23:02:56 -0500 From: Rick D

Sources for the programming utility X-Debug, written by Andy Pennel, has been released to the public. This piece of software is a debugger that mainly targets Lattice-C but may offer some functionality for other languages as well. Thanks to being distributed under a very generous legal license it seems that people are free to do whatever they want with the sources. Read more and download the sources here: URL: http://topp.atari-users.net/ [This news item courtesy of Atari.org - http://www.atari.org]

Hello, ********************************************** I have added several new items to my lineup: To the 8 bit a/v breakout box, I now have a mono audio/svideo cable. S-Video uses video and luminance for all 8 bit with a monitor jack. The picture is really quite nice, in 6' and a 12' lengths, $14/$18. To the Jaguar a/v breakout box, I now have a stereo audio/svideo cable. It also has a short phono plug for composite video. 6' and a 12' lengths, $16/$20. In addition to the two 850 interface R:9-25 and P:15-25 adapters:, I now have an R: 9-9 pin adapter. See more information at:www.a8maestro.com/sites/mtgcat/mtgcat.htm. More new items appearing soon.

Rick D. More Than Games

**********************************************

**********************************************

**********************************************

**********************************************

**********************************************

**********************************************

********************************************** ********************************************** ********************************************** ********************************************** ********************************************** ********************************************** **********************************************