Author Topic: Features Wishlist  (Read 613675 times)

0 Members and 3 Guests are viewing this topic.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1335 on: October 07, 2010, 09:19:29 pm »
I have a list of feature requests here. Don't feel like you need to include all, most, or even any of these, as I and others can get by without them, but they would be nice. I'll list them in descending order of a combination of how much I would want to see them added and the probable ease of implementation:

  • InsertMem and DelMem bcalls. They would be invaluable for editing variables with a large amount of data in them. (If anything, this is the feature I would want the most, and it seems fairly easy to implement)
  • Case statements.
  • Reading from/storing to the Ans variable for things other than integers (namely strings).
  • Dialog (menu) bcalls.
  • General bcall support.


EDIT: Wow, how did I miss this: the Line() command working on back/arbitrary buffers. The routine's already there, it's gotta only take like 10 seconds to modify it for this. I hear you already did it for the pixel commands, which is good.
« Last Edit: October 07, 2010, 11:41:57 pm by Runer112 »

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 #1336 on: October 07, 2010, 09:52:10 pm »
I have a list of feature requests here. Don't feel like you need to include all, most, or even any of these, as I and others can get by without them, but they would be nice. I'll list them in descending order of a combination of how much I would want to see them added and the probable ease of implementation:

  • InsertMem and DelMem bcalls. They would be invaluable for editing variables with a large amount of data in them. (If anything, this is the feature I would want the most, and it seems fairly easy to implement)
  • Case statements.
  • Reading from/storing to the Ans variable for things other than integers (namely strings).
  • Dialog (menu) bcalls.
  • General bcall support.

All b_calls can be accessed with Asm(EFXXXX).

I support using Ans for strings! It'd be really helpful, and I have no idea how to do it myself.




Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #1337 on: October 07, 2010, 10:01:10 pm »
I have a list of feature requests here. Don't feel like you need to include all, most, or even any of these, as I and others can get by without them, but they would be nice. I'll list them in descending order of a combination of how much I would want to see them added and the probable ease of implementation:

  • InsertMem and DelMem bcalls. They would be invaluable for editing variables with a large amount of data in them. (If anything, this is the feature I would want the most, and it seems fairly easy to implement)
  • Case statements.
  • Reading from/storing to the Ans variable for things other than integers (namely strings).
  • Dialog (menu) bcalls.
  • General bcall support.

All b_calls can be accessed with Asm(EFXXXX).

I support using Ans for strings! It'd be really helpful, and I have no idea how to do it myself.

how might we use this? for example, i see insertmem is 42F7h. so Asm(EF42F7) would run the bcall, but how do you write to the registers? since HL is the amount to add, and DE is the address at which to add? also, what if there's something important in HL or DE?


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 #1338 on: October 07, 2010, 10:02:47 pm »
HL is always Axe's form of "answer", so
Code: [Select]
:X+1
would leave the value of X+1 in HL. For the others I guess you'd need Asm( as well...




Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #1339 on: October 07, 2010, 10:05:55 pm »
In Axe you can only set hl, which contains the current value in the calculation. de is used sometimes in two-argument instructions, but that can't be done with Asm(.
Also, due to endianness, it would be Asm(EFF742), not Asm(EF42F7) ;)
Edit: semi-ninja'd
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

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 #1340 on: October 07, 2010, 10:07:00 pm »
In Axe you can only set hl, which contains the current value in the calculation. de is used sometimes in two-argument instructions, but that can't be done with Asm(.

Can't you load something to DE with Asm(, though?
« Last Edit: October 07, 2010, 10:07:15 pm by Deep Thought »




Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #1341 on: October 07, 2010, 10:09:51 pm »
i'd assume anything you can do in asm you can do with asm().... also, would i need to then push every register onto the stack and pop them accordingly after the bcall, since insertmem destroys all registers? yeah... i would like insertmem+deletemem support.


Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #1342 on: October 07, 2010, 10:11:27 pm »
In the Asm( hex, yes. However, outside of Asm(, there is no way AFAIK to set de before invoking an Asm( command.
Sorry if I was confusing. :(
Edit: semi-ninja'd again
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

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 #1343 on: October 07, 2010, 10:12:23 pm »
i'd assume anything you can do in asm you can do with asm().... also, would i need to then push every register onto the stack and pop them accordingly after the bcall, since insertmem destroys all registers? yeah... i would like insertmem+deletemem support.

I guess they would make nice features, but should be highlighted in the docu as very advanced features.




Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #1344 on: October 07, 2010, 10:16:17 pm »
calcdude, would you be willing to write the hex string that would insert memory (as specified by HL) into an address specified by the axe pointer V?


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 #1345 on: October 07, 2010, 11:29:42 pm »
The Ans variable should be accessible already with "Ans"->Str1 just like you read other OS variables.

bcalls aren't useful to implement becasue of the reasons you're discussing now.  bcalls require very specific register input and very specific register output.  There wouldn't be an easy way to translate that directly to Axe syntax.

InsertMem, DelMem, and EnoughMem are possible, I will look into some good tokens for them.

There is no bcall for making menus as far as I am aware.

EDIT:
Also, the line routine is not hijackable, so it would have to be an entirely different routine for the back buffer or a more inefficient routine for arbitrary buffers.  Same thing with the circle command.

I may support 8xY sprites, but I'm not sure yet.
« Last Edit: October 07, 2010, 11:37:03 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1346 on: October 07, 2010, 11:35:36 pm »
Don't Bcalls location changes from an OS to another too?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1347 on: October 07, 2010, 11:36:35 pm »
The Ans variable should be accessible already with "Ans"->Str1 just like you read other OS variables.

GetCalc("Ans") returns 0 for me whether I use the Ans token or spell it out. Also, I believe storing strings to Ans involves a more complex method in which you need to create a temporary string variable in which to store the string, and then store that variable's name in Ans.

There is no bcall for making menus as far as I am aware.

Is this not it?
« Last Edit: October 07, 2010, 11:37:45 pm by Runer112 »

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #1348 on: October 07, 2010, 11:38:15 pm »
Don't Bcalls location changes from an OS to another too?
DJ, not really. Normally they are only added.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1349 on: October 07, 2010, 11:38:53 pm »
Ah ok. What does change location accross OS versions? Mapar007 told me about the Garbage Collecting routines.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)