Author Topic: Grammer 2-The APP  (Read 161414 times)

0 Members and 1 Guest are viewing this topic.

Offline ghest1138

  • LV2 Member (Next: 40)
  • **
  • Posts: 27
  • Rating: +0/-0
  • HueHueHue
    • View Profile
Re: Grammer 2-The APP
« Reply #420 on: January 24, 2013, 10:56:25 am »
Sweet! ;DNow I just need to learn Grammer :3

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #421 on: January 24, 2013, 05:07:14 pm »
Awesome! If you ever need help, there is a Grammer Programming and Support board where you can ask questions and whatnot. I hope you like it!

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #422 on: January 27, 2013, 07:35:24 am »
I worked on Grammer a little bit yesterday and at some points I  had precisely 0 bytes of coding space. However, I removed two undocumented experimental routines for sending/receiving bytes over the I/O port and now there are 69 bytes of coding space available!

As to the updates, I may have broken some things because I made a few more complicated modifications. I am pretty sure that I checked everything that could be affected, but I may have missed something.
  • Else is finally added as a command. In a very basic way, Else works like you would expect:
    Code: [Select]
    If A=B
    Then
    <<do stuff>>
    Else
    <<do stuff>>
    End
  • Else has some complicated things that it can do. The way I implemented Else, it can stand alone as its own command. If you do this, it will seek an appropriate End token. For example:
    Code: [Select]
    While A>3
    A-1→A
    If A=5
    Else        ;This will skip over everything until it finds the correct End
    If A=4
    Then
    <<do stuff>>
    End         ;not the correct End!
    End         ;The correct End!
    If you don't uderstand that, don't worry. As well, you can do something like this:
    Code: [Select]
    While A
    A-1→A
    Text(0,A,"O
    Else
    DispGraph
    End
    That is actually a neat trick to help you understand how Else works, but it isn't optimised :P That basically does this:
    Code: [Select]
    While A
    A-1→A
    Text(0,A,"O
    End
    DispGraph
    Personally, I would just stick with the first use. The other methods will just complicate your code and probably cause confusion when parts of code don't work.
  • Typewriter Text has been fixed! Now you don't need a DispGraph after using /Text( to see the last character.
  • The degree token now acts as a command on its own, too. This can be used to temporarily change the draw buffer for the Text( command. Any command that has an optional buffer argument will revert the draw buffer back to normal. So for example, if Z points to the back buffer:
Code: [Select]
oZ           ;o is supposed to be the degree token
Text(0,0,"HI!
Text(6,0,"This is on another buffer.
Pxl-On(3,3
Text(0,0,"HI!     ;This is now drawn on the main buffer since the Pxl-On( command resets the temporary draw buffer
It also happens that this works for the particle commands as well, so now you can draw particles on back buffers without using complicated techniques.

Offline persalteas

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 231
  • Rating: +44/-4
  • z80 poweeer
    • View Profile
    • Tout-82
Re: Grammer 2-The APP
« Reply #423 on: January 29, 2013, 03:24:28 am »
Yay ! what awesome changes in 69 bytes !  :crazy:

My problems seem to have influence on the Grammer developement, I like that  :thumbsup:
Thank you very much for the ° token.

But I have a question about it:

Code: [Select]
:<stuff>
:°Z
:AddPart(stuff
:RunPart
:PxlOn(stuff

I understood that Addpart will use the buffer pointed by Z, what about Runpart ?
It still updates pi9872, or Z automatically ?


Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #424 on: January 29, 2013, 06:42:07 am »
 °Z is meant to work with RunPart :) Actually, AddPart does not require a buffer. If you want, you can use AddPart() with one buffer, then switch the buffer for RunPart and the particles would still be in the correct location on the new buffer.

Also, I think there were 18 bytes when I updated it, but I found extra code to delete XD

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #425 on: May 09, 2013, 04:30:57 pm »
Hmm, I don't think I ever documented the Plot1( and Plot2( commands for Grammer. I started making an experimental version last night and I added in a few other special commands. Plot1( will return the value of the byte directly following it and Plot2( will return the value of the two-byte word directly following it. These are more useful if a program was *cough*  compiled since you cannot directly use byte and word values from the BASIC editor.
Not to get anybodies hopes up, but I did start trying to make a compiler for an unofficial version of Grammer. If it speeds things up nicely, I might include it in an official release.

Offline Joshuasm32

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 142
  • Rating: +19/-7
    • View Profile
    • Network
Re: Grammer 2-The APP
« Reply #426 on: May 09, 2013, 07:07:15 pm »
I also have never learned Grammar but probably should..   :-[
My name is Josh and I a developer at Moonzean. I enjoy Radiohead, web development, Java, and cryptograms.
Spoiler For No Surprises, by Radiohead:
A heart that's full up like a landfill
A job that slowly kills you
Bruises that won't heal

You look so tired unhappy
Bring down the government
They don't, they don't speak for us

I'll take a quiet life
A handshake of carbon monoxide

And no alarms and no surprises
No alarms and no surprises
No alarms and no surprises
Silent, silent

This is my final fit
My final bellyache

With no alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Such a pretty house
And such a pretty garden

No alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #427 on: May 09, 2013, 07:38:24 pm »
It's fine. If I make Grammer 3 (hopefully this summer) it will be much more worth learning that. It will be about 1 gazillion times more powerful, I think.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Re: Grammer 2-The APP
« Reply #428 on: May 09, 2013, 10:34:49 pm »
Do you still plan a TI-84+CSE release, by the way?

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #429 on: May 10, 2013, 06:22:45 am »
I think I will wait until I have the calculator so that I can test the changes.

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #430 on: June 03, 2016, 08:48:33 pm »
Good news, everyone!

Two days ago, somebody who I will name only as Mx. Burch until I have permission otherwise, emailed me with a modified source for a newer version of Grammer than what I had. I had lost mnths of sourcecode for those who were not aware, and that basically killed the project.

They altered some code,  and I have not extensively tested the code, but hopefully there are no new bugs. Please be advised that this is an experimental version. If I work on this more, some of the additions will almost certainly change.

What was added? The >DMS token (in the Angle menu) is renamed "module" and tells the parser to search for a command in an experimental module. The availabe functions are TEXT( and DISP (with a space after it). These do precisely what the tokenized versions do (Text( and Disp, respectively). The appver Grampkg must be in RAM for now.

What was removed? The jump table is currently removed, so assembly programs using Grammer routines will likely crash. The 32-bit multiplication routine which is entirely unused in the app was removed, apparently the font was compressed, and I scrapped the custom VAT searching routine and I'm now just using the OS routines.

This leaves 927 bytes free! I plan to remove the menu and input commands to an external module since those aren't speed-critical.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Grammer 2-The APP
« Reply #431 on: June 04, 2016, 02:12:21 am »
wow, this is some quite awesome news! Did Mx. Burch have the source otherwise or did they re-write it?

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #432 on: June 04, 2016, 02:40:12 pm »
From the looks of it, I think they disassembled the app and used older source code as a reference to piece it all together.

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #433 on: November 08, 2018, 09:49:11 am »
I have been cleaning up code and doing some optimizations and modifications. I probably broke something, but I wanted a backup.
Updates:
  • I cleaned up the source a bit.
  • Going with the previous update, without the jumptable I had so e unused routines (intended for Grammer Assembly programs) that I removed
  • I implemented some custom VAT traversal routines. The OS routines were incredibly slow and I needed an excuse to use my VAT sort code :P
  • Added in code to throw an error if a Grammer Assembly program is run.
  • Version number is going to be sensible now, starting at 2.50.0.0
  • Minor optimizations.

Features I want:
  • with a sorted VAT, I can speed up the look-up of OS variables.
  • I want a scrollable start menu

Offline Xeda112358

  • they/them
  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Grammer 2-The APP
« Reply #434 on: November 12, 2018, 09:56:38 pm »
After only 7 years, a real  menu!:

Scrolling up is noticeably slower than scrolling down.