Author Topic: Features Wishlist  (Read 694192 times)

0 Members and 7 Guests are viewing this topic.

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Features Wishlist
« Reply #2385 on: June 10, 2011, 08:32:17 pm »
Something that could be useful would be the ability to manually backup an archived source.  It gets kind of tiring having to unarchive every time I want to backup (at least, for the on-calc way) :P

EDIT: (quote from zstart thread)
A bug: using the on+enter shortcut to compile disables the auto-backup feature, because
Quote from: thepenguin77 on IRC
[18:27:38] <thepenguin77> [...] when compiling from the API entry point, the option is changed
Afaik, this would need the entry point to be modified to have another input...
Also having to do with the backup feature, a fix for ^ ;)
« Last Edit: June 10, 2011, 08:33:59 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Features Wishlist
« Reply #2386 on: June 12, 2011, 01:34:00 am »
Three suggestions: First, there should be a way to get a pointer to a label, allowing you to make jump tables and callbacks. Second, I am bumping the idea of a general-purpose b_call command mentioned a while back. Third, I am also bumping having an official way to exit a program at any time.

Edit: Moved some previous contents to routines thread.
« Last Edit: June 12, 2011, 02:28:05 am by DrDnar »
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

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 #2387 on: June 12, 2011, 02:36:47 am »
Reading labels as values is for sure coming in the next version.  But its mostly for Axioms that require labels as arguments because there really isn't any other use for them since you still can't jump to arbitrary values due to leaks and unsafe code.  I think I might have a way to allow programs to exit anywhere soon, but I already have to rewrite half of the parser from scratch so I doubt I'll have time next version.

For those other assembly commands, most of them are really too specific and low level for any general use.  Runer112 actually made an LCD Axiom LCD Kit that does most of those already and you could certainly design a port axiom to allow arbitrary port writing, I just don't see the purpose of that for the average game.
« Last Edit: June 12, 2011, 02:37:39 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Features Wishlist
« Reply #2388 on: June 12, 2011, 02:48:17 am »
They could be used for using the crystal timers or clock, or doing something ridiculous like powering USB devices or protecting data with an MD5 hash or writing an undeleter in Axe.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

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 #2389 on: June 12, 2011, 03:24:09 am »
The ability to jump code execution to an arbitrary location.
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 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 #2390 on: June 12, 2011, 09:47:19 am »
You can do that with Asm(9E):
Oh, and
  • Allowing jumping to an arbitrary place in memory
That can be done using a simple Asm(E9), which will jump to the address of the last result
In other words, E8000:Asm(9E) jumps to $8000.




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 #2391 on: June 12, 2011, 03:32:11 pm »
You can do that with Asm(9E):
Oh, and
  • Allowing jumping to an arbitrary place in memory
That can be done using a simple Asm(E9), which will jump to the address of the last result
In other words, E8000:Asm(9E) jumps to $8000.
Look closer, it's actually E9. 9E is the SBC A,(HL) instruction.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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 #2392 on: June 12, 2011, 03:33:17 pm »
Aw bleep, I did it backwards on my table and didn't notice :P




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 #2393 on: June 12, 2011, 07:33:22 pm »
So I'd do GetCalc(code):Asm(9E)?
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 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 #2394 on: June 12, 2011, 07:37:05 pm »
E9, as calc84maniac said.

But it's not that simple to jump straight to a different program. Remember you can't execute code beyond the hex address $C000 (that's why programs are limited to 8811 bytes, since 8811 is the difference between $C000 and $9D95, where programs normally start). Unless you're absolutely certain the program you're looking for isn't beyond $C000 (which is perfectly possible), you have a pretty high chance of getting a RAM clear with that code.




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 #2395 on: June 12, 2011, 07:43:50 pm »
E9, as calc84maniac said.

But it's not that simple to jump straight to a different program. Remember you can't execute code beyond the hex address $C000 (that's why programs are limited to 8811 bytes, since 8811 is the difference between $C000 and $9D95, where programs normally start). Unless you're absolutely certain the program you're looking for isn't beyond $C000 (which is perfectly possible), you have a pretty high chance of getting a RAM clear with that code.
In addition to that, all programs are assembled to run at $9D95. Run it from anywhere else and all of the absolute pointers (which is almost every pointer in Z80) will be wrong.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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 #2396 on: June 12, 2011, 07:46:05 pm »
Aaand there's always the chance that it's in archive :)

EDIT: In other words, don't try it unless you really know what you're doing. I think there's a bcall(_ExecutePrgm) for that purpose.
« Last Edit: June 12, 2011, 07:47:34 pm by Deep Thought »




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 #2397 on: June 12, 2011, 08:26:35 pm »
And what's the asm for that, and can I execute code within an appvar?
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 Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Features Wishlist
« Reply #2398 on: June 16, 2011, 07:08:23 pm »
I was wondering...the ability to use ! just before a var or whatever to check if it's false.  ie instead of having to do
If getKey(15) and (A=0)
...it would be possible to do something like...
If getKey(15) and (!A)

Or is VAR=0 already an auto-optimized thing?
« Last Edit: June 16, 2011, 07:08:44 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

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 #2399 on: June 16, 2011, 07:10:05 pm »
I was wondering...the ability to use ! just before a var or whatever to check if it's false.  ie instead of having to do
If getKey(15) and (A=0)
...it would be possible to do something like...
If getKey(15) and (!A)

Or is VAR=0 already an auto-optimized thing?
It's already optimized, but not as much as if you did
If getKey(15)
!If A
...
End
End


because it has to calculate the 0 or 1 boolean in order to perform the AND.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman