Author Topic: AlphaCS Project  (Read 8322 times)

0 Members and 1 Guest are viewing this topic.

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
AlphaCS Project
« on: November 08, 2013, 10:59:03 pm »
I'm making this thread for any questions I have while making my AlphaCS shell.


https://sites.google.com/a/pvlearners.net/clrdraw/

First question: I've been considering using ZSTAXE (by thepenguin77) to help me run MirageOS programs. The problem is that my program will be completely dependent on the user having zStart on their calculator. Are there any axioms (or anything that I could use in an Axe program) currently that could help me with this?  :-\ If somebody would make me one, I will gladly include them in my credits.
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: AlphaCS Project
« Reply #1 on: November 09, 2013, 05:14:03 am »
Well, i have zStart anyways on my calc so go for it :P


Anyways, I like your GUI :)

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: AlphaCS Project
« Reply #2 on: November 09, 2013, 10:08:59 am »
* Matrefeytontias recognizes some of his programs/libs in this screenshot

The first thing is that MirageOS provides functions to ASM programs, which functions are directly hard-coded in the shell. The second thing is that MirageOS is an app, so all functions address are relative to $4000 IIRC. So if you don't provide MirageOS functions at the correct addresses, just don't run MirageOS programs.

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #3 on: November 09, 2013, 11:43:39 am »
Quote
Well, i have zStart anyways on my calc so go for it  :P
Anyways, I like your GUI  :)
Thanks for the support! I might end up doing that for version one and hopefully have some way to do it independently in the next version.

Quote
* Matrefeytontias recognizes some of his programs/libs in this screenshot
They're really good, I've been using them since before I joined Omni.

Quote
Just don't run MirageOS programs.
The problem is that many games I like on my calc require Mirage to be run like cuberunner and paper plane.
« Last Edit: November 23, 2013, 10:47:29 am by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: AlphaCS Project
« Reply #4 on: November 09, 2013, 01:13:48 pm »
I wonder if you couldn't just load a RAM page into $4000 ("memory bank A") to somehow get around that. They're just jumps to the corresponding routine.

Another option might be to check if a program is a MirageOS program and if it is, once you've loaded it in RAM, replace all calls (and jps just for good measure) to ion/mirage routines. But that's a bit more complicated 'cuz you could be changing things you don't wanna change (data or even other instructions). But i think in general you won't come across that issue very much. Anyway, you could just subtract $4080 from the call address and check if it's divisible by 3. If it is and less than 113*3 (there are 113 routines listed in mirage.inc, each points to a jp instruction, which is 3 bytes), change it to where you store your jump table. I'm not sure how feasible this is or if it's even possible, but it might be the start of looking for a workaround that doesn't require zStart (which can already run MirageOS programs, so you'd essentially have two shells on your calc ;)).

I really like the interface to your program, btw. It looks really nice!

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #5 on: November 09, 2013, 01:45:05 pm »
Thank you chickendude, but I'm just not at that level of programming. I'm pretty good at Axe but I know zero asm  D:
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #6 on: November 10, 2013, 11:05:19 am »
I just finished adding custom icons to programs, but my program has gotten so cumbersome that Axe says "APP TOO BIG" and won't compile. I still want to include a simple settings menu and folders. Any tips for optimizing my code?



Spoiler For Custom Image Icons:


You can now make a custom icon for any asm file and AlphaCS will embed it in the program for you and show it on the program screen.
« Last Edit: November 10, 2013, 11:56:41 am by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: AlphaCS Project
« Reply #7 on: November 10, 2013, 11:29:42 am »
if you show us the code, we might be able to help :P

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: AlphaCS Project
« Reply #8 on: November 10, 2013, 11:39:10 am »
You could compile as a program and use something like crabcake to allow it to be >8kb

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #9 on: November 10, 2013, 12:05:15 pm »
Quote
if you show us the code, we might be able to help  :P

It's super long so I attached the largest part.
This is what I made to help find the programs in alphabetical order. sub(FIRST,-1) will find the first program alphabetically, sub(last,-1) finds the last, sub(next,-1) finds next and sub(PREV, -1) finds previous. If you change -1 to a different number than only programs with that number in T2 (http://www.omnimaga.org/index.php?action=articles;sa=view;article=47) will show up. I was going to use this with folders but I don't have enough space to use folders now...

Quote
You could compile as a program and use something like crabcake to allow it to be >8kb
I'm compiling it as an app not as a program  :-\
« Last Edit: November 27, 2013, 12:12:30 pm by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline TheMachine02

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 452
  • Rating: +105/-0
  • me = EF99+F41A
    • View Profile
Re: AlphaCS Project
« Reply #10 on: November 10, 2013, 01:30:24 pm »
well, I can see a lot of optimisation, especially is some structure like :

Code: [Select]
If value=0
0->D
Else
1->D
End

wich can be optimisated as :

Code: [Select]
If value
1
End
->D

every

Code: [Select]
If value=0
can be change to
Code: [Select]
!If value

You can is some case use the hl register, like in this case :

Code: [Select]
value->r1
If r1=-1
...
to :

Code: [Select]
value->r1
!If +1
...

this is little tips, I will see if more  better optimisations can be done in structure of the program

EDIT : this topic may help you to optimize your code : http://ourl.ca/8520
« Last Edit: November 10, 2013, 01:32:33 pm by TheMachine02 »
AXE/asm programmer - unleash the power of z80 //C++//C

epic 3D things http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #11 on: November 10, 2013, 01:53:24 pm »
Thanks TheMachine!
« Last Edit: December 28, 2013, 02:29:00 pm by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #12 on: November 14, 2013, 10:45:43 am »
I'm cutting the embed custom icon feature to have more room in my program (but don't worry, I plan to have it in future versions!), so instead I am going to have default icons for Axe SRC, Basic, ASM, and mirage OS / DoorsCS programs. I am making the Axe SRC icon the same icon doors and mirage use (the axe on top of the black box).

If you have any suggestions for the Basic icon, ASM icon, or mirage OS / DoorsCS icon, please post them here  ;D must be 16 by 16 black and white!

Spoiler For progress:
Almost finished, I just have to finish the settings menu and program info. I still plan to release AlphaCS around November 20th, but there is a possibility that AlphaCS will be completed early and published this weekend instead.
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: AlphaCS Project
« Reply #13 on: November 14, 2013, 11:10:07 am »
Sounds nice, will you also parse basic programs for if they have a DCS header set and use that one?

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: AlphaCS Project
« Reply #14 on: November 14, 2013, 04:42:53 pm »
I've been looking into that http://ourl.ca/19799.new;topicseen#new but IDK if I can do it  :-\ although Runner112 was still very helpful.
« Last Edit: November 27, 2013, 12:13:33 pm by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.