Omnimaga

Calculator Community => Discontinued => Major Community Projects => Correlation => Topic started by: Hot_Dog on December 14, 2010, 11:04:30 pm

Title: Correlation Progress
Post by: Hot_Dog on December 14, 2010, 11:04:30 pm
Still looking at next January for the testing period!

I finished the AND, OR, XOR, Mask routines, my next step is using e^( to display small text.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 14, 2010, 11:05:29 pm
Awesome! I'll have to re-practice my TI-BASIC to remind myself of how to use getkey and stuff to try this. :P
Title: Re: Correlation Progress
Post by: Hot_Dog on December 15, 2010, 09:08:43 pm
GOOD NEWS!

I had someone ask me at one point if Correlation would slow down Ti-Basic programs, to which I had to reply that all parser hooks slow down Ti-Basic programs, even if slightly.

But I forgot that one can use Asm( to run hex code.  So I'll place guidance in the Correlation Manual to turn the parser hook off when not needed, and turn it on again when needed.  When used properly, TI-BASIC TEXT-BASED GAMES WILL ALWAYS, ALWAYS RUN FASTER WITH CORRELATION THAN WITHOUT IT.
Title: Re: Correlation Progress
Post by: Raylin on December 15, 2010, 09:36:49 pm
GOOD NEWS, EVERYBODY!

I had someone ask me at one point if Correlation would slow down Ti-Basic programs, to which I had to reply that all parser hooks slow down Ti-Basic programs, even if slightly.

But I forgot that one can use Asm( to run hex code.  So I'll place guidance in the Correlation Manual to turn the parser hook off when not needed, and turn it on again when needed.  When used properly, TI-BASIC TEXT-BASED GAMES WILL ALWAYS, ALWAYS RUN FASTER WITH CORRELATION THAN WITHOUT IT.

Fixed.
Title: Re: Correlation Progress
Post by: meishe91 on December 15, 2010, 09:47:03 pm
GOOD NEWS, EVERYBODY!

I had someone ask me at one point if Correlation would slow down Ti-Basic programs, to which I had to reply that all parser hooks slow down Ti-Basic programs, even if slightly.

But I forgot that one can use Asm( to run hex code.  So I'll place guidance in the Correlation Manual to turn the parser hook off when not needed, and turn it on again when needed.  When used properly, TI-BASIC TEXT-BASED GAMES WILL ALWAYS, ALWAYS RUN FASTER WITH CORRELATION THAN WITHOUT IT.

Fixed.

Futurama reference?

Edit:
Except I just realized that the professor says "Good news, everyone!" instead.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 15, 2010, 09:58:29 pm
GOOD NEWS, EVERYBODY!

I had someone ask me at one point if Correlation would slow down Ti-Basic programs, to which I had to reply that all parser hooks slow down Ti-Basic programs, even if slightly.

But I forgot that one can use Asm( to run hex code.  So I'll place guidance in the Correlation Manual to turn the parser hook off when not needed, and turn it on again when needed.  When used properly, TI-BASIC TEXT-BASED GAMES WILL ALWAYS, ALWAYS RUN FASTER WITH CORRELATION THAN WITHOUT IT.

Fixed.

Ha ha ha
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 16, 2010, 04:54:02 am
Nice Hot Dog. I think the slowdown is not as bad with some parser hooks than others, though. I think Omnicalc was the worst of all for that.

The only thing, though: Using Asm() is a bit slow by itself, so maybe sometimes you will be best not disabling hooks altogether even when Correlation isn't needed. It will depend how many sub-programs do you have and how much RAM left.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 16, 2010, 11:21:48 am
The only thing, though: Using Asm() is a bit slow by itself, so maybe sometimes you will be best not disabling hooks altogether even when Correlation isn't needed. It will depend how many sub-programs do you have and how much RAM left.

I'm thinking something along the lines of Asm(FDCB368E).  I'll have to check this out, I didn't think that it could be slow like this.  I thought, though maybe I'm wrong, that using this would be a good idea if there were at least 6 lines of code that didn't need Correlation
Title: Re: Correlation Progress
Post by: Raylin on December 16, 2010, 01:06:39 pm
GOOD NEWS, EVERYBODY!

I had someone ask me at one point if Correlation would slow down Ti-Basic programs, to which I had to reply that all parser hooks slow down Ti-Basic programs, even if slightly.

But I forgot that one can use Asm( to run hex code.  So I'll place guidance in the Correlation Manual to turn the parser hook off when not needed, and turn it on again when needed.  When used properly, TI-BASIC TEXT-BASED GAMES WILL ALWAYS, ALWAYS RUN FASTER WITH CORRELATION THAN WITHOUT IT.

Fixed.

Futurama reference?

Edit:
Except I just realized that the professor says "Good news, everyone!" instead.

DAMN.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 16, 2010, 03:47:46 pm
DJ, I forgot that Asm( can only run programs, not hex code.  However, I found that I can use the regraph hook to turn on the parser hook when it's been turned off.  Since I can prevent the graph screen from being drawn at all, I'll use a command -- so far, ZoomSto -- to turn on the parser hook.  That way, Ti-Basic Text-Based games will STILL run faster with Correlation than without it.  (If this doesn't make sense, just trust me :)
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 16, 2010, 11:04:24 pm
Seems good to me. Good luck! :)
Title: Re: Correlation Progress
Post by: Hot_Dog on December 20, 2010, 09:41:46 am
I'll be doing the rest of my in-house testing/coding next January.  I have been working on the Correlation Manual, and I plan to have it released before the end of the month.  Those of you hoping to test Correlation might want to read through the manual when it's released ;D
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 20, 2010, 01:56:01 pm
Aah ok. Just one thing, though, especially since it's an utility to help programmers: try to not make the readme excessively long. A lot of people are turned away by Celtic III readme because it's too long and they use xLIB readme instead. Some people prefer larger readmes, though, so it's a good idea to maybe include two versions. Some people just get lost when they see a wall of text. X.x
Title: Re: Correlation Progress
Post by: Hot_Dog on December 20, 2010, 02:07:14 pm
Aah ok. Just one thing, though, especially since it's an utility to help programmers: try to not make the readme excessively long. A lot of people are turned away by Celtic III readme because it's too long and they use xLIB readme instead. Some people prefer larger readmes, though, so it's a good idea to maybe include two versions. Some people just get lost when they see a wall of text. X.x

Rather than a read-me, it's like a "For dummies" book, in pdf.  However, if people find it too long during the testing period, I will take your advice and include a quick readme.  Like Axe, though, the concept requires a lot of "how to do" rules, and thuse more documentation is required
Title: Re: Correlation Progress
Post by: ztrumpet on December 20, 2010, 02:48:17 pm
Aah ok. Just one thing, though, especially since it's an utility to help programmers: try to not make the readme excessively long. A lot of people are turned away by Celtic III readme because it's too long and they use xLIB readme instead. Some people prefer larger readmes, though, so it's a good idea to maybe include two versions. Some people just get lost when they see a wall of text. X.x
My favorite readme ever is the one for Celtic III. ;D
I like the huge ones.  The DCS SDK is also one of my favorites. O0

This sounds great, Hot Dog.  As for running raw hex, you can use this program by Zeda: http://www.ticalc.org/archives/files/fileinfo/425/42536.html
Title: Re: Correlation Progress
Post by: Hot_Dog on December 20, 2010, 02:55:01 pm
As for running raw hex, you can use this program by Zeda: http://www.ticalc.org/archives/files/fileinfo/425/42536.html

Thanks, ztrumpet!  Although I have no need for running raw hex anymore 0_0
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 20, 2010, 11:01:45 pm
Aah ok. Just one thing, though, especially since it's an utility to help programmers: try to not make the readme excessively long. A lot of people are turned away by Celtic III readme because it's too long and they use xLIB readme instead. Some people prefer larger readmes, though, so it's a good idea to maybe include two versions. Some people just get lost when they see a wall of text. X.x
My favorite readme ever is the one for Celtic III. ;D
I like the huge ones.  The DCS SDK is also one of my favorites. O0

This sounds great, Hot Dog.  As for running raw hex, you can use this program by Zeda: http://www.ticalc.org/archives/files/fileinfo/425/42536.html
Yeah the DCS readme was also pretty great.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 22, 2010, 09:59:38 pm
New feature aimed at people creating maps:

Normally, text wraps once the 16th character of a line is reached.  This usually means that you can't put a map in Str0 30 characters wide and expect it to come out right.  But with Correlation, you can assign a value to Xmax to specify how many characters wide a text-based tilemap is.  In that case, your tilemap will display correctly.  Note that this works only with Ln( and e^(.

I'm also sure that I can add wrapping to e^(, but I'll have to see
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 23, 2010, 12:30:29 am
Oh nice! Does that means we could also display strings of text that wraps on a less wide portion of the screen too? An example would be The Reign of Legends 3 convos.

(http://www.omnimaga.org/images/screenshots/rl3village5.gif)

In my game, the text box took about most of the width where the map was displayed, but did not display over the HUD.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 23, 2010, 12:42:42 am
Oh nice! Does that means we could also display strings of text that wraps on a less wide portion of the screen too? An example would be The Reign of Legends 3 convos.

In my game, the text box took about most of the width where the map was displayed, but did not display over the HUD.

I don't see why not :D

Another new mode, since I'm borrowing S.A.D. code: Word Wrap for long story intros
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 23, 2010, 01:29:07 am
Cool to hear :D
Title: Re: Correlation Progress
Post by: Hot_Dog on December 23, 2010, 09:43:52 pm
Manual and Table
Title: Re: Correlation Progress
Post by: yunhua98 on December 24, 2010, 11:08:51 pm
looks cool!  I can't see what BASIC text games will become after this!  btw, are you planning on making an APP version?  I get a lot of RAM clear so keeping Corelate in RAM...
Title: Re: Correlation Progress
Post by: Hot_Dog on December 24, 2010, 11:19:46 pm
looks cool!  I can't see what BASIC text games will become after this!  btw, are you planning on making an APP version?  I get a lot of RAM clear so keeping Corelate in RAM...

You know, it couldn't hurt, and I'll look into it.  But I'm not making any promises, because I have to see if it will work.  I do know that an app will not install and uninstall itself automatically, unlike pgrmCORELATE.
Title: Re: Correlation Progress
Post by: yunhua98 on December 24, 2010, 11:34:02 pm
it could install and uninstall Parser hooks maybe?

have a token to activate it and deactivate it.  ;)
Title: Re: Correlation Progress
Post by: Hot_Dog on December 24, 2010, 11:41:09 pm
it could install and uninstall Parser hooks maybe?

have a token to activate it and deactivate it.  ;)

Point is, you would need to run the app at least once.  As far as I know--but again, I'm not sure--everything else would run like it does with pgrmCORELATE.  Of course, an app means you wouldn't need pgrmFONTROUT
Title: Re: Correlation Progress
Post by: Hot_Dog on December 25, 2010, 12:48:33 am
New feature!  I know now that there's people who want to have tokens with easy-to-remember names to make a program easy to write.  By using 2:Asm(pgrmCORELATE, you'll receive tokens with easy-to-remember names.  For the app, there will be an option available.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 27, 2010, 12:33:54 am
Nice, this will change the token names only if the person desires, right?
Title: Re: Correlation Progress
Post by: Hot_Dog on December 27, 2010, 12:34:42 am
Nice, this will change the token names only if the person desires, right?

Right, only if the person desires.
Title: Re: Correlation Progress
Post by: Hot_Dog on December 27, 2010, 09:39:28 am
Here's a feature not mentioned in the manual: If you use the command 1Yscl, your font will be adjusted to create enough space for Upper Case "M" and Upper Case "W."  I added this because when you display small text, more space is needed for for Ms and Ws.  (Use 0Yscl to turn it off, although it is off by default.)

This will only work for fonts 3, 4 or 5 pixels wide.  A 6-pixel wide font will already have enough space for Ms and Ws, so Correlation will ignore 1Yscl for fonts this size and bigger.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on December 27, 2010, 06:27:07 pm
So this will disable monospace for those fonts? What if our font set has the w or m taking only 3 pixels, though?
Title: Re: Correlation Progress
Post by: Hot_Dog on December 27, 2010, 06:42:23 pm
So this will disable monospace for those fonts? What if our font set has the w or m taking only 3 pixels, though?

In that case, you don't have to use 1Yscl.  However, there are some people who might have A-L, N-V, X-Z taking 3 pixels, whereas M and W require 5.  These people would need to use 1Yscl, otherwise all characters would take 3 pixels each no matter what.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 05, 2011, 04:54:20 am
I've changed real( to int( to fix a bunch of bugs I was receiving.  Basically, I'm having trouble working with 2-byte tokens, and real( is a two-byte token.

You can still use int( to do math as long as you don't use the name of a font that's on your calculator.  For instance, you can use int(1.34), and you can also use int(ABCDEFGH) as long as pgrmABCDEFGH is not on your calculator.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 05, 2011, 12:49:24 pm
I see. I guess it's better that way, though, especially if someone uses the function over 500 times in a game. It doesn't sound like much, but 500 bytes can make a big difference. Sometimes, someone may only have 800 bytes of RAM left to run his game.

In Reuben Quest 2, sometimes you have about 300 bytes of free RAM after recalling a tilemap.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 05, 2011, 02:25:31 pm
I guess it's better that way, though, especially if someone uses the function over 500 times in a game. It doesn't sound like much, but 500 bytes can make a big difference. Sometimes, someone may only have 800 bytes of RAM left to run his game.

You know, you've got a point there.
Title: Re: Correlation Progress
Post by: jnesselr on January 05, 2011, 05:53:23 pm
I guess it's better that way, though, especially if someone uses the function over 500 times in a game. It doesn't sound like much, but 500 bytes can make a big difference. Sometimes, someone may only have 800 bytes of RAM left to run his game.

You know, you've got a point there.
Actually, why not have a way to map all your programs to some value or something.  Like have PrgmA map to 0, PrgmB map to 1, etc, then you could do:
Code: [Select]
int("0
int("1
for A and B respectively. Saves bytes, at least, and int remains as int and won't get confused.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 05, 2011, 06:28:40 pm
Actually, why not have a way to map all your programs to some value or something.  Like have PrgmA map to 0, PrgmB map to 1, etc, then you could do:
Code: [Select]
int("0
int("1
for A and B respectively. Saves bytes, at least, and int remains as int and won't get confused.

It might save confusion, but for the most part I really don't think it will save space.  There are exceptions, but I can't think of many
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 06, 2011, 03:19:46 am
That actually doesn't save much space, right? (Unless prgm is a 2 byte token and you use program names that are longer than 1 character?)
Title: Re: Correlation Progress
Post by: Hot_Dog on January 06, 2011, 11:34:09 am
That actually doesn't save much space, right? (Unless prgm is a 2 byte token and you use program names that are longer than 1 character?)

Program names for fonts have to be 8 characters long, no less.  However, the big issue is how does the calculator know what program is mapped to 0 and what program is mapped to 1 unless you tell it?  And if you tell it, that takes a lot of space.
Title: Re: Correlation Progress
Post by: jnesselr on January 06, 2011, 09:45:54 pm
That actually doesn't save much space, right? (Unless prgm is a 2 byte token and you use program names that are longer than 1 character?)

Program names for fonts have to be 8 characters long, no less.  However, the big issue is how does the calculator know what program is mapped to 0 and what program is mapped to 1 unless you tell it?  And if you tell it, that takes a lot of space.
Not necessarily. I was thinking of having it be in the font files itself, but that might have conflicting fonts.  So then I thought of a font name that was just for that program.  You could even have primary and secondary names in the file, and still save bytes.  So, file prgmA, and prgmB have a primary name of "SADTest2", and a secondary name of "Hellowrd".  If SADTest2 has, say, two files that both claim to be the 1 file, then it tries the secondary name.

Does this make sense at all?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 06, 2011, 11:02:06 pm
That actually doesn't save much space, right? (Unless prgm is a 2 byte token and you use program names that are longer than 1 character?)

Program names for fonts have to be 8 characters long, no less.  However, the big issue is how does the calculator know what program is mapped to 0 and what program is mapped to 1 unless you tell it?  And if you tell it, that takes a lot of space.
Not necessarily. I was thinking of having it be in the font files itself, but that might have conflicting fonts.  So then I thought of a font name that was just for that program.  You could even have primary and secondary names in the file, and still save bytes.  So, file prgmA, and prgmB have a primary name of "SADTest2", and a secondary name of "Hellowrd".  If SADTest2 has, say, two files that both claim to be the 1 file, then it tries the secondary name.

Does this make sense at all?

It doesn't, but it sounds like you're making it a little too complicated.  It would be much easier--which I may or may not do--to have a primary name selected, one that's used for all fonts, 6 characters long--and have a 2-digit number following the name.  For instance,  ZERATU01, ZERATU02, ZERATU00, etc.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 07, 2011, 06:39:07 pm
That actually doesn't save much space, right? (Unless prgm is a 2 byte token and you use program names that are longer than 1 character?)

Program names for fonts have to be 8 characters long, no less.  However, the big issue is how does the calculator know what program is mapped to 0 and what program is mapped to 1 unless you tell it?  And if you tell it, that takes a lot of space.
I see, thanks for clarifying.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 09, 2011, 01:33:45 pm
I wanted to finish the tiles I needed for the first map of Starcraft: Zeratul, so now I am working on "Map Mode" for Correlation.  Progress screenshot coming soon!
Title: Re: Correlation Progress
Post by: jnesselr on January 09, 2011, 03:50:05 pm
I wanted to finish the tiles I needed for the first map of Starcraft: Zeratul, so now I am working on "Map Mode" for Correlation.  Progress screenshot coming soon!
Sweet, I like screenshots.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 10, 2011, 08:39:54 pm
Awesome! I can't wait for screenies :D

Will map layout be similar to Starcraft/Diablo games or will it be more like other calc RPGs?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 10, 2011, 08:43:44 pm
Awesome! I can't wait for screenies :D

Will map layout be similar to Starcraft/Diablo games or will it be more like other calc RPGs?

Kind of both.  It's like S.A.D.--there are some flat tiles and some 3d-ish tiles
Title: Re: Correlation Progress
Post by: Hot_Dog on January 11, 2011, 02:19:00 am
New screenshot:

http://ourl.ca/8710/162673
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 11, 2011, 04:25:05 pm
Yeah I saw last night. Pretty nice. I wondered about layout since Starcraft is more isometric in general, but since correlation uses fonts based on TI ASCII characters, with isometric tiles you would run out of tile slots extremly fast and fonts would be large.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 11, 2011, 08:19:23 pm
Yeah I saw last night. Pretty nice. I wondered about layout since Starcraft is more isometric in general, but since correlation uses fonts based on TI ASCII characters, with isometric tiles you would run out of tile slots extremly fast and fonts would be large.

Exactly.  Isometric can be done, but it does take more space.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 14, 2011, 07:14:12 pm
By request of graphmastur, I've released an on-calc pixel art font editor for Correlation.  Unfortunately, it's gotten so big that it's an application.  However, I've tested it, and it should contain no bugs.
Title: Re: Correlation Progress
Post by: Builderboy on January 15, 2011, 02:15:43 am
Sweet :D Isometric with this would be interesting, but tricky because of all the offset methinks o.O
Title: Re: Correlation Progress
Post by: jnesselr on January 15, 2011, 09:48:19 am
By request of graphmastur, I've released an on-calc pixel art font editor for Correlation.  Unfortunately, it's gotten so big that it's an application.  However, I've tested it, and it should contain no bugs.
Sweet, thanks! This will make it easier to make fonts and edit them on calc.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 17, 2011, 03:49:35 am
I made a replacement for the function sub( to help with long strings.  Just replace sub( with abs(.

For a small string, the speed difference between abs( and sub( is almost unnoticeable.  However, if you have the following code for a 2000 char string:

For(A,1,1000
sub(Str0,1000,1
End

1 Minute, 25 seconds

With Correlation:

For(A,1,1000
abs(Str0,1000,1
End

15 seconds
Title: Re: Correlation Progress
Post by: Raylin on January 17, 2011, 04:03:17 am
Release this already!
People competing in the Storm will be eternally grateful.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 17, 2011, 04:03:58 am
Release this already!
People competing in the Storm will be eternally grateful.

Lol!  What is "the Storm," by the way?
Title: Re: Correlation Progress
Post by: Builderboy on January 17, 2011, 04:06:15 am
It works for 2 byte tokens too right?  This is becoming even more awesome! :D Out of curiosity, why did you not simply override the Sub() command?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 17, 2011, 04:07:09 am
It works for 2 byte tokens too right?  This is becoming even more awesome! :D

No it doesn't, sorry.  It's meant for strings that are used for displaying custom fonts, and those strings only use 1-byte tokens.  That's why the routine is so fast
Title: Re: Correlation Progress
Post by: Raylin on January 17, 2011, 04:17:38 am
Release this already!
People competing in the Storm will be eternally grateful.

Lol!  What is "the Storm," by the way?

The Cage Match where all the TI-BASIC competitors try to make the best game possible.
Title: Re: Correlation Progress
Post by: Builderboy on January 17, 2011, 04:18:57 am
But wouldn't correlation not be allowed since its a pure Basic contest?  And Hot_Dog ah i see, that makes sense :)
Title: Re: Correlation Progress
Post by: Raylin on January 17, 2011, 04:20:30 am
That's right. Silly me. o.O
Title: Re: Correlation Progress
Post by: TIfanx1999 on January 17, 2011, 08:12:04 am
I made a replacement for the function sub( to help with long strings.  Just replace sub( with abs(.

For a small string, the speed difference between abs( and sub( is almost unnoticeable.  However, if you have the following code for a 2000 char string:

For(A,1,1000
sub(Str0,1000,1
End

1 Minute, 25 seconds

With Correlation:

For(A,1,1000
abs(Str0,1000,1
End

15 seconds
Hmm, I wonder at about what string length the difference between sub and your custom command becomes significant. Nonetheless, very cool. =)
Title: Re: Correlation Progress
Post by: calcdude84se on January 19, 2011, 10:53:32 pm
Assuming uniformly-sized tokens is a lot faster, it seems ;D
Great progress, Keep up the good work! :D
Title: Re: Correlation Progress
Post by: willrandship on January 19, 2011, 11:04:46 pm
Quick thought: is it equally fast in Basic to display Sin and S? if so, since Sin uses S, i, n and ( as 4 text sprites you could optimize a tilemapping program that has 4 sprites, one after another, really often. :)
Title: Re: Correlation Progress
Post by: Hot_Dog on January 19, 2011, 11:07:32 pm
Quick thought: is it equally fast in Basic to display Sin and S? if so, since Sin uses S, i, n and ( as 4 text sprites you could optimize a tilemapping program that has 4 sprites, one after another, really often. :)

I'm pretty sure that S is faster than Sin(.  Whatever the case, using the token to display four token sets is easier said than done, especially since Correlation does not allow individual lower case letters
Title: Re: Correlation Progress
Post by: willrandship on January 19, 2011, 11:11:32 pm
oh, I thought the OS used S i and n to create sin, and made them act like one token even though it rendered 3 text sprites.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 19, 2011, 11:12:31 pm
oh, I thought the OS used S i and n to create sin, and made them act like one token even though it rendered 3 text sprites.

Yeah, but I really don't want to mess around with tokens
Title: Re: Correlation Progress
Post by: willrandship on January 19, 2011, 11:23:20 pm
So, using correlation if you changed the letters, Sin would still look like Sin?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 19, 2011, 11:25:18 pm
I'm afraid I don't know what you mean.  Can you rephrase?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 22, 2011, 05:28:50 am
I finally have different sprite types (including masked) working, as well as optimizations and copying the screen only when all text is drawn.  Look in "Starcraft:Zeratul -- Eye Candy" for a demonstration screen shot
Title: Re: Correlation Progress
Post by: Hot_Dog on January 23, 2011, 04:47:41 am
Here's a demonstration of Word Wrap Mode.  Once I fix some bugs (including getting "Ms" and "Ws" to display correctly) I'll apply this to a Starcraft: Zeratul Cutscene.
Title: Re: Correlation Progress
Post by: program4 on January 23, 2011, 07:58:55 pm
I'm just wondering, but is the "on-calc font editor" for Correlation posted earlier in this topic supposed to do anything, or is it just supposed to rickroll?
Title: Re: Correlation Progress
Post by: souvik1997 on January 23, 2011, 08:00:55 pm
Could you turn off the run indicator when you are scrolling the text?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 23, 2011, 09:34:50 pm
I'm just wondering, but is the "on-calc font editor" for Correlation posted earlier in this topic supposed to do anything, or is it just supposed to rickroll?

Sorry, bro, it's just a rickroll
Title: Re: Correlation Progress
Post by: jnesselr on January 23, 2011, 09:45:39 pm
I'm just wondering, but is the "on-calc font editor" for Correlation posted earlier in this topic supposed to do anything, or is it just supposed to rickroll?

Sorry, bro, it's just a rickroll
Which obviously shows I haven't been able to test it.  Oh, and it also makes you lose the game.
Title: Re: Correlation Progress
Post by: Deep Toaster on January 23, 2011, 11:10:58 pm
I'm just wondering, but is the "on-calc font editor" for Correlation posted earlier in this topic supposed to do anything, or is it just supposed to rickroll?

Sorry, bro, it's just a rickroll

Darn, do you actually have one working? If not I made something really, really close (in Axe) in prep for Ximp ;)

EDIT: And I think when I finish Ximp, I'll add an option to export to a Correlation-compatible font, if that's okay with you?
Title: Re: Correlation Progress
Post by: Hot_Dog on January 23, 2011, 11:17:08 pm
I'm just wondering, but is the "on-calc font editor" for Correlation posted earlier in this topic supposed to do anything, or is it just supposed to rickroll?

Sorry, bro, it's just a rickroll

Darn, do you actually have one working? If not I made something really, really close in prep for Ximp ;)

EDIT: And I think when I finish Ximp, I'll add an option to export to a Correlation-compatible font, if that's okay with you?

What's XIMP?  And no, I have no problem with you making a Correlation-compatible one, and I actually encourage it.  :D Just make sure that the same guidelines apply: Width from 1-16, Height from 1-16, Starting character 0-255  less than or equal to ending character, name of font must be eight characters long.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 24, 2011, 12:08:11 am
Here's a demonstration of Word Wrap Mode.  Once I fix some bugs (including getting "Ms" and "Ws" to display correctly) I'll apply this to a Starcraft: Zeratul Cutscene.
WOW great! I always wished Text( had word-wrap, because it can be annoying to display huge text sometimes.

I'm glad this is still progressing nicely :)

Release this already!
People competing in the Storm will be eternally grateful.

Lol!  What is "the Storm," by the way?

The Cage Match where all the TI-BASIC competitors try to make the best game possible.
Lol earlier when someone mentionned The Storm, I thought TheStorm/Jonimus actually organized a contest. That would've made 3 running at once O.O.

Title: Re: Correlation Progress
Post by: Hot_Dog on January 24, 2011, 11:56:20 pm
Those of you looking forward to testing Correlation will be happy to know that I am nearly done with it!  Sadly, the beta won't be available until February, and I have to redo some of the manual (meaning that you have to read it again), but the major stuff--save animated tiles--is done.  I just have to do animated tiles and fix up the little things such as error checking.
Title: Re: Correlation Progress
Post by: meishe91 on January 25, 2011, 01:12:00 am
Sweet! Can't wait!
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 25, 2011, 02:18:14 am
Awesome! Hopefully I can find time to write some test programs for it :D
Title: Re: Correlation Progress
Post by: Hot_Dog on January 26, 2011, 12:39:46 am
Added a couple of error messages, with more to come so that a Correlation programmer won't crash the calcuator.

OUT OF RANGE, for if you try to display a character that is not part of your font
NOT ALLOWED, for if you try to display a string that has a two-byte token
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 29, 2011, 01:38:11 am
Cool!

Question: I don't remember if that was asked before, but will there be a version of Correlation that has error checks disabled for non-developers? Games would run faster with such version. Devs would use the dev version to avoid crashing their calc but gamers would use the other one.
Title: Re: Correlation Progress
Post by: Hot_Dog on January 29, 2011, 01:53:55 am
Cool!

Question: I don't remember if that was asked before, but will there be a version of Correlation that has error checks disabled for non-developers? Games would run faster with such version. Devs would use the dev version to avoid crashing their calc but gamers would use the other one.

Any game that uses the Ti-Basic parser is going to run slow...disabling error checking makes almost no difference at all.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on January 29, 2011, 01:57:17 am
Ah ok, I was asking since some people might need every picosecond they need. :P
Title: Re: Correlation Progress
Post by: Hot_Dog on February 05, 2011, 03:07:26 pm
Screenshot coming tonight!  It will be in Zeratul: Eye Candy after I fix some data.  Basically, the ASM code works correctly, but I have some invalid data in the appvar I created for cutscenes.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on February 06, 2011, 12:24:34 am
Cool, I'll check there. :P

By the way, you're making sure to keep Nspire compatibility, right?
Title: Re: Correlation Progress
Post by: Hot_Dog on February 06, 2011, 03:36:54 am
By the way, you're making sure to keep Nspire compatibility, right?

I'm doing my best, but I don't own a Nspire so someone else would need to test compatibility to the fullest
Title: Re: Correlation Progress
Post by: DJ Omnimaga on February 06, 2011, 04:25:07 am
Ah ok. In any case, that z80 opcodes table ScoutDavid posted has all of them in gray. There are many, though, so it might be hard to find them.

Somebody should create a program that scans a z80/asm file to detect non-Nspire instructions.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 06, 2011, 07:39:34 pm
Here's animated tiles!  They're a bit tricky to understand unless you read about them in the new manual, but updating the screen causes the calculator to choose the next tile.  You have 64 seperate frames available for animation...you can have 1 tile with 64 frames of animation, 32 tiles each with 2 frames, or a combination like 2 with 1 frame, 6 with 5 frame, 3 with 4 frame, etc.  In this example, it's 1 tile with 4 frames.

Source Code:

int("AY                  ;AY = "Animated Yes"
int(TRAFFICL
Lbl S
e^(0,0,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
int("DD
For(N,1,300
End
Goto S
Title: Re: Correlation Progress
Post by: NinjaKnight on February 06, 2011, 08:55:58 pm
Sorry if this is a dumb question, but what are the advantages of using this over Axe or Assembly?
I've never used these libraries, so I don't know.
Title: Re: Correlation Progress
Post by: Xeda112358 on February 06, 2011, 08:58:30 pm
Ah, the major advantage is size. An Axe or assembly program doing that is much larger than the coded needed to do that. Plus, this runs at almost the same speed. If it is slower, it is almost unnoticeable.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 06, 2011, 09:51:38 pm
Xeda is right.  Another advantage (and the reason I started this project) is that with Correlation you need to deviate very little from Ti-Basic.  If you use Axe or ASM, you require a new language, more code and deeper thinking.  But if you are already good at creating Ti-Basic games, especially those that use text for graphics, you can display amazing graphics without having to learn more than a few more lines of code.

By the way, Correlation does run slower than Axe and Assembly.  However, it does help in speeding up a normal Ti-Basic program.
Title: Re: Correlation Progress
Post by: Xeda112358 on February 06, 2011, 11:26:35 pm
So it is faster than BASIC, slower than Assembly and Axe, but does things BASIC cannot do (easily and quickly anyway).
Title: Re: Correlation Progress
Post by: DJ Omnimaga on February 07, 2011, 02:27:11 pm
Looks nice Hot Dog, and yeah BASIC code is generally smaller than ASM because it's interpreted: The routines used in BASIC aren't included in your code, but rather in the TI-OS. However, BASIC data is considerably larger than in ASM in most cases, unless you use compression, which can be slow with no ASM libs.
Title: Re: Correlation Progress
Post by: NinjaKnight on February 07, 2011, 10:21:23 pm
Ah, that does make sense. Anyone who want to run the program would require the library to run it, though, right?
BTW, the speed is most impressive. I shall have to try this out when it is released.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 07, 2011, 11:18:34 pm
Ah, that does make sense. Anyone who want to run the program would require the library to run it, though, right?
BTW, the speed is most impressive. I shall have to try this out when it is released.

Yeah, the library would be required.  It's like Xlib
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 04:47:58 am
Thanks to DJ's suggestion, you can now have custom windows for displaying text.  The custom window is used only with Correlation, so you can display text that won't interefere with anything you want to draw outside the window.  Notice in this screenshot, I could include statistics at the very bottom of the screen if I wanted to, statistics that cannot be erased.

This doesn't work with masked sprites yet, but I plan to fix that.

Ti-Basic Source Code:

7->ThetaMin      ;Left-Hand Coordinates of the Window
88->ThetaMax   ;Right-Hand Coordinates of the Window
7->TMin        ;Top Coordinate of the Window
58->TMax   ;Bottom Coordinate of the Window
60->ThetaStep  ;The Map is 60 tiles wide
int("FF    ;This command is REQUIRED if even one window coordinate is changed.  It does the final steps in creating a window.

pgrmZERATUMA
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 11:59:06 am
Oh, that's cool! Is that what an HUD is? I saw that somewhere and I have no clue what it means :D But that will be very useful!
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 02:04:10 pm
Oh, Hot_Dog... Do you have an on calc font editor? I might be able to make one. I have made some before (including for Omnicalc fonts, Celtic 3/xLIB/BatLib fonts and sprites).

Edit: Okay, I checked a few pages back so now I have the question of how exactly the sprites are stored. They can be 1 to 16 pixels wide? So if it is 2 pixels wide are the first 2 bits set like 00000011 or is it like 11000000? And if it is 9 pixels wide is it 0000000111111111 or is it 1111111110000000?
Edit 2:Also, if the user only wants to use A~Z and a~z, then the actual bytes corresponding to the ASCII are used, right? and do the few random chars between 'Z' and 'a' need to be included in the sprite set? And do I start with 'A'? Also, do I need to worry about a header?
Edit 3:Can they be any height (up to 64 pixels)?
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 04:28:52 pm
Thanks for the font editor!  Incidentally Graphmastur will be quite pleased, he was hoping that I would work on one.

The font is stored as a Ti-83+ protected program.  The first byte is the width of a character, in pixels, from 1-16.  The second byte is the height of a character, from 1-16.  The third byte is the starting character value (specified by the user), from 0 to 255.  The fourth byte is the ending character value, from 0 to 255.  Afterwards comes the graphics data, usings standard 8 bit 2-color format, one character after the other.  (For example, if a character is 6 pixels wide, and the first byte is all black, the data for that row is %11111100)

For Edit 2: Characters are assigned according to Ti-83+ one-byte tokens.  Look here for reference: http://www.omnimaga.org/index.php?action=dlattach;topic=5750.0;attach=5243. Also, if a user does A-Z and Radian to ZTrig, all characters in between MUST be included.

It would be helpful if you displayed the token/character that corresponds to the character that is being designed.  For instance, the user draws a bird in the font, a bird that is displayed whenever there is an int( in a string.  Or there might be traffic lights whenever the calculator reads an "A".

Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 04:35:06 pm
Awesome, thanks! Okay, I think I can do that! I actually already started and I set it up so that it took those arguments!
I will be sure to try to add copying and pasting of sprites, too... It won't be too amazing, but it should be enough to get the job done.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 04:43:53 pm
Awesome, thanks! Okay, I think I can do that! I actually already started and I set it up so that it took those arguments!
I will be sure to try to add copying and pasting of sprites, too... It won't be too amazing, but it should be enough to get the job done.

Awesome!  Don't worry about "amazing", many people will like this much better than a pure bitmap program
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 05:27:04 pm
Xeda, I forgot to mention, program names MUST be eight characters long, no less
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 07:22:43 pm
Okay, thanks! I just got back from an hour long french discussion session, so I can get back to work on it!
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 09:44:15 pm
That's cool!  Indeed, you can work as fast as you can on it.  But as I tell everyone who helps me somehow, I am very understanding of events that cause delays, since imo calculator programming is not the most important thing in the world
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 09:54:23 pm
Spaces can be in the name, right? Because that would be really cool... just sayin' >_>

Also, as a neat little trick, if you make it 9 bytes instead, the user can define the type of var using a letter as a prefix. When you do _CheckFindSym it automatically does "and 1Fh" on the type byte, so in BASIC, if you use E which is 45h, that is read as 05h... which is a program. if you do 5 which is 35h or U which is 55h, it is read as 15h which signals an appvar... >_> Just sayin', it could be useful...
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 10:27:48 pm
Spaces can be in the name, right? Because that would be really cool... just sayin' >_>

Also, as a neat little trick, if you make it 9 bytes instead, the user can define the type of var using a letter as a prefix. When you do _CheckFindSym it automatically does "and 1Fh" on the type byte, so in BASIC, if you use E which is 45h, that is read as 05h... which is a program. if you do 5 which is 35h or U which is 55h, it is read as 15h which signals an appvar... >_> Just sayin', it could be useful...

Useful, yes, but how many people would use that?  This is, after all, aimed at people who prefer Ti-Basic

Oh, and no spaces :(
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 10:30:33 pm
Awww, okay :D So just the standard letters and numbers... That should be doable. *sniffle* :P
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 10:34:38 pm
Awww, okay :D So just the standard letters and numbers... That should be doable. *sniffle* :P

[I'm having a little bit of fun, don't mean to offend] Please don't, I hate seeing a girl cry :( [/I'm having a little bit of fun, don't mean to offend]

Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 10:38:57 pm
's... 's okay... I think I'll just go cry myself to sleep now  :'(

So as not to get too offtopic, I am making it so that if the variable is archived you won't be able to edit the set, but you can still look at it. I was going to use an input to make the size of the variable and the sprites, but I guess I will try to make that handled by the user. Right now, a string input is required for the name and it searches, if the var doesn't exist, it creates it with whatever settings.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 10:45:34 pm
For size, I think all you need from the user is what the starting character numbers and ending character numbers are.  This gives the number of characters.  From there, you multiply by the size in bytes of each character, add 4, add 2 (2 bytes in a program tells the calculator how many tokens are in the program), etc. and you have your program size
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 10:51:50 pm
I love the math involved in assembly ^-^ I am working with bits and modulus'... I am taking advantage of bcalls with this one to save memory... I'm going to have to anyways for the sprite editor because it will be super fast otherwise :D
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 11:02:41 pm
Lol, even though you can do the math B_CALLS are great.  I hate it when assembly programmers put down B_CALLS, because they have their uses

I forgot to mention, on the table of Ti-83+ tokens and characters, you'll see some areas blacked out.  Let the user know that the character is not available directly, but they should still be allowed to create a character for that spot.  (For instance, they should be allowed to design a character after the one they made for ":".)  In the advanced section of the manual I list tips and tricks for taking advantage of those areas.
Title: Re: Correlation Progress
Post by: Xeda112358 on February 13, 2011, 11:05:22 pm
Okay, I'll try... But I won't need to use bcalls for math because I am just doing integer math... I am going to be using things like PutS (4510) and DispHL (4507) and stuff like that.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 13, 2011, 11:06:41 pm
Ah, that makes sense now ;D
Title: Re: Correlation Progress
Post by: DJ Omnimaga on February 15, 2011, 04:31:14 am
Thanks to DJ's suggestion, you can now have custom windows for displaying text.  The custom window is used only with Correlation, so you can display text that won't interefere with anything you want to draw outside the window.  Notice in this screenshot, I could include statistics at the very bottom of the screen if I wanted to, statistics that cannot be erased.

This doesn't work with masked sprites yet, but I plan to fix that.

Ti-Basic Source Code:

7->ThetaMin      ;Left-Hand Coordinates of the Window
88->ThetaMax   ;Right-Hand Coordinates of the Window
7->TMin        ;Top Coordinate of the Window
58->TMax   ;Bottom Coordinate of the Window
60->ThetaStep  ;The Map is 60 tiles wide
int("FF    ;This command is REQUIRED if even one window coordinate is changed.  It does the final steps in creating a window.

pgrmZERATUMA
Nice, this would really be useful. ;D
Lol, even though you can do the math B_CALLS are great.  I hate it when assembly programmers put down B_CALLS, because they have their uses

I forgot to mention, on the table of Ti-83+ tokens and characters, you'll see some areas blacked out.  Let the user know that the character is not available directly, but they should still be allowed to create a character for that spot.  (For instance, they should be allowed to design a character after the one they made for ":".)  In the advanced section of the manual I list tips and tricks for taking advantage of those areas.
I think they can be very useful. Even Axe uses them. The only time I feel they should not be used is when speed is important. For example, Axe's bitmap command is considerably slower than Quigibo's sprite command.
Title: Re: Correlation Progress
Post by: Hot_Dog on February 24, 2011, 03:32:50 am
XOR, OR, AND, MASK and OVERWRITE sprites/clipping are working perfectly now.  In addition, after much deliberation, I made masked sprites much, much, much easier to design.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on February 25, 2011, 04:00:49 pm
Oh great, masked sprites :love: . This should make BASIC even more interesting. ;D
Title: Re: Correlation Progress
Post by: Hot_Dog on March 07, 2011, 12:52:46 am
You can now access archived fonts.  In this screenshot, pgrmTESTTWOT is the font that the example program uses.  You can, of course, see that it is archived ;D
Title: Re: Correlation Progress
Post by: TIfanx1999 on March 07, 2011, 09:26:15 am
Hey, it's nice to see that you can use archived fonts directly now. :) Keep up the good work!
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 09, 2011, 03:39:38 am
I'm happy to see archived fonts are now possible. ;D Is the speed difference noticeable or is it negligible like xLIB? (1-ish% slowdown)

I would have used Omnicalc fonts before, but what held me from doing it was the lack of RAM due to the font taking 1800 bytes of it or so.
Title: Re: Correlation Progress
Post by: Hot_Dog on March 09, 2011, 04:04:08 am
I'm happy to see archived fonts are now possible. ;D Is the speed difference noticeable or is it negligible like xLIB? (1-ish% slowdown)

I'm pretty sure you won't tell the difference in speed.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 10, 2011, 12:29:54 am
Good to hear. :D
Title: Re: Correlation Progress
Post by: Hot_Dog on March 11, 2011, 03:58:40 am
Part of the reason that Correlation is not available yet for beta testing is I am making sure that few bugs exist when testing begins.  To that point, I am always creating new test programs to play with.  So here's another screenshot demonstrating animated tiles.

Source:
------------------

int("TESTFOUR
det({4,2,1,1,3})  ;We have one animation with 4 frames, one with 2, two
                        ;non-animated images, and one animation with 3 frames

int("AY
int("M0
int("E0
Lbl AA
e^(0,0,Str0
int("DD
For(N,1,300
End
Goto AA
Title: Re: Correlation Progress
Post by: yunhua98 on March 11, 2011, 10:04:26 am
hmm...  could I get an alpha version to play with?  I have a lot of free time this week up to like next wednesday/thursday, and I don't mind bugs, its one of the advantages to having two calcs.  ;)
Title: Re: Correlation Progress
Post by: Hot_Dog on March 11, 2011, 12:41:25 pm
hmm...  could I get an alpha version to play with?  I have a lot of free time this week up to like next wednesday/thursday, and I don't mind bugs, its one of the advantages to having two calcs.  ;)

Eh...alright, after I fix a rather serious issue.  However, you've got to promise not to report any bugs for right now--this will come later.
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 12, 2011, 03:59:35 am
Looks nice, but is that the max possible speed for animated tiles? Or did you just slow down the program?
Title: Re: Correlation Progress
Post by: Hot_Dog on March 12, 2011, 04:09:52 am
I slowed down the program using a For...End loop
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 12, 2011, 04:23:04 am
Ah ok lol, phew. :P

I wonder if with absolutely no delay and calling the routine after every BASIC/correlation command we can have grayscale? With xLIB you just recall a pic using the XOR logic to invert the checkered patterns on the screen, but calling it every other command allows decent quality grayscale.
Title: Re: Correlation Progress
Post by: Hot_Dog on March 12, 2011, 04:46:24 am
Well I'm no grayscale expert, so you'd have to experiment
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 13, 2011, 01:31:23 am
Well, the key is only speed. DCS/xLIB real(3 function (recallpic) recalled a pic using XOR logic about 40 times a second I think, which was enough to have decent looking grayscale on a 83+SE. We even had to slow it down sometimes because it was so out of sync with the LCD XD
Title: Re: Correlation Progress
Post by: Hot_Dog on March 16, 2011, 12:01:48 am
Short, sweet and to the point: Correlation Beta should be available in 5-6 days.
Title: Re: Correlation Progress
Post by: willrandship on March 16, 2011, 12:15:39 am
Yay! I can't wait to try it.

Does it include "Correlific Mode"? or do we *just* get the awesome, easy tilemapping using the homescreen? :P

BASIC has never looked so good :P
Title: Re: Correlation Progress
Post by: Hot_Dog on March 16, 2011, 12:17:45 am
Yay! I can't wait to try it.

Does it include "Correlific Mode"? or do we *just* get the awesome, easy tilemapping using the homescreen? :P

BASIC has never looked so good :P

Correlific Mode will come later.  I will be working on that during the testing stages.  However, you get tilemapping on homescreen AND graph screen
Title: Re: Correlation Progress
Post by: Deep Toaster on March 18, 2011, 07:30:49 pm
Short, sweet and to the point: Correlation Beta should be available in 5-6 days.

Short, excited, and impatient: Awesome!
Title: Re: Correlation Progress
Post by: Hot_Dog on March 21, 2011, 09:26:25 pm
SOOOOOO Close to the beta!

COMPATABILITY WITH OTHER LIBRARIES FULLY IMPLEMENTED!

The below screenshot uses Celtic III to draw a box.  Then Correlation is used to turn the run indicator off--so when the "Pause" command is reached, you don't see the little "pause" bar in the upper corner.

As you can see from the screenshot, it is very important that Celtic III is installed at the start.  When the program is finished, Celtic III is restored so that you can use it normally.

Instead of 800 bytes of RAM, compatability will now require only 100 bytes of RAM to save important data, just in case a library or another ASM program uses smallEditRAM.

Source Code
--------------------

1:Asm(pgrmCORELATE
int("CN       ;Stands for "Correlation No," as in "Do not use Correlation."  Turns control to whatever was previously installed.  Also makes it safe
                ;to run other Asm( programs.
real(12,9,5,5,90,58,1    ;Uses Celtic III to draw the box
int("CY       ;Hands control back to Correlation
int("RN       ;Turn off the run indicator
Pause
Title: Re: Correlation Progress
Post by: jnesselr on March 21, 2011, 09:30:20 pm
That's actually pretty cool.  So, basically, you still have the hook, but you immediately pass it to correlation.  Does this slow it down?  What if there is no other hooks and it runs across int("CN ?
Title: Re: Correlation Progress
Post by: Hot_Dog on March 21, 2011, 09:33:25 pm
There is definitely a length of time from switching from one to the other, but you can switch back and forth 1000 times and Correlation will never slow down.

If no other hooks are installed, Correlation simply will not run.  But data will still be copied safely.  This is for people who don't need parser hook libraries but have their own Asm( programs.
Title: Re: Correlation Progress
Post by: shmibs on March 21, 2011, 09:39:01 pm
WONDERFUL

and sorry for not having noticed you released the alpha, Hot_Dog. i was out of town and only saw the message just now, meaning i haven't done anything towards a demo program yet.
Title: Re: Correlation Progress
Post by: Hot_Dog on March 21, 2011, 09:46:24 pm
sorry for not having noticed you released the alpha, Hot_Dog. i was out of town and only saw the message just now, meaning i haven't done anything towards a demo program yet.

The alpha was optional.  Some people wanted to start early, but you don't have to start a demo program until the beta version comes out.
Title: Re: Correlation Progress
Post by: Deep Toaster on March 22, 2011, 11:06:53 am
ERKH! That's awesome :D
Title: Re: Correlation Progress
Post by: DJ Omnimaga on March 24, 2011, 11:17:50 pm
Wow awesome, I'm glad it's gonna be in beta soon!
Title: Re: Correlation Progress
Post by: Hot_Dog on April 14, 2011, 07:31:42 pm
Due to the things I have to change to speed up ln(, I will be able to add at least three more features:

1. (Requested by DJ)   int("GN will turn off certain error checking sections of code, speeding up the process of drawing text.  You should only disable error checking when you know for sure that your code has no errors, meaning it's ready to be distributed

2. ln( nomally displays 6x8 text on 16 columns and 8 rows.  int("H1 will allow you to draw 8x8 text on 12 columns and 8 rows.  While this does not allow you to draw 8x8 text anywhere you want, it will be MUCH faster than e^( for 8x8 sprites.  Similarily, int("H2 will allow you to draw fast 16x16 text on 6 columns and 4 rows.

3. To speed things up for "homescreen" fonts, ln( and e^( cannot normally be used together anymore.  You can, however, use ln( to draw a quick background, and then copy it to the graph screen using int("JJ.  Then e^( will draw on this background.
Title: Re: Correlation Progress
Post by: Xeda112358 on April 14, 2011, 08:16:00 pm
I definitely like these additions! Number three is fine (to me), and the other two are great!
Title: Re: Correlation Progress
Post by: FinaleTI on April 14, 2011, 08:45:43 pm
I like the fast 16x16 grid and int("JJ thing. That'll be helpful for the game I'm considering doing, though I don't wanna say anything about it yet.
Title: Re: Correlation Progress
Post by: Hot_Dog on April 14, 2011, 09:09:51 pm
I'm glad people are voting "yes" for these features.  To that end, upon further planning, I've had to make a couple of adjustments to imporve this further:

1. int("H1 and int("H2 are completely unnecessary, Correlation will automatically detect 8x8 and 16x16 fonts
2. 6x8 fonts will always be drawn to the homescreen and requires int("JJ to draw it to the graph screen.  However, if you use int("HN  (meaning Homescreen NO), 8x8 fonts and 16x16 will draw to the graph screen instead of the homescreen, even though they still use 6/12 columns and 4/6 rows.  This makes int("JJ unnecessary, and also allows XOR, OR, AND and MASK, which cannot be done on the homescreen.  Drawing to the graphscreen directly doesn't slow things down, and indeed is faster than int("JJ
Title: Re: Correlation Progress
Post by: Hot_Dog on April 21, 2011, 07:56:43 pm
Attempt #1 at speeding up Ln( -- failed.

 :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:      :banghead:


Okay, so Attempt #2 should not take nearly as long, which will speed up Correlation progress if it works.  Attempt #2 will be changing the way displaying to the screen works:

1.  As always, you can choose to not show text on the screen until you are done drawing completely.  With this mode, as always, you can use all features, such as map mode.
2. BUT, you might want text, such as single characters, to display immediately, which is faster than updating the entire screen just for one character of text.  This mode was always available in Correlation, but this time, NO FEATURES will be available except for bitmasking, animated text and negative coordinates for e^(.  No lowercase letters, no word wrap, no map mode, etc.  ln( will be fixed at wrap mode, and e^( will be fixed at clip mode.

You can switch back and forth between these two as many times as you want, as always.