Author Topic: Features Wishlist  (Read 689710 times)

0 Members and 2 Guests are viewing this topic.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2880 on: December 18, 2011, 09:19:17 pm »
That's basically A<<0 which is a highly optimized command to return 1 if its negative and 0 if its positive or zero.  That separates out the negative case.  Then !If A can extract the zero from the remaining case.

But if you need the exact number output, I think this is fairly uncommon so I don't think that a command for it is needed.  But here it is in optimized Axe code: A>=>=0?A?1,,-1

EDIT: The white rectangle thing I guess I can see useful, but each rectangle routine is over 100 bytes, which is much larger than making your own subroutine to do the same thing with the existing commands.  The only time it would be useful from a optimization perspective is if you only use 2 out of the 3 rectangle routines in your entire program at any point, or you are super super pressed for speed because you're drawing hundreds of white rectangles every second.  I will consider adding it though, just be warned it can easily bloat your code more than using the existing commands.
« Last Edit: December 18, 2011, 09:24:02 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #2881 on: December 18, 2011, 09:21:25 pm »
How about this:
A?>=>=0*2-1

Edit: Since I have been informed that inc hl \ dec hl is peephole-optimized, make it this:
A?>=>=0-1*2+1
« Last Edit: December 18, 2011, 09:26:54 pm by calc84maniac »
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline jacobly

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 205
  • Rating: +161/-1
    • View Profile
Re: Features Wishlist
« Reply #2882 on: December 20, 2011, 12:50:23 am »
If 32-bit *^ is added, then something like /^ that returns the quotient and remainder would be useful.

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: Features Wishlist
« Reply #2883 on: December 23, 2011, 08:24:20 am »
Maybe you could make it possible that it may write apps larger than one page?

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

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Features Wishlist
« Reply #2884 on: December 23, 2011, 08:57:35 am »
not possible oncalc D: Due to RAM limits
I'm not a nerd but I pretend:

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: Features Wishlist
« Reply #2885 on: December 23, 2011, 08:58:19 am »
Maybe it is possible if you pars first the first page and then the second page etc. ?

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

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Features Wishlist
« Reply #2886 on: December 23, 2011, 08:59:16 am »
not possible oncalc D: Due to RAM limits
??? This has nothing to do with Ram limit since Apps are run from Archive.
This is more like rewriting all the "Compile for app" option, so I think it is at the bottom of the To Do list :(
« Last Edit: December 23, 2011, 08:59:31 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Features Wishlist
« Reply #2887 on: December 23, 2011, 09:01:39 am »
Its super hard to do since you have to keep track of everything involved with moar-page apps, such as page switching and stuff. It is harder than it seems.
I'm not a nerd but I pretend:

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Features Wishlist
« Reply #2888 on: December 23, 2011, 09:02:31 am »
Maybe it is possible if you pars first the first page and then the second page etc. ?
The memory that's needed isn't the only problem. Writing multi-page apps in any language requires extra code in the app to deal with page swapping, and the contents of the pages have to be separated by the programmer. The compiler can't do this alone - the programmer has to think about all of this. I believe that changes in how the language works are required, but I'm not sure since I don't have a lot of experience of things like this.
not possible oncalc D: Due to RAM limits
??? This has nothing to do with Ram limit since Apps are run from Archive.
Maybe the RAM limit would be a problem during compilation?
« Last Edit: December 23, 2011, 09:04:10 am by JosJuice »

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Features Wishlist
« Reply #2889 on: December 23, 2011, 09:03:37 am »
Quigibo said it might be possible but he said it was absolutely impossible oncalc (therefore he wansa write a pc compiler)
I'm not a nerd but I pretend:

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Features Wishlist
« Reply #2890 on: December 23, 2011, 09:03:39 am »
Writing a multiple page app is already a pain to organize so writing a multipage app (Axe) that creates multipage apps (your app) would be very tricky :P

not possible oncalc D: Due to RAM limits
??? This has nothing to do with Ram limit since Apps are run from Archive.
Maybe the RAM limit would be a problem during compilation?
Yeah, I didn't think about that one D:
« Last Edit: December 23, 2011, 09:06:14 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

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: Features Wishlist
« Reply #2891 on: December 23, 2011, 09:23:07 am »
Quigibo said it might be possible but he said it was absolutely impossible oncalc (therefore he wansa write a pc compiler)
That would be cool to have one with multiple pages-apps for pc! :)

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

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #2892 on: December 23, 2011, 10:35:00 am »
Having code on multiple pages is pretty hard to orchestrate without writing the code manually in ASM. On the other hand, having only data, not code, on other pages might be possible if something similar to the archived file reading operations are used (and RAM wouldn't be an incredibly difficult issue there, since the extra-page data could be written directly to archive rather than being stored in RAM)
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Features Wishlist
« Reply #2893 on: December 23, 2011, 11:27:56 am »
I think it would be incredibly helpful to have the option to make two or three page Apps, with the pages other than the first one (page 0) having only data on them.  This is something I've dreamed of ever since Axe started.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #2894 on: December 23, 2011, 11:38:48 am »
I think the most effective way to accomplish this would be to have a different static pointer syntax (with a prefix or something) for data on other app pages. That way, the user will be able to control what data is accessed more slowly and what data is accessed more quickly, and Axe will easily know whether to generate a normal memory access or an off-page memory access. If you use a 16-bit pointer for off-page accesses, that's a maximum of 4 pages of data available, and data will be able to cross page boundaries.

Edit: Also, I suppose that when compiling a RAM program, these special pointers could be treated like normal data, as much as RAM allows.

Edit2: Actually, come to think of it, this wouldn't work for specifying anonymous data on other pages. But I guess [HEX]r and Data()r aren't taken, right?

Edit3lol: In fact, if the syntax for archived data is Data()→prefixStr1, the syntax for anonymous data could be Data()→prefix
« Last Edit: December 23, 2011, 11:56:01 am by calc84maniac »
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman