After a half-hour of debugging, I discovered that the source code you gave me had (at least) one bug. In Iambian's code to search for existing programs, he first searches for "normal" programs/appvars, then hidden programs/appvars. He changed the name in-place to search for the hidden version, and when it was not found, he didn't change it back, so a hidden program/appvar ended up being created. That's why it didn't produce an error from the program creation step. Please try again with the executable I will shortly email you.

Well, we are closer! It does indeed create the program, and it stored most of the string. I don't think it's creating the string properly, something I'm going to test right now.. Just have to edit the display code to see what happens..

It's not doing anything with it, sadly. So now the issue is with creating the "-> tokens and leaving them in Str9. Getting closer!

So does that mean all the functions actually work? It would be very cool if that was the case. Also, did you know that "rowSwap(" can be used as a prefix to indicate AppVars instead of programs? I knew that for Celtic III, but I didn't realize Celtic2 could do the same thing until I looked through the source.

Yep, I knew that, hence how pokemon has been using appvars for data storage Remember the hulking monster known as ZITU? It even has its own thread in here.

And I have to make a few alterations to my code, I wrote a couple of things wrong. :/ Stupid me.

I'll let you know shortly if it is fully functional.

Edit:

Seems everything works except the Insert Line function (theta = 2). If I make it look for a line 1, and don't do anything with Str9, it will happily run the program, everything is good. If I change it to look at line 2, or make Str9 contain " ", it causes it to not drop the code into the test program.

Also, I was wondering if you could apply the same fixes to the original source so I can have a nicer, bug freer version of it for pokemon? If/when you have a few minutes and are willing. I can understand if you do not want to.

As tifreak8x says, it will certainly be released to the general public once I get everything working. tifreak8x, I am able to replicate your results with theta=2, but from reading the code, it doesn't appear that it's designed to let you append to programs, just insert at/before existing lines. Is this not the case for the Celtic 2 you use with Pokemon Purple? Would it properly handle inserting on line 2 of a 1-line program?

Seems it can't create programs. It's probably that bug you mentioned about checking if it exists first before creating or something that you fixed with the CSE version.

Yeah, that sounds likely. If you create the program by hand with 1 line of contents, are you able to insert lines? If not, then the 83+/84+ has those exact same bugs, and we'll have to figure out how you want me to fix them to make Celtic 2 the most useful to you and others.

Actually, I know for a fact the version before the one you have source for worked perfectly. Iambian was going to add theta 7 and 8, but somehow things got messed up and he never fixed them, then when he did, he lost it and gave up.

Sadly, I don't have source for the version that is in pokemon. :< So yeah, it'd be great to get them same bugs worked out if possible.

And if it doesn't work on the CSE, do you think it will on the normal +s?

I'm curious if any portion of your mind has given thought to the insert line problem? No rush, of course.

So I haven't figured out in the very few brain cycles I've given to this problem how to make the routine scan for lines differentiate between when it is correct for it to report a line being missing, and when it should take that as a hint to append. On top of that, I didn't get far enough in understanding Iambian's code to see how it resizes programs/appvars when necessary. I just need to sit down with it for an hour or two; perhaps with a bit of nagging you can get me to get around to it this weekend.

Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.