StolenBASE NDA v1.0 --------------------------------------- Copyright (C) 1997 Vincere Software written by Aaron Pulver email: apulver@delphi.com --------------------------------------- *** DelphiWare *** -- Available only on Delphi! Please do not distribute StolenBASE NDA! System Requirements: Apple IIgs, System 6.0.1 or later. 4MB memory and hard drive recommended. (But isn't that always the case? The more, the merrier!) --> What is it, and why the dorky name? StolenBASE NDA is an Apple IIgs base64 decoder/encoder that is available from your Apple menu in any 640-mode desktop application! (Note: StolenBASE is also available as an S16 version.) No more quitting your current application to decode a file! It's useful for decoding base64-encoded attachments from a email message, or decoding and encoding files for transfer through the Internet, or whatever else you want to use it for. The name? Well, I was tired and couldn't come up with anything better. So sue me. --> How do I use it? Or doesn't it even work? Install StolenBASE NDA in your *:System:Desk.Accs folder, and reboot. StolenBASE should now be available in your Apple menu! I'm not going to give a detailed description of base64 encoding, 'cause if you don't know what it is, why would you want to use StolenBASE NDA? To put it simply, base64 encoding is simply a way to convert 8-bit data to 6-bit data for transfer over the Internet. The typical use would be an email message that has base64 attachments. StolenBASE NDA can scan the message, and decode all attachments for you. Neat, huh? Choose StolenBASE from your Apple menu, and the main StolenBASE NDA window will pop up. StolenBASE NDA only has two buttons that we're interested in. Encode, and Decode. The About button and the easter egg aren't important. Encode This option allows you to encode a file with base64 and save the results in an ordinary text file. The Encode button will bring up a window, allowing you to choose a file to encode. After you have chosen a file, a window may pop up telling you that the file you're about to encode has a resource fork. If you don't care if the resource fork gets stripped (usually NOT a good idea), go ahead and encode the file. Otherwise, make the file into a GS-Shrinkit archive first, then encode it. After this, another window will pop up, allowing you to specify the encoding details. The default options are recommended, but you may have reasons for changing them, so... - Linefeed options - CR - Ends each line with a carriage return character. This is the default. CR/LF - Ends each line with a carriage return/line feed character pair. This would be readable in a MSDOS word processor, for example. LF - Ends each line with a linefeed character. - Add MIME Header - checked is default - This option is highly recommended. Without a MIME header, your files won't have a name or filetype. That Could Be A Bad Thing. After you have made your choices, StolenBASE NDA will bring up yet another window, this time for you to choose a filename for your encoded file. After that, we finally start encoding. StolenBASE NDA will munch away, updating a thermometer to let you know how far it has gotten. When the thermometer disappears, your file is done! You can convert some more, or decode a file, or do whatever you feel like. Note: You may cancel the encoding process any time EXCEPT during the actual encoding. Once you've gotten that far, you'll just have to wait it out. Decode This option allows you to decode base64-encoded attachments from the file you choose. When you choose the Decode button, a window will appear, allowing you to choose a base64-encoded file. (Well actually, you can choose any file, but you'll get garbage as output if it wasn't base64-encoded. So, choose wisely, my son.) After you have chosen, StolenBASE NDA will start munching through your file, looking for MIME headers. This may take a while with a large file. If StolenBASE NDA does not find a MIME header, it will assume that the entire file is base64-encoded, and prompt you for a file name to save the converted file to. (This would happen, for example, if you encoded a file without the Add MIME Header option checked.) StolenBASE NDA will only convert the first attachment in the file, in this case. If StolenBASE NDA does find a MIME header, it checks the encoding type. If it is not base64, StolenBASE NDA ignores it and continues on. It's possible that there may not be any base64 attachments in the file, in which case StolenBASE NDA won't decode anything. When a base64 attachment is found, StolenBASE NDA brings up a window, allowing you to specify the filename for the decoded attachment. If there was a filename in the MIME header, it will be used for the default. Feel free to change it, especially if it came from a foreign file system like MSDOS, or UNIX. After the filename for the attachment is chosen, StoleBASE NDA starts decoding the attachment. A thermometer lets you know how far the decoding has progressed. When the attachment has been decoded and saved, StolenBASE NDA continues searching for more attachments (if it found a MIME header to begin with). When all base64 attachments have been found and converted, StolenBASE NDA is ready for more! Decode another file, encode a file, or heaven forbid, exit StolenBASE NDA. Note: You may cancel the decoding process any time EXCEPT during the actual decoding. Once you've gotten that far, you'll just have to wait it out. Also note that cancelling cancels the entire process, so if you want the last attachment, you'll have to convert them all. Note2: All attachments originally encoded by StolenBASE NDA will have their filetypes set properly. Files encoded by the S16 version of StolenBASE, or by another type of computer, are saved as text files. For files that are not text, you'll have to manually change the filetype to something more proper. Note3: StolenBASE NDA should automatically handle all three linefeed types. (CR, CR/LF, LF) --> Just a thought... A PRETTY IMPORTANT ONE TOO! If you are encoding files to be decoded on another Apple II, I STRONGLY recommend running the file through GS-Shrinkit (GSHK) first. StolenBASE NDA will not encode resource forks (yet), and you will be warned if you try to encode a forked file. You may choose to continue with the encoding, but the resource fork will be stripped off. This Is Not A Good Thing! GSHK will handle the resource fork properly, and it usually will unshrink a file with any filetype, as long as it has .SHK or .BXY appended to the name. --> Important Notes (or skip it until you have problems) First, StolenBASE NDA will NOT run in 320 mode, so you must be in a 640-mode application. Choosing StolenBASE from a 320-mode application won't do anything. Second, StolenBASE NDA has minimal error-checking, so I can't guarantee what will happen if you try to decode a corrupted file. Third, you must have enough free memory to load the file you want to decode. That means that a 16MB file is out of the question. Quite possibly a 4MB too, unless you have 8MB of memory. Fortunately, most Apple II related files are much smaller than that. You may need to use StolenBASE NDA from an application that uses less memory, if you are running out of memory. (For an estimate of the free memory in your IIgs, try installing the FreeK NDA, which is also DelphiWare.) Any bug reports, or problems recognizing a valid base64 attachment, and the like, should be reported to me. --> About life... StolenBASE NDA was written in 100% ORCA from the Byteworks. ORCA/Pascal and ORCA/M, to be exact. Cool! ORCA runtime libraries are copyrighted by the Byteworks, but everything else is my original code. DelphiWare is the line of Apple II software products available on Delphi. Join us today! We're making Apple II's last forever! Note: StolenBASE NDA may NOT be uploaded to any FTP site, distributed on any CDROM or disk collections, or anything else, without my WRITTEN permission. Exceptions are: -- Joe Kohn's Shareware Solutions II. This program may be included in the vast library of programs available to subcribers. -- Max Jones' Juiced.GS. This program may be distributed on any Juiced.GS software collection disk. Anyone else wishing to distribute StolenBASE NDA should contact me. Enjoy! Aaron Pulver apulver@delphi.com --------------------------------------- StolenBASE NDA v1.0 September 7, 1997 Changes: v1.0 September 7, 1997 -- First release.