[Coco] decode 1.2.10

Wayne Campbell asa.rand at gmail.com
Sun Jun 4 20:46:35 EDT 2017


OK somehow the wrong video got uploaded. I deleted it and am uploading the
correct video now. I will post the new link when it is ready.

On Sun, Jun 4, 2017 at 5:43 PM, Wayne Campbell <asa.rand at gmail.com> wrote:

> I have uploaded a demo video to youtube. The link is:
>
> https://youtu.be/aaypyZp1MSY
>
> Enjoy! I hope it answers any questions any of you may have.
>
> On Sun, Jun 4, 2017 at 1:26 PM, Wayne Campbell <asa.rand at gmail.com> wrote:
>
>> Hi Bruce,
>>
>> As I read your response it dawned on me that there is an entire group on
>> this list who wasn't here before, and that know nothing of DCom or decode.
>> I will create a background/history page to explain it in detail, and for
>> now I will do a brief history here.
>>
>> As most all programmers can attest to, when you first begin writing code,
>> you tend to not make backups of your source, and you also tend to lose the
>> only copy you have for a variety of reasons, the predominant reason being
>> that you simply deleted the file by accident.
>>
>> My language of choice, since I began programming, has been BASIC. When I
>> discovered OS-9 and Basic09, I knew that I had found the language I wanted
>> to program in. Like other programmers, I was not very good at remembering
>> to make backups of my source until I lost them enough times to learn a
>> lesson.
>>
>> For me it took a few years to learn it. If you are programming in
>> assembly, and you lose your source but still have a compiled executable, a
>> disassembly will give you a good approximation of your source and you can
>> use that as the starting point to rebuild your source. All you have to do
>> is remember your variable and label names, and where your code may have
>> differed from the disassembly output. In Basic09 (or any BASIC that doesn't
>> compile to object code for that matter), you were not given that option.
>> Even if you had the I-Code module, you could not easily recover your source
>> code from it. For the most part you were relegated to starting all over
>> from scratch and rewriting your code from the beginning. I noticed that I
>> never was able to duplicate my code exactly, as the new modules differed
>> from the original.
>>
>> In early 1991 I decided that someone needed to write a program to recover
>> source code from a Basic09 I-Code module, and since no one else was doing
>> it, I would. I named the program DCom - Basic09 I-Code De-Compiler. I
>> worked on that program from November, 1991 until approximately April, 1993.
>> At that time I had to sell my CoCo3 and everything that went with it, and
>> all I had left was a 3-inch binder of the source code and other related
>> Basic09 information. I managed to keep that binder until approximately
>> summer, 2009, when I was now in a position to get back to it.
>>
>> I discovered quickly that DCom was a kludge. It was a miracle that the
>> program worked at all, and in most cases it didn't, or didn't work well. I
>> had learned alot more about programming and program structure over the
>> years, and decided that I needed to rethink the program and start over. The
>> program became decode, and has progressed to where it is now. I have had
>> some help along the way, notably from Aaron Wolfe who supplied me with a
>> routine to speed up the searches for counter identification and helped me
>> with file search routines.
>>
>> I had to stop working on it again in 2014. For the past three years I
>> have left it alone pretty much, though I have kept up with the list and the
>> efforts to make our beloved CoCo more usable in the 21st century. Since I
>> have been able to return to work on decode, I have decided to try and take
>> the program the next step by correcting the display issues, adding a new
>> feature for preserving user options, and start thinking about the next step
>> in the evolution of the program.
>>
>> One of the things that occurred to me before is that I really needed to
>> come up with a name that better identifies the program with its purpose.
>> Since I-Code is "packed" in Basic09, I reasoned that the opposite is
>> "unpacking". unpack is the name the program will have when it reaches the
>> point in development where it really becomes useful. That point is where it
>> is able to deal with merged module files and can identify modules that are
>> object code, and files that are not executable.
>>
>> I have already written that code, several times, but decode (in its
>> present form) cannot be used with the unpack front-end. I am thinking it
>> will require a rewrite of both decode and unpack to make it work. Those
>> details are for another day, and for the history of the program document
>> that will be a page on the unpack-decode site.
>>
>> I hope this answers your (and anyone else's) questions regarding what
>> decode is and what purpose it serves. Oh, and it is written in Basic09. I
>> am certain that if I could write it in assembly I could make it run faster
>> and be smaller than it is now, but I do not know assembly (or C) well
>> enough to do that, and I prefer writing it in Basic09.
>>
>> Thank you for your interest, and if you or anyone else has questions
>> about the remaining issues the decode engine still has regarding I-Code,
>> ask and I will write another post detailing those issues.
>>
>>
>> On Sun, Jun 4, 2017 at 5:42 AM, D. Bruce Moore <bruce at gracenote.ca>
>> wrote:
>>
>>> Wayne,
>>>
>>> I took a look at your Decode page and I am not quite sure what’s going
>>> on.
>>>
>>> An intro, explaining what it is and does, in layman’s terms, might be a
>>> nice addition.
>>>
>>> Cheers!
>>>
>>>
>>>
>>> > On Jun 3, 2017, at 11:08 PM, Wayne Campbell <asa.rand at gmail.com>
>>> wrote:
>>> >
>>> > I have been working on decode for the past few days. I have gotten much
>>> > done to correct display issues and add support for preserving user
>>> options.
>>> > The new version is 1.2.10. When I can remember how to connect to
>>> cococoding
>>> > via telnet (unless that has changed) I will upload the updated pages
>>> and
>>> > new version disk images there.
>>> >
>>> > I had prepared a video to showcase decode, but when I went to upload
>>> it to
>>> > youtube, iSpring Free Cam8 crashed for no apparent reason. Because I
>>> had
>>> > not saved the project, I lost the video. I am back to square one and
>>> have
>>> > to make a new video. I will post here when I have the video made and
>>> > uploaded to youtube.
>>> >
>>> > --
>>> > Wayne
>>> >
>>> > The Structure of I-Code
>>> > http://www.cocopedia.com/wiki/index.php/The_Structure_of_I-Code
>>> >
>>> > decode
>>> > http://cococoding.com/wayne/
>>> >
>>> > --
>>> > Coco mailing list
>>> > Coco at maltedmedia.com
>>> > https://pairlist5.pair.net/mailman/listinfo/coco
>>>
>>>
>>> --
>>> Coco mailing list
>>> Coco at maltedmedia.com
>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>
>>
>>
>>
>> --
>> Wayne
>>
>> The Structure of I-Code
>> http://www.cocopedia.com/wiki/index.php/The_Structure_of_I-Code
>>
>> decode
>> http://cococoding.com/wayne/
>>
>
>
>
> --
> Wayne
>
> The Structure of I-Code
> http://www.cocopedia.com/wiki/index.php/The_Structure_of_I-Code
>
> decode
> http://cococoding.com/wayne/
>



-- 
Wayne

The Structure of I-Code
http://www.cocopedia.com/wiki/index.php/The_Structure_of_I-Code

decode
http://cococoding.com/wayne/


More information about the Coco mailing list