The shoutbox is currently out of service. Join us on Discord instead.

[TI-84+CE] ICE Compiler

Started by PT_, March 25, 2016, 08:14:17 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DJ Omnimaga

I think 256 values would be enough for randomizing, right? After all, in BASIC we often use stuff like randInt(1,10).

Snektron

yeah but what if you want more? you could multiply and add, but that will always result in the same number being added (due to r being the number of insructions that have passed)
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DJ Omnimaga

Yeah true, but that seems like something that would be more needed for a math probability program or something.

PT_

I wil look into it :)

For anyone who wants to see good speed:

vs

Size without header: 23 bytes vs 56 bytes. Pretty good, right?

DJ Omnimaga

Nice, but IMHO the TI-OS text routines are not a good way to showcase your language speed. There is a reason why most ASM/C programmers and even some Axe programmers decided to use custom text/font routines instead. I bet your screenshots would have been even faster with custom text display routines. Of course you don't have to implement those, but I'M just saying, since TI's text routines are inneficient.

PT_

☑ Pause <expression> in ms, 1-256 ms (0=256 ms)




Already fixed some bugs ;)

DJ Omnimaga

That's a nice addition. I hope in future versions there will be longer delays support, though, so that we don't have to use 8 Pause commands in a row. But accoridng to IRC that will come when 24-bit numbers are supported, right?

PT_

Quote from: DJ Omnimaga on June 27, 2016, 08:47:17 pm
That's a nice addition. I hope in future versions there will be longer delays support, though, so that we don't have to use 8 Pause commands in a row. But accoridng to IRC that will come when 24-bit numbers are supported, right?

Exactly. In one of the next versions, 24-bits integers will be supported, and then you can pause for either 16.78 s or 16777 s. Not sure if I will do milliseconds or microseconds ;)

DJ Omnimaga

Milliseconds might be better in terms of useability. I mean, does anyone really need microseconds in a game? O.O

Snektron

It would be handy if there was a timer function, which you pass like a label and an interval, which then calls the function at that interval.
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DJ Omnimaga

Would it be interrupt-based? Or do you mean like a command that returns the current time and lets you store the result somewhere? That could be handy to keep frame rate consistent in games.

Also question: For the sake of keeping things simple for the user, would it be possible for 8-bits mode (if that ever gets implemented) to use the xLIBC palette by default?

PT_

I interpreted his post as "loads the time into register a, and then call a function (address) that pauses a ms". That way you only need to load values in a and call that function when you have more Pauses.
I've zero experience with interrups, so I doubt I will ever implement it  >B)
And yes, when going into 8bpp mode, whenever I will make that possible, the xLIBCE palette is automatically loaded. You should be possible to change an entry of the palette though.

Ivoah

Quote from: PT_ on June 27, 2016, 07:02:57 pm
☑ Pause <expression> in ms, 1-256 ms (0=256 ms)




Already fixed some bugs ;)

It's great to see work continuing on this project. I really hope it takes off like Axe Parser did, and we see a whole slew of games and programs come to the CE because of it.

Snektron

Quote from: PT_ on June 28, 2016, 04:03:46 pm
I interpreted his post as "loads the time into register a, and then call a function (address) that pauses a ms". That way you only need to load values in a and call that function when you have more Pauses.
I've zero experience with interrups, so I doubt I will ever implement it  >B)
And yes, when going into 8bpp mode, whenever I will make that possible, the xLIBCE palette is automatically loaded. You should be possible to change an entry of the palette though.


I meant like the setInterval method in Javascript, it could be done without interupts as a loop that waits untill a certain time has passed.

Too bad its still not open source. I'd love to help to implement some commands.
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


DJ Omnimaga

Quote from: Ivoah on June 28, 2016, 04:12:24 pm
Quote from: PT_ on June 27, 2016, 07:02:57 pm
☑ Pause <expression> in ms, 1-256 ms (0=256 ms)




Already fixed some bugs ;)

It's great to see work continuing on this project. I really hope it takes off like Axe Parser did, and we see a whole slew of games and programs come to the CE because of it.
While the community is less active overall now than it was when the first versions of Axe came out, as soon as Axe got sprites and getkey support Axe language popularity really took off. I think the first ICE release that supports those should include some mini-game examples, including a space shooter (at least 1v1 battles with just 1 stage), to showcase what the language can do. Many people learn from code examples. But you would also obviously need a list of all commands like with Axe.

I don't know if ICE will be as popular but if well-documented like Axe and stuff, it should eventually have a decent fanbase.

Powered by EzPortal