Author Topic: Axe Shell  (Read 4984 times)

0 Members and 1 Guest are viewing this topic.

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3913
  • Rating: +184/-32
    • View Profile
    • wank.party
Axe Shell
« on: March 05, 2011, 02:14:39 pm »
Hello,

As some of you might have noticed, I am working on a shell in Axe. I am now playing a bit with memkit to get some experience, and I wrote a little program to list programs on your calc, it is attached.

My questions and updates will go here.

I have already one question:
How can you run DCS, MOS and Ion programs in an Axe program, or isn't this possible?
(That would be too bad)

Oh, and do you maybe know a possible name for this? I am not really good at thinking names :P

VVVVV the attachment MEMEMEME is the source (yea, the name is a bit weird) VVVVVVV
« Last Edit: March 05, 2011, 02:21:07 pm by aeTIos »
I'm not a nerd but I pretend:

Offline yunhua98

  • You won't this read sentence right.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2718
  • Rating: +214/-12
  • Go take a dive in the River Lethe.
    • View Profile
Re: Axe Shell
« Reply #1 on: March 05, 2011, 02:28:06 pm »
This came form the name thread, but no one's using it: Axecute?

Spoiler For =====My Projects=====:
Minor setback due to code messing up.  On hold for Contest.
<hr>
On hold for Contest.


Spoiler For ===Staff Memberships===:






Have you seen any good news-worthy programs/events?  If so, PM me with an article to be included in the next issue of CGPN!
The Game is only a demo, the code that allows one to win hasn't been done.
To paraphrase Oedipus, Hamlet, Lear, and all those guys, "I wish I had known this some time ago."
Signature Last Updated: 12/26/11
<hr>

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3913
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Shell
« Reply #2 on: March 05, 2011, 02:28:49 pm »
Hm, yea, that would be a nice name...
« Last Edit: March 05, 2011, 02:29:01 pm by aeTIos »
I'm not a nerd but I pretend:

Offline Compynerd255

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +53/-4
  • Betafreak Games
    • View Profile
    • Betafreak Games
Re: Axe Shell
« Reply #3 on: March 05, 2011, 02:29:01 pm »
You can't easily run DCS, MOS, and Ion programs in Axe. Basically what you need to do is put their respective libraries in the same locations as they are in the official shell (download the DoorsCS SDK to see the locations and code). Either that, or make the program a "shell within a shell" (mandate that it must be run in the highest shell possible). After adding the libraries, you need to know how to recognize the headers of the programs.

Here are a few names: CalcWare, AxeCS, AxeOS, aeTIosOS, AxeShell
I'm not good at thinking of names either.
The Slime: On Hold, preparing to add dynamic tiles

Axe Eitrix: DONE

Betafreak Games: Fun filled games for XBox and PC. Check it out at http://www.betafreak.com



Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3913
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Shell
« Reply #4 on: March 05, 2011, 02:30:20 pm »
If there are enough, I'll start a poll to get the name you like most.
Maybe I'm going to make my own header for it too ;D
« Last Edit: March 05, 2011, 02:31:29 pm by aeTIos »
I'm not a nerd but I pretend:

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Axe Shell
« Reply #5 on: March 05, 2011, 02:31:06 pm »
aeTIOS?  ;)

I like Axecute myself.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3913
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Shell
« Reply #6 on: March 05, 2011, 02:33:10 pm »
Me too, it sounds like "cute" , "execute" and "Axe". 3 nice things!
I'm not a nerd but I pretend:

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Axe Shell
« Reply #7 on: March 05, 2011, 05:10:39 pm »
It also reminds me of the pokemon eggsecute.

Yeah, you can't easily make a shell in Axe due to those issues with MOS/DCS/Ion incompatibility...

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: Axe Shell
« Reply #8 on: March 05, 2011, 05:13:32 pm »
Are you going to include the libraries eventually? Otherwise you wouldn't be able to run anything other than normal BASIC and nostub ASM prgms, unless you chain with existing shells...

Anyway, I like Axecute too ;D




Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: Axe Shell
« Reply #9 on: March 05, 2011, 08:31:23 pm »
Well, you could make an Axe-Only shell, that just does nostub, or perhaps a header-remover that gets rids of the parts that make it DCS, MOS or Ion. Not sure how hard that second bit is tho, depends on how they do it :P

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: Axe Shell
« Reply #10 on: March 05, 2011, 09:02:11 pm »
This sounds neat.  I really like the name "Axecute." ;D  Good luck. :D

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Axe Shell
« Reply #11 on: March 05, 2011, 10:40:57 pm »
When I saw this thread I was first thinking of something else. I was thinking of a shell designed for Axe programs. Think of it like this. The Axe language contains many useful functions such as DispGraphr, multiply, divide, bitmaps, sound, and other stuff that I'm not familiar with yet. What if the Axe compiler instead of writing the asm function of DispGraphr it would just write call DispGraphr (DispGraphr would be the address in the shell). Then inside the shell would be the Axe sub-routines that the program would call. This would be just like how all other shells contain their own libraries that programs can access, but instead these would be Axe libraries. Thereby decreasing the size of every program.

I'm not that good with names. This isn't like the nspire where you can just put an N in front of everything. nAXE  :P

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
Re: Axe Shell
« Reply #12 on: March 05, 2011, 11:05:16 pm »
z80man: then that would defeat the point of Axe, which is to make a standalone program without a need for a big app. ;)
Besides, that has been done with MirageOS and Ion, in which both have built-in routines that can be called by the running prgm. What IS a possible idea is to get Axe to replace the internal routine with a call to the routine in the shell, which could reduce size for certain shells (specifically, MOS and DCS, since MOS covers quite a bit of the bases, and DCS covers both MOS and Ion).
=============================================
This is a very interesting project - in fact, I'm working on a Axe CS too! ;)
I'm working on the low level drawing side of things right now - basically, prepping for the GUI stuff.
(Workflow for me is Drawing => Prgm Listing (and reading possibly) => GUI => Prgm Execution)
For you though, it looks like prgm listing is done for you! ;)
It won't have "Axe" inside the name, but "Axe" will be mentioned in the about and the README of the program. :)
(It's not really focusing on "Axe", it's focusing on smallness, hence the special name I won't mention. ;))

If you are planning for MOS/DCS/Ion support (in which I highly recommend), you get to join me on an interesting journey! ;)
It seems easy enough to simply read the header to determine type, jump past it, and execute from there. That's all, right?
Not quite, as I've learned from looking at a DCS wiki entry on the SDK.
Apparently, the program also can access the shell's routines too!
It would involve implementing the routine, and then messing around with code (or at runtime)
to place the routine in the right position for MOS/DCS/Ion, and then executing the program so that it can access it.
The routines in question are NOT something you'd want to omit: http://dcs.cemetech.net/index.php?title=SDK
Remember that not everything is an Axe program - that is, not all programs bundle in internal routines.
(For instance, DispGraph in Axe compiles to a call to included code inside the program, which is Ion's FastCopy.)
Therefore, it's a must to implement these guys! :)
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3913
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Shell
« Reply #13 on: March 06, 2011, 09:12:27 am »
Well, you could make an Axe-Only shell, that just does nostub, or perhaps a header-remover that gets rids of the parts that make it DCS, MOS or Ion. Not sure how hard that second bit is tho, depends on how they do it :P
Ion can be run from the homescreen, and if you change BB6DAAC9 in the DCS header to BB6DAA00, it can too.

BTW, AxeCute is the name for it. I decided.

I also try to create addons like a grapher, word processor and moar.
« Last Edit: March 06, 2011, 09:17:04 am by aeTIos »
I'm not a nerd but I pretend:

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: Axe Shell
« Reply #14 on: March 06, 2011, 09:17:56 am »
Well, you could make an Axe-Only shell, that just does nostub, or perhaps a header-remover that gets rids of the parts that make it DCS, MOS or Ion. Not sure how hard that second bit is tho, depends on how they do it :P
Ion can be run from the homescreen, and if you change BB6DAAC9 in the DCS header to BB6DAA00, it can too.

There's a reason one form of the Ion header as well as the MirageOS and DoorsCS headers aren't compatible with Asm(. They use custom routines that are built into their respective shells, so simply changing the header may cause the program to run a routine that doesn't exist -- running arbitrary data that could be anything, in other words.