Author Topic: Features Wishlist  (Read 703111 times)

0 Members and 2 Guests are viewing this topic.

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Features Wishlist
« Reply #1230 on: September 22, 2010, 01:43:59 pm »
or to keep the Axe syntax: .prgmName "Description" [spritedata]. then you could also do .prgmName [spritedata] when you don't want a description for some reasons...
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

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 #1231 on: September 22, 2010, 01:45:21 pm »
Well, all MirageOS/Ion programs have a description of some sort, even if it is empty. So perhaps in that case you would do: .prgmName "" [spritedata]
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Features Wishlist
« Reply #1232 on: September 22, 2010, 04:58:45 pm »
well, it just that I would like to see one syntax in Axe, and not some xml-style thing on the calc, because of it doesn't fit on the screen very well. <prgmname> would fill one complete line, which has to be scrolled through when you want to edit your code.

now suddenly another idea occurs to me: coul the header info be in an external prgm? like this:
Code: (Axe) [Select]
Program:TESTSRC
.prgmHEADER
DiagnosticsOff
.and the rest of the code...

Program:HEADER
TEST "A little test prog" [8142241818244281]
« Last Edit: September 22, 2010, 04:59:04 pm by LordConiupiter »
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #1233 on: September 22, 2010, 06:18:41 pm »
Oh, I like that idea!
But we need to make sure that it keeps compatibility with old programs.

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 #1234 on: September 22, 2010, 06:31:14 pm »
What about UNIX style headers?  For instance:

Code: (prgmTESTSRC) [Select]
:.TEST -T MOS -I [123...DEF] -D This is a description

Which can also be defined as:
Code: (prgmTESTSRC) [Select]
:.TEST -D This is a description -I [123...DEF] -T MOS

So the programmer can choose the arguments in any order they like.  And to keep reverse compatibility, if you don't specify a tag, then it defaults to a description.  Also, that escape character would most likely be the negative sign instead of the minus sign because dashes might be used in the description.  This allows for future expansions available for the header as well.
« Last Edit: September 22, 2010, 06:58:05 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #1235 on: September 22, 2010, 06:33:34 pm »
I like that!
I also really want to define the type in the header.  I've compiled too many apps x.x

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1236 on: September 22, 2010, 11:48:23 pm »
Unix style syntax seems good, as long as it is well documented in the command list or documentation.

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Features Wishlist
« Reply #1237 on: September 23, 2010, 07:13:16 am »
I prefer to have as less extra tokens to be used as possible. And IMO it's more clear to use sybols instead of letters, like in the UNIX style you use a minus symbol and a letter and an extra space, while in the syntax I suggested it's more clear because of the use of tokens to indicate the type of header data.

for compatibility reasons this is my edited plan:
Code: [Select]
Program:TESTSRC
.HEADER prgm
DiagnosticsOff
.and the rest of the code...

Program:HEADER
TEST "A little test prog" [8142241818244281]
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

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 #1238 on: September 24, 2010, 09:51:59 pm »
Sounds great! ;D
What does that mean for the Compile for in the Axe menu itself?  Will it just default to that if you don't specify?

Offline Aichi

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 290
  • Rating: +76/-3
    • View Profile
    • Devrays
Re: Features Wishlist
« Reply #1239 on: September 25, 2010, 12:06:53 pm »
It will be nice if you create a Framerate feature, what makes possible, that you can choose a  FPS value for every loop.
The prog waits at the end of the loop until the value is reached.
It will be helpful for loops, which have differently fast frames, for example by a space shooter, that would have lags by to much active objects.

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 #1240 on: September 25, 2010, 12:46:10 pm »
I'm not sure how feasible that would be, though it could be helpful.
In the meantime, http://ourl.ca/7043 is a topic where someone was trying to do a similar thing ;)
I just bumped it, so eventually there should be a response.
"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: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1241 on: September 25, 2010, 02:02:30 pm »
I wonder if it would be feasible... it would be cool indeed, though. Personally I just:

 1: add some artificial delay that depends on the amount of objects on the screen
or
 2: simply display those objects on the screen even when unused, like a blank sprite using the OR logic.

In both cases, for tilemaps that only use one wall tile and one floor tile, never do like I did in the BASIC game Illusiat and not display any sprite for floor, because then when walking through areas with few walls, it moves many times faster than when there are many walls.

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #1242 on: September 25, 2010, 02:16:34 pm »
is there any chance that bitshift operators will be implemented?


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 #1243 on: September 25, 2010, 02:27:48 pm »
It might be ready tonight, because as another last minute decision, I decided to add support for expression valued label jumping!  The main reason is I thought it would be cool to add function pointers (which point to routines instead of data) because then you can do A LOT of crazy stuff with that.  For instance, lets say you write a subroutine that takes every element in a list and does an operation to it.  You can call that with a subroutine that takes as arguments: a list and a function pointer.  The routine then would call that function on each member of the list.  Like a function that squares the number, doubles the number, adds 1 to the number, or something really complicated.  Plus, a lot of asm programmers have been bugging me to add it for their other diabolical uses :P.


By the way, the new syntax for recursive subroutines is now this: sub(LBLr,1,2,3)

Its becasue it makes it easier for the compiler to know what type of routine it is before evaluating the arguments.  Surprisingly though, you rarely need it. Tail calls don't need them so you can actually write a lot of recursive subroutines already without this new feature.  Like for instance, this:

Code: [Select]
:.RECFACT
:
:.Find 6 factorial
:Disp sub(F,6)>Dec
:Return
:
:.FACTORIAL
:Lbl F
:!If r1
:  1
:  Return
:End
:r1*sub(F,r1-1)
:Return

EDIT: @Nemo
Yeah, *2 is shift left and /2 is shift right.  They automatically optimize to the bit-shift instead of the multiplication.
« Last Edit: September 25, 2010, 02:40:31 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #1244 on: September 25, 2010, 02:33:18 pm »
Sounds cool! :)
What'll the syntax for getting the value of a function pointer be?
Can't wait, keep up the good work!
"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.