This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Your Projects subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Celtic III => Your Projects
United-TI Archives -> Celtic III
 
    » Goto page 1, 2, 3  Next
» View previous topic :: View next topic  
Author Message
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 23 Sep 2007 09:55:35 pm    Post subject:

Post what you believe are bugs in the program. To help me out best, state the following information:

1. Program version or perhaps the name of the .zip file you extracted the material from. If they came from my site, they've got the version name in them even if the ReadMe does not.

2. The command(s) that is in question

3. Not just stating that it doesn't work, but how it doesn't work. Or if it works, state the nature of the bug here.

Deviating from the guideline is alright, just as long as you provide me good, decent information that will aide in fixing the bug.

Since the project is open-source, you could help me even more if you posted the code that needs to be changed. Optimizations are generally welcome, if you are so inclined to provide some.
Back to top
Harrierfalcon
The Raptor of Calcs


Super Elite (Last Title)


Joined: 25 Oct 2006
Posts: 2535

Posted: 23 Sep 2007 10:40:10 pm    Post subject:

(Celtic2e.zip)

Not really a bug, but when you try to ungroup a group with a 8-letter name, it doesn't work--it says the group is not found. I'm guessing it's because CelticIII thinks the group name is 9 letters long (because of the group identifier, "row*(").

And in the readme, you should point out that, for function 13, Ans holds the token number in decimal notation, not theta.
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 25 Sep 2007 11:25:33 pm    Post subject:

I was working on a few things for version 3.07 when I came across the following bugs, so don't think I haven't fixed 'em already.

1. The delete line command crashes the calculator outright. That was, to the best of my knowledge, fixed.
2. Not much of a bug moreso than a faulty feature, but the output status command was revised for a cleaner output.
3. That crazy onscreen text thing was finally fixed. It involved not putting in a correct loop counter for the subroutine that handles converting lowercase tokens to ASCII.
4. The feature output was missing an entry.

Other features were implemented, but that's not part of this topic. Please wait 'till I finalize the update for 3.07

Oh, and... harrierfalcon. That error in the readme was addressed in a slightly different way (I assume you meant command 8, since the content of the post refers mostly to that). The TOKENCODE command was reimplemented to take a slightly different output. More on that for 3.07

EDIT2: -- removed --
EDIT3: Updated the project. See "Current Progress"


Last edited by Guest on 27 Sep 2007 02:06:43 pm; edited 1 time in total
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 24 Dec 2007 06:10:39 pm    Post subject:

I've tried the string tilemapper from the 'cel3t09b' app, but sometimes it displays the map a bit diagonal (see included pic). this also happens when installing the app, with MirageOS, with asm games, ect...

I think it has something to do with the ion routines, so you may want to look/ask to see if there are any updated routines.

[attachment=2060:attachment]



edit: when you output the map at x,y, and x or y is below 0, it simply won't work. if x is above 0, it will act like it is 0 and if y is above 0, it will act like it is the negative of that number (5 becomes -5) (I asume the coordinates act the same as the text( command)


Last edited by Guest on 24 Dec 2007 06:45:48 pm; edited 1 time in total
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 27 Dec 2007 11:13:20 am    Post subject:

Did you try running ALCDFIX than might be the issue but then again I have no clue what type of calc you are using.
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 29 Dec 2007 08:06:07 pm    Post subject:

It certainly looks like an LCD timing problem, which is what ALCDFIX addresses, on SE's anyway ... Im assuming you made that screenie as a mockup though?
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 03 Jan 2008 07:48:54 am    Post subject:

I have a 83+ BE so ALCDFIX doesn't work on my calc. and I took the screenshot with ti screencapture.


I also found some more bugs.

with the celtic3 program CEL3t08, creating appvars doesn't work, instead it just makes a program.

with the celtic3 app CEL3t09b, instead, it makes a variable that acording to the group and link menu is a string. also, deleting that variable from the memory menu doesn't work, it disapears, but if you up and then back down, its still there.

with the same app, if you try to add a pic file to a database and it uses compression, it shows some kind of hex code on the screen and then locks up. pressing [on] turns the calc off and pressing it again turns it on with a ram clear message.


with the scrollscreen function, if you scroll to the left, everything on the right will be black instead of white. the numbers also seems to be wrong, the readme says that 1 will scroll left, but it will scroll left up.


if the string tilemapper is displaying something that is not a part of the string tilemap, it displays random tiles from the selected map. could you make it so it doesn't displays anything but just make it white.


could you make the Y position of the map be per pixel instead of per tile.
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 04 Jan 2008 04:09:29 am    Post subject:

Well if the screen problem exists on a BE, it usually means that the program is updating the LCD too quickly (not a big enough delay between writes for your calc). Either that or whatever is drawing to the LCD is doing it out of whack.

You must make sure that you have the absolute latest build, try redownloading even if your version number matches.


Last edited by Guest on 04 Jan 2008 04:10:14 am; edited 1 time in total
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 04 Jan 2008 07:23:46 am    Post subject:

I am using celtic 3, not xlib Wink and AFAIK, there are only 3 versions of the celtic 3 app (all 3 in the progress topic) (there aren't any apps on Iambians blog).

I was to lazy to create my own map for testing so I just created a matrix to string program and I used the xlib demo (only map I had on my calc). sorry for not asking, I hope you don't mind.
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 05 Jan 2008 10:51:00 am    Post subject:

I know you're talking about Celtic hehe, and that demo+sprites/tiles etc is free for anyone to use ... its just a quick demo.

I wonder if celtic is drawing tilemaps wrong -- Does the screen like scroll on its own/go wavy? Or is the distortion always the same? If its the latter, the mapper might not be drawing properly.
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 05 Jan 2008 12:02:49 pm    Post subject:

its not always disorted, it draws the map right around 6 of the 10 times and the disortion isn't always on the same place. and I don't think its the string tilemapper since the screen is also disorted when you install celtic3 from the apps menu.
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 07 Jan 2008 03:32:43 pm    Post subject:

For the fastcopy issue, I've insertted a couple of "NOP"s to alleviate some of the LCD driver problems relating to the BE, since you say that the screen is *sometimes* doing this. For the SE and 84+/SE calcs, I've just included something in the readme to the effect of "Go check out prgmALCDFIX" to help out.

I've also attempted to address one issue regarding the X positioning in the string tilemapper. Problem was I wasn't using the X position at all, so that was creating a problem. For the coordinate system, it should be the same as the Text() command, but this is with respect to the viewing window. That is, when you display your tilemap, the "window" from which the map is viewed is in relation to the tilemap itself, not the display... if that makes any sense. Negative values are never accepted and are almost always converted to positive numbers.

I've also addressed the issue in the app regarding creation of variables. It seems the problem there was that I didn't pass the type of the variable back to register A prior to creation.

I've also addressed the shifting problem regarding black stuff on the right edge of the screen when shifting left. As for the incorrect numbers, have you tried switching x and y? I made a mistake (which was promptly corrected) regarding which arguments go where.

As for the tilemapper and its edge thing, can't I just make it the user's responsibility to NOT attempt to display outside the bounds of the tilemap?

As for compression, I mentioned somewhere in the current progress thread to not use the compression option, as it will not work. The hex numbers that you see are a debugging artifact that I left in there, hoping that I would get back to it later. I was just hoping that copying PicArc into Celtic III would've been a simple copy/paste job, but it turned out to be a major pain. I guess I should just disable that feature until I get around to fixing it.
---
Thank you for finding these bugs. It sure helped me quite a bit.
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 16 Jan 2008 03:59:47 pm    Post subject:

CEL3t08 program version: the line reading function doesn't work correctly. if the program or appvar is in ram, it works, but if it is in archive, it will only get the first part of the string.

also, instead of creating an appvar, it creates a program (but I think that I already said this)


the bugs are in both the standard version as well as a custom compiled version.
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 17 Jan 2008 12:51:15 am    Post subject:

If an SE is running in fast mode you will need to add more of a delay between writes to the LCD ... or are you switching back to 6MHz for lcd update?

Also i agree that drawing a map out of bounds should be left up to the user to control, it cant really cause any serious problems.
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 17 Jan 2008 05:14:15 pm    Post subject:

vuurrobin wrote:
CEL3t08 program version: the line reading function doesn't work correctly. if the program or appvar is in ram, it works, but if it is in archive, it will only get the first part of the string.

also, instead of creating an appvar, it creates a program (but I think that I already said this)


the bugs are in both the standard version as well as a custom compiled version.
[post="118925"]<{POST_SNAPBACK}>[/post]

Changes in the RAM-based version have been made on my site and are reflected in CEL3t08b. I've fixed the appvar problem, but I need more information regarding the line reading function. Have you been able to reproduce this reliably for all lines? For all programs in archive? When you say "first part" of the string, how much is this "first part" and when you say "first part", do you mean the first line? Are you attempting to use the "grab multiple lines" feature but you are not getting those multiple lines?

Under the same conditions, have you been able to reproduce this bug from the APP version? If so, then I'll probably go ahead and investigate both versions and try to weed out this bug.

tr1p1ea wrote:
If an SE is running in fast mode you will need to add more of a delay between writes to the LCD ... or are you switching back to 6MHz for lcd update?

...
[post="118958"]<{POST_SNAPBACK}>[/post]


Stated somewhere in TI's documents is that all apps are run at the default 6MHz unless a specialized header indicates otherwise, so I need not slow things down. With the nature of this app, a few NOPs should work around slower LCDs on the BE's and not impact speed by too much.
Back to top
magicdanw
pcGuru()


Calc Guru


Joined: 14 Feb 2007
Posts: 1110

Posted: 17 Jan 2008 05:17:12 pm    Post subject:

Iambian wrote:
Stated somewhere in TI's documents is that all apps are run at the default 6MHz unless a specialized header indicates otherwise, so I need not slow things down. With the nature of this app, a few NOPs should work around slower LCDs on the BE's and not impact speed by too much.
[post="118974"]<{POST_SNAPBACK}>[/post]

It's true that apps are run at 6 MHz, but when an app is called by a hook, the app doesn't go through normal startup routines, and IIRC the hook routine will run at the fastest speed by default.
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 17 Jan 2008 05:37:39 pm    Post subject:

magicdanw wrote:
...
It's true that apps are run at 6 MHz, but when an app is called by a hook, the app doesn't go through normal startup routines, and IIRC the hook routine will run at the fastest speed by default.
[post="118975"]<{POST_SNAPBACK}>[/post]

When I tried this on my TI-84+, I do not get screen drawing problems, indicating that the calculator is set on the 6MHz mode when I enter the app via hook, but I do understand what you're trying to say. I'll make the adjustment right after this post.
Back to top
nitacku


Advanced Member


Joined: 23 Aug 2005
Posts: 408

Posted: 22 Jan 2008 12:36:53 am    Post subject:

Ok, I went through and tested every function on the most recent release.

This isn't really a bug in the program, rather just a documentation error: The parameters for det(2), det(4), and det(1Cool are reversed. It is listed that the file name must come first before the string content. It is the other way around. ;)

I'm having trouble figuring out how to display two byte tokens using det(6,x,y).
I can get the one byte tokens, but when I enter the second parameter, I just two one byte tokens. I'm I doing something wrong?

When I use the search command det(11,"prgmName") I only get .NULLVAR. I'm not searching for the entire name of the program. I'm only entering the first few letters. For example, I was searching for "prgmPortways" so I entered det(11,"Por") but I only received .NULLVAR

The program to string command returns a successful 1, but where is the string?
Is there a second parameter, or is Ans being overwritten by 1

When I use HexToBin det(22,"AA"), I get some stuff followed by one of my programs, but when I try to recall this into a program, all that appears is "y3". Also, I was just messing around, but entries like "^sin(" seem to work Razz
When I pass the Ans created by det(22,"AA") into det(23,Ans) it successfully returns "AA", so maybe it's just something weird with my calc?

The RetrievePic command seems to work, but the screen doesn't update.

Lastly, the ShiftScreen command will erase the screen on down, down-left, and down-right

Also, how do you use the Group commands for pics and programs, and how do you use the StringTile command. I tried all of these, but I can't figure out how to get them to work.

BTW, I like the new box (the Inverse + Border combo) Smile
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 22 Jan 2008 06:34:54 pm    Post subject:

(1) The implementation will then be changed to reflect the documentation. This will be evident on the next release.

(2) In order to get the 2-byte token, x must first be the first part of the two-byte token, and y will be the extension of that. Otherwise, it'll (correctly) output two one-byte tokens if each of those bytes are representing one-byte tokens. Problems will happen if you input the start of a 2-byte token in y.

(3) The input for det(11,...) is NOT a program name. Instead, it is the contents of the program you wish to search in. For example, if you did the following:
det(11,det(22,"BB6DC930"))
You would generate a list of program names that comply with a shell-only version of the ION header.

(4) I'll address that issue. It will be reflected in the next release.

(5) With what was hinted on in point 3, the HexToBin command converts a hexadecimal number to its binary equivalent. Which is to say, if you pass "41", the result would be "A" because the binary equivalent of "41" corresponds to the displayable character "A".

(6) Problem has been addressed. I didn't update either pointer while writing >.<

(7) Resolved. I had HL and DE placed incorrectly.

(8) The group extraction is rather easy to understand, but writing code that'll do something with the output is rather hard. The first command generates a space-delimited list of all the programs in the group, and the extraction extracts the Nth program that was found in the first command. For example, you got the following after a group listing:
"ZBN ZB9 ZB8 ZB7"
If you wanted to extract prgmZB7 from the group, you'd pass a 4 since it is the 4th item in that string.

The following bit is used in the installer I created for Reign of Legends 3. The code you see below is the uninstaller part. I hope you can figure it out :)


Code:
Disp "Removing program"
For(A,1,7)
Output(8,1,"Group indexing"
"*row(ROL3"+sub("ABCDEFG",A,1)→Str1
det(14,Str1)+"."→Str2
sum(not(not(∆List(seq(inString(Ans," ",X),X,1,length(Ans))))))→B
1→C   //start with 1st character, with B being the # of files in group
For(D,1,B)
sub(Str2,C,inString(Str2," ",C)-C→Str3
If 8<length(Str3)   //handles filename bug in RoL3
sub(Str3,1,8)→Str3
inString(Str2," ",C)+1→C
Output(8,1,"                "  //16 spaces
Output(8,1,sub(Str1,2,length(Str1)-1)+":"+Str3
det(7,Str3)
End
End
Disp "RoL3 uninstalled"
Return

(btw, the code does not actually appear like that. All the ending parentheses and quotes are lobbed off )
The code above shows the concept at work, but it's up to you as to how you can do what you want to do.

Pics are easier to work with since a list is generated that contains the Pic #'s in the group.

Disabled emoticons.

Additional EDIT: For point ( 1 ) I decided to just change the documentation to reflect what's actually happening. Reason being is that I just did not want to add to the code by having a bunch of push/pops insertted to juggle the registers around.

Another EDIT: I've also found a bug in the draw box routine that would erase all the other pixels off of a byte if you tried to draw a box into there. It wouldn't look pretty if you had other stuff on the screen, so that's why I'd mention it. I found this out while writing a demo in BASIC to show off teh powers of the box drawing routine. Pretty nifty, really (the demo).

Whee EDIT: I've also found the checkbox where I can disable emoticons. Thanks for doing this earlier, though I probably should've bothered myself by finding the option in the first place.


Last edited by Guest on 23 Jan 2008 04:31:36 pm; edited 1 time in total
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 23 Jan 2008 08:50:57 am    Post subject:

Iambian wrote:
... but I need more information regarding the line reading function. Have you been able to reproduce this reliably for all lines? For all programs in archive? When you say "first part" of the string, how much is this "first part" and when you say "first part", do you mean the first line? Are you attempting to use the "grab multiple lines" feature but you are not getting those multiple lines?

Under the same conditions, have you been able to reproduce this bug from the APP version? If so, then I'll probably go ahead and investigate both versions and try to weed out this bug.


if the program is in ram, reading single and multiple lines works. if it is in the archive, getting the number of lines gives only 1, while there are more lines. reading the first single line or reading multiple lines starting at the first line gives only the first 7 tokens of the first line. reading single or multiple lines starting at any other line gives an error line not found.
somehow, archiving the program/appvar causes celtic to stop seeing more than the first 7 tokens of the first line.

the apps line reading function works fine.


if you have xlib installed and you install C3, it will chain the hooks. kinda unnessairy, since C3 already takes the real( command.


Quote:
(2) In order to get the 2-byte token, x must first be the first part of the two-byte token, and y will be the extension of that. Otherwise, it'll (correctly) output two one-byte tokens if each of those bytes are representing one-byte tokens. Problems will happen if you input the start of a 2-byte token in y.


it also give problems if the x is the start of a 2 byte token and y is 0. this also dissallows us to get some of the 2 byte tokens.


the string tilemapper doesn't work, I used the same code as I did with the previous version, but it won't display anything at all (and yes, I had update screen on).


nice code Laughing


Last edited by Guest on 30 Aug 2010 08:19:59 pm; edited 1 time in total
Back to top
Display posts from previous:   
Register to Join the Conversation
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.

» Go to Registration page
    » Goto page 1, 2, 3  Next
» View previous topic :: View next topic  
Page 1 of 3 » All times are UTC - 5 Hours

 

Advertisement