Author |
Message |
|
Zaphod Beeblebrox
Member
Joined: 02 Jul 2007 Posts: 119
|
Posted: 23 Jun 2008 09:34:25 am Post subject: |
|
|
Would it be possible to add some extra capability to the real(10 command from xLIB? I was thinking that it currently only has two possibilities for the second arguement, create and delete. Would it be possible to add a third possibility for that argument, that would (un)archive the specified picture?
Last edited by Guest on 23 Jun 2008 09:34:48 am; edited 1 time in total |
|
Back to top |
|
|
vuurrobin
Advanced Member
Joined: 09 Aug 2006 Posts: 428
|
Posted: 23 Jun 2008 10:40:45 am Post subject: |
|
|
you can use identity(1 for that. |
|
Back to top |
|
|
darkstone knight
Advanced Member
Joined: 07 Sep 2008 Posts: 438
|
Posted: 26 Oct 2008 04:39:18 am Post subject: |
|
|
how about an 15 MHZ command?
that would take... 10 bytes?
Last edited by Guest on 26 Oct 2008 04:40:32 am; edited 1 time in total |
|
Back to top |
|
|
luby I want to go back to Philmont!!
Calc Guru
Joined: 23 Apr 2006 Posts: 1477
|
Posted: 26 Oct 2008 08:01:42 pm Post subject: |
|
|
I'm pretty sure basic runs in 15MHz when it can, so this would be pointless. |
|
Back to top |
|
|
darkstone knight
Advanced Member
Joined: 07 Sep 2008 Posts: 438
|
Posted: 27 Oct 2008 02:25:01 am Post subject: |
|
|
really? i thougth thet ran at 8MHZ to save battery life |
|
Back to top |
|
|
Graphmastur
Advanced Member
Joined: 25 Mar 2009 Posts: 360
|
Posted: 16 Jul 2009 02:08:35 pm Post subject: |
|
|
I had an idea, for Celtic3. Okay, first things first, I think instead of just zero or one in the updateLCD thing, you should also have a two, which is capable of writing directly to the screen, skipping the graph buffer.
The other idea, is to have text support. I hate how text is automatically updated, when using xlib, or celtic3, and it just looks bad.
I just had another idea that is cool.
A sectioned sprite drawer. Say, I have a loading bar, and I want it to look like the mac loading bars, so I create some sprites, for each frame. What I was thinking you could do, is specify the pic to get the pictures from, and have a number, and have a width, and a height attribute, along with a x and a y attribute. This would take the specified 8 by 8 sprite from the picture you wanted, and start in the x and y position. It would then go to the right one. If it can go to the right, but only by a certain amount, e.g., the width is 11, so there is 3 extra pixels, it will cut it off after those 3 pixels. It would then do the same thing going down to the next row. This would also go with my first idea. Say that the input was this: "real(15,PIC_Num,Sprite_Num,X,Y,Width,Height,Update"
Code:
{0,1,2,3,4,5,6,7}->L1 ; Tile numbers within the pic.
For(A,1,94 ; 1 pixel width to the end of the screen
For(B,1,8 ; go through each of the tile sets before continuing with the command
real(15,3,L1(B),0,0,A,5,1 ; Process the command.
End ; If you cannot figure out what this line does...
End ; ... You are on the wrong site.
|
|
Back to top |
|
|
Iambian
Advanced Member
Joined: 13 Mar 2004 Posts: 423
|
Posted: 19 Jul 2009 11:00:42 pm Post subject: |
|
|
For the LCD update thing, having the app update the LCD directly is completely unreasonable. Most of the functions require the buffer prior to outputting to the LCD, and doing it any other way would completely bloat the application past its bursting point. Okay, maybe not, but I'm not willing to code a second copy of each routine to support direct LCD writing. Especially since applying logic masks if you're not simply overwriting the screen would require actually having to read the LCD *and* then write back out. Result? Slow. There's a reason why there's a graph buffer.
For text support, I was pretty much unaware that this was a problem. Such support would pretty much be easy to code. Might make it to release "R", which ... I haven't worked on since I've got two other projects going on. But I know now what I could do to make that release more substantial. Thanks!
For this "sectioned sprite drawer", I'd like to know why the current sprite routine cannot do what you're asking. I know it's well and good to have something to automate the process, but if it can be done in some way using what is currently available, I don't see a reason to code a specific instance of it. Present a good argument as to why it would be available, and maybe.
So, in short.
1. Never.
2. Yes.
3. Maybe. Need more info. |
|
Back to top |
|
|
Graphmastur
Advanced Member
Joined: 25 Mar 2009 Posts: 360
|
Posted: 20 Jul 2009 08:44:12 am Post subject: |
|
|
I am glad that you will do the text one. That is good. Writing another version for number 1 would be a little too much. I only need it for the real 12 for the drawing, and maybe for text. Why not use something besides PlotsScreen? Use AppBackupScreen, and if the user wants it copied to the screen directly copy it directly. If they want it to the graph buffer, just copy it to the buffer, and then update it. You would only have to change a few things.
Now then, the third one, I will try and explain a little better. If I where to have I tile that looked like this:
111[color=#FF000]0[/color]111
11[color=#FF000]0[/color]1111
1[color=#FF000]0[/color]11111
[color=#FF000]0[/color]111111
1111111
1111111
1111111
1111111
and I had another sprite that looked like this:
1111[color=#FF000]0[/color]11
111[color=#FF000]0[/color]111
11[color=#FF000]0[/color]1111
1[color=#FF000]0[/color]11111
1111111
1111111
1111111
1111111
Say that I want to use those top 4 pixels in each sprite, and only these pixels. Sure, I can specify a pixel height, but then, I can't really specify a width that is not a multiple of 8, and that is just for individual tiles. We are still talking about the total width, and total height from a tile map. Basically, as to not mess up functions that already use cletic3's command, you would have to have a new command. Basically, fill up the selected tiles or tile, until it would go past the width. Rotate the tile, until it was in the right spot, and stick it in there. Go to the next row, until you will go over he bottom row, and then just rotate the sprites, until they fit.
It is basically saying that you may have a tile with a height of 8, or whatever, and a width of 1 byte, but you can only fill up an area of a multiple of 8, and your tile height. If I have it 7 bytes tall in the matrix, but only want 27 rows, and 9 columns to be filled up, that is the general idea.
I am really glad you are doing the text thing though. It was a real problem in xlib, when you have a screen that is loading in the buffer, and have to write text, but it automatically updates the screen.
Have you fixed any of the real(12 bugs that I mentioned in the other thread?
If I can think of anything else, I will tell you. Like an idea for link ports so that the receiving calculator doesn't have to be in power saving state...
EDIT: I just had another idea. What about being able to turn on and off the keyhooks. Well, except the function use to turn them off. If I wanted to do the real part of a variable, and it happened to be zero, wold it clear the screen? what If I had the store symbol after it. One Syntax error, coming up!!!
Last edited by Guest on 22 Jul 2009 02:34:36 pm; edited 1 time in total |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 15 Sep 2009 06:48:56 pm Post subject: |
|
|
*Bump*
ok, so I wrote down some ideas at school...I don't know if they would be feasible, but who knows...
Interupt---det(#,boolian, program_to_run
------interupts the current program that is being run when the boolian is true and runs the program specified by the second arguement. It will return to where it was after the program finishes
Do_together---det(#,arg_1
------all commands inside the Do_togethers are done at the same time
------arg_1:---if 1 start of do together
---------if 2 end of do together
Task_label---det(#,"task_name",arg_1
------creates a task or macro. kind of like labelling
------"task_name" is used to identify a task
------arg_1:---1 is the start
------arg_2---0 is the end
Task_run---det(#,"task_name"
------runs a task/macro, kind of like a goto
------"task_name" is the name of the task
(sorry about all the --- my nice tabbing didn't work....) |
|
Back to top |
|
|
Builderboy2005
Advanced Newbie
Joined: 19 Apr 2009 Posts: 51
|
Posted: 15 Sep 2009 07:35:30 pm Post subject: |
|
|
Ok, so i have a huge feature request that I think would be very possible, and also very very usefull. IsKeyDown. You specify the key you want to check, and it returns 1 is down, and 0 if not. This would make a lot of thinks a lot easier. It would make the code for diagonal movement less weird, and you could do other actions while moving a character, like swing a sword, or jump. |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 16 Sep 2009 07:39:20 pm Post subject: |
|
|
Wow!
Builderboy's request sounds awesome! Is it possible to include this? |
|
Back to top |
|
|
Iambian
Advanced Member
Joined: 13 Mar 2004 Posts: 423
|
Posted: 16 Sep 2009 10:29:16 pm Post subject: |
|
|
builderboy's request seems rather easy to do, so I guess I can get right to it. That would probably make release [ t ] a little more substantial besides a single bugfix. |
|
Back to top |
|
|
Builderboy2005
Advanced Newbie
Joined: 19 Apr 2009 Posts: 51
|
Posted: 17 Sep 2009 12:25:47 am Post subject: |
|
|
I was inspired by BBC Basics isKeyDown command, that made a lot of things really easy! |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 17 Sep 2009 05:11:51 pm Post subject: |
|
|
Hmm, I was going to suggest another one...but I forgot as soon as I started typing...so yeah...I'll edit this later with my actual request....if I remember it |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 24 Sep 2009 06:53:26 am Post subject: |
|
|
How about a free ROM thing? Like real(14 only with ROM. |
|
Back to top |
|
|
Iambian
Advanced Member
Joined: 13 Mar 2004 Posts: 423
|
Posted: 24 Sep 2009 12:32:47 pm Post subject: |
|
|
ztrumpet wrote: How about a free ROM thing? Like real(14 only with ROM.
Code: -----------------------------------------------------------------------------
|04 | det(4,function)
| |
| CHKSTATS | This is a multi-purpose command used to read some of the
| | system's status. Just provide a function, and an output
| | will result:
| |
| | 0 = Outputs value of free RAM
| | 1 = Outputs value of free ROM (Archive)
| | 2 = Hex string output of first ten digits of calc serial
| | (still not quite enough to identify each calc)
| | 3 = Get calc's OS version (string, such as "1.13")
| | (note that the period will be bugged. It still works)
-----------------------------------------------------------------------------
It's "det(4,1)"
Before asking for stuff like that, please do read through the command set. It's quite comprehensive, so it would be easy to miss something like that. So, yeah...
The main reason why I remembered it was in there was because I cheated by using a few floating point math romcalls to process the output. Didn't want to have 32 bit multiplication routines in there just for that one function.
Last edited by Guest on 18 Dec 2009 12:31:42 pm; edited 1 time in total |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 25 Sep 2009 06:36:01 am Post subject: |
|
|
Oh...
Sorry.
Wow. det(4... |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 09 Oct 2009 09:20:56 pm Post subject: |
|
|
What about Omnicalc's real(31 Play command. I really like it, and it's the best way I've found to have music in basic programs. |
|
Back to top |
|
|
Builderboy2005
Advanced Newbie
Joined: 19 Apr 2009 Posts: 51
|
Posted: 09 Oct 2009 09:29:59 pm Post subject: |
|
|
Possibly full-er support of Omnicalc functions? Such as the useful Linking functions |
|
Back to top |
|
|
Galandros
Active Member
Joined: 29 Aug 2008 Posts: 565
|
Posted: 17 Dec 2009 04:59:57 pm Post subject: |
|
|
Builderboy2005 wrote: Possibly full-er support of Omnicalc functions? Such as the useful Linking functions
That would be nice.
And why not CelticIII have its own set of linking routines that supports I/O port and USB?
Like this: http://www.ticalc.org/archives/files/fileinfo/368/36828.html |
|
Back to top |
|
|
|