Does anyone know if the location Plotsscreen points to is constant, independant of any other memories? and between different calculators? the test program i created seems to return the same address every time (37696 in base 10)

so theoretically i could just calculate the index retrieval outside of the program and change the desired bit in the byte of the immediate address.

and is the graph buffer the best way to move a few pixels (with constant speed)?

PlotSScreen is the location 9340h in RAM. It's a 768 byte section reserved by the OS as where the b_calls GrBufCpy or GrBufClr (might be another or two) modify. Just like the OP registers, CurRow, CurCol etc. they're just a reserved location in RAM.

[edit] I just thought of a better way to phrase this: PlotSScreen (and the others) are areas of RAM designated/allocated to store information for a specific purpose. The name "PlotSScreen" is just for the assembly programmer, and during the assembly process any occurrence of it in your code is replaced by 9340h (in the include file, change "PlotSScreen" to "hahaStupid" (or something) and if you use that instead in your code it will still assemble fine).

That code won't work at all. The first argument of "set" has to be a 3-bit immediate value, so you can't just put the accumulator there, and the second argument has to be either an 8-bit register or the indirection of an index register, not an immediate value. Plus, you still have to call GrBufCpy (or ion's FastCopy, or some other routine that copies the graph buffer to the LCD).

Also, the point (0,9) is the 6th bit of 9341h (it's the second bit from the left, which is bit number 6.

(saving me the work of figuring out the location by the complicated process of indexing a matrix)

What complicated process of indexing a matrix? (If I understand you right, you still need to determine the byte and bit to change).

There are two "displays". The Graph Screen data is stored at PlotSScreen (a 768-byte chunk of RAM that contains the data for each pixel) and when you go to the Graph Screen GrBufCpy is called to update the LCD. The Home Screen is stored at TextShadow (a 128-byte block that stores the character codes of what's on the Home Screen) and whenever you go to the Home Screen that data is copied to the LCD (I'm not sure if it uses something like PutS or not). DispHL modifies TextShadow, and GrBufCpy just updates the LCD with what's at PlotSScreen so it doesn't affect what's displayed by DispHL.

it's just a number stored in registers or an address or anything that works, i'm not limited in that sense. basically it displays a score while the game is still going. anything _DispHL would achieve. the problem is, the graph buffer is updated every split second so the number disappears immediately.

oh, and also, thanks for all your help, i really appreciate it in this unpredictable universe of assembly :)

Ah, I see your problem. You need a text/number display command that will actually modify the graph buffer. I'm not quite sure how to do it except by using this, which also requires Ion's largesprite routine. It's kind of a large routine but it's all I can think of.

oh, and also, thanks for all your help, i really appreciate it in this unpredictable universe of assembly :)

No problem :) Helping other is actually a great way to get a better understanding of assembly.