Author Topic: Grammer  (Read 110416 times)

0 Members and 1 Guest are viewing this topic.

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
« Reply #90 on: October 06, 2011, 03:10:46 pm »
Hmm, what do you mean by that? I am assuming it wrote an incorrect command to the LCD port to change it to 6-bit mode, but I see nowhere in my code that that could happen...

What where you doing when it compressed it? Like, what program or commands were you using?

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: Grammer
« Reply #91 on: October 06, 2011, 03:12:06 pm »
running your partex program D:
It seems that the graph screen is unstable, and then the screen glitch.
« Last Edit: October 06, 2011, 03:12:36 pm by yeongJIN_COOL »
Sig wipe!

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
« Reply #92 on: October 06, 2011, 03:14:46 pm »
Hmm, what is your calculator (83+/84+/SE)?

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: Grammer
« Reply #93 on: October 06, 2011, 03:15:03 pm »
I have 84+SE.
Sig wipe!

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
« Reply #94 on: October 06, 2011, 03:23:24 pm »
Hmm, I am not sure what is wrong :( There are no writes to the LCD port that would cause this, so my only other idea is that it is writing to a RAM address that it isn't supposed to, but I did add in checks to make sure it wouldn't write outside of the screen  :/ I've no clue what is wrong :( Has it done this using the current version? maybe I added the code to prevent writing outside of the screen after releasing the previous version?

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Grammer
« Reply #95 on: October 06, 2011, 04:18:37 pm »
It sounds like there's not enough delay between LCD outputs. It's probably a good idea to use a "safecopy" routine (which waits until bit 7 of port $10 is reset before each output)
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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
« Reply #96 on: October 06, 2011, 04:22:13 pm »
Okay, I will change that, then :) Thanks!

Also, I am working on adding a feature for particle effects that will let you use other pieces of RAM. However, if I do this, then the current setup won't work (which means my examples won't work and any work done with the particle features won't work with the new version).

Is this okay for people?

EDIT: Actually, never mind, I will just add code to make it all still work :) I will just change the default buffer to appBackUpScreen

Offline awalden0808

  • LV3 Member (Next: 100)
  • ***
  • Posts: 55
  • Rating: +6/-0
  • Cool shades, wears Waldo.
    • View Profile
Re: Grammer
« Reply #97 on: October 08, 2011, 04:34:55 pm »
I've been playing around with this language, and I love it. I'm just stuck on sprites.  I've got the sprite program you showed as an example in the included PDF, and I know the last line before the Stop command is some sort of code for the sprite. I've noticed replacing the 01234567 with 10101010 draws a vertical dotted line in the sprite's 8th column. Why is that?  ???
I'll apologize tomorrow for a bad mood today.

Spoiler For Spoiler:
My Qualifications:

I did a thing once.
I am known for my ability to focus intently on things that distract me from my actual work.
To me, the letter a stands for absolute. B stands for bemusement. C stands for circumlocution, and D stands for decoupage.
If I were president, I would give everyone Xboxes, computers, and national healthcare.
I am also known for my ability to write more than I actually need to write. Unless of course it is necessary that I write a lot. Then I write a little bit.

Offline awalden0808

  • LV3 Member (Next: 100)
  • ***
  • Posts: 55
  • Rating: +6/-0
  • Cool shades, wears Waldo.
    • View Profile
Re: Grammer
« Reply #98 on: October 08, 2011, 04:42:45 pm »
Okay, now I see binary has something to do with it. Still kinda confused though.
I'll apologize tomorrow for a bad mood today.

Spoiler For Spoiler:
My Qualifications:

I did a thing once.
I am known for my ability to focus intently on things that distract me from my actual work.
To me, the letter a stands for absolute. B stands for bemusement. C stands for circumlocution, and D stands for decoupage.
If I were president, I would give everyone Xboxes, computers, and national healthcare.
I am also known for my ability to write more than I actually need to write. Unless of course it is necessary that I write a lot. Then I write a little bit.

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: Grammer
« Reply #99 on: October 08, 2011, 04:46:23 pm »
it doesnt work like normal hex codes.
for example, token 0 is value 32 in ti-83/84 so its actual value is 32 or something.
« Last Edit: October 08, 2011, 04:46:37 pm by yeongJIN_COOL »
Sig wipe!

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: Grammer
« Reply #100 on: October 08, 2011, 04:46:40 pm »
Heya and welcome to the forums awalden0808. Just so you know consecutive posts by the same author in one thread are not allowed within less than a few hours so you have to use the edit button within that time (unless somebody else replied already). I unfortunately cannot help on Grammer, though, as I have never used it. Hopefully Xeda112358 shows up soon and can answer your question(s). :)

Offline awalden0808

  • LV3 Member (Next: 100)
  • ***
  • Posts: 55
  • Rating: +6/-0
  • Cool shades, wears Waldo.
    • View Profile
Re: Grammer
« Reply #101 on: October 08, 2011, 05:09:26 pm »
Huh... Alright. Hopefully she responds cause I can't figure it out.
I'll apologize tomorrow for a bad mood today.

Spoiler For Spoiler:
My Qualifications:

I did a thing once.
I am known for my ability to focus intently on things that distract me from my actual work.
To me, the letter a stands for absolute. B stands for bemusement. C stands for circumlocution, and D stands for decoupage.
If I were president, I would give everyone Xboxes, computers, and national healthcare.
I am also known for my ability to write more than I actually need to write. Unless of course it is necessary that I write a lot. Then I write a little bit.

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
« Reply #102 on: October 08, 2011, 05:22:16 pm »
Hi and thanks! I was actually gone for about a day and a half and just got back! So let's see, you are having trouble with the sprites? Well as Yeong mentioned, 0=32, but in binary that is 00100000, so 8 zeros would draw an 8x8 sprite of just a column of pixels.

I still need to add a command to use hex data for sprite data, but for now, you can try this:
-Draw the sprite in the upper left corner of the graph screen
-Copy this code to a program and execute it:
Code: [Select]
.0:Asm(prgmGRAMMER
Lbl "SPRITE→A
Pt-On(4,A,0,0,1,8       ;This swaps the data on screen
ClrDraw
Pt-Off(0,A,0,0,1,8       ;Draws the sprite back
DispGraph
Stop
Return                   ;Executed by TI-BASIC
.SPRITE
00000000            ;8 bytes for the sprite data
-When you open up the program, the 00000000 line should be replaced with the sprite data :)

The way this works is that with the Pt-On( command, using option 4 will replace the sprite on the screen with the sprite data (it swaps everything). I hope this helps and it is awesome knowing more people are interested!

Offline awalden0808

  • LV3 Member (Next: 100)
  • ***
  • Posts: 55
  • Rating: +6/-0
  • Cool shades, wears Waldo.
    • View Profile
Re: Grammer
« Reply #103 on: October 08, 2011, 09:27:17 pm »
Okay. More questions. I can tell the Pt-On( command is different in Grammer than in BASIC. Do you mind giving me a breakdown of the params?

Also, in the program you just gave me, the "SPRITE->A line stores the line after .SPRITE into A, correct? And if I want to show my sprite in your example program in the PDF (where you can move the sprite around) I just replace the 01234567 with the code?

And the code I'm getting back is really messed up (e.g. + and randM(({->??). It's supposed to be like that, right?

(Scratch the first part. I forgot that command was in the PDF!)
« Last Edit: October 09, 2011, 08:23:29 am by awalden0808 »
I'll apologize tomorrow for a bad mood today.

Spoiler For Spoiler:
My Qualifications:

I did a thing once.
I am known for my ability to focus intently on things that distract me from my actual work.
To me, the letter a stands for absolute. B stands for bemusement. C stands for circumlocution, and D stands for decoupage.
If I were president, I would give everyone Xboxes, computers, and national healthcare.
I am also known for my ability to write more than I actually need to write. Unless of course it is necessary that I write a lot. Then I write a little bit.

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
« Reply #104 on: October 09, 2011, 09:04:53 am »
Also, in the program you just gave me, the "SPRITE->A line stores the line after .SPRITE into A, correct? And if I want to show my sprite in your example program in the PDF (where you can move the sprite around) I just replace the 01234567 with the code?
Okay, here is a breakdown of what it does:
the Lbl "SPRITE→A kind of does what you think. Technically, it stores the memory location of the line after .SPRITE. So a neat biproduct of this is this: Say you have two sprites stored after .SPRITE. If you wanted to access the second sprite, just do A+8 (assuming the sprites are 8 bytes).

So to answer your question about the sprite data, you do simply replace the 01234567. If you wanted to, though, you could do some other crazy things (like make a program to store all your sprites in), but that is a little more advanced :) If you want an example of doing this, feel free to ask!
And the code I'm getting back is really messed up (e.g. + and randM(({->??). It's supposed to be like that, right?
Yes, it is supposed to be like that, which is kind of unfortunate (especially if you wanted to copy the data by hand). I will see what  I can do about adding support for hex data to make your lives a bit easier.