Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
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 Previous  1, 2, 3, 4, 5, 6  Next
» View previous topic :: View next topic  
Author Message
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 19 Apr 2008 09:00:36 pm    Post subject:

hey, you're trying to improve it on speed, which is already amazing in itself. Don't worry too much about the intermediaries cuz I'm sure it's gonna be all cool when it's all done :biggrin:
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 21 Apr 2008 12:13:58 pm    Post subject:

In observing the way people use the sprite routine, I might as well write a "special" case of when the sprite that is being displayed is aligned. Most of the BASIC games out there use aligned sprites, so I believe this would speed up rendering by a massive amount. If you don't believe me, just look at the sprite routine in the source (_PFN.z80).

EDIT: On second thought, the routine is working pretty good now that I've accelerated the part of the sprite command that buffers the sprite. With that, I found an almost instant speed boost.


Last edited by Guest on 21 Apr 2008 12:57:44 pm; edited 1 time in total
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 24 Apr 2008 11:55:30 pm    Post subject:

For this update, just about the only thing I did was copy the sprite buffering routine to RAM so that it can work independent of any page changes, and "fix" the horizontal sprite flipping routine.

I found the sprite buffering routine to be horribly inefficient when I rediscovered the contents of the routines I was using to do the job. Hopefully, there's a speed gain, even when copying your standard 8*8 pixel sprite in.

I've also included and fixed the sprite flipping routine so that it actually works. I've verified it against an 8*8 pixel sprite (1 byte wide), but it should theoretically work on larger sprites (I haven't tested it yet).

Bugs still exist, mainly... I haven't bothered fixing the line drawing routine to function, if it ever did. There's also a bug that prevents destructible object from being destroyed (though you can still walk through them) from the "Metroid II: The Last Chozo Expansion Set" provided by DJ Omnimaga. I believe this is a Celtic III bug since it worked fine with xLIB, though I haven't exactly tested on whether or not it was because CIII-style errors were being put through regardless of the xLIB-compatibility settings or what. Maybe something weird is happening with the Ans variable, but I'm not entirely sure. Regardless of what the cause is, there's a problem that needs to be addressed and I'm not exactly sure how to address it other than to fix the problem I just mentioned and cross my fingers.

The plan to special-case the sprite routine also fell through for the moment. That's not included.

So, in all, compatibility with xLIB is improving more and more.

I do see light at the end of this tunnel... Smile
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 25 Apr 2008 09:31:28 am    Post subject:

still a bad signature error Sad
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 27 Apr 2008 10:33:00 pm    Post subject:

Yeah. Bad signatures.
I'll have that solved when I'm ready to release a "final". Since it's still in the development stage, I'd prefer to keep things sitting nice in an emulator, such as PTI. Yeah, you heard me right. I don't think my application is ready for the world of actual calculator usage yet.

On another topic, I'm still tweaked over Metroid II not working correctly under Celtic III. I mean, the game is completely playable, but some of the nice effects aren't there, and I'd like to know why before I pull out any more of my hair. (the hair, by the way, is already thinning, so *that* might not be the best idea...)

EDIT: I've gotten an effects pack that revolves around xLIB's abilities, and Celtic III fails miserably at simulating xLIB. Seems I have more work to do about it.


Last edited by Guest on 29 Apr 2008 12:37:48 pm; edited 1 time in total
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 29 Apr 2008 06:28:50 pm    Post subject:

is it just the speed of execution?
Back to top
nitacku


Advanced Member


Joined: 23 Aug 2005
Posts: 408

Posted: 29 Apr 2008 07:58:54 pm    Post subject:

Iambian wrote:
EDIT: I've gotten an effects pack that revolves around xLIB's abilities, and Celtic III fails miserably at simulating xLIB. Seems I have more work to do about it.
[post="122895"]<{POST_SNAPBACK}>[/post]

Sad which parts aren't being emulated correctly?
I'd be willing to test out the latest build of Celtic.

I'll go through the commands and write a comprehensive analysis.
If the current build is different from the one posted, just send me an email.

I'm really looking forward to using Celtic, so keep up the good work! Smile


Last edited by Guest on 29 Apr 2008 07:59:16 pm; edited 1 time in total
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 29 Apr 2008 09:45:50 pm    Post subject:

elfprince13 wrote:
is it just the speed of execution?
[post="122975"]<{POST_SNAPBACK}>[/post]


I doubt it, since xLIB originally had nothing to benchmark against it was just written to 'work' and not be super slow really. Iambian has been working hard thinking up ways for performance increases, in which there is great room for let me tell you Smile.

Unfortunately the issues with CIII not being consistent with xLIB are most likely due to xLIB quirks in operation or routine behaviour :S.
Back to top
DJ Omnimaga
http://i-lost-the-ga.me


Calc Guru


Joined: 14 Nov 2003
Posts: 1196

Posted: 29 Apr 2008 10:05:31 pm    Post subject:

it may be a challenge to have Nitacku's program work perfectly in Celtic, as most effects in it were created by abusing some xLIB exploits, bugs and glitches. Sometimes those are the 3 hardest things to recreate by ourselves, as normally we are used to make sure there aren't any.

I'M still unsure about what's wrong with Metroid II though. Is the version of Celtic on UTI the one you're testing Metroid II with atm? I may have to take a look at it to see what you exactly mean. I think I have a savefile on my PC where I was near the secret boss (which was only in the Expansion Set) so I can go everywhere in the game and check everything.

Also make sure you keep that copy of Metroid backed up on your computer because it may be more challenging to find it online than making sure Celtic works exactly like xLIB now.


Last edited by Guest on 29 Apr 2008 10:09:27 pm; edited 1 time in total
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 01 May 2008 10:29:50 am    Post subject:

i have metroid on my laptop if you accidentally delete it and need a new testing copy.
Back to top
tr1p1ea


Elite


Joined: 03 Aug 2003
Posts: 870

Posted: 02 May 2008 01:31:39 am    Post subject:

Kev and I were talking about this bug in Metroid and it might have something to do with your createPIC function? Are you copying from the buffer or the LCD? Does it overwrite an existing PIC? Could possibly be the recallPIC function as well.
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 15 May 2008 04:35:22 pm    Post subject:

I've an update almost in response to the bug report posted in the ...uh... "appropriate thread".

I'm not entirely sure how this will perform, but I'm sure it'll get somewhere.

Details about what I changed are in ... one of the other pinned topics here.

Oh, and just FYI, I've also updated Celtic III to read off the revision codes similar to what you'd see on the filename of the .zip file. If you can tell, the title screen's version line for this will say "Flashapp version 3.09(K)" instead of the promised 3.10, which I've been holding off of actually giving until I can get xLIB support working just about as good as I think it should, or until I need to figure out what comes after "Z".

EDIT: I forgot to mention that the command pair that does indexed file data lookup remains untested, so if you choose to test it, ensure that the system you perform the test on is backed up sufficient enough to survive a RAM reset (or worse, but that's unlikely)


Last edited by Guest on 15 May 2008 10:02:47 pm; edited 1 time in total
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 16 May 2008 03:52:58 pm    Post subject:

well, the create pic function (real(9,...) works so it creates the correct pic and stores the content from the graphbuffer into the pic correctly. I don't know if its exactly like xlib, since xlib itself seems to fail at creating a pic correctly (it creates a completely white pic) (yes I downloaded the absolutely latest version from ticalc.org).

I also don't have the metroid expansion pack (or that effect pack, for that matters) so I can't see if the bugs are gone or not.


good job :0x5:


(late) edit: is 3.10 not the same as 3.1 :confused:


Last edited by Guest on 17 May 2008 05:43:00 pm; edited 1 time in total
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 21 May 2008 07:35:40 pm    Post subject:

Quick update. I'd elaborate, but my battery's dying on my lappy, so I'll cut right to it.

I tried to fix the indexed file lookup routines. I updated the sprite routine to support inverted sprites as well, embedded as part of the xLIB commandset. I've tried to make the CreatePic routine behave more like xLIB, where it would update the screen as well as store the image to the file. I don't know whether or not the screen is read BEFORE or AFTER the update, but I also added in a function where it doesn't update the screen if you wanted to store it.

Read the ReadME for more about that.

Anyway...

EDIT: The indexed line routines don't work out very well. Gimmie a little longer to reupload the file. Since people have already downloaded this, I'll have to upload with an upped version code.


Last edited by Guest on 21 May 2008 08:46:58 pm; edited 1 time in total
Back to top
tifreak8x


Elite


Joined: 27 Aug 2005
Posts: 956

Posted: 21 May 2008 11:16:19 pm    Post subject:

Hmm... Was given an 8xg file (pokemon) to look at, though it needed xlib, so I sent celtic instead, and seems to be displaying ok :)

I can set the 8xg up on my server if you want it to test.. it even has animated tiles.. and such.. Razz
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 29 May 2008 12:56:03 am    Post subject:

A small update. I'm not entirely sure what I've changed in here, but I know I've fixed a lot of stuff, added a lot of stuff, and (hopefully not) broken a few things, too.

From the most recent changes (dating at the most 1 hour old), I added support for Omnicalc's real(20) [sprite] and real(33) [ExecAsm], though none will output correctly (that is, won't output the 1 or zero as a result of running the function). These functions are not in the documentation.

I also allowed the compression options for images in the image database to work, but since I changed the format of the database, I don't know whether or not it'll work at all. Attempting this on previous versions will not work. This isn't documented, either.

Some problems were not corrected. Time for everyone to guess which they were.

I is sleepy. I requires sleep. (improper English used for amusement)
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 29 May 2008 08:40:23 am    Post subject:

from what I heard, omnicalcs sprite function sucks (compared to xlib), and I thought that executing hex code was already inplemented :confused: . seeing that you don't have that much memory left, I think it would be best when adding a new function to think if it would be usefull for basic programmers, whether basic can do itself fine, and if the function isn't already added in some way.


nice to hear that compressing images is added . that will be really usefull when a project has a lot of pictures. Laughing


Quote:
Some problems were not corrected. Time for everyone to guess which they were.


just a guess, the signature Wink


sleep tight, have nice dreams and don't be late for school/work Very Happy
Back to top
DJ Omnimaga
http://i-lost-the-ga.me


Calc Guru


Joined: 14 Nov 2003
Posts: 1196

Posted: 29 May 2008 06:09:37 pm    Post subject:

vuurrobin wrote:
from what I heard, omnicalcs sprite function sucks (compared to xlib)
vuurrobin wrote:
I think it would be best when adding a new function to think if it would be usefull

wants to run on Celtic too ;.;
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 29 May 2008 06:36:23 pm    Post subject:

0x5 nice DJ
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 29 May 2008 06:43:35 pm    Post subject:

ah, now I get it.
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 Previous  1, 2, 3, 4, 5, 6  Next
» View previous topic :: View next topic  
Page 5 of 6 » All times are GMT - 5 Hours

 

Advertisement