[Coco] Post to the list

Paul Fitch pfitchjr at bellsouth.net
Fri Jul 17 19:21:52 EDT 2009


Hello Wayne, Long time no see.  I worked with you after you initially
released DCOM, trying to get better decompiles.  I was living in Winter
Springs, Fla at the time.  Like you, I misplaced everything during the years
getting my degree and a real job.  I still remember what a bear the Reverse
Polish Notation of the i-code files was.  Hope you get Dcom all back
together. 

> -----Original Message-----
> From: coco-bounces at maltedmedia.com 
> [mailto:coco-bounces at maltedmedia.com] On Behalf Of Wayne Campbell
> Sent: Thursday, July 16, 2009 10:23 PM
> To: coco at maltedmedia.com
> Subject: [Coco] Post to the list
> 
> Hi everyone. I am new to this list, and haven't been directly 
> involved with the Color Computer or OS-9 crowd in a long 
> time. Over 15 years. I have come back because I want to 
> preserve a program that I wrote a long time ago. I'd like to 
> tell you about the program, and more recent events.
> 
> >From 1991-93 I developed a program, in Basic09 on a 512K 
> CoCo3 running OS-9 Level 2, designed to de-code Basic09 
> I-Code files. The object was to retrieve the source code if 
> the user (me) lost a source code file and needed it back. I 
> named it DCom. The full title is "DCom - Basic09 I-Code 
> De-Compiler". I marketed it through Animajik Productions, 
> owned by Alan Sheltra. At the 92 or 93 (not sure which) 
> CoCoFest in Atlanta, Georgia, Alan sold nine copies. Since 
> the cost of packaging and marketing was not covered by the 
> sales, I conceded to allow Alan to keep it all. I never saw a penny.
> 
> I managed to hold onto the original source (in printed form), 
> along with related materials, until about two years ago. 
> Recently, I realized how long it's been since I wrote the 
> program, and decided to see if someone ever put a copy online 
> to preserve it. I found that the CoCo group is very worthy of 
> praise, as not one single copy was to be found. My copyright 
> had been upheld by the group. I was happy, and sad. I want to 
> release it to the public domain in order for it to be preserved.
> 
> Through contact with Alan, who I haven't seen in over 16 
> years, I found that he didn't have any of the materials left, 
> but he put me in touch with Dean Lieber, to whom he had given 
> everything he had years ago. I am esctatic! Dean had a copy! 
> I got the .os9 image file, installed Mess and NitrOS-9 and 
> tried to read the disk. Bummer. Disk isn't being 
> acknowledged. Upon investigation, I find that, somehow, a 
> byte in the disk header in LSN0 was set to $07, when it was 
> supposed to be $03. Finally reading the disk, and everything 
> is there! Everything but the source code, because that wasn't 
> included in the distribution disk.
> 
> I have tried to see if the old 3-ring binder I lost still 
> exists, in the hope of preserving what may well prove be the 
> most important OS-9 Level 1 and Level 2 code that still 
> exists. Back when I was developing it, Boisy Pitre send me a 
> copy of the header to the original Basic09 source code! As 
> far as he knew, it was the last 6809 version of Basic09. He 
> couldn't send me the entire source. That header info was 
> invaluable. From what I understand, Microware had already 
> destroyed everything related to Level 1 and Level 2 by then, 
> because they were already developing OS-9000, which didn't 
> even include a Basic language. In addition, there were many 
> pages of my notes. And I even had a printout of the 
> hexadecimal representations of the I-Code modules. That was 
> in case I ever had to manually create the I-Code files.
> 
> Alot of good all that work did. Without the binder I only 
> have what I can remember, which hasn't proven to be much. 
> It's like I'm learning OS-9 for the first time. I'm looking 
> at version numbers and differences now. Which brings me to 
> the point of this post.
> 
> I finally got everything done, meaning I had to set the 
> executable attrs on the cmds directory and on every file in 
> it. I also had to make copies of the I-Code modules to work 
> on, because I had to get past the internal security that 
> blocked self-decompile. It wasn't a difficult thing, but I 
> had to change every single procedure that makes up the 
> program. That was my attempt to discourage it. I also knew 
> I'd probably forget it altogether if I made it too complex. 
> Anyway, I started the de-compile. It got all the way to 
> printing out the instruction statements when it stopped. 
> Examination of the source file being constructed showed it 
> got hung before it was done writing the DIM, TYPE and PARAM 
> statements to the file. Checking the disk space available 
> proved there was plenty of room on the disk.
> 
> I knew that the Basic09 in Level 2 had been upgraded from the 
> version for Level 1. I decided to see if I could tell what 
> version was in NitrOS-9. The versions of Basic09 and RunB in 
> NitrOS-9 are listed below.
> 
> NitrOS9 version:
> 
> Basic09
> 
>             BASIC09
>      6809 VERSION 01.01.00
> COPYRIGHT 1980 BY MOTOROLA INC.
>   AND MICROWARE SYSTEMS CORP.
>    REPRODUCED UNDER LICENSE
>        TO TANDY CORP.
>     ALL RIGHTS RESERVED.
> 
> RunB
> 
>             BASIC09
>       RS VERSION 01.00.00
> COPYRIGHT 1980 BY MOTOROLA INC.
>   AND MICROWARE SYSTEMS CORP.
>    REPRODUCED UNDER LICENSE
>        TO TANDY CORP.
>     ALL RIGHTS RESERVED.
> 
> I found a copy of an archive that contains both OS-9 Level 1 
> and Level 2. The Level 1 version didn't contain Basic09 or 
> RunB, but the Level 2 version did. The versions are listed below.
> 
> cocoos9 version:
> 
> Basic09
> 
>             BASIC09
>       RS VERSION 01.00.01
> COPYRIGHT 1980 BY MOTOROLA INC.
>   AND MICROWARE SYSTEMS CORP.
>    REPRODUCED UNDER LICENSE
>        TO TANDY CORP.
>     ALL RIGHTS RESERVED.
> 
> RunB
> 
>             BASIC09
>       RS VERSION 01.00.01
> COPYRIGHT 1980 BY MOTOROLA INC.
>   AND MICROWARE SYSTEMS CORP.
>    REPRODUCED UNDER LICENSE
>        TO TANDY CORP.
>     ALL RIGHTS RESERVED.
> 
> I could swear I remember Level 2 Basic09 displaying the 
> version number 1.2. How many versions are there? From what I 
> can deduce, the versions may be as follows:
> 
> Dragon L1:
> 
> 1.00.00
> 
> CoCo L1:
> 
> 1.00.01 or 1.01.00
> 
> CoCo L2:
> 
> 1.01.00 or 1.02.00
> 
> Does anyone on this list have the original OS-9 Level 1 
> version of Basic09 and RunB, and/or the original Level 2? I 
> feel it may be that I am running an older version of Basic09 
> than I used when I wrote the program. I need to figure this 
> out, or I'm stuck trying to decode the I-Code manually. I 
> already started doing that. Using the smallest procedure in 
> the program, named DCIA, I was able to remember something of 
> the structure of I-Code, but attempts with the primary 
> procedure, DCom, prove I don't remember enough to make that 
> difference. It will take a long time manually. But, I did get 
> DCIA decompiled. The only thing I'm not sure of about it is 
> if I'm using TRUE and FALSE in the correct order. In case you 
> haven't guessed it, DCIA is the procedure that seeks to 
> prevent self-decompile.
> 
> Here's the listing, for those interested. The variable names 
> are new. I can't remember what names I used originally. The 
> condition tests in comments are versions I think I used, but 
> without compiling it I can't tell.
> 
> PROCEDURE DCIA
> 
> DIM verify(6):BOOLEAN
> DIM copyRight:STRING[1]
> DIM id:BYTE
> DIM index:INTEGER
> 
> PARAM idents(6):BYTE, verified:BOOLEAN
> 
> copyRight := "@8y at aa"
> copyRight := " DCom  - Basic09 I-Code De-Compiler: Copyright 
> (c) 1991,1992,1993 by Wayne Campbell  All Rights Reserved "
> 
> FOR index := 1 TO 6
>     READ id
>     IF id = idents(index) THEN
>         verify(index) := TRUE
>     ELSE
>         verify(index) := FALSE
>     ENDIF
> NEXT index
> 
> FOR index := 1 TO 6
>     IF verify(index) = FALSE THEN (* IF NOT(verify(index)) THEN *)
>         verified := FALSE
>     ENDIF
> NEXT index
> 
> IF verified = FALSE THEN (* IF NOT(verified) THEN *)
>     PRINT
>     PRINT " ==>  WARNING!!  <=="
>     PRINT " Attempt to De-Compile DCom Related or DCom 
> Protected Module!"
>     PRINT " De-Compile ABORTED!!"
> ENDIF
> 
> END
> 
> DATA $40, $38, $79, $40, $61, $61
> 
> 
>       
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 




More information about the Coco mailing list