Author Topic: Features Wishlist  (Read 690334 times)

0 Members and 5 Guests are viewing this topic.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #2010 on: March 25, 2011, 08:32:13 am »
the lcd updates all at once by reading a section of memory.  To send a byte to the  lcd you would do...
Code: [Select]
:(0-255) -> {L6+(0-767)}
:dispgraph


The parentheses represent number choices.
L6 is the location in the Free Ram in which the lcd reads from.
« Last Edit: March 25, 2011, 08:43:32 am by Happybobjr »
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #2011 on: March 25, 2011, 09:35:46 am »
That isn't actually the case.  The LCD has its own internal memory, which stores the contents.  DispGraph copies the buffer to the LCDs internal memory.  Bitmap(, for example, can optionally copy straight to the screen.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Features Wishlist
« Reply #2012 on: March 25, 2011, 10:10:12 am »
A way to manipulate individual bits.

And Try/Catch

Use the logical functions to manipulate individual bits, since that's essentially the only way to do it at the Assembly level too.

But I'm curious as to what types of exceptions you'd be catching, since there aren't really a whole lot of errors you can recover from on a z80 calc.

You can't just make a processor suddenly divide into two or something.

I think the iPhone has an app for that...
« Last Edit: March 25, 2011, 10:12:39 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2013 on: March 25, 2011, 10:42:36 am »
A way to manipulate individual bits.

And Try/Catch

Use the logical functions to manipulate individual bits, since that's essentially the only way to do it at the Assembly level too.

But I'm curious as to what types of exceptions you'd be catching, since there aren't really a whole lot of errors you can recover from on a z80 calc.

You can't just make a processor suddenly divide into two or something.

I think the iPhone has an app for that...
I wasn't entirely serious with the try/catch. I just wanted to see if it was possible. But as it stands, the only single bit manipulation tools we have are the pxl- commands, and I can't get those to work on anything but the front/back buffers.
« Last Edit: March 25, 2011, 10:43:09 am by Freyaday »
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Features Wishlist
« Reply #2014 on: March 25, 2011, 11:09:51 am »
That's because you're using the wrong commands  ;)
The pxl commands are basically just specific applications of bitwise operations with some special case handling built in to deal with operating across bytes. Try using the AND, OR, and NOT commands available through 2nd+Math->Logic instead of those.

Bitwise operations
« Last Edit: March 25, 2011, 11:11:43 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2015 on: March 25, 2011, 11:12:43 am »
No, the bits, not the bytes.
« Last Edit: March 25, 2011, 11:13:49 am by Freyaday »
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Features Wishlist
« Reply #2016 on: March 25, 2011, 11:19:52 am »
Freyaday, there is no processor command to manipulate individual bits. You have to do it with logical operations. For example, if you want to change the bit three in the byte 1011 0010 to a one (say this is the value in variable A), then you would do A OR B, where B is 0000 0100. This will change the individual bit. That is how you do these things at the assembly level. There simply is no other [efficient] way to change individual bits in arbitrary memory locations, unless I'm sorely mistaken about microprocessor design.
« Last Edit: March 25, 2011, 11:24:40 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2017 on: March 25, 2011, 11:32:34 am »
I didn't know! But then isn't that what the pxl-commands do? Could it be possible to rejigger them to accept locations outside of L3 and L6?
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #2018 on: March 25, 2011, 11:40:13 am »
Freyaday, there is no processor command to manipulate individual bits. You have to do it with logical operations.

There are actually commands built in to set and reset bits. They are aptly names SET (to set bits) and RES (to reset bits) :)

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2019 on: March 25, 2011, 11:43:52 am »
So, does this mean single bit manipulation is a possible feature?
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #2020 on: March 25, 2011, 11:48:43 am »
Yes it does i hope.  And if you are setting a constant bit and not a variable, the bit setting routine can be auto optimized to take up 4 bytes methinks.

Ld HL,adress
SET/RES #,(HL)

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #2021 on: March 25, 2011, 12:57:29 pm »
I didn't know! But then isn't that what the pxl-commands do? Could it be possible to rejigger them to accept locations outside of L3 and L6?

Those actually use bitmasking because it's better to use when the location isn't constant. But as Builderboy said, it is possible to set individual bits, but it's better only in certain conditions.




Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Features Wishlist
« Reply #2022 on: March 25, 2011, 03:06:32 pm »
Yes it does i hope.  And if you are setting a constant bit and not a variable, the bit setting routine can be auto optimized to take up 4 bytes methinks.

Ld HL,adress
SET/RES #,(HL)

O.o
* Qwerty.55 feels stupid for forgetting that the z80 is CISC and thinking that it didn't have the ability to explicitly set bits
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: Features Wishlist
« Reply #2023 on: March 25, 2011, 05:42:07 pm »
That isn't actually the case.  The LCD has its own internal memory, which stores the contents.  DispGraph copies the buffer to the LCDs internal memory.  Bitmap(, for example, can optionally copy straight to the screen.

Yes, dispgraph reads from the buffer, so a way to write directly to the LCD would be nice. Is Bitmap( the only way to do that right now?

EDIT: Another idea is to have a way to jump to program source from the axe compile menu. I have a lot of programs, so would faster to go through the axe menu to open up my axe programs for editing.
« Last Edit: March 25, 2011, 05:44:21 pm by ZippyDee »
There's something about Tuesday...


Pushpins 'n' stuff...


Offline Compynerd255

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +53/-4
  • Betafreak Games
    • View Profile
    • Betafreak Games
Re: Features Wishlist
« Reply #2024 on: March 25, 2011, 06:53:40 pm »
EDIT: Another idea is to have a way to jump to program source from the axe compile menu. I have a lot of programs, so would faster to go through the axe menu to open up my axe programs for editing.
Maybe, when you click on the source program using [X,T, theta, n], you would be given a list of labels in the program, and you could quickly jump to one of those labels in the source (like we do with error handling).

I also have another request: See all the errors in the program, not just the first one. Basically, what would happen is that when the compiler hit an error, the program would not compile, but would still go through the code as if it were compiling, looking for other errors. Then, when all was said and done, you can choose one of the errors to scroll to. This would be useful because one error might be the cause of several dozen or something like that. If this creates too much overhead, then it would be nice to have the compiler give you a choice of quitting, scrolling to the error, or running through the source to the next error.
The Slime: On Hold, preparing to add dynamic tiles

Axe Eitrix: DONE

Betafreak Games: Fun filled games for XBox and PC. Check it out at http://www.betafreak.com