Author Topic: Solar89 SDK  (Read 20208 times)

0 Members and 1 Guest are viewing this topic.

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #60 on: September 29, 2010, 07:43:33 pm »
I've gotten the file type/extension (whatever you want to call it) implemented. This is only a feature if you're using a compiled token file- otherwise, all files will be given the 8XP file type by default.

I've also added code to automatically archive the resultant files- both for my token compiler (on calc-name is maketok) and Solar89 itself.

I added whitespace support, so Solar89 will automatically discard all extra spaces in front of lines. It won't replace them with : characters or anything like that (that's a way to waste memory)- it just trims them out at the start.

I'm also trying to get empty lines supported, but I'm having some weird issues with that. If the line is at the top of the program, it works fine. If it's in the middle, between two other lines of code, tokenization takes much longer than usual and then it hangs. And if it's at the end, the program runs as normal but the lines at the end don't appear for some reason.

The last problem isn't a huge one (because Solar89 already inserts an extra newline character at the end of the each program), but the first problem definitely is.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #61 on: September 29, 2010, 11:52:54 pm »
Nice to see more progress :)

Btw on the 83+,

Disp A:Pause

is the same size as

Disp A
Pause

So : doesn't take more space as it is the equivalent of a linebreak.

Good luck fixing your empty lines issue x.x

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #62 on: September 30, 2010, 08:02:22 am »
I know that, what I meant is if I was using whitespace like this in the text file:

Code: [Select]
: ClrHome
: Disp "HELLO WORLD"

Then I could either parse it as this:

Code: [Select]
::ClrHome
::Disp "HELLO WORLD"

Or as this, and save two bytes:

Code: [Select]
:ClrHome
:Disp "HELLO WORLD"



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #63 on: September 30, 2010, 09:19:44 am »
Oh I see. I would just parse it as the latter. Was it what caused you issues?

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #64 on: September 30, 2010, 03:50:36 pm »
Oh I see. I would just parse it as the latter. Was it what caused you issues?

Nope, what caused issues would be this:

Code: [Select]
:ClrHome
:
:Disp "HELLO WORLD"

I've fixed it- partially. Now two empty lines are produced in between instead of one.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #65 on: September 30, 2010, 07:37:12 pm »
Ah ok. Well, good luck x.x

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #66 on: October 02, 2010, 11:10:40 pm »
I've fixed the bug. And I've released 0.3, with versions uploaded to ticalc.org, Cemetech, and Omnimaga. Can't download until they're approved, though.

The full list of changes are:

-Support for binary token files (with included program- maketok- to make them)
-Support for whitespace in text files
-Bugfix where empty lines in the middle of a program caused infinite loop
-Solar89 and maketok auto-archive output files



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #67 on: October 03, 2010, 04:10:40 am »
Nice!

I'm gonna head into the pending queue soon :)

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #68 on: November 07, 2010, 06:30:05 pm »
Just a few brief updates.

First thing, I made a minor interface change- the tokenizer now outputs each line of the file to the status bar as it runs. I made this mainly to convince the user that the calc hasn't frozen- it's actually doing something. (Since tokenizing can take some time).

Second, I recently wrote another example- a quadratic solver. :P Just as an example as a slightly longer program (and how much time a mathematical program might be expected to take).

Third, I talked with thepenguin77 earlier today about making a better tokenizing algorithm- a tree based system- to increase speed. I plan to code that when I have the time (unfortunately, not now).



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #69 on: November 07, 2010, 08:14:25 pm »
Nice, any screenshot?

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #70 on: November 07, 2010, 08:40:54 pm »
Nice, any screenshot?

Here are two- one of my quadratic solver in the text editor, and one of the Disp "HELLO WORLD" status message (as Solar89 tokenizes a hello world program).



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #71 on: November 07, 2010, 09:32:59 pm »
Ah cool. I am confused at the Hello world message, though. I assume it shows the lines of code in the status bar as it compiles? I wonder if it would be too slow for large programs, since Text routines are generally slow?
« Last Edit: November 07, 2010, 09:34:04 pm by DJ Omnimaga »

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Solar89 SDK
« Reply #72 on: November 07, 2010, 09:38:21 pm »
Ah cool. I am confused at the Hello world message, though. I assume it shows the lines of code in the status bar as it compiles? I wonder if it would be too slow for large programs, since Text routines are generally slow?

Right, that's what it's doing.

It's not noticeably slower with that turned on. But if it becomes a problem once the tokenizer itself is made faster, I could make it an option or something.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55881
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Solar89 SDK
« Reply #73 on: November 07, 2010, 09:40:03 pm »
AH ok, because in Axe Parser, compiling refreshed the % every byte or so, and it was like 4 times slower than it is, now. TI's text routines aren't known to be fast, although on 68K calcs this might not be as bad, but on the 83+, several ASM and Axe coders prefer to use their own font routines using sprites to save speed.