[HEA] _____________________ ___ _ |___ ______________| | | | | | | _ | | | | | || | | | | | | || | | | | | | || | | | ____ _ _ _ _ ______ | | | || | | | / __ \ | | / \_/ \ | ___ \ | | | || |__ ____ | | / / \ | | /\ /\ \ | | \ \ | | | || _ \ | _ \ | | \ \__/ | | | |_|| | | |__/ / | | | || | | || |_|| | | \___/|_| |_| |_| | ____/ |_| | || | | || |__ | |____________________ | | _ |__||_| |_|\____/ |________________________| | | |_| | | Lighting Your Apple II Path On Delphi | | |_| >>> WELCOME TO THE LAMP! <<< ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ WEB SLINGING 101: Halfway There AND THE BEST OF THE A2 AND A2PRO MESSAGE BOARDS "Teaching the Apple II user how to fish since 1998" :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: The Lamp! An Onipa'a Software Production Vol. 1, No. 9 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Publisher & Editor.......................Ryan M. Suenaga, M.S.W., L.S.W. Internet Email........................................thelamp@delphi.com :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: TABLE OF CONTENTS ~~~~~~~~~~~~~~~~~ September 15, 1998 OPENING PITCH I Can't Get No ------------------------------------------------- [OPN] A FUNNY THING HAPPENED [FOR] The Heat Is On ------------------------------------------------- [HET] Miscellanea [MSC] Rumor Mill ----------------------------------------------------- [RMR] Public Postings [PUB] Best Of The Best ----------------------------------------------- [BOB] A2Pro_DUCTIVITY Checking out A2PRO on Delphi ----------------------------------- [A2P] WEB SLINGING 101 Halfway There: Uploading to Delphi via FTP --------------------- [WEB] EXTRA INNINGS About The Lamp! ------------------------------------------------ [INN] [*] [*] [*] READING THE LAMP! The index system used by The Lamp! is designed to make """"""""""""""""" your reading easier. To use this system, load this issue into any word processor or text editor. In the index you will find something like: EXTRA INNINGS About The Lamp! ------------------------------------------------ [INN] To read this article, simply use your search or find command to locate [INN]. There is a similar tag at the end of each article: [EOA]. :: DISCUSSED ON DELPHI :::::::::::::::::::::::::::::::::: : : : Do files get embarrassed when they are unzipped? : : : :::::::::::::::::::::::::::::::::::::::: LUMITECH ::::::: [EOA] [OPN]------------------------------ OPENING PITCH | ----------------------------------- From The Editor """"""""""""""" by Ryan M. Suenaga, B.A., M.S.W., L.S.W. [thelamp@delphi.com] I CAN'T GET NO ~~~~~~~~~~~~~~ It's been about two months since I was spending some idle time browsing the World Wide Web, and used an Internet search engine to search on my email address. I was distressed to discover that an Apple II user group had posted issues of _The Lamp!_ on their World Wide Web site without my permission. To make matters worse, parts of the publication were missing, apparently due to the issue being downloaded in a less than optimal way from _The Lamp!_ World Wide Web page, but ironically, what was not missing from the issues was the copyright notice. A couple of email messages later the issues were removed, but the damage was done. As far as I know, the phrase, "The only thing this job pays is satisfaction," was originated by my predecessor on _GenieLamp A2_, Doug Cuff, and the song is still the same. As much as I'd like otherwise, the Apple II is a hobby, and as much time as I put into it, it doesn't pay the bills (although counting everything I make from writing for other publications a year, it might pay one bill--my yearly $35 Delphi subscription). I counted the hours it took to create _GenieLamp A2_ every month last year, and it averaged out to 30 hours each month. That's 30 hours I could spend at a part time job to pay the rent or on the weight bench working on my bad right shoulder. Thirty hours is a worthwhile price to pay for a job well done, no question, and most months it's hours well spent. But not that one. So, in what we used to call "group punishment" back in the days when I worked at the youth shelter, I delayed updating the official home page of _The Lamp!_ for awhile. The user who started the fire by distributing _The Lamp!_ got it from there, so I took away the matches, and I announced in the _II Scribe_ Forum on Delphi that I'd delay placing issues there. Interestingly, the only mail I received about _The Lamp!_ in that time were people asking why the archive on the World Wide Web wasn't updated, and after my standard reply, I received only one backhanded positive comment about the work put into the publication. After cooling down a bit, I've placed the back issues of _The Lamp!_ back up on the Web page, and in fact I've licensed another site on the Web to handle back issues: the trenco.gno.org ftp site. This doesn't mean I've gotten paid yet, just that I've decided that it's been a fitting punishment for the crime. I can't think of another way to say this, so here it is: if people continue to abuse the distribution restriction placed on this publication, it'll become more strict, and that'll be that. Period. [*] [*] [*] And Now For Something We Hope You'll Really Like Department: Realizing that editorial was a bummer, I've decided I'll try to shine a little light on the dark A2 universe--even post KansasFest, the A2 and A2Pro Forums on Delphi keep pumping out new information, and our Apple II programmers keep putting out new programs. I can't recall a time in the last three years when we've seen so many new products as we have these past two months. And we are still anxiously awaiting the essential IIgs tool in the age of the 'Net, _Marinetti 2.0_. After all, it's tough to catch fish without a 'Net. See you in thirty. Ryan thelamp@delphi.com ASCII ART BEGINS _________ _ _ _ |__ __| | | | | | | | | | | | | | | | | | |___ ____ | | _____ __ ___ _ _ _____ | | | | | ___ \ / __ \ | | /____ \ | v v | | v ___ \ | | | | | | | | | /__\ \ | | ____| | | /\ /\ | | / \ \ | | | | | | | | | _____| | | / ___ | | || || | | | | | |_| | | | | | | | |_____ | |____ | |__| | | || || | | \___/ / _ |_| |_| |_| \______| |______| \____^_| |_||_||_| | |\____/ |_| | | | | |_| ASCII ART ENDS [EOA] [OPN]------------------------------ A FUNNY THING HAPPENED. . . . | ----------------------------------- Checking out A2 on Delphi """"""""""""""""""""""""" by Ryan M. Suenaga, B.A., M.S.W., L.S.W. [thelamp@delphi.com] * The Heat Is On * Miscellanea * Rumor Mill * Public Postings * Best Of The Best THE HEAT IS ON """""""""""""" [*] General Chatter ....... Emulation And Copyrights [*] The Apple II Legacy ....... Bussing In KFest From Canada? [*] Hardware Hacker ....... Risk/Reward with ZipGSX Hop Ups [*] User Groups & Publications ....... NiftySpell Vs. Big Mac? [*] Vendors & Tech Support ....... Babelfish Bugs? MISCELLANEA """"""""""" APPLE COPYRIGHT IN THE ERA OF EMULATION True. However, Apple is no longer """"""""""""""""""""""""""""""""""""""" making money off the Apple II line. Or are they? Some people are buying Macs instead of WinTel machines so they can run Bernie and keep using their Apple II software. So Apple is actually =making= money (if only a little bit) because Bernie is available. Legally, I'm sure Apple could go after people for creating ROM images for emulators. Realistically, why would they? Nobody is being hurt and nobody is losing money because of Bernie and other emulators. Well, except for those few lost WinTel sales... The only real sticking point is making those ROM images available publicly. There's still not going to be anybody hurt or losing money because of it, unless someone =sells= them. Try that and you'd have Apple lawyers on your back pretty fast I imagine. ----------------------------------------------------- Tony Ward, A2 Database Manager [Delivered with Spectrum 2.1 and Crock O' Gold 2.5] -- "Whatever it is, I'm against it!" -- Groucho Marx (TONYW1, 15322, GO COM A2) >>>>> and if anyone recalls my comments on Apple IIgs Basic, this is """"" along the same bullish tactics that Micro$oft used on Apple, or it would have yanked the AppleSoft license altogether. Apple had a version of BASIC developed for the Mac, M$ wanted to market Microsoft BASIC for the Mac, .. so they put an ultimatum on the table: Sell us Mac BASIC for $1, or you lose Applesoft. This being 1985, and would not be a good thing, being that the Apple II was still the cash cow. Apple, BASIC and Microsoft have been a touchy subject ever since. A comprehensive 3rd party book had been published and marketed for Macintosh BASIC, and was available in stores while all this was going on. .microsoft. {s hurl} Tony (T_DIAZ, 15393, GO COM A2) IIGS SERIAL SUPPORT VS. THE TURBO ASB In practical terms, the 57600 bps """"""""""""""""""""""""""""""""""""" serial port is speedy enough for most tasks. Think about the types of files you download. Most likely they are already compressed (SHK/BXY, ZIP, GIF, JPG, etc.) These types of files would not benefit much from the extra speed of the Turbo ASB. If, however, you download a lot of highly compressible files (text/html, sounds, etc.) that's where the Turbo ASB comes in handy. Remember that you can only exceed the speed of your port by using compression. In other words, a 57600 port will be able to keep up with a 56K modem but it won't be able to take advantage of compression. Since compression can theoretically be as good as 4:1, that's where the 230,400 bps port can come in handy, theoretically. In practice, 115,200 bps is almost always sufficient. Keep in mind that the high speeds achievable by the Turbo ASB, namely 115,200 bps (230,400 bps seems to be too fast even for my 8MHz Zip), practically require an accelerator and a shift boot. ----------------------------------------------------- Tony Ward, A2 Database Manager [Delivered with Spectrum 2.1 and Crock O' Gold 2.5] -- Guns don't kill. Fast-moving projectiles do. (TONYW1, 15649, GO COM A2) BABELFISH BUGS? PART 1 I downloaded Babelfish from Ewen's Web page last """""""""""""""""""""" night. The few conversions I have tried with the NDA worked great! I converted a document on goat care to HTML. Have to take it to my Windows machine and open it with Netscape to see how it will look. I was really just playing, though. One problem I have had with Babelfish: In _some_ applications, I get an 'Error $5302' message when I try to access the Convert File NDA that suggests that Babelfish is not properly installed. I walked thru my hard drive trying programs, and came up with the following: Babelfish configuration error: JumpStart AWGS BeagleDraw MiniPaint Paintworks Gold TimeMaster Convert NDA Opens successfully: Finder SnowTerm GWIII PMPFaxApp HyperCard GSHK UniverseMaster UtilityWorks DigitalSession rSounder3 WriteAway2.1 ICE WWPro QuickClicCalc SuperConvert4 discQuest discQuest Encyclopedia CD.Roam Note that all of the ones that give the error are pretty old programs, although some of the ones that don't give the error are older ones too. - Don (IronTooth) Delivered by my ANSITerm off-line reader scripts... They're OLRight! (DZAHNISER, 14730, GO COM A2) >>>>> My first guess is that those older programs aren't starting up a """"" toolset that Convert File assumes is always available (possibly Resource Manager -- I don't think the Resource Manager existed yet when any of those applications were written, although AWGS was last updated just as System 5 shipped, I don't think it uses the RM). Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 14732, GO COM A2) >>>>> Why not just view it in SIS to see what you have got? """"" > One problem I have had with Babelfish: In _some_ applications, I get an > 'Error $5302' message when I try to access the Convert File NDA that > suggests that Babelfish is not properly installed. Thanks for the bug report, it has gone on the 'to do' pile. As it turns out that the 'SFUtility' Init is not needed, try removing that and see if it fixes the problem. Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 14743, GO COM A2) <<<<< Well, because I have neither SIS nor Spectrum (although they both """"" are on the wish list). > As it turns out that the 'SFUtility' Init is not needed, try removing > that and see if it fixes the problem. I inactivated SFUtility, and still have the same symptoms. BTW - What function does SFUtility serve? - Don (IronTooth) Delivered by my ANSITerm off-line reader scripts... They're OLRight! (DZAHNISER, 14757, GO COM A2) >>>>> I checked this out too, and SFUtility is not the cause of the """"" problem. But it is only the Convert File NDA that is affected by the older applications. The Babelfish Init itself is called by the NDA and any application that knows about Babelfish directly. For the meantime, until I can make a fix, just make your conversions at the Finder level. When I get some time, I will try and determine what the problem is with these older programs. SFUtility was intended to handle some of the disk switching in the SFDialogs. The functionality was added to later versions of Babelfish. I only bug fixed Babelfish, and so missed the item buried deep in the version notes that said SFUtility was no longer needed. Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 14779, GO COM A2) BABELFISH BUGS? PART 2 There hasn't been much discussion of Babelfish """""""""""""""""""""" here. I've found what I think is a bug, but, before I get to that I want to thank Ewen, Richard Bennett, Ian Brumby, Dave Hecker, and the other 7 Hillsers for this amazing utility. The potential for it is almost unlimited, and I'm looking forward to the developers' kit being made available. That said, there's a problem with the HyperStudio Sound translator, both in importing and exporting sounds. Importing: it chokes on any of the sounds in HyperStudio's "HS.Sounds" folder with the message "File Translation Error: Bad file format or wrong translator used. ($8002)". Exporting: Sound Shop (from HyperStudio) complains that it doesn't recognize HS sounds created by Babelfish, although it will load and play them if you insist. Sound Wizard (from SoftDisk GS) loads and plays them without complaint. AudioZap 2.0 loaded one but all it would play is a click. (GARETH, 15053, GO COM A2) >>>>> The developer's kit consists of two '.pdf' files and is available """"" now on request from myself or SevenHills. You need to be able to receive BinHex 4.0 attachments to receive the two files, and have an Acrobat '.pdf' reader to view them. Bill Tudor was the author of the HS sound translator, and is no longer developing for the IIgs. The source files for this translator are in APW/C format. As I don't understand C, and I am unfamiliar with sound files, I can't help with fixing the bugs. There are two options open to us here. Either a new Translator is written from scratch, or if a developer capable of handling C and sound formats is willing to take on the project on behalf of Seven Hills, we could send them the existing source code to fix. The first option only needs the '.pdf' files, the second option will need a request to passed through to Seven Hills itself. In either case, get in touch with me in e-mail. Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 15070, GO COM A2) >>>>> Ewen, send me those sources, and I'll attend to them. """"" Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15075, GO COM A2) SHIFTY LIST POWER USAGE Perhaps the most seriously useful feature of """"""""""""""""""""""" Shifty List 2.0 is being able to select a script at boot time either from a menu on screen or by pressing a key. Here are some of my scripts and the keys that load them: i - Boot to Finder with IR and a few debugging aids only. s - Boot directly to Spectrum with known "good" system extras. p - Boot to Finder with minimal setup for PMPFax. o - Identical to my default (no key) boot, but launches the ORCA shell instead of Wings (my preferred launcher.) n - (o sound). Same as my default boot but without sounds and without the sound control panel. I can choose any of these with a keypress at boot time, or I can press caps lock and choose from these and others via on screen menu. Other 2.0 goodies include playing sounds and displaying pictures during the boot, launching different applications (as I do above), loading different Battery RAM configurations, and lots more. ----------------------------------------------------- Tony Ward, A2 Database Manager [Delivered with Spectrum 2.1 and Crock O' Gold 2.5] -- Gravity: it's not just a good idea, it's the law! (TONYW1, 14778, GO COM A2) KFEST THANK YOU FROM THE SENIOR APPLE II TEENAGER Thanks to All: """"""""""""""""""""""""""""""""""""""""""""""""" But especially to Ewen, to my roommate, Russ Alman, to my host-on-the-road Ron Merlin and to all the others that helped me in one way or another--- Spectrum and C.O.G. are working perfectly, even in Oklahoma and with sprintnet! I received my "new" and I mean NEW SQ135 disk drive from SyQuest on the next day after I returned from KFest. This was a replacement and was covered by the warrantee. At first my RamFast SCSI did not seem to want to recognize it and when I "fiddled" with the SCSI menu and got it to work, it would work awhile, and then would fail to work. Now, it seems to be working OK, especially if I leave my GS on all the time, which is what I do most of the time anyway. I appreciate all the consideration I received at KFest98. Sometimes I felt like an honored guest. CEW cewall {Ephraim} Message delivered by Spectrum 2.1 and rushed to you by Crock O' Gold 2.5! (CEWALL, 14760, GO COM A2) CHOOSY IIGS FANATICS CHOOSE GIF As far as the GS is concerned, a GIF file """"""""""""""""""""""""""""""" is an 8-bit, ascii text file. The ".gif" suffix on the name is all that your gif viewer needs to know it's a gif. If it's unreadable, maybe you only have a 7-bit connection. Have you been able to download any programs that work? -- Carl Knoblock - Telephone Tech Via Crock O' Gold v2.5 cknoblo@novia.net (CKNOBLO, 14770, GO COM A2) >>>>> As Carl has pointed out, GIF files are plain text files, and so """"" there is no filetype on the IIgs to mark them. They usually do not have any binary wrapper applied to tell Spectrum what kind of files they should be saved as, so they will be saved as Text. When you try to view them in your '.GIF' viewing program, what happens? Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 14781, GO COM A2) >>>>> Actually, there was a GIF filetype assigned. But it was assigned """"" after there were already GIF viewers for the GS that accepted TXT and BIN files (the two defaults for most Apple II telecom programs) so it never caught on. Technically, GIFs are not text files. They can be saved as text files if that's how your telecom program is setup, or they can be saved as binary files which is how I have my telecom programs setup. If the GIF filetype had caught on in the Apple II world, we would be in the same boat as Macintosh users who wrap all their uploads, including GIFs, in MacBinary (although Mac users are getting better at this now .) IMHO, we're better off the way we are. ----------------------------------------------------- Tony Ward, A2 Database Manager [Delivered with Spectrum 2.1 and Crock O' Gold 2.5] -- "To you I'm an atheist; to God, I'm the Loyal Opposition." -- Woody Allen (TONYW1, 14813, GO COM A2) ZIP SWITCH CHEAT SHEET Here are what the DIP switches control (with """""""""""""""""""""" factory default settings in parentheses): SW1: ==== 1 Cxxx/Dxxx Cache Disable (OFF) 2 Joystick Delay (ON) 3 AppleTalk Delay (OFF) 4 Counter Delay (ON) -- Allows passing of IIgs self test. 5 CPS Follow (ON) 6 OFF/ON -- Disable/Enable Acceleration. 7 |ON |ON |OFF |OFF + 8KB | 16KB | 32KB | 64KB | 8 |ON |OFF |ON |OFF SW2: === 1->7 Control the Speed of the corresponding IIgs slot. 1 (FAST, ON) 2 (NORMAL, OFF) 3 (FAST, ON) 4 (FAST, ON) 5 (NORMAL, OFF) 6 (NORMAL, OFF) 7 (FAST, ON) 8 Speaker Delay. Hope this helps. Paul. Paul Schultz schultp@delphi.com sent your way via Spectrum 2.1 and Crock O' Gold 2.5 (SCHULTP, 14897, GO COM A2) THE FINAL WORD ON PROTERM VERSION NUMBERS There seems to be some question """"""""""""""""""""""""""""""""""""""""" about ProTERM versions here. The current ProTERM versions are: ProTERM A2 3.1 ProTERM Mac 1.2.5 AutoReply: Jerry Cline @ InTrec Software, Inc. - ProTERM @ your service! The superior telnet and dialup application. Sent w/ProTERM Message Manager (PTMM) - Details @ Download ProTERM 1.2.5 & PTMM 2.5 (full versions): (INTREC, 14927, GO COM A2) SWITCHING BETWEEN COLOR AND MONO ON THE FLY The Color/Mono setting in the """"""""""""""""""""""""""""""""""""""""""" Display control panel on the IIGS is useful for Double Hi-Res software such as PublishIt! and SB Publisher (these programs seem to set it for you..but if you go in and set it to mono and then back to color you can see the icky Color DHR version of these desktop programs) Question...how does one set a mono display for Hi-Res ("Single" Hi-Res) software? The GS control panel setting does not have an effect on Hi-Res modes. A good example is MousePaint, which is a decent paint program for hi-res mode. Text and patterns often have the telltale green and purple characteristics. A simple P8 or Basic program to do this could be occasionally handy. Shawn (STBEATTIE, 14811, GO COM A2) >>>>> I'm working from dim memory here, but I think I achieved this with """"" Computer Keyboarding by poking the double hi res softswitch which I THINK is 49246. With the GS, this only works if you also select monochrome from the control panel. Hopefully someone else's memory will be better than mine. Charlie Hartley ... via the ProTERM Message Manager (PTMM) v2.5 (CKHARTLEY, 14816, GO COM A2) >>>>> Charlie's memory is certainly in good shape. """"" I usually add a: 10 POKE 49246,0 to the beginning of BASIC programs that use the single hi-res screen. This kills the color smearing that occurs on IIGS RGB monitors. I _think_ it can also occur on IIGS mono composite monitors, although it's not colors that smear, but rather the image that blurs. I have also POKED this location prior to running (or modified the programs, I can't remember) some machine language programs that use the single hi-res screen. It really makes a big difference. For a detailed explanation of all this, you may wish to read the IIGS Tech Note #29, and also the February, 1988 issue of Open-Apple. The brief explanation is that the Control Panel setting for monochrome only works for double-hires graphics. By poking 49246, you turn double-hires on, but assuming you set the control panel to mono and your program doesn't invoke 80 column mode, everything 'works out'. Hugh... (HUGHHOOD, 14895, GO COM A2) MOCKINGBIRD TIDBITS Most software looks for the Mockingboard in slot 4. """"""""""""""""""" Few scan all slots for it. (The mouse card was not in existence way back..) The IIgs may need to be at 1MHz for some software to find the card, and for the card to work properly. Otherwise the computer may lock up or crash when the Mockingboard is accessed. Some images of various Apple II Sound Cards are available at: http://www.apple2.org/images/InterfaceCards/Sound.Music/ There were several variations of Mockingboard made, I have one or two on there now, in the next few weeks I plan on getting the cards out again and filling in where I left off on some of the categories. Tony (T_DIAZ, 14969, GO COM A2) KFEST PICS ON DISPLAY IN MOSCOW After annoying my school districts """"""""""""""""""""""""""""""" Technician for a week or so, I've finally got my web server back, and online! You will now be able to view the pictures I took at KFest '98. Odd... I'm not in any of them! B-{) The initial page has 52 thumbnailed GIFs and according to my timing, takes about 2-3 mins. to load. Clicking on a particular thumbnail will load the full sized GIF. It's not pretty in lynx, but Apple II users should still be able to grab and view everything. The URL is: http://moscow2.pld.com/kfest98/ Kirk (KMITCHEL, 14955, GO COM A2) USING MAC CD ROMS FROM WITHIN BERNIE What you need to do is mount the """""""""""""""""""""""""""""""""""" disk on the Mac desktop (which basically only involves inserting the CD-ROM :), then go back to Bernie and share the volume: - open File->Mount Disk... - in the standard Open File box, click the Desktop button to see all devices that are online - highlight (not double-click) the CD-ROM volume - push the button "Mount " It is only possible to mount the first session of a CD-ROM. woof, Henrik (GUDATH, 15013, GO COM A2) >>>>> This is true for Apples' CDROM drivers. """"" I had to install FWB's CD-ROM Toolkit in order to access the other partitions on the "Golden Orchard CD-ROM" that I got from Joe Kohn at KFest. Unfortunately, it won't mount the Prodos partition, but was able to access the HFS partitions. To simplify matters, I copied each partition into a big disk image (6 Gigs is fun!), so they don't take up valuable disk slots in Bernie. (KMITCHEL, 15027, GO COM A2) APPLE II REUNION MAKES MSNBC What a great read! """""""""""""""""""""""""""" John Romero's Apple II reunion party on MSNBC http://www.msnbc.com/news/187499.asp - Matt (MPORTUNE, 15074, GO COM A2) GETTING ROGER'S ATTENTION RWP is a rapidly growing company. Just like a """"""""""""""""""""""""" person in a growth spurt, they are occasionally a bit clumsy. I think they simply stumbled a bit with your e-mail. In fact, when I've asked them where I should tell people to send e-mail, I've never been told it should be sent to support@hyperstudio.com, which is where I assume you sent it. Try e-mailing Dallas, their customer support head, at dallas@hyperstudio.com. Explain what you want, and ask him how you can get the upgrade. Be sure and include your complete mailing address. The simplest response for him will be to drop a set of disks in the mail, so make it easy for him to help you. If that fails, let me know. Mike Westerfield (BYTEWORKS, 15142, GO COM A2) IIGS TRIVIA If you examine an ASCII dump of a GS' ROM, you'll see it has """"""""""" a patent notice embedded in it. -- Steve Reeves (REEVESST, 15315, GO COM A2) PROFILING THE PROFILE You can run a ProFile on a GS. You need a certain """"""""""""""""""""" ROM revision on the interface card, and a certain modification to the card, in order to use it with GSOS. (I can retrieve that info if you need it, but I don't have it at hand.) The typically available ProFile is a 5 megger. The drives are more common than the cards (because they were fairly common on the Apple III, and the cards from the III won't fit a II or a IIgs). Both are pretty hard to find, and a ProFile drive without an interface card is not much more than a doorstop or a curio. You can only do a low level format on a ProFile with a Lisa (predecessor to the Mac). ProFiles are very slow, and very noisy, and the power supplies, despite the fact that they are HUGE (by todays standards) are not terribly powerful. The ProFile manual specifically recommends that the drive not be turned off on a day to day basis. (Those are the tidbits I can remember off the top of my head.) Gary R. Utter (UTTER, 15216, GO COM A2) >>>>> The controller card you'll want to find is labeled: Apple II """"" Interface 820-5006-[]B. Another number on the card is 656-0203-D (or some other revision letter). Cards had BIOS support for 5 or 10 meg Profiles but I've been informed that it's one or the other, the BIOS on the card determines what size drive it will support and cannot be changed without swapping out the BIOS chip, i.e. a 10MB card won't work with a 5MB drive or vice versa. Bummer. (SFAHEY, 15223, GO COM A2) >>>>> Two things on Profile cards: """"" The ROM and GS/OS,ProDOS 16, et al. Apple says you need to change the ROM. I have never changed the ROM. I have never had a problem either, other than the thermometer does not work during boot. So what, it doesn't work on the CMS card either, or most other older hard disk controller cards. The ROM (BIOS? Blech. That's PC stuff.), dictates the size drive you can attach to it? I must say, that I have *NEVER*, *EVER* heard of that. Not ever in any of the service manuals I have ever read, tech notes, or even in using them. When did that start? Someone may be thinking the controller card on the drive itself, and I don't mean the board on top of the power supply, but the one on the drive itself. Actually, there is one type of 5MB mechanism, but there are two types of 10MB, one being the Seagate with Apple's controller on it, like the 5MB, the other is the Wigit drive. These are the 10MB drives used INTERNALLY on Lisa 2/10 systems. Tony (T_DIAZ, 15306, GO COM A2) SIZING UP SPEED I don't think I would be willing to pay so much for an """"""""""""""" accelerator. I would however probably be willing to pay $200 - if it cost more I would just have to do without. Well, $40,000 = 100 x $400 OR 200 x $200 ! If there were more of us, maybe it would cost the individual less - do you think one could find so many takers? You could put my name on the list at least. OTOH, maybe a Transwarp GS could not be produced and sold profitably for under $400. An original Applied Engineering 1991 catalog lists this as the price for a TWGS (32K cache). Do you know why a new production would cost so much? Is there some sort of special microchip that would have to go into production again? Giselle (GSCHNAUBELT, 15405, GO COM A2) >>>>> You know, at this point an incredible accelerator for you GS is a """"" Power Mac equipped with Bernie II the Rescue. Worth thinking about, anyway. :) --- Dean Esmay -- esmay@syndicomm.com (ESMAY, 15406, GO COM A2) >>>>> Looking at the TWGS, there aren't any real custom parts, but the """"" GALs would need to be programmed and they appear to be copy protected, and the ROM would need to be copied. There's also the copyright issue, although I think Joachim over at //SHH Systeme resolved that with the ROM issue. The ZipGSX has that custom part which can't be made without a substantial one time investment. So, if someone could get the code for the GALs and the ROM, the TWGS might be a better candidate to put back into production in terms of initial start up costs. Whether or not it could be done in a profitable manner in a small run is unknown. - Ryan M. Suenaga, M.S.W., L.S.W. - rsuenaga@apple2.org Editor and Publisher, _The Lamp!_, published monthly on Delphi Delivered via FFNSS alpha .5 (RSUENAGA, 15408, GO COM A2) <<<<< I suppose that the logical person to produce Transwarps would be """"" Joachim Lange - anyone else able and willing? He offers a re-designed version of the original TransWarp 32K cache piggyback board for upgrading 8K Transwarps and I know he has permission to do the necessary firmware upgrades of EPROM versions older than 1.7 or 1.8. I expect that other copyright issues would be involved however, to do a whole TW board and all the necessary firmware programming. I will try contacting him about this, as well as a realistic price estimate. Giselle (GSCHNAUBELT, 15441, GO COM A2) THE NO SLOT CLOCK--AVAILABLE IN THE LATE 90'S I believe the NSC can be """"""""""""""""""""""""""""""""""""""""""""" had for new by buying a Dallas Semiconductor chip (unfortunately, I don't have the info handy at the moment). There is software freely available which can set up this chip (I believe it is called something like Smartwatch.shk on some of the ftp sites). The chip can be purchased from either Jameco or JDR Microdevices (can't remember which catalog I saw it in). If I remember, I'll dig up the info when I get home and post here. I may even have the smartwatch software. If I do, I'll try to upload it here. Paul. (SCHULTP, 15587, GO COM A2) <<<<< Here is the info for the 'No Slot Clock' and the SmartWatch """"" software for setting the DS1216E. I'm going to try to upload the SmartWatch.bxy file tonight. Since I've never uploaded to delphi yet please bear with me. Hopefully, you'll see the software in a day or so :-) I believe that Alltech still sells the No Slot Clock but if I recall the provided software isn't as good as what is provided with the SmartWatch.bxy package. Paul. -------------------------------------------------------------------------- The following is an excerpt taken from the INSTRUCTIONS file from within the SmartWatch.bxy archive: - SWU.SYSTEM is a self-contained utility program that is used to start and set the date/time in an installed DS1216E. This program does not require any particular version of ProDOS8 and does not use the ProDOS MLI call 'GET_TIME'. This program makes direct call to the DS1216E using selected address in the $C300 page. This memory page was selected due to its constant availability in Apple //e's and Apple //c's. -------------------------------------------------------------------------- Paul Schultz schultp@delphi.com sent your way via Spectrum 2.1 and Crock O' Gold 2.5 (SCHULTP, 15612, GO COM A2) UDC CARDS AND 800K DRIVES I used to have a generic Mac 800k drive (Chinon """"""""""""""""""""""""" mech, I think) that had a manual eject button hooked up to a UDC card, and I was copying disks with Diversi-Copy. I was stunned to find that this most generic of Mac drives in combo with the UDC card supported software eject! So, any software that normally ejects 3.5 disks ought to work fine with the UDC card and external drives, but you're generally out of luck for software that doesn't do software ejects. . . - Ryan M. Suenaga, M.S.W., L.S.W. - rsuenaga@apple2.org Editor and Publisher, _The Lamp!_, published monthly on Delphi Delivered via FFNSS alpha .6 (RSUENAGA, 15669, GO COM A2) HABANERO'S GS MISADVENTURES As does the Apple IIGS. I was in the """"""""""""""""""""""""""" Himalayas, oh about 15 years ago, just walking around, minding my own business, picking wild flowers and feeding the yaks when I decided to hike up into the snow country. I had struggled my way up to about 8,000 meters and was really tired due to the thin air and the weight of my back pack. I couldn't take another step so I decided to sit on a ledge of ice that was protruding from a rock. After about 20 minutes, I had finally regained my breath and noticed a cold draft that was tingling my spine. I turned around and saw a little hole in the ice surrounding the rock. I pushed away some of the snow and chiseled away some of the ice and realized that there was a cave underneath the rock. I wanted to get a feel for how large the cave might be so I shouted 'hallooo' into the opening. There was a 6 second delay when the 'halloo' finally returned. Wow, I thought to myself, that cave must be at least 3 meters wide and 10 meters deep. I looked to the left, looked to the right, looked uphill and downhill and didn't see anyone for at least 20 kilometers in any direction, although if I squinted I could make out 20 Hare Krishna's bothering a tent salesman for donations way down the hill. Well, since no one was nearby, I would take a chance on exploring the cave myself. I pushed away all the snow and chiseled and hacked away enough of the ice so I could fit all 140 kilograms of myself into the cave. It was dark inside, but I could make out that I had vastly under estimated the size of the cave. I could see at LEAST 15 meters down the corridor!!!! As I walked forward and the light became too faint to see anymore I pulled the Zippo from my back pack (no kids, I don't smoke, I carry the Zippo because in certain small towns in the Himalayas it is considered rude to say 'I don't smoke, you cancer infested lackey of the tobacco industry' when someone asks you for a light) and fired it up. In the distance, I could make out a large room, through the dim yet not too unpleasant glow of the flame from the Zippo. When I called out 'Hey, dudes, what's happening!' to the group of faint figures against the farthest wall, they jumped up and raced towards me, in a velocity I can only describe as 'quick', yelling what appeared to be obscenities in a language that not only did I not understand, but found to be strangely unfriendly. As I had, by now, determined that an equally quick disembarkation from the cave may be the best course of action, I turned and dove out the hole I had made at the surface. Once outside again in the fresh air and sunshine, I thought that I should now go back down the mountain (at least out of the snow country) and eat some lunch. As I took my first carefree steps towards my mid-day repast, I suddenly heard some scowls and smelled the unpleasant odor of 'garlic, shrimp, truffles and tapioca' breath. The figures turned out to be yetis and apparently I must have offended them by calling them 'dudes' because they were still pursuing me even after my renaissance from the bowels of their humble, yet conservatively furnished in animal and human bones, abode. As I picked up my pace down the mountainside, they were gaining on me, and I had to do something quick. I finally realized that the pack on my back was slowing me down, (gee I left home in such a rush when I came to the Himalayas that I'm not even sure what I packed), so I stopped to see what was so heavy. D'oh! I had inadvertently packed my IIGS including the monitor when I meant to pack an extra pair of socks. Time was so short at this moment that I would never be able to repack the back pack in an orderly manner (tip from heloise: it is easier to find things when you unpack if you pack them in an orderly and logical manner) so a bit of improvisation was required. I placed the monitor onto the system saver, then put that unit onto the cpu box, plugged in the keyboard and mouse, put the back pack over my shoulder, and proceeded to sit on top and pushed off with both feet. As I began speeding down the snow covered mountainside attempting stem christies along the way, I was horrified to see that the yetis were still gaining on me. What could I do? What would MacGiver do? I recalled from an episode of Gilligan's Island that when the batteries on the radio had gone dead, that the professor had them all sit around the table and stir some cups of something with electrodes connected and this powered the radio. Hmm, dang this old age, my memory had gotten so bad that I could not for the life of me (and with the yetis gaining, this could be true!) remember what the professor had put into the cups. Scratch that idea anyway, if I needed a radio on a deserted island, then maybe that would be useful, but not here. Batteries! That's the ticket. In my best MacGiver imitation, I pulled a paper clip from my knapsack and the batteries from my flashlight (hmm, why did I use the Zippo in the cave when I had a flashlight?) and fashioned these items into a 120 volt 60 hz ac power supply, soldered it to the power cord on the IIGS, booted up (thank God for the internal Focus Hard Card, I don't think I would have had time to boot up from floppy disks!) held down the open-apple and control keys and pressed escape. No, it didn't help me escape, but it did bring up the control panel program and I was able to select the Zip GS control. You see, I had disabled the Zip GS when I was playing 'Where in the world is Carmen San Diego?'. At this point, just nanoseconds before they grabbed me, I kicked the Zip into the highest speed and WHOOSH! I was off down the mountain! The design of the IIGS allowed me to float down the deep and heavy snow, just like the best designed skis. To this day I thank my lucky stars that I spent the extra money for the ZipGSX 10/64 instead of settling for the cheaper 7/16. Burp! (HABANERO, 15026, GO COM A2) <<<<< All this talk about airplanes and sky diving reminds me of a trip I """"" took on a Northwest Airlines Flight a while back. It was about 3 years ago. I was on my way to San Francisco from Detroit and was running slightly late for the flight. As I rushed my 1977 Chrysler Cordoba (yes, the one with the Corinthian Leather) into the parking garage and parked it in a Frank Drebbin- (you know, the guy from 'Police Squad' and the 'Naked Gun' movies) -like manner on the third level, I glanced at my watch to see how much time I had before the plane disembarked. Mickey's hands pointed out that I had exactly 4 minutes to get from the garage, to the terminal, check in, go through the security check, walk the 2.5 miles from the security checkpoint to the gate, and board the plane. I didn't think I could make it, especially since the sky-blue double-knit Sans-a-belt slacks I was wearing (with the matching green and red plaid long sleeve shirt, smartly buttoned all the way to the top button, no neck-tie, of course, {although being a business trip, I was allowed to travel casually dressed, hence, no tie}) were a bit on the snug side. Even though they had been comfortable for the past 16 years, I had put on a few extra pounds the last couple of them. Putting my negative thoughts aside, I made a mad dash toward the terminal, my white socks a blur in the partly sunny Monet-like landscape of concrete, asphalt, yellow painted lines and oil spots left on the ground by aging Oldsmobiles and Dodge Mini-vans. Porting all I would need for this trip in one carry-on valese of pebble-grained vinyl, I could actually by-pass the check-in and head straight for the terminal, this would save me 3 minutes. My chances of making the plane on time were getting better (if you don't count that I was supposed to check in one hour before departure). I made it through the hernia-exam-like security frisk and hopped onto the moving sidewalk still running at full speed (well, as full a speed as a 36 year old, overweight, couch potato with a vinyl valese and brown winged-tipped Hush-Puppies could manage). At this point I recalled the old Hertz Rent-a-car commercials that used to play on tv during the seventies and eighties, the ones with O.J. Simpson. You remember........ O.J. would be in California saying you could rent a car for $29.99 and Arnold Palmer (the golfer, not the star of the Terminator movies) would be in Florida saying you could rent a similar car for $19.99. An odd choice to be thinking of while running through an airport. Anyway, I made it to the gate to find that the last (well second to last if you count me) passenger was just getting on board. I dragged myself, huffing and puffing, up to the gate and handed over my ticket to the attendant. He proceeded to inform me that my pre-booked seat by the window had been given to a standby passenger, but they did have a seat between two children travelling alone to see their granny in Colma. Rats. Oh well, "I'll take it", I told him, not wanting to miss my appointment in San Francisco. As I walked down the boarding ramp, I thought I heard him say to the janitor that they had to separate the two kids because they fought like cats and dogs if they were seated next to each other. My seat, as it turns out was backed up against the bulkhead, which meant I would not be able to recline. This was not a pleasant thought on a three hour tour ... er plane ride. Especially if the weather started getting rough. The tiny plane could get tossed, if not for the courage of the fearless crew, the Boeing 666 airliner could get lost. The Boeing could get lost. When I tossed my valese into the overhead compartment and sat down, (on some freshly chewed bubble gum) I tried to find the two parts of my safety belt. My favorite part of any commercial flight is to follow along with the stewardess... er, flight attendant, during the safety drill. Well, it seems that both parts of the belt had slipped down under the seat onto the floor of the cabin. As I contorted myself into a yoga position that I had seen on tv a number of years back in order to retrieve the belt halves, the two kids erupted into a nasty competition, apparently a resumption of a continuing battle as to who could come up with a tongue twister the other couldn't say. "Rubber Baby Buggy Bumper....Rubber Baby Buggy Bumper....Rubber Baby Buggy Bumper" one of the darling infant forencists yelled into my ear. "She Sells Sea Shells By The Seashore....She sells Sea Shells By The Seashore...." the other retorted in an equally profound and ear-splitting manner. I finally exhumed the seat belts and settled into my seat, hearing about pecks of pickled peppers and the like, and after clasping the buckle closed decided to put a stop to this quibble. "Quick Click Calc....Quick Click Calc....Quick Click Calc" I interjected. The two stunned, yet suddenly pleasantly silent youngsters, were in awe. Quick Kick Clack....Kick quick clalc....Quack Quack Duck.....It was evident to everyone on the plane that neither enfant horrible could duplicate my feat. There wasn't another peep from anyone on the plane (although the radiant smiles of adult parents were felt, even to a contorted, rumpled, gum stuck yutz like me) for the next 10 minutes. Just before take off, the little brother of the pair whispered to me "What is a Quake Cake Clamp anyway? "A program from the company with the 'Fish-Wearing-Holstein-Cow-Clothes' logo" I responded, patting the little dear on the head. "IT'S NOT A FISH IT'S AN KILLER WHALE YOU . DON'T YOU KNOW AN ORCA WHEN YOU'VE SEEN ONE?" the little sister of the pair retorted. "AND THEIR LOGO IS GEARS, YOU ." Just then a light bulb went on over my head. (It was the reading lamp of the woman just in front of me, but a minor epiphany was experienced nonetheless) So now it all makes sense! It is not ORKUM and ORKAK, but rather ORKA-EM and ORKA-SEE. Duh! What country was I born in? Just then the plane took off. Now I was stuck. The scared little munchkins claws stuck into my legs (why did they have to be afraid of flying too, I lamented silently to myself). I thought that my best course of action would be to just ignore them and start getting ready for the work that lay ahead. I pulled out my credit-card-sized electronic Rolodex and began punching those tiny little buttons with my big, fat fingers. Yeah, right. I started to day dream a little, over the raucous noise the H.R. Puff'n'stuff dropouts were manufacturing, about some programs I had put together to download data from my Apple IIGS into my pocket Rolodex. You see, it isn't documented in any of the tech manuals but there is a small connector underneath the motherboard of the Rom 01 GS that is just perfect for loading serial data into palm-sized mini-micro-sized-computerized gadgets, provided you have the proper handshaking cable. While investigating the possibilities and putting together some code on the GS, a former Apple employee that was working at the local hand-toweled car wash let me in on the biggest secret surrounding the ROM on ROM 01 GS's. If you 'Peek' location $D8/BEEF and 'Poke' that into location $CC/FEEB while there is no memory expansion card in the slot, the firmware will spew forth 'Microsoft Flight Simulator' out the serial port, perfect for pirates and Microsoft disenchantee's alike. Well, the only catch was that it came out backwards, and big-endian to boot. It was only a minor patch to fix that and since I was experimenting with the hidden-serial-to-gizmo port anyway, I proceeded to download the game into my Rolodex. How convenient for me, as I could boot up this game and keep these quasimodo descendants occupied for the next three hours. I showed them how to do it and they were fascinated. I traded seats with the distaff child and they were merrily playing for the next hour and a half. Suddenly the plane lurched up and shot 4,000 feet higher than our travelling ceiling. Next it plunged 6,000 feet in less than 3 seconds. Those who weren't buckled in (like the flight attendant told them, the I-can-do-what-I-want-because-it's-a-free-country God-less democrats) were tossed up and banged their heads a-la one of those Indoesian Gamelans. You know what I mean, in a musically rhythmic fashion, sort of in the tune to 'shave and a haircut, two bits'. In fear that we were going to crash, I panicked and grabbed the Rolodex from the Addams-Family kids and threw it into my shirt pocket (not the one with the pocket protector, but the other one). Just as suddenly, the plane leveled out and we continued on our trip. You probably heard about the incident of the plane that mysteriously shot up and dove down in the papers back then, but nobody could understand what had happened, not the pilot, not the janitor, not the Federal Aviation Administration officials. At least until the past week. During the long and drawn out law suit that we passengers had filed against the airline for subjecting us to 'shave and a haircut, two bits' a new revelation came forth. You see, a Boeing factory worker who was installing the firmware into the electronic computerized passenger seat game/fax/phone ports in the plane's passenger cabin was moonlighting in Redmond as a Programmer for Microsoft. The day he was installing the firmware in the seat next to the one I occupied, he had been terminated by the software giant. It seems he had produced 2,000 consecutive lines of code without one bug, which is, of course, against company policy and grounds for immediate termination. When he came to work at the Boeing facility that day, he had brought along a bootleg copy of, you guessed it, Flight Simulator, and wired it into the cockpit controls. When the kids had inadvertently plugged the earphone adapter to my Rolodex into the headphone jack at their seat, they had accidently tripped the cockpit override and were actually steering the plane. Scary. I had to tell the FAA that I've never owned anything other than a IIGS and a Newton. My mom will probably wash out my mouth with soap for that fib. Don't tell anyone, ok? (HABANERO, 15548, GO COM A2) RUMOR MILL """""""""" SHEPPY'S SOFTDISK STUFF All of my Softdisk-published stuff has been """"""""""""""""""""""" updated and released as freeware or shareware since Softdisk G-S went away. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15308, GO COM A2) NEW SCRIPTS FOR COG? Well, all I've told Ewen so far is that I'm working """""""""""""""""""" on some scripts he might want to include in the next version of COG. What I'm working on at present is a replacement for the Msg.Reader script that will give COG users the ability to deal with messages, threads and topics a little easier. I'm creating a new message reader window which contains pop-up menus for Forum and Topic (both of which can be set to "All" if you don't want to limit which message threads get displayed in the Thread list box. This allows you go through the thread subjects and pick and choose which messages you want to read (unread messages will be marked). There is a second window that is for displaying the message that you select in the Thread listbox. I haven't decided yet whether I will be putting buttons in like the current Msg.Reader scripts does for Reply, Download, Archive, etc. I'm thinking more of using keyboard commands or a menu but I haven't decided yet. You will be able to set how many days you wish to keep messages on your system. After that many days, they will be deleted unless you have told the script that you want to keep the message. I'll probably add a COG Archive menu item to the Forum pop-up menu for this but I might just leave the kept message in their own Forums. Again, I haven't decided yet. This script is in its very early infancy but I did want to let people know that an improved threaded message reader is in the works. I'm not sure when it will be done as I'm also working on several other things at the same time but rest assured, it will be done if for no other reason than the fact that I want it. :) Jeff Blakeney - Dean of A2U in A2Pro on Delphi sent via COG v2.5, Spectrum v2.1 and a Linux box to here. (JBLAKENEY, 14896, GO COM A2) NEW LIFE FOR PLATINUM PAINT? I inquired through Gina a week or so ago """""""""""""""""""""""""""" into the status of Platinum Paint, and she indicated that SQC still has the rights to the program, but apparently has no intention of ever distributing it again. I have asked for a price on obtaining the rights to Platinum Paint so that I can distribute it through Juiced.GS, and if the price is not too steep I intend to do just that. I'm still waiting to hear a price, or even if the rights are for sale. Wish me luck .... The good news is that we still have Gina inside SQC to keep an eye on things for us. :-) Max Jones, Juiced.GS http://www.wbwip.com/juiced.gs Delivered by Spectrum 2.1 and Crock O' Gold 2.5 (JUICEDGS, 14898, GO COM A2) MARINETTI PROGRESS Well, yes I'm working on Marinetti 2.0 at the moment, """""""""""""""""" and as Carl says, probably the end of September (I'm busy job hunting at the moment). Marinetti 1.1 and 2.0 are basically the same thing. In fact if a certain person hadn't accidentally (yeah, it was an accident, I understand they happen every now and again :) posted about it, nobody would have been confused about the version number. That's why we do secret development, so that rumours and fiction don't get started. As with most Apple II software these does, it will be done when its done, and here on Delphi you'll hear about it first, the Marinetti home page second, and csa2 hopefully never. :-) Regards, Richard (RICHARD_B, 14908, GO COM A2) WAITING FOR GODOT. . . UH, GUS I think it's safe to assume that since '""""""""""""""""""""""""""""" Andy Nicholas is no longer at Apple, and Dave Lyons is a busy guy, we probably shouldn't hold our breaths waiting for Gus to be released to the general public. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15277, GO COM A2) PUBLIC POSTINGS """"""""""""""" FROM SPECCIE WITH LOVE Until now, I haven't really said anything online """""""""""""""""""""" about the TABBS CD-ROM, mainly because I was waiting to get copies of the CD-ROM for distribution. A slew of copies arrived this morning, and I've just spent the past few hours going through the CD-ROM. It's going to take much, much longer - maybe even years - before I discover everything on the TABBS CD-ROM, as there is more than 600 megabytes of compressed files on the CD. As those of you who attend Kfest 98 know, the TABBS CD-ROM was put together by Sir Ewen Wannop, of Spectrum fame. For years, Ewen ran a BBS system for various Apple II British user groups, and the TABBS CD includes everything that was ever uploaded to that BBS, plus I presume, a whole lot more. It's a hybrid CD, with software on it for Apple II, Macintosh and IBM PC. It includes, among other things, the entire Apple2000 Apple II disk library, as well as the more recent British Apple IIgs Club library. In addition, the British Apple IIgs Club put out a monthly newsletter in HyperStudio format, and all of those are on the disk as well. Each one of those newsletter disks contains articles, news, and of course software. In looking at the CD for just a few hours, I feel overwhelmed with software. For that reason, I've asked Ewen if he can send me a complete catalog of everything on the disk (as it is, each folder on the CD has a catalog listing, but there are probably 100 different folders) so that I can make that info available so that folks can see what's on the disk. Like I said, it's going to take me a long time to go through the disk just to see what's there. In any case, the TABBS Library Archive CD-ROM is now available from Shareware Solutions II for $25. It comes on one large HFS volume. Send checks/money orders to: Joe Kohn Shareware Solutions II 166 Alpine St San Rafael, CA 94901 (JOE_KOHN, 15184, GO COM A2) NEW WEBWORKS FROM SHEPPY WebWorks GS has been updated to version 1.1! """""""""""""""""""""""" The new version fixes the copyright symbol bug (which could potentially crash the system, and would corrupt documents), and adds an exciting new feature! WebWorks GS now provides an HTML preview option, whereby you can, without quitting WebWorks GS, see how your page will look when viewed in Spectrum Internet Suite! Thanks to Ewen Wannop and Geoff Weiss, who kindly provided the SIS HTML engine used to display the page, ordinary mortals (ie, people without The Manager, Spectrum, SIS, *and* a lot of memory) can check out their pages while editing them. Current WebWorks GS owners can upgrade by downloading the updater application, UpdateWWGS.shk, either from Delphi's A2 library when it's released (I just uploaded it now), or from ftp://ftp.sheppyware.net/pub/apple_iigs/UpdateWWGS.shk. The updater includes a readme file describing the usage of the updater application and the new feature, an updater application, and Dan Krass' WebWorks GS logo graphic, which you can use freely on WWGS-built pages if you like. You'll need around 100k of free disk space (about 50k on the boot disk and about 50k on the disk that WebWorks GS is on) to install the update. If you don't have WebWorks GS already, send Joe Kohn $20 and get your copy today! All disks sent out henceforth will be version 1.1! Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 14977, GO COM A2) SHEPPYWARE SNAIL MAIL IN LIMBO By the way, everyone, my snail mail """""""""""""""""""""""""""""" address will be going away soon. Given the decrease in shareware payments and software purchases over the last year, I can no longer justify keeping my mailbox, so I'm letting my contract lapse. It will go away effective the 20th or so of this month. I'll make some sort of arrangement for a replacement address to send payments to if anyone feels like paying for anything anymore. This is going to make collecting payments tougher, but since nobody sends me money anymore really anyway, I guess it's no big deal. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 14984, GO COM A2) NEW SHIFTY LIST Just a note: later this week, I'll be releasing the """"""""""""""" long-awaited Shifty List 2.0.1 update for registered Shifty List owners (people using the unregistered demo are out of luck-- they can just put up with the bugs :). This will be available as a downloadable update, similar to the WebWorks GS update, that will update a copy of your Shifty List 2.0 floppy to 2.0.1; you can then install the updated version from there. Fixed bugs include (this is only the half of the stuff I remember offhand): Hitting certain keys in the ScriptBuilder FExt doesn't crash anymore. ScriptBuilder doesn't always ask you to specify where to save a file if you close the FExt without saving first; if the file already exists on disk, and you tell it to save when it asks, it saves with that name. If you boot with a script that has an application in it, and there's no SetStart.Data file, the application will actually get launched; in 2.0, this didn't work right. The hopefully final version has been sent to testers, so with luck it'll be out in two or three days (Shifty List 2.0.1 has passed testing already; the updater program needs a couple days of testing still though). Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15495, GO COM A2) <<<<< The Shifty List 2.0.1 updater application is now available from the """"" SheppyWare web site at ftp://ftp.sheppyware.net/pub/apple_iigs/UpdateSL201.shk. Please note that this update does *not* affect the demo version, which won't up updated to version 2.0.1. Visit the *new* Shifty List web site at http://www.sheppyware.net/software/shiftylist_gs/ for more information! Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15610, GO COM A2) SHEPPYWARE ONLINE OVERHAUL The SheppyWare Online web site is undergoing """""""""""""""""""""""""" yet another renovation; this will be an ongoing process over the coming weeks. It's all being redone with an improved look & feel in WebWorks GS. :) Drop by at http://www.sheppyware.net from time to time to have a look! Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 15599, GO COM A2) BEST OF THE BEST """""""""""""""" 15000 11-AUG 19:34 The Apple II Legacy RE: KFest '98 (Re: Msg 3681) From: KEN_GAGNE To: ALL Hi All, This is an article I wrote for my local newspaper after returning from my first KansasFest a few weeks ago. They ran it on page B1 & B2 on Saturday, August 1st, along with a sidebar of addresses & phone numbers for various Apple II resources: Alltech, Quality Computers, Byteworks, Seven Hills, Juiced.GS, and SSII. Figured I'd share it with y'all, FWIW... ----- Ken Gagne KansasFest '98 and the Apple II Somewhere in a home office rests a new Pentium computer, purchased for a small fortune. Not far away is a G3 Macintosh, equipped with the latest in high-performance technology. Yet between the two sits the real workhorse: a 20-year-old Apple II, a computer that's beaten the odds and stayed alive, thanks to a community of dedicated users. In today's marketplace, computer equipment is often outdated within three to six months of purchase. To stay competitive and compatible, constant upgrading is necessary. The quests for an effective $1000 computer, or the fabled $500 "Internet box," remain elusive. But go to any flea market or garage sale and chances are there's an Apple II available for less than the cost of a mouse. When properly equipped, the wheelbarrow becomes an 18-wheeler, suitable to most tasks without any of the glitter of modern machines. The Apple II is the brainchild of Steve Wozniak, who designed the original machine and founded Apple in his garage in 1977. Various models have existed, from the IIe to the IIc to the II+. In 1986, the IIgs was introduced, a 16-bit machine that could run the software of its 8-bit brethren, but also its own league of new software. Despite competition from other early computers, such as the Atari, Amiga, and Commodore, the Apple II had a strong presence. "It got into the business place with a piece of software called VisiCalc, the first spreadsheet program," recalls Ron Dagenais. Dagenais, who operates Computer Systems & Software in Searstown, has been an authorized Apple dealer since he opened the store in 1979. "And then there was payroll and inventory software. Also, schools standardized on the Apple II. The computer was, and still is, adequate for grades K-4." Even today, it is often used to establish a cheap network: rather than ask for a $2000 computer from administration, teachers can find Apple II's for as little as $20. In 1993, Apple Inc. stopped manufacturing the computers, favoring the Macintosh, an entirely different system not compatible with the II. Yet the lack of official support has not stopped people from using it. Whereas once the Apple II was heavily supported by user groups - people in a town banding together to share problems and solutions - most groups today have absorbed their Apple II support into the Macintosh, essentially eliminating the former. Yet those few user groups still knowledgeable about the supposedly-obsolete machine offer free technical support and huge libraries of free software. The disappearance of such groups has not killed the community of Apple users, but forced them to relocate; like many modern organizations, they have banded together online. Be it on the Internet or a commercial service such as Delphi, not a day goes by when a problem isn't solved, a glitch corrected, a new user introduced to the basics, or a new piece of software is released. Apple II users are reaching out on a global scale, strengthening the few of them left with whatever cooperation possible. Last week, Avila College in Kansas City became the site of a computer expo dedicated to the Apple II. KansasFest began in 1989 as A2-Central Developer Conference, but the programming focus has since lessened. This year, 50 people from as far away as Hawaii, Australia, and the Netherlands, ranging in age from nineteen to ninety, came to see product demonstrations, give sessions on obscure ways to use the Apple, and enjoy the company of a small but strong community. Several programs were unveiled at KansasFest, creating new uses and filling needs. Among them was Eric Shepherd's WebWorks GS, a HyperText Markup Language (HTML) editor, making the creation of web pages easy. The Byte Works presented GSoft Basic, a IIgs-specific form of the Basic programming language. Also released were updates to Marinetti, a tool for connecting to the Internet using the SLIP/PPP protocol; Spectrum, a potent telecommunications program; and GraphicWriter III, a desktop publishing program. This year's KansasFest included a HackFest, a competition to see who could write the "coolest" program, from scratch in 12 hours. I entered using the new GSoft Basic as my language. When I hit a snag, Mike Westerfield, author of the program, was on-hand to show me the ropes and correct bugs - both mine and his, in the language itself - as needed. The unlikely equivalent in the IBM world would be showing Bill Gates a Windows 98 bug, and having him fix it - on the spot. It's just another example that it's not so much the computer itself which is so significant, as it is the community. The people are programmers, writers, and users who do what they can to support each other because they enjoy doing so. Max Jones, publisher of the Juiced.GS newsletter, commented: "It's remarkable to see so many people from so many diverse lifestyles and so many parts of the world come together for a common purpose: to celebrate the Apple II and the wonderful community that has grown up around it." Other activities included the traditional opening barbeque feast at K.C. Masterpiece, a strange tie contest, and a roast, at which a major contributor to the Apple II community is honored by having his name dragged through the mud, with a few embarrassing stories along the way. This year's victim was Tony Diaz, without whom Alltech Electronics would probably not support the computer with a variety of essential hardware. Diaz also owns a private Apple II museum, which includes many prototypes and other things which officially never exist. Many attendees were not using Apple II's, but Macintoshes equipped with Bernie II the Rescue, a program which allows virtually all Apple II software to be run on a PowerMac. As dedicated as the cult-like following of the Mac, which holds only 4% of today's market, is, the Apple II following is even more so. From indoor frisbee to the sharing of steak and song, the Apple II is as much about the people as it is the computer. Two years ago at KansasFest, in the wee hours of the morning, three programmers, from Australia, England, and New Jersey, met and found themselves in an Avila dorm room talking about the Internet. A year and much collaboration later, they released Spectrum Internet Suite, the first and only graphical web browser for the IIgs. Although dead to the masses, the Apple II continues to be the computer of choice to many. As long as people have fun using it and interacting with others of similar interests, it will remain useful while still growing. --------- This article is copyright (c) 1998 by Ken Gagne. All rights reserved. Not to be distributed in a modified form. This and other Apple II material can be found on Ken Gagne's web page at http://www.ziplink.net/~kgagne Original Publication: Sentinel & Enterprise, 01-Aug-98 Genie: Ken.Gagne (Ken.Gagne@genie.com) CIS: 75162,3001 (75162.3001@compuserve.com) Delphi: Ken_Gagne (Ken_Gagne@delphi.com) Internet: kgagne@ziplink.net [EOA] [A2P]------------------------------ A2Pro_DUCTIVITY | ----------------------------------- Checking out A2PRO on Delphi """""""""""""""""""""""""""" by Ryan M. Suenaga, B.A., M.S.W., L.S.W. [thelamp@delphi.com] NINJAFORCE ASSEMBLER VS. MERLIN I was just wondering, aside from the fact """"""""""""""""""""""""""""""" that you have to pay for Merlin and your assembler is free, why would someone like me want to change from Merlin which is a pretty damn powerful assembler, to yours? I'm not having a dig, I'm just interested why you went to so much trouble to basically emulate Merlin? Regards, Richard (RICHARD_B, 1980, GO COM A2) >>>>> I released NF Asm basically to have a backup on the Internet :) and """"" thought that nobody needs assemblers anyway nowadays. I might be wrong about that, but I sure did not want to decrease ORCA/M sales, or Merlin 16+. You're right, NF Assembler can't (for example) handle file chunks like ORCA/M. I don't know what Merlin can do, but I guess it has similar capabilities (to Orca). NF Assembler is close to Merlin (as I found out years later), but the editor in Merlin is just a pain. Also, I don't know if it has some sort of debugger as NF Asm? Many greetings, Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 1986, GO COM A2) >>>>> OOPS! Sorry Richard, """"" I didn't seem to have read your post correctly. I wrote NF Asm a long time ago on an Apple IIe. I did not have an assembler at all, then. Later I moved it to the GS and upgraded it for 16bit. THEN I bought Orca/M and was totally confused (and scared off by its "speed" (sorry Mike W.)) so I was continuing work on NF Asm. Then I had a chance to see Merlin 16, and didn't like that, too. That's how it came. Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 1987, GO COM A2) <<<<< Interesting. Obviously it makes more sense to me that you wrote """"" without knowing about Merlin. :) Tell us about the debugger in NF Asm, and does the link spit out OMF files etc.? Regards, Richard (RICHARD_B, 1988, GO COM A2) >>>>> The NF Assembler can put out OMF files in one step - i.e. no object """"" files. They can only have one segment, though, so it is limiting. Also, being p8 based, testing OMF style output isn't so convenient. For real GS/OS based programming, Merlin or ORCA/M are much more suitable. (KWS, 1989, GO COM A2) DO YOU REMEMBER YOUR SWEET 16? Sweet 16 is an interpreted 16-bit code """""""""""""""""""""""""""""" environment for the 6502. The source code for Sweet 16 is floating around several FTP sites and I'm sure its distribution use is included with the source. My first assembler was the S-C assembler and I know the source for sweet 16 was included with that, but I don't recall what Apple's distribution policy was. In terms of speed, it is significant slower than hand tweaked 16-bit code, but you can write an incredible amount of 16-bit code in very little memory space. Geoff (SISGEOFF, 1992, GO COM A2) GS(DE)BUG I figure its about time we tried to sort out the latest version """"""""" of the various debugging tools available, with so few developers left, we pretty much could do with the best that are available. For starters, I think 1.6 of GSBug came with the System 6 CD. What are other people using? Regards, Richard (RICHARD_B, 2001, GO COM A2) >>>>> Where can I download GSBug? I never used it. """"" Blatant plug: I use the debugger that belongs to the NF Assembler. It is a CDA that allows you to browse through your labels, view them, disassemble memory with the labels displayed etc. Not very good, but useful. Any other debuggers out there? CDAs? Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 2002, GO COM A2) >>>>> Try: { """"" ftp://ftp.apple.com/dts/aii/tools/gsbug/gsbug-1-6-shk.bsc} (SISGEOFF, 2003, GO COM A2) >>>>> I think someone already pointed out the Apple FTP site. Of course, """"" once you download it you need to figure out what it does. For both disks _and_ documentation, give us a buzz. GSBug (with documentation) in included in these Byte Works products: GS-04 ORCA/M Assembler $75.00 APDA-15 Apple II GSBug and Debugging Tools Ref. $30.00 For a complete price list by e-mail, send me a note. For a printed catalog by snail-mail, include your snail-mail address. Mike Westerfield Byte Works, Inc. (BYTEWORKS, 2005, GO COM A2) >>>>> Yeah, 1.6 is the last version of GSBug (that I know of). Too bad """"" it's still got some problems, but it's still a pretty good tool. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2006, GO COM A2) >>>>> That is the one I am using, and that one version also comes with """"" ORCA, but then you would not know that of course... :) Mike would presumably be the arbiter of which is the latest version. Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 2008, GO COM A2) >>>>> I'm using GSBug v1.6b21. """"" Jeff Blakeney - Dean of A2U in A2Pro on Delphi sent via COG v2.5, Spectrum v2.1 and a Linux box to here. (JBLAKENEY, 2010, GO COM A2) <<<<< You've never used GSBug? Oh my, will you be in for a shock. """"" GSBug allows you to step and trace your program in real (if somewhat slow) time. You can set break points, monitor locations, display and modify memory. You can even trace to disk and view it again later. There's heaps of stuff in there. Regards, Richard (RICHARD_B, 2007, GO COM A2) >>>>> It is indeed better than a CDA, but that control sequence does not """"" work with Bernie or GUS, as that is the sequence you use to quit both of them... Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 2009, GO COM A2) >>>>> Actually, the problem is that the keyboard combination """"" Command-Option-ESC forces any Mac application to quit, and that conflicts with the GSBug entry keys. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2011, GO COM A2) >>>>> There is a developer version of Bernie available that has a menu """"" item that will send the Command-Option-Control-Escape sequence to the emulated GS. It also has a couple memory monitor tools in it as well, made possible by the fact that the GS is emulated. The reason these tools are not included in the standard Bernie distribution is that it slows down Bernie. Dave Miller (JUSTDAVE, 2019, GO COM A2) >>>>> I take it Henrik and the Bernie Boys know about this one? If not, """"" I think we ought to woof up the right tree :) - Ryan M. Suenaga, M.S.W., L.S.W. - rsuenaga@apple2.org Editor and Publisher, _The Lamp!_, published monthly on Delphi "Teaching the Apple II user how to fish since 1982" Posted by PTMM v2.5 - The integrated information solution (RSUENAGA, 2013, GO COM A2) >>>>> A cool side effect of GSBug is it allows entry to the CDA menu when """"" a program has attempted to lock it out. It also interfaces nicely with Nifty List. - Tony (TONYW1, 2014, GO COM A2) <<<<< You know, funny thing about the "n" command in GSBug to enter Nifty """"" List. I was after a way to call Pixie from GSBug, because I use it instead of Nifty List. Well, next thing you know, GSBug has a command to call Nifty List, but to explain it away, Dave calls it a "N"eat hook or something. It was supposed to stand for Nifty List, but "N"eat hook sounded more like a generic thing for other debuggers. A command like "D" or "C" for CDA would make more sense, but then Nifty List doesn't start with "D" or "C". :) Regards, Richard (RICHARD_B, 2015, GO COM A2) >>>>> Henrik knows. It's on the Sheppy List of 25 -- my list of Bernie """"" requests that I mailed him a few days ago. :) I promised him that if he gets 17 of those 25 items fixed, I'll make him a custom version of Wolf 3D that replaces the dogs with St. Bernards that come up and schmooze you to death. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2022, GO COM A2) BABELFISHING VIA C? Babelfish translators require several code resources """"""""""""""""""" containing functions that handle various things. ORCA/C doesn't seem to be capable of doing this (or if it can, I haven't found the trick) without a special pragma (cdev, for example). Is there any way to make ORCA not care that main() doesn't exist? :) I tried telling ORCA that these files are CDEVs, but the resulting code just crashes. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2012, GO COM A2) >>>>> main() is called by the code in the ".root" file, so #pragma noroot """"" might work (or just delete the ".root" file before you link). You'd have to be careful to do all the setup that the ".root" file normally does. -- Steve Reeves (REEVESST, 2017, GO COM A2) >>>>> There are several issues in trying to set up a custom entry """"" mechanism for ORCA/C. Entry is always at the first segment the linker sees. That's what .root is really all about. If you get rid of it, you must be very careful to make sure the first subroutine that is linked is really your entry point. There is nothing sacred about main()--if you get rid of the .root segment, which generated code to set up the ORCA environment and call main(), then nothing really expects main() to exist. It's the code in .root that is really looking for main(). Delete it or replace it and the issue vanishes. There is another problem, though--that entry code is needed! It sets up the environment ORCA/C programs expect when they are running. It does thing like initialize the ORCA/C memory manager; sets up the registers properly (all 16 bit, D points to the top of the stack area, B points to the segment containing global variables); initializes various variables for exit() returns, argc, and so forth; and initializes several global variables, like errno. If you get rid of this preamble code, you _must_ replace it with something else that does the job for you. That's what all the specialized pragmas are for: they create .root segments that are appropriate to the environment they are designed for. To be absolutely safe, you should get the runtime library source and disassemble the .root segment. Create your own preamble code, and why not, name the object code with a .root extension and drop it in with your object files. For this particular case, though, you may be very close to the requirements for an NBA or XCMD. Check those environments out. If you are, you can just use one of those. Mike Westerfield (BYTEWORKS, 2018, GO COM A2) >>>>> Sheppy, be sure and check out the "System Functions" section in the """"" reference manual, too. This outlines the various subroutines used by the startup code, telling what each does. It will give you a head start on writing a new startup routine, if that's what you need to do. Mike Westerfield (BYTEWORKS, 2023, GO COM A2) >>>>> I seem to remember doing something like this a while back. If I """"" remember correctly, I called SysEnvironmentInit (not sure on the spelling) to make sure everything was setup the way C likes it. - Tony (TONYW1, 2025, GO COM A2) <<<<< Yeah, that might do it. """"" Interestingly, the original code was for APW C, which worked fine. I'm half-tempted to dig up my copy and just build this thing using that. Oddly, the compiled program size is 28 blocks smaller with APW C (ORCA/C builds it out to 31 blocks, APW C builds to 3, apparently). Would there be a horrible conflict if I just installed APW C under ORCA? Would it cause a problem with ORCA/C? I've never used APW C, so I dunno. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2026, GO COM A2) >>>>> APW C should install under ORCA 2.0 just fine. """"" That difference in block size is due to the fact that you brought in all sorts of ORCA/C setup code that you don't need. :) For example, are you _really_ using exit() or argv? Do you really need floating point? Do you really need malloc() and the other memory management tools? Do you really need to initialize stdio? If not, the code size will dwindle rapidly. Also, APW C, like ORCA/C, makes assumptions about registers and direct page use. If you create a single subroutine in ORCA/C, compile it with noroot, and link the result, you'll get a very short chunk of code--probably 3 blocks. :) It stands about the same chance of working as the APW C code does. But what's it _really_ doing in there with the direct page space (how is D set), with static variables (how is B set), and with calls to the libraries (did you initialize all the things you need)? It may be a pain to set all of these things correctly in ORCA/C, but at least you have all of the tools you need to do it. If you don't set these things up, though, whether you use ORCA/C or APW C, be sure and let all of us know so we can avoid your program! But truly, your chances of working without initialization code are the same for ORCA/C and APW C. They both use the same memory model. Mike Westerfield (BYTEWORKS, 2028, GO COM A2) <<<<< Woah! This isn't *my* program. I'm just updating someone else's """"" code to fix a minor problem with translating to and from HyperStudio sound format. :) I think it's going to be too much work to try to do all the stuff everybody says needs to be done to make ORCA/C actually build a viable Babelfish translator, and I don't really want to write the code to do the floating-point calculations on frequency and the like in assembly (the only thing I hate more than doing string manipulation in assembly is doing floating-point math in assembly :). I'm thinking I maybe better hand this project off to someone with more time to figure out the tricks needed to make C happy. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2030, GO COM A2) >>>>> Nice try, but I'm not letting you off the hook that easily! """"" Just to keep the discussion clear for the lurkers, this is not an ORCA/C problem, it's an ORCA/C solution. You _must_ to certain initialization for _any_ compiler before it is safe to execute its code. The difference with ORCA/C is that I can tell you how to do it, and even if I didn't, the documentation and libraries you need to figure it out for yourself are available. That is not true for APW C or any other non-ORCA Apple IIGS compiler. I really haven't spent much time looking at Babelfish. What are the requirements for a Babelfish translator's interface? Specifically, how are the registers set on entry to the translator, and how are parameters passed? One of the existing pragmas might actually do the job. If not, and if the requirements are not too outrageous, I could add a new pragma so you can safely write translators. Mike Westerfield (BYTEWORKS, 2034, GO COM A2) <<<<< I understand all that... my entire point is that I don't have time """"" to figure it all out myself right now; I'd expected this to be a 30 minute fix-up job, and didn't realize it would involve writing custom C initialization code. :) Babelfish is accessed with all parameters on the stack (both inputs and outputs). There are multiple code resources, each with a different set of stack-passed parameters. I don't have the Babelfish docs handy at the moment so I can't tell you exactly what each code resource requires. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2036, GO COM A2) >>>>> Not so... All communication between applications and Babelfish and """"" a translator and Babelfish are done through IPC calls... So there should be no problem using any language you choose. Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 2039, GO COM A2) <<<<< Ewen, I'm referring to the interface between Babelfish and a """"" translator; I know that Babelfish itself is accessed via IPC, and that it does send IPC requests to the translator, but Babelfish still calls these code resources at times as well. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2043, GO COM A2) >>>>> So how does the application start? Does Babelfish load the """"" translator as if it is a standard application? Is there an initial call that starts the program running? If so, how does the program know when it is time to quit? If not, when is the program supposed to initialize itself? Mike Westerfield (BYTEWORKS, 2041, GO COM A2) >>>>> Well, sort of. """"" Babelfish calls the translator at load time, at load point. It is there that the translator installs an IPC request handler and returns to caller. All translation functions are then handled through IPC. So what you need, is a way to call _AcceptRequests at the beginning of the file, and a way to build IPC request procedures. Regards, Richard (RICHARD_B, 2045, GO COM A2) <<<<< But the Standard File filter procedure is always called directly, """"" and that's the first thing that crashes as I'm building things right now. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2046, GO COM A2) >>>>> I did not write Babelfish, so am going from memory from the docs... """"" Babelfish is a PIF. When an application wants to Import or Export something, Babelfish is called by an appropriate IPC call, then (quoting from the docs): "Babelfish loads a translator from disk, assigns a user ID, and calls Resource Startup at BFImportThis or BFExportThis time (before TrInit and TrStartUp are called by Babelfish). This makes the translators independent resource applications, which they remain throughout the Read/Write life cycle. When the Read/Write process is complete (or terminated due to an error), Babelfish calls Resource Shutdown on the translator and completely purges the translator from memory." Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 2048, GO COM A2) >>>>> Ewen kindly sent me the Babelfish documentation, and I looked it """"" over this morning. The short version: It's worse than I thought. The slightly longer version: There will be no ORCA/C pragma to create a Babelfish translator from C. In fact, it's not even _possible_ to create an ORCA/C pragma to allow you to create a Babelfish translator from C. The situation is pretty grim, actually. Babelfish translators are not a single program, they are a collection of programs and resources. The code portion of the translator is broken up into multiple individual programs, each of which resides in a separate executable chunk. Since there is no loader for loading a program split into multiple resources, each of these individual pieces is, and must remain, a completely separate program from each of the other pieces of the translator. They cannot share subroutines or data, at least not the way a program does, which is to simply make the subroutine or data global and allow all pieces of the program to make use of them. This means that writing a translator involves writing several individual programs, one for each of the Babelfish calls. These programs are then combined with separate resources using a program like Rez. Unless you do it on your own through IPC calls or some other mechanism, these chunks of program code cannot share data or subroutines. The actual calling mechanism is about the only glimmer of light. It's essentially the same one used by a subroutine, which means you can write the individual programs as a C function, and simply declare the needed parameters. Create your program using the noroot pragma, make sure the first subroutine in the source file is the one Babelfish is supposed to call, don't use partial compiles, and make sure the object file produced is the first one specified in the link command. If you do all of that, the call itself will work. (Sheppy: The same is _not_ true of APW C, which uses a different calling mechanism.) Make sure you use the databank pragma around this entry function. That tells C to set up the data bank, and allows you to use global variables. This step is also required by some libraries, even if you are not using global variables. (But remember: the variables are only global to this specific piece of the translator. There is no way to make a variable global in multiple pieces of the translator!) If your program links without bringing in libraries, that's all you need to do. If you need to use libraries, you may need to take additional steps to set them up. You will probably have to do some of this from assembly language, since you don't have a direct page area, and some of the routines (notably SANE) need one. As a minimum, examine the section "System Functions" in Chapter 19 of the ORCA/C manual. You should also keep a copy of the sublib source handy so you can look at the requirements of individual library routines you may see linked into your program. Remember: even if _you_ don't call a library through a .h header file, C may call one for something like converting a float to an integer. You must initialize the environment for all of the libraries you see linked into your program, not just for the ones you know you called! At this point, it's reasonable to ask why I can't create something that would initialize the things you need for you. The answer is that it would be possible, but I don't think it's reasonable. It would take a great deal of my time to create a separate pragma for each and every Babelfish call, and that is what would be required. Considering the number of calls, the amount of work that it is going to take anyone to write a translator, and the number of people who would do it even if I could make it easy (which I can't--just easier), I don't think it's a good use of my time. If you're _seriously_ interested in writing a translator in C, post that fact here. So far I'm only aware of two people. If I've drastically underestimated the number of people who would use this feature, I'll reconsider whether I should spend the time needed to create all those pragmas. Or maybe the Babelfish interface could simply be redesigned so it didn't, ahem, so closely resemble its namesake. Mike Westerfield (BYTEWORKS, 2092, GO COM A2) >>>>> Bill Tudor has sent me the message below. I have the source file """"" for 'Debug' and can send it to anyone who wants it if the information he gives is not enough. I would guess that we are stuck with Babelfish as it is now, but if translators can be written freely in Orca/C, then at least further development of new translators is not held up. ------------------------------------------------------------------------- Ewen, Yes, there are/were a number of translators written with Orca/C. The best one to look at is the Debug translator because it is essentially a "shell" of a translator (it does nothing). Maybe a quick glance of the technical documentation leaves you with the wrong impression. Below is a short discussion from memory. NOTE: My memory is not perfect, so I may get some of this wrong! There are no #pragma's or special techniques/mixed assembly or anything like that needed. Most of the communication between babelfish and the translator is through the System 6 IPC mechanism, not through any function calls. If you can write an INIT, Finder Extension, Code Resource, etc, you can write a translator. Here's what I remember: Basically, a babelfish translator is a resource file with 4 Code Resources in it. There are a number of other required and optional resources as well, but let's talk about the 4 code resources. The rez source would have lines like this: read rCodeResource(TrInit,locked,convert) "Init.out"; read rCodeResource(TrImportOptions,locked,convert) "Import.out"; read rCodeResource(TrExportOptions,locked,convert) "Export.out"; read rCodeResource(TrFilter,locked,convert) "Filter.out"; Basically, it is reading in the code resources from compiled C Code (or any language) which was linked to the files xxxx.out. Prototypes for the 4 functions that make up these resources look something like this: TrInit Code Resource: pascal void init(); TrImportOptions Code Resource: pascal word DebugFilter(DirEntryRecPtrGS entryPtr); TrExportOptions Code Resource: pascal void importOptions(xferRecPtr ptr); TrFilter Code Resource: pascal void exportOptions(xferRecPtr ptr); Of course, you can name the functions anything you like, just link things so that the object code contains this function as the entry point. Typically, these functions do not need global variables or do very much. The TrInit function must install a IIgs IPC Request Procedure, just like a system 6 Finder extension would do. Here is the TrInit code from the Debug Translator: * Function: init() * -------- * + Setup the accept requests routine. * * Parameters: * Returns: * * Created: 6/16/93 12:40:49 AM * --------------------------------------------- */ pascal unsigned int myRequestProc(); pascal void init() { unsigned int userID; userID = MMStartUp(); Int2Hex(userID,&reqName[27],4); AcceptRequests(reqName,userID, myRequestProc); } Note that all it does is setup the request procedure. That is where all the work gets done. Writing one of those in C is easy enough as well, except that you have to do the DBR save/restore things, etc. * Function: myRequestProc(request, dataIn, dataOut) * -------- * + My Accept Requests procedure. * * Parameters: request : (uint) request code * dataIn : (long) input data ptr * dataOut : (long) output data ptr * * Returns: (uint) : result (True is handled) * * Created: 6/16/93 12:42:28 AM * --------------------------------------------- */ pascal unsigned int myRequestProc(request, dataIn, dataOut) unsigned int request; xferRecHndl dataIn; TrOutBufferPtr dataOut; { unsigned int oldDBR; unsigned int result; result = 0; oldDBR = SaveDB(); switch(request) { case srqGoAway: ((srqGoAwayOutPtr)dataOut)->resultID = MMStartUp(); result = 1; break; case TrStartUp: if (AlertWindow(awResource+awButtonLayout,0L,(long) startupAlert)) { (*dataIn)->Status = bfContinue; dataOut->TRresult = bfNoErr; } else { (*dataIn)->Status = bfAbortErr; dataOut->TRresult = 0x0120; } result = 1; break; . etc etc RestoreDB(oldDBR); return(result ? 0x8000:0); See the rest of the enclosed Debug translator for all the details. Although I always used Orca/C, I did like using "linkiigs" tool from Apple. I am not sure why, however, there may be an issue here regarding what linker options are needed to compile the code resource fragment. I always did it like this: echo "Compiling DBG.Init.c..." compile DBG.Init.c keep=Init.o echo "Linking..." linkiigs Init.o.= -lib 13:clib -o Init.out echo "Done." Notice that the "init.out" is the actual file that is imported in by the rez source shown at the beginning of this message. The linkiigs tool was freely available - it may have even shipped with Orca/C, I cannot remember. The bottom line - yes, easy to write in C. I personally preferred writing them in C. Of the ones I wrote... The following Translators were done in C: AESound AsciiFilter Debug HSSound The following were in Assembly: BinSound IIGSFont QuickDrawII Picture rSound So it was pretty much split down the middle. The Debug Translator is enclosed. If you want a "real" example (i.e., a translator that actually does something), take a look at the AsciiFilter or AESound ones. Bill Ewen Wannop - Speccie Delivered without using a IIgs by Spectrum & Crock O' Gold 2.5! Setup: Bernie ][ the Rescue 1.3 and a PowerMac 8200/120 http://ourworld.compuserve.com/homepages/ewannop/ (EWANNOP, 2102, GO COM A2) >>>>> To Ewen, Bill, and anyone else lurking: """"" What Bill said was true for the BabelFish side, but completely misses the point. When a compiler creates code for a computer, it makes certain assumptions about registers and the like. Libraries also need to be initialized. While _some_ subroutines written in ORCA/C may indeed run without problems when called by Babelfish, the only way to be _sure_ that happens is to make sure all of the assumptions made by the compiler, and all initialization needed by any called libraries, have been taken care of. You sometimes need to initialize libraries even if you don't deliberately call them. For example, Bill's code dereferences an array. Depending on how big the array elements are and how he has set the optimize pragma, that could cause a multiply subroutine to be linked into the code. That's just the most obvious example. As I tried to point out, there are several areas where some kind of initialization is required: 1. Registers. Long (16 bit) registers are required on entry. They are probably set that way. The data bank must point to the bank containing global data. Even if your program doesn't use global variables, some of the libraries do. (No, there is no way to avoid that--in C anyway. errno by itself forces global variables on us, and errno is pervasive in C.) That's what the databank pragma is for. While there are cases where you can get by without using the databank pragma, I would suggest that it's fair to say it should be required. 2. Library initialization. You've got to check the libraries and make sure that any that require initialization have been initialized. I pointed out the part of the ORCA/C manual that deals with this topic. If you don't read it before trying to write a code resource for Babelfish, and either a. carefully initialize the ORCA/C environment fully, or b. verify carefully that no libraries that require initialization are linked into your program then you are doing yourself and the people who use your program a grave disservice. Simply assuming that because something worked one time it will always work is foolish. As one example: Say you do something innocent like use malloc() or fopen(). Those will set an error code in errno. If you have not set the data bank properly, the actual bank where the errno value is set is, effectively, random. It may work--in fact, will probably work--many times, wiping out a word in memory that is not critical. But someday it's going to do damage. That damage could have been avoided by properly initializing the compiler's environment or verifying that the initialization was not needed. ORCA/C _can_ be used to safely write Babelfish translators. It's not trivial, but it is possible. What Bill has recommended, though, is absolutely, positively NOT safe. Mike Westerfield (BYTEWORKS, 2107, GO COM A2) NEW HO-REZ-ONS? I couldn't find any subject threads about the Rez """"""""""""""" resource compiler, so I figured I'd start one. Anyway, the "Types.rez" file I have is dated 1992 and doesn't include any of the System 6.0.1 stuff. Was a more recent one ever released? Would this now fall under the purview of A2Pro, along with the assignment of file types, etc.? -- Steve Reeves (REEVESST, 2024, GO COM A2) >>>>> I don't think there _were_ any changes in types.rez. If Apple made """"" any, I missed them. System 6.0.1 did result in a lot of changes to interface and header files. You can get the latest when you upgrade your ORCA language to the most recent version. Disk upgrades are $7 per language (you need to own 2.x); upgrades from pre-2.x systems are more because you get a manual. You can also get one disk upgrade free with any product you order, so get GSoft BASIC and get the latest disk upgrade for a 2.x ORCA language for free. If you are not using an ORCA language, you have two options. First, you could buy one. :) Second, you could get Apple's interfaces: APDA-37 APW & MPW Interfaces for System 6.0.1 $20 This is the official Apple interface release that all others (even ours) are built from. Mike Westerfield (BYTEWORKS, 2029, GO COM A2) >>>>> Apple released an updated types.rez file when System 6.0.1 shipped; """"" you need to buy something that comes with a more recent types.rez file :) Mike'll probably have suggestions. :) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2027, GO COM A2) <<<<< I did! The Types.rez files that came with ORCA/C 2.1.0 and ORCA/M """"" 2.1.0 (both circa 1996) are bit-for-bit identical to the one in the System 6.0 With ORCA Interfaces package (circa 1992). Its no big deal to add the few new things for System 6.0.1, but it'd be nice if we were all on the same page with respect to flag names and such. -- Steve Reeves (REEVESST, 2032, GO COM A2) >>>>> I ship the interfaces Apple supplied. Maybe I should fill in gaps """"" they leave, especially at this late date, but I generally only do that for the interfaces like ORCA/C and ORCA/Pascal, where I actually write them. Unless I made a mistake, types.rez is what Apple supplied. Mike Westerfield (BYTEWORKS, 2035, GO COM A2) <<<<< Here is the stuff that Apple left out of the "Types.rez" file. Let """"" me know if I missed anything. There is one modification that must be made to Types.rez. Add this line to the end of the editLineControl portion of the rControlTemplate definition (after line 803): _mybase_ integer; /* keyMask - 6.0.1 */ The rest of these are equates you can put in another file to keep Types.rez small and as close to the original as possible: /*-------------------------------------------------------*/ /* Flag equates for StatText controls /*-------------------------------------------------------*/ #define fSquishText $0010 #define fTextCanDim $0008 /*-------------------------------------------------------*/ /* Flag equates for icon buttons /*-------------------------------------------------------*/ #define fSelectableIcon $0010 #define fNoIconBorder $0004 /*-------------------------------------------------------*/ /* Flag equates for scroll bar controls /*-------------------------------------------------------*/ #define horScroll $0010 #define rightFlag $0008 #define leftFlag $0004 #define downFlag $0002 #define upFlag $0001 /*-------------------------------------------------------*/ /* Flag equates for size box controls /*-------------------------------------------------------*/ #define fCallWindowMgr $0001 /*-------------------------------------------------------*/ /* Password characters for LineEdit controls /*-------------------------------------------------------*/ #define defaultPwChar $0000 #define notForPassword $FFFF /*-------------------------------------------------------*/ /* Key mask bits for LineEdit controls /*-------------------------------------------------------*/ #define specialEditingKey $8000 #define digitKey $4000 #define hexDigitKey $2000 #define letterKey $1000 #define nonControlKey $0800 #define anyKey $0001 /*-------------------------------------------------------*/ /* List types for list controls /*-------------------------------------------------------*/ #define fListScrollBar $0004 #define fListSelect $0002 #define fListString $0001 /*-------------------------------------------------------*/ /* Key modifier flags for keystroke equivalents /*-------------------------------------------------------*/ #define keyPad $2000 #define controlKey $1000 #define optionKey $0800 #define capsLock $0400 #define shiftKey $0200 #define appleKey $0100 #define btn0State $0080 #define btn1State $0040 -- Steve Reeves (REEVESST, 2047, GO COM A2) BYTEWORKS ON THE WEB We've opened the doors on our new Byte Works web """""""""""""""""""" site. While we're still adding new information and haven't finished all of the cosmetic niceties, it's still the most complete technical description of our product line ever published in one place. Check it out at www.hypermall.com/byteworks Mike Westerfield (BYTEWORKS, 2053, GO COM A2) PAINTWORKS ANIMATION SPECS? Nathan Mates created his own filetype note """"""""""""""""""""""""""" for Paintworks animations, since there wasn't one available. It may be on my hard drive, but I can't find it at the moment. If someone else has it, then I'm sure it can be shared. (I don't remember any restrictive codicils on it). Otherwise, it has vanished in his grand suttee reformat. (GARETH, 2091, GO COM A2) >>>>> There is no x,y coordinates in a paintworks anim. """"" PW anims are built up like this (I have to look it up as well): $8000 bytes of screen data 2 bytes: animation speed rest of file consists of pairs of data: 2 bytes: pointer in graphic screen $E12000+ptr 2 bytes: data to be written at pointer location. An Anim routine would then work like this: lda [file_data],y tax iny iny lda [file_data],y tax sta $e12000,x Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 2103, GO COM A2) >>>>> Yes, you can do that of course, but that would need rescaling the """"" animation from the screen to the window, which would cost a lot of speed. But I assume that you already HAVE an animation (an animation that uses only a small part of the screen), right? In that case, all you would have to do, if the animation fits into the window, is you take the offset (x,y) of the top left window pixel: address=y*160+x/2 and add that to your animation offset, like this: lda [file_data],y clc adc address ;here! tax iny iny lda [file_data],y sta $e12000,x Since I don't know very much about windows, etc. maybe somebody knows how the exact update routine would work like? Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 2111, GO COM A2) >>>>> Btw. If you want to make animations, check out ANIME, an NDA that """"" does a good job on that. You can make animations very easily, view them while being in a paint program and save everything to a Paintworks animation file. For our homepage location, see below. Jesse Blue / Ninjaforce Check out our upcoming Apple IIGS game at: http://www.ninjaforce.home.ml.org (JESSEBLUE, 2112, GO COM A2) ALTERING TRANSWARP GS SPEEDS You can write a program that controls the """""""""""""""""""""""""""" speed of a TWGS; however, TWGS cards can only be speed-adjusted to 1 MHz (slow), 2.6 MHz (fast), and whatever the fastest possible speed is that's supported by the card. ZipGS cards, on the other hand, can be set to any of 16 speeds, ranging from very slow (on the order of a few kHz) to full speed. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2101, GO COM A2) NEW ORCA/C HEADERS? I've begun work on my own set of C headers for """"""""""""""""""" ORCA/C; I don't personally care for the choices of types for some of the prototypes of functions. Once I've done all that (probably will take a while :), I'll look and tidying up types.rez too. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2037, GO COM A2) >>>>> Frankly, neither do I. There is one point you should consider, """"" though. The ORCA/C interfaces use the type Apple documents in the toolbox reference manual (the only printed reference we have) unless the type Apple documented just flat won't work. If you change that, the result is a set of interfaces that can't be used unless you have a copy of each and every header file available as you program. It will also mean that source code is not compatible between programs written under the two sets of header files. At the very least, I'd implore you to make sure all of your file names are unique so all of the existing headers, as well as your new ones, can live in the same folder. That will make the job of compiling programs written under different headers a lot easier. Even better, don't do it. The confusion a second set of header files will cause is, in my opinion, far worse than any potential gain. And there are far better projects to spend time on--like a set of libraries that use 32 bit int, so UNIX ports are easier. (There is an undocumented ORCA/C directive that causes int to be treated as 32 bit, but you need 32 bit libraries to make effective use of the directive.) Mike Westerfield (BYTEWORKS, 2042, GO COM A2) <<<<< I'm not sure why it would be bad for me to have my own set of """"" headers that I can use without having to look stuff up in the headers constantly to figure out which bizarre type they're using. I mean, it gets a little tedious when half the TextEdit calls use CtlRecHndl for the handle to a TextEdit record, and the other half use TERecord **. The amount of type-casting I have to do is tiresome. I also don't see why I'd need to have two sets of headers; once I've updated all my code to use my own headers, they'll work fine from then on out and the old ones can be happily forgotten. As for the 32-bit integer thing: I'd love to have a library like that, and I hope someone does it... me, I have to many projects on my plate already, or I'd do it myself. :( I think I'm overextended (pardon the upcoming blathering, I'm thinking aloud :)... I'm simultaneously working on Shifty List 2.0.1 (hopefully done next week), WebWorks GS 1.2, a general-purpose GS Installer/Updater package with an Installer Builder application, a major BeOS project of epic proportions, a series of articles on GSoft BASIC programming, documentation for the BeOS R4 Media Kit, and these new headers I'm toying with. It's a busy life. ;) Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2044, GO COM A2) >>>>> The problem comes if any of the following ever happens: """"" 1. You distribute your new header files. 2. You distribute the source to any of your programs. 3. You try to compile someone else's program on your system. All of those situations imply that two different sets of headers must exist on one machine, unless you somehow think that the entire world will instantly convert every program ever written in ORCA/C to use your headers. Personally, I think it's a bad idea to create the second set of headers at all, but I'm sure there will be some people who will like the idea. I'm also certain that there will be a lot of people who continue to use the old headers, and a huge amount of source that will never be converted to use the new headers. So, if you do it, I do have that one very concrete suggestion: use unique file names so the headers can all coexist peacefully. That way people really can keep both sets of headers on the same machine, and the compiler will use whichever set the source needs. There are two simple ways to do this. 1. Name all of your files with some unique, predictable prefix or suffix. For example, start each file name with an S for Sheppy, as in Stypes.h Sgsos.h If a name would be longer that 15 characters, truncate the last one. 2. Less C-like, but perfectly effective, is to replace .h with something else, like .s for sheppy or .i for interface: types.i gsos.s Like I said, I hope you don't do it at all. I do not believe the confusion when (not if!) you finally put those interfaces out into the publics grasp will not be worth any potential gain. But it's your decision, and I assume you'll go ahead with the project. Making that assumption, I really hope you use some sort of unique file names so both sets of headers can coexist. Mike Westerfield (BYTEWORKS, 2050, GO COM A2) >>>>> if I may butt in: How about using the ORCA/C command-line include """"" path statement to keep the headers separate? Like, say, you want to compile something that uses Sheppy's headers, you could do: occ -c -I /usr/local/sheppyinclude myfile.c OK, so I'm biased. :) compile myfile.c cc=(-I 13:sheppyinclude) keep=myfile would work just as well, of course (if I didn't forget some hyphens in there somewhere). Soenke (SBEHRENS, 2051, GO COM A2) <<<<< Mike, if I ever distribute my custom headers (which I've never said """"" I was going to do), I'll give them all unique names. That seems fairly obvious to me as a necessary step. But for me, I'm just going to replace my headers and fix my sources to use them. Should make all my code easier to read and probably will help isolate some bugs I never found before. Eric "Sheppy" Shepherd Macintosh & PowerPC Programmers Forum (SHEPPY, 2052, GO COM A2) MORE HABANERO HUMOR """"""""""""""""""" Windows '98 source code. TOP SECRET Microsoft(c) Code Project: Chicago(tm) Projected release-date: MAY 1998 $History$ */ #include "win31.h" #include "win95.h" #include "evenmore.h" #include "oldstuff.h" #include "billrulz.h" #define INSTALL = HARD char make_prog_look_big[1600000]; void main() { while(!CRASHED) { display_copyright_message(); display_bill_rules_message(); do_nothing_loop(); if (first_time_installation) { make_50_megabyte_swapfile(); do_nothing_loop(); totally_screw_up_HPFS_file_system(); search_and_destroy_the_rest_of_OS/2(); hang_system(); } write_something(anything); display_copyright_message(); do_nothing_loop(); do_some_stuff(); if (still_not_crashed) { display_copyright_message(); do_nothing_loop(); basically_run_windows_3.1(); do_nothing_loop(); do_nothing_loop(); } } if (detect_cache()) disable_cache(); if (fast_cpu()) { set_wait_states(lots); set_mouse(speed, very_slow); set_mouse(action, jumpy); set_mouse(reaction, sometimes); } /* printf("Welcome to Windows 3.11"); */ /* printf("Welcome to Windows 95"); */ printf("Welcome to Windows 98"); if (system_ok()) crash(to_dos_prompt); else system_memory = open("a:\swp0001.swp" O_CREATE); while(something) { sleep(5); get_user_input(); sleep(5); act_on_user_input(); sleep(5); } create_general_protection_fault(); } (HABANERO, 1977, GO COM A2) [EOA] [WEB]------------------------------ WEB SLINGING 101 | ----------------------------------- HALFWAY THERE: UPLOADING TO DELPHI VIA FTP """""""""""""""""""""""""""""""""""""""""" by Ryan M. Suenaga, B.A., M.S.W., L.S.W. [thelamp@delphi.com] AVOIDING THE BINARY BLUES ~~~~~~~~~~~~~~~~~~~~~~~~~ In the second installment of this series, I talked about variations on the telnet theme and how you could attempt to address problems with file transfers and telnet connections. If you've tried all of these things and are still having problems, there is another solution, at least for uploading--using Delphi's built-in Internet tools to move files into your Delphi workspace, then copy the files to the Database of A2 or another Forum. In this article, we'll go into some detail on the multi-step process of getting a file into a Delphi Database using these Internet tools. We will not cover such steps in the process as figuring out keywords to search on or file naming conventions. For more assistance, you may want to check the message thread "Uploading Suggestions" in the General Chatter area of the A2 Forum on Delphi. In order to use the Delphi's Internet tools to get files into the Forum Database, these are the steps to follow: 1) Place the file you wish to download in a space where you can use Delphi's Internet tools to access it; 2) Use Delphi's Internet tools (likely either File Transfer Protocol, aka FTP, or Delphi's version of Lynx, to place the file into your Delphi Workspace; 3) Go to the Database of the Forum you wish to place your file in; 4) Copy the file from your Delphi Workspace to the Database. To accomplish step one, you'll likely need some kind of publicly accessible ftp site where you can leave your files temporarily. Some Internet Service Providers (ISPs) give users public FTP space to place files they want accessible, or a file could even be placed in a public HTML space and brought to the area you want using Lynx. If you don't have such a space provided by your ISP, you may need to place files on a public FTP server, which is far beyond the scope of this document. Once your files are in such a space, use Delphi's Internet tools to move them to your Delphi Workspace. To get to these tools, you need to go to Delphi's Computing and Technology Navigating The Net page. To do this, from any main Delphi prompt, simply type: GO COM NAV And press return. This will lead you to a screen that looks something like this: [BEGINNING OF SCREEN EXAMPLE ]------------------------------------ NAVIGATING THE NETS Welcome to Navigating the Nets! This Delphi Community is the place to get help in exploring the World Wide Web and the Internet and to share your experiences with others. When you need a break from surfing the nets, or just want good companionship, join us in the message forum or in chat. Whether you are joining us from textside or webside, drop in anytime. There is always something interesting going on. Walt Howe (walthowe@delphi.com) Navigating the Net Menu: Conference Lynx (VT-100 Web Browser) Databases (Files) Telnet Forum (Messages) Utility (finger,traceroute,ping,whois) Internet Navigator Usenet Groups via nn Mail (Electronic) FTP-File Transfer Protocol Set Preferences Help Who's Here Exit Workspace Auditorium IRC- Internet Relay Chat NAVIGATING>What do you want to do? [END OF SCREEN EXAMPLE ]------------------------------------------ It's likely you will want to use the FTP option to move the files to your Delphi Workspace, although it is possible you may want to use Lynx if you've placed the files in an HTML area rather than a FTP area. If you want to use FTP, simply type: FTP and hit return. You will then see a prompt that looks like this: [BEGINNING OF SCREEN EXAMPLE ]------------------------------------ Enter destination INTERNET address: [END OF SCREEN EXAMPLE ]------------------------------------------ Here you put in the name of the FTP server you will be getting the files from. Let's say in this case the file you wish to get to Delphi is in a private area at ftp.sheppyware.net. Type in "ftp.sheppyware.net" without the quotes and press return. You will be prompted for a username: [BEGINNING OF SCREEN EXAMPLE ]------------------------------------ Enter username (default: anonymous): [END OF SCREEN EXAMPLE ]------------------------------------------ As the file I want to get to a private area on this server, I need to enter my personal username and, when prompted, my personal password. If your file is on a publicly accessible FTP server, you may be able to access the file via "anonymous" FTP. If this is the case, you can use the usual anonymous FTP login procedure: use the username "anonymous" and your email address as a password. Once you have logged in, you can simply use the FTP command "GET" to transfer copies of the files on the FTP server to your Delphi workspace. Say the file we wish to transfer is named mfaq.bxy. We first issue the command "BIN" by typing "bin" and hitting return, to ensure a binary transfer (as opposed to a text one, as this is a binary and not a text file), then enter: get mfaq.bxy and hit return. You will see the following: [BEGINNING OF SCREEN EXAMPLE ]------------------------------------ 200 PORT command successful. 150 Opening BINARY mode data connection for mfaq.bxy (13184 bytes). 226 Transfer complete. FTP> [END OF SCREEN EXAMPLE ]------------------------------------------ and, magically, the file will be in your Delphi Workspace. You can then exit FTP using the "bye" command. Once you are out of FTP, use the "workspace" command to enter your Delphi Workspace. At that point, you will see a listing of files in your Delphi Workspace, which will include the transferred file, as in this example: [BEGINNING OF SCREEN EXAMPLE ]------------------------------------ MFAQ.BXY;1 26/36 20-SEP-1998 08:30:34.91 [END OF SCREEN EXAMPLE ]------------------------------------------ You may want to jot the filename down, ignoring the ";1". At this point you will want to enter the Database of the Delphi Forum where you want to submit the file. You will be prompted to choose a Topic, then begin the process by entering Submit. While it is possible to complete the process a number of ways, it is strongly suggested you enter Begin to begin the process of submitting the file, which will take you through a step-by-step process to get the various pieces of information on the file you are placing in the Database, including such things as keywords to search on and a description of the file. Finally, instead of choosing the Upload option to upload the file, choose the Copy option to copy the file from your database. You will be prompted for the filename (which you DID jot down), and other information. You have now mastered the art of getting a file into the Delphi database without having to use a protocol transfer via telnet, which is problematic for many users. In future issues, we'll see other ways to enhance our Delphi experience using the World Wide Web. :: DISCUSSED ON DELPHI :::::::::::::::::::::::::::::::::: : : : Some change when they see the light, : : others when they feel the heat. : : : :::::::::::::::::::::::::::::::::::::::: GOLDFISCHE ::::: [EOA] [INN]------------------------------ EXTRA INNINGS | ----------------------------------- About The Lamp! The Lamp! is published on the fifteenth of every month in """"""""""""""" the Database of the II Scribe Forum on the Delphi online service (GO CUS 11). This publication produced entirely with real or emulated Apple II computers using Appleworks 5.1 and Hermes. Apple II Forever! * The Lamp! is (c) copyright 1998 by Ryan M. Suenaga, M.S.W. All rights reserved. * To reach The Lamp! on Internet email send mail to thelamp@delphi.com. * Back issues of The Lamp! are available in the II Scribe Forum on Delphi as well as The Lamp! Home Page, http://lamp.sheppyware.net. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Opinions expressed herein are those of the individual authors, and do not necessarily represent the opinions of the Delphi Online Services, Syndicomm, Inc., or Ryan M. Suenaga. Forum messages are reprinted verbatim and are included in this publication with permission from the individual authors. Delphi Online Services, Syndicomm, Inc. and Ryan M. Suenaga 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 not be reprinted without the expressed written consent of the publisher. Registered computer user groups, not for profit publications , and other interested parties may write the publisher to apply for permission to reprint any or all material. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< [EOF]