[Coco] decode 1.2.10
Wayne Campbell
asa.rand at gmail.com
Sun Jun 4 22:15:52 EDT 2017
The correct video is now in place. The link is:
https://youtu.be/KhT5VlElJHk
On Sun, Jun 4, 2017 at 5:46 PM, Wayne Campbell <asa.rand at gmail.com> wrote:
> 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/
>
--
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