Author Topic: Features Wishlist  (Read 613002 times)

0 Members and 2 Guests are viewing this topic.

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 #1785 on: January 23, 2011, 07:47:29 pm »
Hey, I'd like to request that the archived file reading method be modified to allow reading from programs in RAM as well. I have an idea as to how this might be accomplished.

Currently, the file byte read routine takes two arguments: an address in HL (any offset is already added in) and a page number in A. If the address is not in the $4000-$7FFF range, it increases the page as much as needed and the pointer is then put into this range.

I'd like to suggest that the routine take three arguments: the start address in HL, the offset in DE, and the page number in A. This takes the load of adding the offset off of the calling code, too. For reads that have no offset, you can make a secondary entry point that loads DE with 0 and runs the routine.

Here's what I suggest for the start of the routine:
Code: [Select]
  bit 7,h
  add hl,de
  jr z,__inROM
  ld a,(hl)
  inc hl
  ld h,(hl)
  ld l,a
  ret
__inROM:
  ;Archived file reading happens here
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Features Wishlist
« Reply #1786 on: January 25, 2011, 10:30:30 am »
Whats the new poll for ???
I'm not a nerd but I pretend:

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #1787 on: January 25, 2011, 03:45:22 pm »
And I couldn't figure out how to delete the poll... so I just decided to make a goofy question instead :P
^.^
« Last Edit: January 25, 2011, 03:45:53 pm 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
____________________________________________________________

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 #1788 on: January 25, 2011, 03:56:13 pm »
There's a remove poll above the quick reply for me, but I'm not sure if non-staff can delete them.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #1789 on: January 25, 2011, 04:10:32 pm »
I don't think we can.
(after 3 accidental topics with polls attached :P )
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
____________________________________________________________

Ashbad

  • Guest
Re: Features Wishlist
« Reply #1790 on: January 25, 2011, 04:16:13 pm »
Quigibo: if possible can axe eventually have a Select/Switch case structure?  Y'know like in C/C++/Java/all that good stuffz

Maybe like:

Code: (POSSIBLE AXE SWITCH FORMAT) [Select]
Switch(X)
Case 1
1->Y
Case 2
3->Z
Case 5
X-Z->Y
Case Else
Sin(Cos(Sin(Cos(X))))->Y
End

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 #1791 on: January 25, 2011, 04:42:59 pm »
Hey, I'd like to request that the archived file reading method be modified to allow reading from programs in RAM as well. I have an idea as to how this might be accomplished.

Currently, the file byte read routine takes two arguments: an address in HL (any offset is already added in) and a page number in A. If the address is not in the $4000-$7FFF range, it increases the page as much as needed and the pointer is then put into this range.

I'd like to suggest that the routine take three arguments: the start address in HL, the offset in DE, and the page number in A. This takes the load of adding the offset off of the calling code, too. For reads that have no offset, you can make a secondary entry point that loads DE with 0 and runs the routine.

Here's what I suggest for the start of the routine:
Code: [Select]
  bit 7,h
  add hl,de
  jr z,__inROM
  ld a,(hl)
  inc hl
  ld h,(hl)
  ld l,a
  ret
__inROM:
  ;Archived file reading happens here

This is an interesting idea.  However, I think this would bring a lot of overhead into each use of Y1.  There would have to be an additional 2 bytes to push and pop the extra argument.  In addition, Y1 would become more of a special form than before and be difficult to parse.  For instance, now there would be a big difference between {Y1+1} and {1+Y1} in terms of how to process this and you wouldn't be able to do things like {Y1*2} either, not that you generally would, but its an additional restriction.  Another point would be that it might also require modifications to the copy routine as well to be consistent.
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #1792 on: January 28, 2011, 08:33:38 pm »
A suggestion for Axioms: referencing labels (or at least modifying the sub( command).




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 #1793 on: January 28, 2011, 11:29:29 pm »
I think you'll be able to use sub()rr in Axioms. :)

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 #1794 on: January 29, 2011, 10:23:24 am »
Great, and it accepts a label as the first argument?




SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #1795 on: January 29, 2011, 02:02:17 pm »
Pleeeeeeeeeeaaaaaaaaaaaaaase give us the ability to retrieve the address of our labels.  That would be absurdly useful for a project I've been working on in my spare time.  (Axe Terminal was a demonstration that shells are possible with Axe... this project is the realization of that idea)
How about using the L token?  Like LLB→A to store the address of label LB to A.
I think some features like this can open some doors for more advanced users, while still appealing to the beginner-indermediate crowd.

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 #1796 on: January 29, 2011, 02:03:29 pm »
Pleeeeeeeeeeaaaaaaaaaaaaaase give us the ability to retrieve the address of our labels.  That would be absurdly useful for a project I've been working on in my spare time.

^^^ That. I have a routine that finds the address of a label, but it's absurdly complicated.

EDIT: L sounds great! /me seconds the suggestion
« Last Edit: January 29, 2011, 02:04:34 pm by Deep Thought »




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 #1797 on: January 29, 2011, 08:08:08 pm »
* ZTrumpet thirds it. :)

Offline Xanwell

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 16
  • Rating: +0/-0
    • View Profile
Re: Features Wishlist
« Reply #1798 on: January 29, 2011, 08:45:28 pm »
Yes! That would make so many things so much simpler to do.


Spoiler For My current projects:
Kalima's Quest: An Axe RPG [5%]
--Sprites: 40%
--Battle engine: 0%
--Map engine: 0%
--Story: 10%

Avoider [50%]
--Engine: 85%
--Enemy AI: 15%
--Graphics: 50%

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 #1799 on: January 29, 2011, 09:07:47 pm »
At the same time, you could add a feature to the Asm() command that allow inserting values like in the Data command, except in the code section instead of the data section. It would greatly increase the capabilities of inline assembly, and Axe might even make a good tool for hex programmers who want to easily use absolute labels and data pointers.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman