Author Topic: Features Wishlist  (Read 687369 times)

0 Members and 1 Guest are viewing this topic.

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 #615 on: May 19, 2010, 07:20:13 pm »
Yeah, I've got that working already now, except there's a really weird bug I'm trying to fix.  The actual sort routine is very small and fast, its only 21 bytes and sorts a 256 element list in about 1/4 of a second in 6MHz mode.  I'll probably make it larger though to handle sizes greater than 256.  I'm using insertion sort.

By the way, the main focus of the next version will be on variables.  I already have Ans saving and loading working, I expect to have strings, real variables, Picture files, and other things like that all readable and writable.  And I'm also going to add the ability to create programs.  It's possible some existing syntax might change but that seems unlikely at the moment.
Awesome!  I'm going to like these new commands. ;D

calcdude: Excellent visual. :D

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #616 on: May 23, 2010, 11:15:15 am »
-Linking
-SortA(),SortD()
-Geometry drawing (circles, squares, etc.)
-Interrupts
-xLib DRAWSHAPE
-Application Compiling
-Sprite sizes larger than 8x8
« Last Edit: May 25, 2010, 04:24:58 pm by Raylin »
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Online 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 #617 on: May 25, 2010, 07:58:47 pm »
Keep in mind App compiling will take over 10 minutes on-calc, though.

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 #618 on: May 25, 2010, 08:02:09 pm »
How will interrupts be handled in Axe?  It seems they would be very complex...

Online 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 #619 on: May 25, 2010, 08:04:58 pm »
Interrupts would be nice for automated stuff, such as moving enemies, but I wonder if it wouldn't be a bit hard to work with and easy to mess things up?

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Features Wishlist
« Reply #620 on: May 25, 2010, 08:19:39 pm »
Actually, it could be really easy.

im 2 sets the calculator in a mode to accept a different interrupt routine.
Since Axe can already edit and use programs themselves, couldn't Quigibo just make a command to look for and run a custom program? From there, the compiler can absorb that custom routine as part of the entire program.

I think...
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







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 #621 on: May 25, 2010, 11:09:38 pm »
Yeah, interrupts will be very easy to use.  You simply enable them with fnOn, disable them with fnOff, and set them up with fnInt(label) and that subroutine will execute every interrupt.  Simple! There will probably be an optional second argument for interrupt frequency too.

The HARD part is how I am going to code them.  I need to make a vector jump table somewhere in ram which will reduce the size of one of the free ram locations by at least 256 bytes (more becasue it will have to start at a particular address).  I'm not sure which one, but it has to be very stable because if it gets modified at all during execution, it causes the program to sometimes randomly jump to some random code in the ram and its very difficult to debug.  That leaves me with the L1 pointer only which sucks becasue that is the largest continuous region for data storage that you can always use.  L2 loses MOS compatibility with interrupts and L3 means you can't use grayscale or the backbuffer.
___Axe_Parser___
Today the calculator, tomorrow the world!

Online 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 #622 on: May 25, 2010, 11:23:50 pm »
Mhmm, doesn't sound like a good deal x.x

Personally I don't use L1 that much but I imagine I will when I work on stuff with arrays and the like

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #623 on: May 26, 2010, 12:13:38 am »
D: well...i guess i could give up part of L1 for interupts...ill just have to learn how to compress my data.
/e

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #624 on: May 26, 2010, 12:21:52 am »
It will only be taken up when you turn interrupts on though right?  So those who dont use them wont have to give up or mem :3

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 #625 on: May 26, 2010, 07:22:30 am »
A custom interrupt sounds nice. That's obviously in im 2. Will the choices for interrupts in a program be either im 1 or im 2, or will you be able to disable them entirely or chain the standard interrupt to the end of the custom one?
Or, to put it more simply, how many choices do you get?
"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 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 #626 on: May 26, 2010, 07:56:10 am »
That sounds neat!  Could you just append 256 bytes to the end of the program and use those as the vector table?  I like how it sounds so far. ;D

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #627 on: May 26, 2010, 10:20:54 am »
Yeah, interrupts will be very easy to use.  You simply enable them with fnOn, disable them with fnOff, and set them up with fnInt(label) and that subroutine will execute every interrupt.  Simple! There will probably be an optional second argument for interrupt frequency too.

The HARD part is how I am going to code them.  I need to make a vector jump table somewhere in ram which will reduce the size of one of the free ram locations by at least 256 bytes (more becasue it will have to start at a particular address).  I'm not sure which one, but it has to be very stable because if it gets modified at all during execution, it causes the program to sometimes randomly jump to some random code in the ram and its very difficult to debug.  That leaves me with the L1 pointer only which sucks becasue that is the largest continuous region for data storage that you can always use.  L2 loses MOS compatibility with interrupts and L3 means you can't use grayscale or the backbuffer.
That sounds really cool actually! =D That'll be fun to play with once you get around to implementing it. :D

Online 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 #628 on: May 26, 2010, 12:22:03 pm »
If interrupts are implemented, I think the command index should be updated well before with enough explanation about what to do and what to not do, in details and maybe an example of what it could be used for, since it seems a bit complicated to use and might cause many people to accidentally cause a RAM clear more.

Also, I heard somewhere that interrupt speed varies when batteries are lower. Is it true?
« Last Edit: May 26, 2010, 12:22:43 pm by DJ Omnimaga »

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: Features Wishlist
« Reply #629 on: May 26, 2010, 01:38:35 pm »
That sounds neat!  Could you just append 256 bytes to the end of the program and use those as the vector table?  I like how it sounds so far. ;D
Not that easy because the vector table has to be aligned in memory like every byte between $9900 and $99FF. And I think it is 257 bytes for some strange reason.
Hobbing in calculator projects.