|||||| |||||| || || |||||| |||||| || || ||| || || || || ||| |||| |||||| || |||| Your || || || || ||| || || |||||| |||||| || || |||||| |||||| GEnieLamp Computing || |||||| || || |||||| RoundTable || || || ||| ||| || || || |||||| |||||||| |||||| RESOURCE! || || || || || || || ||||| || || || || || ~ WELCOME TO GENIELAMP A2Pro! ~ """"""""""""""""""""""""""" ~ Summer is here! ~ FTN updates ~ ~ Speaking serial ~ C++ = confusion++? ~ ~ System service vectors ~ Product announcements ~ ~ HOT NEWS, HOT FILES, HOT MESSAGES ~ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// GEnieLamp A2Pro ~ A T/TalkNET Publication ~ Vol.5, Issue 28 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Publisher.................................................John F. Peters Editor....................................................Tim Buchheim \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// ~ GEnieLamp IBM ~ GEnieLamp Atari ~ GEnieLamp PowerPC ~ ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ GEnieLamp TX2 ~ ~ GEnieLamp Windows ~ GEnieLamp A2 ~ LiveWire (ASCII) ~ ~ Member Of The Digital Publishing Association ~ GE Mail: GENIELAMP Internet: genielamp@genie.com ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ >>> WHAT'S HAPPENING IN THE A2Pro ROUNDTABLE? <<< """"""""""""""""""""""""""""""""""""""""""""""""" ~ July 1, 1995 ~ FROM MY DESKTOP ......... [FRM] HEY MISTER POSTMAN ...... [HEY] Notes From The Editor. Is That A Letter For Me? A2PRO ROUNDTABLE STAFF .. [DIR] DEVELOPERS CORNER ....... [DEV] Directory of A2Pro Staff. News From Online Developers. LIBRARY BIT BONANZA ..... [LIB] RTC WATCH ............... [RTC] HOT Files You Can Download. Real Time Information. LOG OFF ................. [PUB] GEnieLamp information. [IDX]""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" READING GEnieLamp GEnieLamp has incorporated a unique indexing """"""""""""""""" system to help make reading the magazine easier. To utilize this system, load GEnieLamp into any ASCII word processor or text editor. In the index you will find the following example: HUMOR ONLINE ............ [HUM] [*]GEnie Fun & Games. To read this article, set your find or search command to [HUM]. If you want to scan all of the articles, search for [EOA]. [EOF] will take you to the last page, whereas [IDX] will bring you back to the index. MESSAGE INFO To make it easy for you to respond to messages re-printed """""""""""" here in GEnieLamp, you will find all the information you need immediately following the message. For example: (SMITH, CAT6, TOP1, MSG:58/M530) _____________| _____|__ _|___ |____ |_____________ |Name of sender CATegory TOPic Msg. Page number| In this example, to respond to Smith's message, log on to page 530 enter the bulletin board and set CAT 6. Enter your REPly in TOPic 1. A message number that is surrounded by brackets indicates that this message is a "target" message and is referring to a "chain" of two or more messages that are following the same topic. For example: {58}. ABOUT GEnie GEnie's monthly fee is $8.95 which gives you up to four hours """"""""""" of non-prime time access to most GEnie services, such as software downloads, bulletin boards, GE Mail, an Internet gateway, multi-player games and chat lines. GEnie's non-prime time connect rate is $3.00 an hour. To sign up for GEnie, just follow these simple steps. 1. Set your communications software to half duplex (local echo) 8 bits, no parity and 1 stop bit, at 300, 1200, 2400 or 9600 baud. 2. Call (with modem) 1-800-638-8369. 3. Wait for the U#= prompt. Type: JOINGENIE and hit RETURN. When you get the prompt asking for the signup/offer code, type: DSD524 and hit RETURN. 4. Have a major credit card ready, as the system will prompt you for your information. If you need more information, call GEnie's Customer Service department at 1-800-638-9636. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" [EOA] [FRM]////////////////////////////// FROM MY DESKTOP / ///////////////////////////////// Notes From My Desktop """"""""""""""""""""" by Tim Buchheim [A2PRO.GELAMP] o TOP OF THE PAGE >>> TOP OF THE PAGE <<< """"""""""""""""""""""" SUMMER IS HERE! Last month I was happy because it was almost summer.. and """"""""""""""" now it is!! Maybe I'll finally have time to get some real programming done.. although it will be tough to find time when I'm taking so many trips this summer. I spent last week at the north rim of the Grand Canyon. That is one place which I think everyone should visit; it is amazing! A word of advice: Plan to take a loooonnnnnngggggg time walking back up if you go down into the canyon itself. The hike down to Roaring Springs (you wouldn't believe how much water is down there in the middle of the desert!) takes about 3 hours from the top of the North Kaibab trail. But going back up took nearly 6 hours.. but that's probably because Roaring Springs is about 3500 feet below the rim. (That's quite an elevation difference for a 4.7 mile trail!) Oh, don't worry, I got a little bit of programming done. I wrote a few small programs for my HP 48G. (Too bad the Apple IIgs doesn't run off three AAA batteries! ;) My next trip will be KansasFest '95! Just today I got a tentative schedule in snail mail.. looks fun! I just hope I don't sleep through it all like I did last year. (If you see Cindy Adams, ask her about the great search for Tim last year. :) I seriously doubt I'll get any programming done there, but at least I'll get to see what everyone else has written this past year! My last big trip will be to Lake Powell, where I'll spend a week on a houseboat with family. I'll take my GS/OS Ref and toolbox manuals.. maybe I'll get something done. (but don't get your hopes up for Doom or NetScape GS ;) I hope to see you all at KansasFest this year. I know that most of you won't be able to be there.. but I hope that means some of you can write all the software the GS is lacking ;) I guess I've been rambling a bit too much, so I'll stop now. -- Timothy Carl Buchheim Editor, GEnieLamp A2Pro [*][*][*] Do you have something to say about GEnieLamp A2Pro? Please post any questions or comments you may have in Category 1, Topic 15 in A2Pro's BB (m530;1). Or, feel free to talk to me (A2PRO.GELAMP) anytime you see me in a Real Time Conference. Readers out there on the Internet: feel free to email me at a2pro.gelamp@genie.com When writing, please tell me where you got your copy of GEnieLamp, if it wasn't on GEnie. I'm always interested to see how many places GEnieLamp ends up :) By the way, the current issue and most back issues are available online in many places. GEnie users should check Library #2 in the DigiPub libraries (DIGIPUB, page 1395;3) Those of you not on GEnie should use gopher software to connect to gopher.genie.com for issues; all recent issues and some older ones are there. [*][*][*] [EOA] [DIR]////////////////////////////// A2PRO ROUNDTABLE STAFF / ///////////////////////////////// ______________________________________________ APPLE II PROGRAMMERS & DEVELOPERS ROUNDTABLE _____ ______ ______________________________________________ /_____|/______\ /__/|__| ___|__| Head Sysop: Hangtime (HANGTIME) /__/_|__| /_____/ Your Sysops: Greg Da Costa (A2PRO.GREG) /________|/__/ __ __ __ Todd P. Whitesel (A2PRO.TODDPW) /__/ |__|__/______ /_//_// / Nathaniel Sloan (A2PRO.HELP) /__/ |__|________// / \/_/ Tim Buchheim (A2PRO.GELAMP) [EOA] [HEY]////////////////////////////// HEY MISTER POSTMAN / ///////////////////////////////// Is That A Letter For Me? """""""""""""""""""""""" By Tim Buchheim [A2PRO.GELAMP] o BULLETIN BOARD HOT SPOTS o WHAT'S NEW o PROGRAMMER'S TIPS o MESSAGE SPOTLIGHT >>> BULLETIN BOARD HOT SPOTS <<< """""""""""""""""""""""""""""""" [*] CAT4, TOP19, MSG{43}..........C++ [*] CAT7, TOP8, MSG{106}.........General 8-bit programming [*] CAT11, TOP20, MSG{26}..........Apple's File Type Notes [*] CAT11, TOP27, MSG{1}...........File Type Assignments [*] CAT12, TOP6, MSG{99}..........Programming the IIGS Modem port [*] CAT13, TOP4, MSG{93}..........Looking for... [*] CAT13, TOP15, MSG{17}..........Getting PAID! [*] CAT22, TOP32, MSG{67}..........Spectrum 2.0 Scripting >>> WHAT'S NEW <<< """""""""""""""""" PRESS RELEASE SYNDICOMM - The Apple II Programmers RoundTable on GEnie """"""""""""" (A2Pro) announced today that it is now the official repository of the Apple II file type database, and is now accepting applications for new file type/auxtype combinations. This service will be provided free to the entire Apple II community. All Apple II users and developers, including those without GEnie accounts may participate. Apple Computer, Inc., (Cupertino, California), has given A2Pro the authority to assign file type/auxtype combinations for newly developed software that depends on new file structures. This was done so that these assignments can still be made after Apple completed the downsizing of their Apple II division last year. Anyone needing a file type/auxtype assignment can send a completed application via email on the internet to a2pro@genie.com. Any questions or comments may also be sent to that address. Applications are available for downloading from the A2Pro software library on GEnie, and can also be obtained by requesting one via email on the internet to a2pro@genie.com. Alternatively, requests and correspondence can be sent via U.S.Mail to A2Pro Technical Support, P.O.Box 4641, Redondo Beach, CA 90278-8841. Inclusion of a self-addressed stamped envelope would be appreciated. Updates to the file type database will be published quarterly. - * - Apple is a registered trademark of Apple Computer, Inc., Cupertino, California. A2Pro is a trademark of Syndicomm Online Management, Inc., Crestwood, Illinois. GEnie is a registered trademark of GE Information Services, Rockville, Maryland. (JUST.DAVE, CAT11, TOP27, MSG:1/M530) <<<<< The information and request form files will be uploaded to the """"" library shortly. If you need one before we get them up, just shoot an email to A2PRO and ask for one :) In the meantime, if anyone has any comments or suggestions, go ahead and post here! Dave (JUST.DAVE, CAT11, TOP27, MSG:2/M530) >>>>> For the latest request form and background information, download """"" file 4729 from A2Pro. (FT.REQ.TXT). It is a simple text file, which contains an e-mail and paper request form, and a short description of the application process. A2Pro Technical Support (A2PRO, CAT11, TOP27, MSG:3/M530) A2U ANNOUNCEMENT Due to the lack of participation in the Spectrum """""""""""""""" Scripting course RTCs we will no longer be holding those RTCs except for special circumstances. Notice of any upcoming RTCs will be placed in this BB by the Thursday preceding the RTC. This is not to imply that the work on the BBS is not going well, nor that it will not be completed. It simply is an unprofitable expense of time to host an RTC for one or two people, and more importantly, a waste of their GEnie online time, for which they pay. I want those who are still working on the BBS to communicate here in the BB frequently, to keep each other up to date on what is going on. You should continue to post your latest scripts to Library 54, and PLEASE do remember to delete your old versions when you do so, so we a) do not get that library all cluttered, and b) people know they are d/l'ing the latest versions of things. I also would like each of those still working on the BBS to communicate with me privately (EMail) to tell me where you are on the project. We have lost several scripters, and if there are any non-participants in the BBS building out there who feel they are average or better scripters and would like to join the team, please email me! Ken Lucke (A2U.PROF1, CAT22, TOP32, MSG:67/M530) >>> PROGRAMMERS' TIPS <<< """"""""""""""""""""""""" C++ = CONFUSION++? """""""""""""""""" // This small C++ program has a problem when a // non-numeric value is entered (try a letter // of the alphabet). Cin is returning a zero // value because the conversion was not successful. // This program gets into an infinite loop // displaying the text, "Invalid choice". // // I'm guessing that the invalid character(s) // remain in the input buffer. I would appreciate // if someone could confirm my theory and educate // me on how to remove invalid characters from // the input stream using C++ techniques. // // I realize that other techniques could be used // to gather input data and validate it but I'm // interested in how to solve this particular // problem. #include #define MIN_SEL 1 #define MAX_SEL 3 int main (int argc, char * argv[]) { int nSelection; guess: cout << " 1=One 2=Two 3=Three\n"; cout << " What's Your Choice? (1,2,3) > "; cin >> nSelection; cout << "\n"; // *** temporary code *** cout << nSelection << "\n"; // *** temporary code *** if ((nSelection < MIN_SEL) || (nSelection > MAX_SEL)) { cout << " Invalid choice\n"; goto guess; } return 0; } (E.WAGNER10, CAT4, TOP19, MSG:43/M530) >>>>> > #define MIN_SEL 1 """"" > #define MAX_SEL 3 Just a guess, but does cin return an ASCII value? Then your min and max constants would be something else. Michael (ANIMASIA, CAT4, TOP19, MSG:44/M530) >>>>> Nope. cin returns whatever type you ask it for. At compile time, """"" the compiler figures out what type you are passing to the function (in this case, operator<< and operator>>) and looks for a function of that type, or one that can satisfy it through standard or user defined type conversions, or a template to instantiate. Anyway, I'm no C++ or iostreams guru, but I'd suggest just trying to read a char after invalid input. I/O is sort of blocking. As long as that char is there, it knows it can't read an int. It never gets past the char. Now, however, I do not know what istream& operator>>(istream&, int&) returns or sets the int to when it can't read an int. It probably leaves the int unchanged and sets, like, "badbit" in the stream's state. This analogous, btw, to C stdio. while (1) { int i; scanf("%d", &i); if (i == 0) break; printf("%d", i); } will hang/loop forever if you type any letters. int i; while (1 == scanf("%d", &i)) { printf("%d", i); } Should work. More analagous to what you were trying to do though, and including "unblocking" i/o: while (1) { int i; if (1 == scanf("%d", &i)) { printf("%d", i); } else { getchar(); // read past a char to try to unblock. } } This is also analogous to Pascal i/o where read gets stuck on an end of line until you call readln. If the failed cin >> int does leave the int unchanged, then your test for min/max won't work. Here, this is real working, tested code (Dropping .h from include files was added to the standard, and CodeWarrior "implements" it. Implicit return 0 from main, and #define and &&, or ||, not !, and others haven't been added to CW yet.) #include #define or || #define not ! int main() { int i=0; // _Bool operator!() const // {return (((int)_State // & ((int)failbit|(int)badbit)) != 0); } while (i != 123) { if (cin >> i) { // implicit !! in if? gotint: if (i < 1 or i > 3) { cout << " bad choice " << endl; } else { cout << i << endl; } } else { char c; cout << "a number please" << endl; while (not (cin >> i)) { // while "blocked" cin.clear(); // it hung w/o this. cin >> c; // "eat a char" } goto gotint; // yuck } } cout << "done" << endl; } - Jay (JAY.KRELL, CAT4, TOP19, MSG:45/M530) >>>>> > // This program gets into an infinite loop """"" > // displaying the text, "Invalid choice". > // > // I'm guessing that the invalid character(s) > // remain in the input buffer. That is exactly what is happening. Here is a quote from _C++ Primer Plus_ regarding mixing numeric and string input: The problem is that when _cin_ reads [the numeric variable], it leaves the newline generated by the ENTER key in the input queue.... The fix is to read and discard the newline before reading the address. This can be done several ways, including using _get()_ with no argument or with a _char_ argument... The fix in your case would be: cin >> nSelection; cin.get(); // add this line (or cin.get(ch)) here *** // rest of program David W. (D.WALLIS2, CAT4, TOP19, MSG:46/M530) <<<<< Re: Jay Krell """"" I'd like to thank you for your suggestions on handling the problems in some C++ source that I recently posted. I was able to apply the suggestions and concepts you provided and completed debugging and reworking some code to help out a young programmer that is just getting started with C and C++. My C++ knowledge isn't there just yet and I learned something new -- those flags that keep track of errors with the input stream :) Erick (E.WAGNER10, CAT4, TOP19, MSG:47/M530) >>> MESSAGE SPOTLIGHT <<< """"""""""""""""""""""""" SPEAKING SERIAL Apparently what is "different" about the DeskWriter is """"""""""""""" that its (serial) port only runs at 57.6 kbps. I guess, though I am ignorant of serial port protocol, you can't send data at 19.2 kbps if it is expecting it faster. Anyway, send plain text at 57.6k and it is just like the DeskJet. As far as where I read, this only recently came to light, I believe via Mike Hackett. - Jay (JAY.KRELL, CAT7, TOP8, MSG:105/M530) >>>>> Correct. _IF_ you could get the P8 application to output at 57600 """"" baud then a DeskWriter would behave just like a DeskJet does. _BUT_ P8 outputs using Apple's serial firmware, which only goes up to 19200 (check out your Control Panel). IIGS-specific printer drivers can output to a DeskWriter only because a custom port driver was written that directly accesses the serial chip to achieve 57600 baud (the limit imposed by the serial chip itself, not the limit imposed by Apple's firmware code). --Dave (SEVENHILLS, CAT7, TOP8, MSG:107/M530) <<<<< > achieve 57600 baud (the limit imposed by the serial chip itself """"" I'm not sure about that. I think it can actually run much faster. And yeah, the firmware is kind of limiting. (JAY.KRELL, CAT7, TOP8, MSG:108/M530) >>>>> I think Jay is right.. to the best of my knowledge, the serial """"" chip could theoretically go faster than 57600.. (A2PRO.GELAMP, CAT7, TOP8, MSG:109/M530) >>>>> uhm... the 5830 SCC can do in excess of 230Kbps.... """"" On the IIgs the limiting factors are how well the code is written, and the CPU speed (actual bus speed, not accelerator speed, though this does have obvious effects) -Harold (HAROLD.H, CAT7, TOP8, MSG:110/M530) >>>>> I find it amazing how myths get started. """"" Baud rate is generated by a clocking crystal decrementing a "downcounter" until it reaches zero. The value is then reloaded and the process starts again. The two factors that effect what baud rate is being generated, are 1. the fixed timing of the clock (effectively how fast it counts down, and 2. the count value loaded into the downcounter at the beginning of each pass (basicly how long it takes to count down to zero. The serial chip in the IIgs can accept baud rate generation from either an external source (which requires a hardware mod), or the internal generator. Because the internal generator feeds off a fixed clock, this means that the only way a programmer can change the baud rate generation (we're talking async comms here), is by changing the count value. The lowest it can go (dictated by the construction of the chip), is the 16 bit value $0000. Calculate this out using the IIgs' clock timing, and you get 57600. Sorry, but by using the internal generator, IIgs serial ports will NOT go any faster than this. Synchronous comms (eg. AppleTalk) is a whole different ball game. Regards, Richard (RICHARD.B, CAT7, TOP8, MSG:111/M530) FTN UPDATES We are in the process of revising several File Type Notes. """"""""""" Right now I would like to solicit comments about the $C0/$0002 FTN. It needs to be updated to add a newly defined Information Block, ands while we are at it, is there anything else that needs to be updated in the Note? (Other than spelling and grammar corrections, which have already been accomplished.) A2Pro Technical Support (A2PRO, CAT11, TOP20, MSG:26/M530) >>>>> What's the "newly defined Information Block"? """"" (Enquiring minds want to know). Oh, and BTW, you could add the ANYMODE block (defined by Softdisk). If an ANYMODE block is present, the picture is presumed to look good in either 320-mode OR 640-mode, in the default palettes (any palette information is ignored). This was defined originally for BackDrop, BTW. -Greg Templeman (BARNABAS, CAT11, TOP20, MSG:27/M530) >>>>> oh, so THAT's how BackDrop can tell.. I wondered.. :) """"" (A2PRO.GELAMP, CAT11, TOP20, MSG:28/M530) >>>>> Yep, Tim, you can just pop an ANYMODE block onto any APF file (has """"" no fields, just the standard length field and the string "ANYMODE") and it'll show up in both modes with BackDrop. I kinda think this is a more generally-useful thing than just for background pictures/patterns... -Greg Templeman (BARNABAS, CAT11, TOP20, MSG:29/M530) <<<<< > What's the "newly defined Information Block"? """"" We could tell you, but then we would have to kill you. :) Seriously, the new IB is for an as yet unpublished product. If all goes well, it will be released soon, and the FTN will be updated and ready for it. > Oh, and BTW, you could add the ANYMODE block (defined by Softdisk). ---cut here--- "ANYMODE Information Block Length LongInt Kind String "ANYMODE" Defines the graphic as being viewable and looking reasonable from either 320 or 640 mode using the default palettes." ---cut here--- Is the foregoing a reasonable IB description for $C0/$0002? -=Joat=- (A2.TIM, CAT11, TOP20, MSG:30/M530) >>>>> >Is the foregoing a reasonable IB description for $C0/$0002? """"" Without looking at the APF FT Note for how well that "blends in", I'd say it's pretty good. You could add "Palette information elsewhere in the file (if included) is usually ignored when this field is used." -Greg Templeman (BARNABAS, CAT11, TOP20, MSG:31/M530) <<<<< > Without looking at the APF FT Note for how well that "blends in", """"" > I'd say it's pretty good. I did it from memory, but I think it blended in well. :) If not, it will when I type it into my master. :) > You could add "Palette information elsewhere in the file (if included) > is usually ignored when this field is used." Done. :) I will hold the changes for publication of the product, and then the FTN will get one update. If anyone else has other changes for $C0/$0002, speak up in the next couple weeks please. Also, if anyone knows of any errors or updates for any other FTNs, please speak up here. As we find errors we will look to updating them, but if we get errors pointed out to us, it will help speed things up. :) -=Joat=- (A2.TIM, CAT11, TOP20, MSG:32/M530) >>>>> Some information in the NuFX ftn is in error, I'll look it up and """"" post when I find it. :-) (WANKERL, CAT11, TOP20, MSG:34/M530) >>>>> Did a FTN for Paintworks animations ever see the light of day? This """"" is still in demand. Nate's specification can be found in cat 11, top 5, msg 5. Michael (ANIMASIA, CAT11, TOP20, MSG:37/M530) >>>>> OK, I remember 3 sticky points in the NuFX FTN: """"" There are six (6) additional undefined bytes at the end of the master header that aren't mentioned in the FTN. They are included in the CRC for the master header. The bytes appear to be all zeros on version 2 (the latest version) archives. Perhaps they have some significance on earlier versions, I dunno... That was the only real wrong thing about the FTN. The other two points are just vague in the FTN: The FTN says " The 16-bit CRC of the remaining fields of this block [the record header, is calculated from] bytes +006 through the end of the header block and any threads following it." Now at first glance, the "any threads following it" part is very strange... do I actually have to do the CRC on the thread itself? No. You just calculate it on the thread records (the things that define where the threads are and how long they are). The last vague thing is in the RLE definition. The FTN says the RLE sequence is three bytes: the RLE escape code (normally $DB), followed by the number of bytes in the run, followed by the byte to repeat. Actually, the RLE escape code is followed by the byte to repeat and then followed by the number of bytes in the run. Also, the number of bytes in the run is one less than what should be in the run (i.e. a run value of $06 means that there should be seven (7) bytes repeated.) Oh yeah, one other part that's not mentioned anywhere is how the codes for LZW are stored. I dunno if it's relevant for the note or not because no LZW information is given... however... in all the LZW code I've seen, bits are shifted out of the input stream into the code variable. The input stream is just a stream of bits, and each bit gets shifted to the left. With NuFX, the input is read in BYTES and then shifts the bits out of each byte to make a code, which is IMHO very strange. Here are some examples: Given an input stream of 110101101001010110, the classic method (The one I've seen mostly which left shifts everything) would, with nine bit codes, produce the following two codes: $01AD and $0056. ShrinkIt takes the input stream, makes bytes out of it, so the input is $D6 $95 $80 (remaining 6 bits are assumed to be zero, notice :-) so the two codes ShrinkIt would see would be $01D6 and $002B! Very different. (I guess it helps if you write out bits on paper and shift them in by hand to see the difference.) See what a fun time I had writing Balloon? :-) (WANKERL, CAT11, TOP20, MSG:39/M530) >>>>> I've been looking for some info on how LZW works. (I have some """"" corrupt GIF earthquake maps that I'm trying to fix.) You lost me on the left-shift part and I was going to ask for more detail when I thought LZW might make an interesting topic for a short article in GS+? Wait, I just figured out the left shift (9 bits) :) .......1 10101101 .......0 01010110 $01 $AD $00 $56 Still, there's a lot more to LZW I imagine. Cheers, Bob (R.ECKWEILER, CAT11, TOP20, MSG:40/M530) >>>>> Yeah, shifting the bits from the input stream threw me for a big """"" loop when I was trying to write Balloon. :-) Almost as bad as figuring out why my CRCs for the master header block never matched. There's a lot of compression informaton in the A2Pro library that can help you figure out LZW and more. (WANKERL, CAT11, TOP20, MSG:41/M530) SERIAL SPEED Does anyone know offhand the maximum input rate that can be """""""""""" handled by the Apple IIGS serial port? At this rate, does anything besides networking have to be disabled? In particular, can the Apple IIGS handle a 2Mbps data rate for short bursts stored to RAM? (FWIW, the Macintosh _can_ handle this data rate.) Mike Westerfield (BYTEWORKS, CAT12, TOP6, MSG:99/M530) SYSTEM SERVICE VECTORS Here's a snippet of the equate file that I'm """""""""""""""""""""" working with (regarding the various System Service vectors). Please feel free to repost this on other services. (If you happen to spot any responses on other services, please repost them here, or email them to me. I'll compile what I find out and repost here (or upload here, whichever turns out to be appropriate)) Note that when I went thru these vectors I cobbled up pseudo meaningfull names for all of them, starting at $01FC00 (Dev_Dispatcher) which I named SrvVect_00... this pattern of naming is followed thru $01FCE0. I'm purposely =NOT= saying why I'm trying to track down info on these vectors, or what source I'm working with at this time. Suffice it to say that "something is cooking"... with some luck and lots of hard work by myself and others, it is entirely possible that a very nice and long awaited enhancement to GS/OS may actually become a reality. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % System Service Vectors % % This includes all the system service vectors % that are obvious in System 6.01. Both documented % and undocumented ones are listed. % % Comments: % % NiftyList - from NiftyList data file % DDR (not used) - Dev Drvr Ref, not used by this code % unknown (not used) - hole filler, totally unknown % Device Driver Ref - documented and used by this code % Private - unknown, but used by this code % Private (%) - Label from orig disassembly % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Dev_Dispatcher = $01FC00 ;NiftyList Cache_Find_Blk = $01FC04 ;DDR (not used) Cache_Add_Blk = $01FC08 ;DDR (not used) SrvVect_03 = $01FC0C ;unknown (not used) SrvVect_04 = $01FC10 ;unknown (not used) Cache_Del_Blk = $01FC14 ;DDR (not used) SrvVect_06 = $01FC18 ;unknown (not used) Alloc_Seg = $01FC1C ;Device Driver Ref Release_Seg = $01FC20 ;Device Driver Ref SrvVect_09 = $01FC24 ;Private (Used!) SrvVect_0A = $01FC28 ;Private (Used!) SrvVect_0B = $01FC2C ;Private (Used!) SrvVect_0C = $01FC30 ;Private (Used!) Swap_Out = $01FC34 ;Device Driver Ref Deref = $01FC38 ;Device Driver Ref Get_Buf_Ptr = $01FC3C ;Private (%) (Used!) SrvVect_10 = $01FC40 ;Private (Used!) SrvVect_11 = $01FC44 ;Private (Used!) SrvVect_12 = $01FC48 ;Private (Used!) SrvVect_13 = $01FC4C ;unknown (not used) Set_Sys_Speed = $01FC50 ;DDR (not used) Cache_Flsh_Def = $01FC54 ;Private (%) (Used!) SrvVect_16 = $01FC58 ;Private (Used!) SrvVect_17 = $01FC5C ;unknown (not used) SrvVect_18 = $01FC60 ;Private (Used!) SrvVect_19 = $01FC64 ;Private (Used!) Lock_Mem = $01FC68 ;Device Driver Ref Unlock_Mem = $01FC6C ;Device Driver Ref Move_Info = $01FC70 ;Device Driver Ref SrvVect_1D = $01FC74 ;unknown (not used) SrvVect_1E = $01FC78 ;unknown (not used) SrvVect_1F = $01FC7C ;unknown (not used) SrvVect_20 = $01FC80 ;unknown (not used) SrvVect_21 = $01FC84 ;unknown (not used) Signal = $01FC88 ;DDR (not used) SrvVect_23 = $01FC8C ;unknown (not used) Set_DiskSW = $01FC90 ;DDR (not used) SrvVect_25 = $01FC94 ;Private (Used!) SrvVect_26 = $01FC98 ;Private (Used!) SrvVect_27 = $01FC9C ;unknown (not used) SrvVect_28 = $01FCA0 ;unknown (not used) Sup_Drvr_Disp = $01FCA4 ;DDR (not used) Install_Driver = $01FCA8 ;DDR (not used) SrvVect_2B = $01FCAC ;Private (Used!) SrvVect_2C = $01FCB0 ;Private (Used!) SrvVect_2D = $01FCB4 ;unknown (not used) SrvVect_2E = $01FCB8 ;unknown (not used) Dyn_Slot_Arbiter = $01FCBC ;DDR (not used) SrvVect_30 = $01FCC0 ;unknown (not used) SrvVect_31 = $01FCC4 ;Private (Used!) SrvVect_32 = $01FCC8 ;unknown (not used) SrvVect_33 = $01FCCC ;unknown (not used) SrvVect_34 = $01FCD0 ;unknown (not used) SrvVect_35 = $01FCD4 ;unknown (not used) Unbind_Int_Vect = $01FCD8 ;DDR (not used) SrvVect_37 = $01FCDC ;unknown (not used) SrvVect_38 = $01FCE0 ;unknown (not used) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% If anyone is able to put =real= names to any of the SrvVect_xx vectors, please do so, and try to get that informaton back to me (email: Harold.H@GEnie.GEIS.Com) If you can provide any calling format info for these calls, so much the better. Thanks! -Harold (HAROLD.H, CAT13, TOP4, MSG:93/M530) GETTING PAID Recently a US based customer wanted some samples of our """""""""""" product line. The problem as a whole with small amounts ($20 - $40) in this case is that money transfer of this small amounts is that banks charge you an arm and a leg for doing transactions. I.e. for an foreign cheque banks charge around $15 - $20 minimum and still apply a percentage of value of the cheque. While this is acceptable (well it is NOT!!!) for large transactions, it makes small ones like the above almost impossible. So we called our local Visa office. They told us, that even we don't have an contract with them, transactions on a one by one basis would be possible. All we needed was the card# of the customer and a written (faxed) order. We would have to do the paperwork and Visa would transfer the money to our bank account (after charging 4.5% of total value). So what does this have to do with the AII? Well there are shareware autors and small busines in the AII community, that sell for small prizes. This might be a way for them to get paid a lot easier and be charged less by banks, no? Alex (A.CORRIERI, CAT13, TOP15, MSG:17/M530) [*][*][*] While on GEnie, do you spend most of your time downloading files? If so, you may be missing out some excellent information in the Bulletin Board area. The messages listed above only scratch the surface of what's available and waiting for you in the bulletin board area. If you are serious about your Apple II, the GEnieLamp staff strongly urge you to give the bulletin board area a try. There are literally thousands of messages posted from people like you from all over the world. [*][*][*] [EOA] [DEV]////////////////////////////// DEVELOPER'S CORNER / ///////////////////////////////// News From The A2Pro Online Developers """"""""""""""""""""""""""""""""""""" By Tim Buchheim [A2PRO.GELAMP] o ONLINE SUPPORT IN A2Pro o AN IMPORTANT MESSAGE FROM PRODEV o ULTRAMACROS PROGRAMMING o BYTEWORKS PRODUCT ANNOUNCEMENTS o EXPLAINING LOGIN >>> ONLINE SUPPORT IN A2Pro <<< """"""""""""""""""""""""""""""" CAT TOP COMPANY === === ======= 29 INDEPENDENT DEVELOPERS ONLINE 2 DYA/DigiSoft Innovations Online 8 Simplexity Software Online 14 Quality Computers Q-LABS Online 20 DreamWorld Software Online 26 METAL/FV Software Online 32 Kitchen Sink Software Online 38 EdIt-16 (Bill Tudor) 30 PROCYON, INC. 31 SOFTDISK PUBLISHING 33 GS+ MAGAZINE 34 JEM SOFTWARE 35 PRODEV, INC. 36 THE BYTE WORKS Each month this column feature highlights and news from various developers who provide support via A2Pro. >>> AN IMPORTANT MESSAGE FROM PRODEV <<< """""""""""""""""""""""""""""""""""""""" PRODUCT DISCONTINUED OK you Apple II hardware hackers. We are """""""""""""""""""" discontinuing production of the ProDev DDT, but we still have a few bare PC boards if anyone wants to experiment with building their own. We will sell you a bare board along with the 2 PROMs, 1 PAL and EPROM of the latest software. You will need to get the other parts from other sources, (well we may have enough for a few kits). THIS STUFF WILL BE SOLD AS IS, WE WILL NOT BE ABLE TO PROVIDE TECHNICAL ASSISTANCE. The price is $25 which include shipping within the U.S. If you want to order please call our voice line at 1-800-248-3547 VISA/MC accepted. Thank You for your past support. P.S. We will continue to provide support for all existing customers. We are just shifting our resources to other more profitable platforms. (PRODEV, CAT35, TOP4, MSG:3/M530) >>> ULTRAMACROS PROGRAMMING <<< """"""""""""""""""""""""""""""" AN ELUSIVE BUG Hi guys, """""""""""""" I have a simple TAPL project I'm working on, and one of the macros I'm writing is supposed to search for several printer options and delete them; however, it just searches for the first and keeps hanging. The code follows: //"D" deletes the options without equivalents: P1, P2, PE, PH, SM, SC, EK, //MM, GB, GE, and LI d:! //{Start looking again} It appears not to be exiting the loop and incrementing the I counter properly, but I does show up as 3 when I test for it. What am I doing wrong? Ryan If you think that was bad just wait a few minutes. . . (And delivered by Copilot and PT 3.1 :) (R.SUENAGA1, CAT34, TOP2, MSG:79/M530) >>>>> You can use twice in a row like you did. will just """"" return to the most recent , and the first one will never get used. Since you have a fixed number of codes, use for-next to control your first loop instead. (BRANDT, CAT34, TOP2, MSG:80/M530) A QUESTION Hi all, """""""""" I'm doing some Ultramacros programming and need some help: Specifically, I'm trying to find a way to find out if a file a macro adds to the desktop has an identical name to a file already on the desktop, and have the macro change the file name if that's the case. I tried using ONERR GOTO but it didn't work; apparently, getting the warning bout adding a duplicate file name with "Do you REALLY want to do this?" is not an error :) Anyone have any ideas? Ryan If you think that was bad just wait a few minutes. . . (And delivered by Copilot and PT 3.1 :) (R.SUENAGA1, CAT34, TOP3, MSG:6/M530) >>>>> If you're working with the screen on, you can check for the message """"" after doing the "add" keystrokes. (BRANDT, CAT34, TOP3, MSG:7/M530) >>>>> Immediately after adding the file, check for the warning message """"" onscreen: <$3 = screen 1,24,3 : if $3 = "Do " then print "Y" : sa-R : endif> If there's no message, the subroutine will be ignored. If there is, it will answer "Yes" to permit a duplicate on the desktop. Then rename the file in the macro. | -(+)- | | ...Will (W.NELKEN1, CATxx, TOPx, MSG:xx/M530) >>> BYTEWORKS PRODUCT ANNOUNCEMENTS <<< """"""""""""""""""""""""""""""""""""""" ORCA/MPW? Product Announcement """"""""" -------------------- GS-24 MPW IIGS ORCA/C $175 Well, the name pretty much says it all! Here's ORCA/C running under MPW. It's pretty much a straight port of ORCA/C 2.0.3, but there are a _few_ extras... See file 4770 for details, or e-mail me with your mailing address and ask for the tech sheet. Mike Westerfield (BYTEWORKS, CAT36, TOP11, MSG:501/M530) <<<<< We got permission from Apple to continue shipping the latest """"" version of MPW IIGS Pascal. APDA-18 MPW IIGS Pascal $150 I don't have any immediate plans to convert ORCA/Pascal to MPW. The reason ORCA/C was ported is someone paid me a fair amount of money to do it. I don't expect to make much, if anything, off of the MPW IIGS ORCA/C release. If I were to port ORCA/Pascal, I'd have to have a clear view of how I would make enough money from the project to at least cover myself. (Surprisingly, it may happen someday. :) > Does ORCA/C for MPW fill in the OMF segment number fields for object > files like it should? Back up. First, there is no requirement in any documentation, nor was there _ever_ any discussion that would make this happen. One, ahem, to be polite, person at Apple had a bug up his rear about the segment numbers, and happened to be the person to port the MPW tools. He knew when he did it that it wasn't required, and in fact would not work with existing software on the Apple IIGS, and furthermore that I could not _make_ it work with the ORCA products without sacraficing features in my compilers and assemblers. "...like it should..." is entirely and absolutely wrong. It shouldn't. The problem is a DELIBERATE bug in Link IIGS, not a failing of any of the ORCA languages. Having said that to make sure it's clear what the history is, yes, MPW IIGS ORCA/C does insert segment numbers. As a rsult, it does not support partial compiles, but then, MPW doesn't either, so under MPW this was not a big sacrafice. > The signedness of plain characters is always in question. Yes, the ANSI standard leaves it up to the implementor whether a character is a signed or unsigned thing. However, an implementation that takes that freedom and decides to make strings be both, depending on the content, is not to be trusted. C is unpredictable enough without the foolishness of context-sensitive syntax for strings. Mike Westerfield (BYTEWORKS, CAT36, TOP11, MSG:508/M530) Mike, There's a bug in the latest MPW Pascal IIGS (I assume I have the latest, even though the -l switch lists just plain old "1.1" and no beta level info) where it will crash at the end of a compile under either of the following conditions: 1. An MPW partition greater than 16MB. 2. Using VM and *ANY* MPW partition size. 3. Using RAMDoubler in standard mode (no VM step down) and *ANY* MPW partition size. For one project I need a very large partition, because of MPW cache fragmentation. However, I'm forced to use a smaller size and quit and re- launch after every couple of compiles. The chances of getting MPW Pascal IIGS fixed (unless you've got the source now!) are pretty slim (read: zero), hence my question regarding ORCA/Pascal. As an aside, should we be asking who in the Apple II world would be paying you specifically to port ORCA/C to MPW? Or more specifically, what they're working on! Regards, Richard (RICHARD.B, CAT36, TOP11, MSG:511/M530) <<<<< > As an aside, should we be asking who in the Apple II world would """"" > be paying you specifically to port ORCA/C to MPW? No one. The company wanted to use ORCA/C for Super Nintendo development. Mike Westerfield (BYTEWORKS, CAT36, TOP11, MSG:513/M530) >>> EXPLAINING LOGIN <<< """""""""""""""""""""""" I know I've asked this before, and I know someone was kind enough to answer me then, but I've been "out of it" for a while and I've quite forgotten. What _exactly_ does one put in the Login file on in the ORCA shell so that the keepname defaults to the .pas filename? Thanks you so much for your consideration. ________ |homas (T.COMPTER, CAT36, TOP18, MSG:105/M530) >>>>> If you start with the source code file "filename.pas", then the """"" KeepName "$" variable will automatically create filename.root, filename.a and filename (the exe program), when you do the "cmpl filename.pas" command. This is the way it would look in the login file: set KeepName "$" export KeepName The manual really didn't give an example of HOW to do this. In order for this to take effect, after adding it to the login file, I had to quit/relaunch ORCA, as just rerunning the login exec file didn't work. I used the prompt variable along with this, as that provides a noticeable view that something has happened. Just rerunning the login exec file didn't change the prompt. set Prompt "-" export Prompt Using this: set KeepName "%" export KeepName will cause the current filename to be used. This is great for compiling, but the cmpl command will fail as the linker tries to overwrite the source file. filename.pas would become filename.pas.root and filename.pas.a. The exe file would be filename.pas (the source file). - James - [IMAGE] (J.GRAY38, CAT36, TOP18, MSG:106/M530) <<<<< > Just rerunning the Login file doesn't change the prompt. """"" Actually it does. What happened to you is even more complex. Things like exported variables that are changed in a script file are reset when the script file finishes. That helps you write script files that can call other script files without affecting the main shell, or other script files that use them. In effect, what you get is variable scoping that starts with the script file and extends to any script file it calls. When the Login file is executed automatically by the shell, it's treated as the top level in this variable scoping mechanism, so anything else you do until you exit the shell has access to exported variables from the Login file. That special status doesn;t apply if you run the Login file from the command line; it's treated like any other script file. Of course, sometimes you want a script to change the local envrionment. That's what the EXECUTE command is for. Try Execute 6/Login and I think it will do what you were expecting in the first place. Mike Westerfield (BYTEWORKS, CAT36, TOP18, MSG:107/M530) [*][*][*] [LIB]////////////////////////////// LIBRARY BIT BONANZA / ///////////////////////////////// HOT Files You Can Download """""""""""""""""""""""""" By Tim Buchheim [T.BUCHHEIM] o NEW FILES >>> NEW FILES <<< """"""""""""""""" File # 4780 AW51UP.BXY (ALL) Uploaded on 6/28/95 by BRANDT About 319K (d/l time approx. 30 minutes @ 2400 baud) This archive updates AppleWorks 5.0 to 5.1. The archive may be distributed freely. File # 4775 BINHEXINFO.BXY (ALL) Uploaded on 6/26/95 by E.WAGNER10 About 10K (d/l time approx. 1 minute @ 2400 baud) Specifications for BinHex 4.0, a binary to ASCII encoding scheme for the Macintosh. This information may be useful for development of programs that can decode this format to extract useful information. File # 4770 MPW.ORCAC.TXT (ALL) Uploaded on 6/19/95 by BYTEWORKS About 3K (d/l time approx. 20 seconds @ 2400 baud) Here's the ASCII description of MPW IIGS ORCA/C, an ANSI C cross compiler that runs under MPW on the Macintosh. For a printed copy and a catalog listing all our products, contact Byte Works at GEnie's e-mail ByteWorks, or via internet at MikeW50@AOL.COM. We'll need your mailing address to send you the printed material! File # 4762 GNO.RSOUND.BXY (GS) Uploaded on 6/11/95 by D.MITTON About 74K (d/l time approx. 7 minutes @ 2400 baud) This is a simple(?) rSound playing utility for use under the GNO/ME environment. The ORCA/C source is included so re-compiling under another shell shouldn't be a problem. A sample sound file is also included. Enjoy!!! This library has been TOO quiet lately!!! :-) [*][*][*] Well, unfortunately D.MITTON is right, the library has been much too quiet. If you watch the file numbers, you'll see that there are lots of files being uploaded.. but almost all of these are related to beta testing, and thus are in hidden libraries. While it is great that much of A2Pro's library activity has been involved with new software development, it would be nice if we had more publicly available files. So please upload anything you think other programmers would like to have, be it utilities, source code, or files containing useful information like E.WAGNER10's text file about Binhex files. Even if your source code isn't beautiful, we'd like to see it... There are a lot of programmers out there who are just getting started and need sample source to guide them. [*][*][*] [EOA] [RTC]////////////////////////// RTC WATCH / ///////////////////////////// Bits and Pieces from A2Pro Real Time Conferences """""""""""""""""""""""""""""""""""""""""""""""" By Russ Nielson [R.NIELSON1] o A2Pro WEEKLY RTC SCHEDULE o BITS & PIECES FROM THE A2Pro RTC >>> A2Pro WEEKLY RTC SCHEDULE <<< """"""""""""""""""""""""""""""""" _______ __________ _________ /_______| /_________/ /________/ SEVEN days a week!! /__/__/__/ /__/ /__/ /________/ EAL /__/ IME /__/ ONFERENCES in A2Pro!! /__/ /__| /__/ /__/_____ /__/ /__/ /__/ |________/ WEEKLY SCHEDULE Stop in and say "Hi!" at one of these conferences. We've been giving away quite a few GEnie usage credits (free time) at these conferences, and you may just win the next one! :) Day Time Event Host --- --------------- ----------------------------------- ----------- Sun 8:30pm-11:00pm Weekly Programmers' RTC Sloanie Mon 9:30pm-11:00pm GS/OS and Toolbox Calls Dave Miller Tue 9:30pm-11:00pm 8-bit Programming Russ Nielson Wed 9:30pm-11:00pm HangTime's HyperBar & Grill HangTime Thu 9:30pm-??:?? Informal - Q&A, chat, whatever A2Pro Staff Fri 9:30pm-11:00pm Getting Started with Programming Tim Buchheim Sat 8:30pm-10:00pm Assembly Language Programming Brian Wells NOTE: All times are in Eastern Daylight Time. >>> BITS & PIECES FROM THE A2Pro RTC <<< """""""""""""""""""""""""""""""""""""""" can one of the Double Hi-Res modes support the 4 text lines at the bottom? yes. Double hi-res for page 1 can I know. The text is in 80-col mode and very hard to read on some monitors, but it is there. I've written a few double hi-res programs, nothing great but I did it :) let's see, double hi-res mode increases the X or horizontal pixels available to you. what about the Y or vertical pixels? Is it still 192 (0 to 191)? One of my shape grab double-hires utility programs used the 4 lines of text :) Double Hi-res is just doubling the horizontal resolution. Same vertical resolution. I wonder how many rows of pixels those 4 text lines at the bottom consume? 32 pixels 8 rows per line x 4 lines = 32 or 7 x 4 = 28 32 / 4 = 8 pixels per char um.. 192 / 24 = 8 pixels for character :) so 192 - 32 would be 160 vertical positions Erick, planning on writting a double hi-res arcade game soon? not a game, but would like to use the DHR screen for a graphical representation of the control panel of my musical keyboard as well as a 3-octave keyboard layout yeah? Cool! I used TimeOut Paint to create the 3-octave keyboard on Sunday night, it turned out pretty good for a non-artist! I would like the keyboard layout to be on the same screen as the controls (knobs and switch) Erick: So you want to use the 4 text lines for the keyboard layout? nope, I may want to display some messages down there Erick: You lost me for a sec. What's this keyboard layout? a 3-octave keyboard to match the one on a musical keyboard oh.. this 3-octave keyboard would be on the Double-hi-res screen? my keyboard has a parallel port which I can detect which key is being pressed or via a pgm, tell the keyboard circuitry to play a particular note (just like the user pressed the key) Erick: that sounds cool. So do you play the keyboard or does the program control the keyboard? both! oh! :-D it's a bi-directional parallel port It's like a simple MIDI recording studio! sorta, only this keyboard is not MIDI this particular keyboard has a memory that can hold 16 patches (combinations of various switch and knob settings -- a digitized representation of the actual control) I could write a program to grab these patches out of the keyboard's memory and save them to disk, where I could have hundreds of thousands (a library) also, not only can I tell which key is being pressed, but I can tell the keyboard to act as if a person was playing it (a sequencer) So the program can make the keyboard play? AWESOME! :) the "challenge" to all of this is keeping track of time (the duration of notes and pauses) Erick, would be a neat test to implement this into my Duet program, have it send the notes out thru the parallel port and have th keyboard play! :) however, this is a "lead synthesizer" (a monophonic keyboard -- one note at a time) as opposed to a polyphonic keyboard [*][*][*] Join us any night of the week for quick and friendly programming help! The staff of A2Pro is always available to answer your questions, or to sit and chat about whatever is on your mind! This month's RTC bits and pieces came from A2Pro's Tuesday night conference, hosted by Russell Nielson (R.NIELSON1). Russ is an 8-bit programming expert; he is perhaps best known for some really great arcade games published on the 8-bit version of Softdisk. Some of my [the editor's] personal favorites include Shatter Star (Softdisk #112) and Vigor (available various places online, including A2's library). Anyway, if you are programming an Apple IIe, Apple IIc, or any other 8-bit Apple II, the Tuesday night RTC is the right place for you to ask any programming questions you have. Russ is sure to be able to answer your question, and if not he can tell you where to go for further assistance. Also, he is a great guy, and even if he can't help solve all of your programming problems, he can engage in an interesting conversation dealing with just about anything. :) [*][*][*] [EOA] [LOG]////////////////////////////// LOG OFF / ///////////////////////////////// GEnieLamp Information """"""""""""""""""""" o COMMENTS: Contacting GEnieLamp o GEnieLamp STAFF: Who Are We? GEnieLamp Information GEnieLamp is published on the 1st of every month """"""""""""""""""""" on GEnie page 515. You can also find GEnieLamp on the main menus in the following computing RoundTables. RoundTable Keyword GEnie Page RoundTable Keyword GEnie Page """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" DigiPub DIGIPUB 1395 Atari ST ST 475 Macintosh MAC 605 IBM PC IBMPC 615 Apple II A2 645 Apple II Dev. A2PRO 530 Macintosh Dev. MACPRO 480 Geoworks GEOWORKS 1050 BBS BBS 610 CE Software CESOFTWARE 1005 Mini/Mainframe MAINFRAME 1145 Programming PROGRAMMING 1445 Data Comm. DATACOMM 1450 IBM PC Prog IBMPCPRO 617 PowerPC PPC 1435 PowerPCProg PPCPRO 1440 GEnieLamp is also distributed on CrossNet and many public and commercial BBS systems worldwide. o To reach GEnieLamp on Internet send mail to genielamp@genie.com o Back issues of GEnieLamp are available in the DigiPub RoundTable Library #2 on page 1395 (M1395;3). o GEnieLamp pays for articles submitted and published with online GEnie credit time. Upload submissions in ASCII format to library #31 in the DigiPub RoundTable on page 1395 (M1395;3) or Email it to GENIELAMP. On Internet send it to: genielamp@genie.com o We welcome and respond to all E-Mail. To leave comments, suggestions or just to say hi, you can contact us in the DigiPub RoundTable (M1395) or send GE Mail to John Peters at [GENIELAMP] on page 200. o If you would like to meet the GEnieLamp staff "live" we meet every Wednesday night in the Digi*Pub Real-Time Conference at 9:00 EDT (M1395;2). o The Digital Publishing RoundTable is for people who are interested in pursuing publication of their work electronically on GEnie or via disk-based media. For those looking for online publications, the DigiPub Software Libraries offer online magazines, newsletters, short-stories, poetry and other various text oriented articles for downloading to your computer. Also available are writers' tools and 'Hyper-utilties' for text presentation on most computer systems. In the DigiPub Bulletin Board you can converse with people in the digital publishing industry, meet editors from some of the top electronic publications and get hints and tips on how to go about publishing your own digital book. The DigiPub RoundTable is the official online service for the Digital Publishing Association. To get there type DIGIPUB or M1395 at any GEnie prompt. >>> GEnieLamp STAFF <<< """"""""""""""""""""""" GEnieLamp o John Peters [GENIELAMP] Publisher """"""""" o Mike White [MWHITE] Managing Editor APPLE II o Doug Cuff [EDITOR.A2] EDITOR """""""" o Gina E. Saikin [A2.GENA] A2 Staff Writer o Charlie Hartley [C.HARTLEY3] A2 Staff Writer A2Pro o Tim Buchheim [A2PRO.GELAMP] EDITOR """"" ATARI o Sheldon H. Winick [GELAMP.ST] ATARI EDITOR """"" o Bruce Smith [B.SMITH123] EDITOR/TX2 o Mel Motogawa [M.MOTOGAWA] ST Staff Writer o Terry Quinn [TQUINN] ST Staff Writer o Richard Brown [R.BROWN30] ST Staff Writer o Al Fasoldt [A.FASOLDT] ST Staff Writer o Timothy V. Steed [T.STEED1] ST Staff Writer IBM o John Peters [GENIELAMP] IBM EDITOR """ o David Leithauser [D.LEITHASUER] HyperRead Editor MACINTOSH o Richard Vega [GELAMP.MAC] MACINTOSH EDITOR """"""""" o Tom Trinko [T.TRINKO] Mac Staff Writer o Bret Fledderjohn [FLEDDERJOHN] Mac Staff Writer o Ricky J. Vega [GELAMP.MAC] Mac Staff Writer POWER PC o Ben Soulon [BEN.GELAMP] POWER PC EDITOR """""""" WINDOWS o Bruce Maples GELAMP.WIN EDITOR """"""" ETC. o Jim Lubin [J.LUBIN] Add Aladdin Scripts """" o Scott Garrigus [S.GARRIGUS] Search-ME! o Mike White [MWHITE] (oo) / DigiPub SysOp o Susie Oviatt [SUSIE] ASCII Artist o Al Fasoldt [A.FASOLDT] Contributing Columnist o Phil Shapiro [P.SHAPIRO1] Contributing Columnist o Sandy Wolf [S.WOLF4] Contributing Columnist o Lloyd E. Pulley [LEPULLEY] Contributing Columnist \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// Opinions expressed herein are those of the individual authors, and do not necessarily represent opinions of GEnie Information Services, GEnieLamp Online Magazines, or T/TalkNet Online Publishing. Bulletin board messages are reprinted verbatim, and are included in this publi- cation with permission from GEnie Information Services and the source RoundTable. GEnie Information Services, GEnieLamp Online Magazines, and T/TalkNet Publishing do not guarantee the accuracy or suitability of any information included herein. We reserve the right to edit all letters and copy. Material published in this edition may be reprinted under the fol- lowing terms only. Reprint permission granted, unless otherwise noted, to registered computer user groups and not for profit publications. All articles must remain unedited and include the issue number and author at the top of each article reprinted. Please include the fol- lowing at the end of all reprints: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////// The preceeding article is reprinted courtesy of GEnieLamp Online Magazine. (c) Copyright 1995 T/TalkNET Publishing and GEnie Infor- mation Services. Join GEnie now and receive $50.00 worth of online credit. To join GEnie, set your modem to 9600 baud (or less) and half duplex (local echo). Have the modem dial 1-800-638-8369. At the U#= prompt, type: JOINGENIE and hit the RETURN key. When you get the prompt asking for the signup code, type DSD524 and hit RETURN. GEnie will then prompt you for your signup information. For more information call (voice) 1-800-638-9636. ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ [EOF]