Billy's Silly Things ProDOS Version 2.0 By Bill Buckels May 2008 Program Description ------------------- Graphics Demo and Children's Play Activity ------------------------------------------ This program is based on "The Mixed-Up Toy game" from Broderbund's PlayRoom program. "Three different sections of the body--the head, torso, and legs spin around and its up to the kids to change the body parts to match the cartoon characters.,," It also offers a BSAVE option to save the Silly Things. It is an Aztec C demo program to show how run length encoded image fragments can be used to save disk space and increase file load speed since the disk files are smaller and load more quickly than a raw file, despite the extra time required to decode the file onto the screen. The graphics images were captured from the 1989 MS-DOS CGA 4 color version of The PlayRoom then saved to BSaved IBM images using my ClipShop program which were subsequently chopped into the required pieces using a modified version of my Fraggle utility, I then modified my FragRAG utility to provide a run length encoded version of my RAG format that I call the RAX format. This format is the same as the RAG format with the exception that the graphics image data following the width and height header is encoded as one chunk using the ZSoft PCX encoding algorithm which is relatively decent and unpacks quickly. History ------- This program has a little history attached to it as well. Around 1990 when my son was just a little guy I would give him Apple II programs to take to school. My kids had The Playroom on their IBM=PC. A ComputerLand Salesman had given me an Okey-Dokey Licenced Copy as a gift at one point. I was purchasing a fair amount of software like compilers around that time. So I got busy and created "Billy's Silly Things" since like me my son's name is Bill. I did so similarly to what I have done here and wrote it in Aztec C for ProDOS. I long ago lost the code, and the program. But with the resurrection of my Aztec C compiler I decided that it would be nice to recreate this program for a graphics demo, and of course for any kids that you might be kicking around. I first created a Apple II DOS 3.3 Version which is functinally identical to this one. However I was asked to provide a ProDOS version so with few changes I did the ProDOS version as well. Both versions behave the same but the ProDOS version has some characteristics of its own. Differences between DOS 3.3 and ProDOS 8 Versions ------------------------------------------------- The ProDOS version of ABINLOAD wants a text file called "PICLIST" for the BSAVED images that are created by SILLY.SYSTEM. So when SILLY.SYSTEM saves a BSaved Image it appends the image name to the PICLIST on the SILLYPROGRAM data disk. If the BSaved Image is already in the PICLIST a duplicate image name will not be added. If the PICLIST does not exist it will be created. The reason that ABINLOAD in DOS 3.3 doesn't want a PICLIST is because it calls the DOS 3.3 Catalog routine directly to list disk contents. Other than that ABINLOAD.PRG in DOS 3.3 is the same program as ABINLOAD.SYSTEM in ProDOS 8. Since ProDOS has a 15 character file name rather than the 30 character filename in DOS 3.3 I have limited the automatic naming that is used by SILLY.SYSTEM to 15 characters when saving. This is one difference between the two versions that was unavoidable. The other thing to remember is that when saving in ProDOS the volume name on the DATA disks must be the same as the volume name on the program disk. The ProDOS volume on the disks that I have provided is SILLYPROGRAM. On the DOS 3.3 version, if a silly thing was called DRAGON.CARROT.ROBOT the ProDOS equivalent is DRAGOCARROROBOT which is descriptive enough considering the differences between the two systems. Licence Agreement ----------------- All my work is copyrighted and belongs to me. I wrote this program from scratch. However this program is a derivative work in pretty much every way. That notwithstanding this is also a programming demo, albeit for an obsolete computer and a vanished market. I herewith grant you a non-exclusive and conditional licence to use this program, source code and the output files it produces for whatever use you deem fit provided you do not take credit for my work, and that you leave the copyright notices intact in all of it. If you augment or otherwise use my work you must always also include your own personal copyright notice but it may never be a GNU public licence or anything else that resembles fascism or totalitarianism and world-domination or a commercial or educational licence either. You can use my stuff commercially or for GNU with my conditions intact if they let you (they should since copyright is for authors and the public and I belong to both groups) but you must never copyright my work with any company copyright whatsoever; just your own personal copyright like mine and leave mine in place. That is the way copyright is intended to work and that is the way that it will work with my stuff unless I selectively decide otherwise. In addition you must agree that I am not liable in any way shape or form for any damage from the use of any of this in any way whatsoever. If you do not agree with all of the aforementioned conditions of use then remove all of this from your computer now. Bill Buckels bbuckels@mts.net May 2008