Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
24 May, 2013, 07:49:55 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: [1] 2 3 4   Go Down
  Print  
Author Topic: Axe Terminal Beta Released -  (Read 3368 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
SirCmpwn
Guest
« on: 09 January, 2011, 05:20:58 »
+6

Terminal v0.1b


I've just put the finishing touches on the beta of this.  I've gotten the shell support working - you can now create your own programs that use the Terminal routines, and have them execute within the shell.  You can perform I/O from the command line to provide a similar user experience to those using Windows or Linux within your own programs.  I've also added a few other methods - Index Programs, Compare Strings, Starts With, and a few more.  You can read all about it in the readme (which you should definately read if you are going to develop for Terminal).  I've also included a demo program that you can run from within Terminal that uses the command line capabilities of Terminal.

This is also the first shell that supports both assembly and Axe, meaning that not only can assembly programmers access the routines, it also has support for developers to use it with Axe without any additional code modifications.  I will eventually create an include file for assembly programmers, but all the details that are needed to use asm with Terminal are provided in the readme.  As for Axe, prgmTERMINC provides all the functionality you need to use Terminal, and easily.

I've included a demo program for Axe developers.  I welcome any and all feedback, feature requests, or questions.  Enjoy, and let's see some cool programs!

(Download)

* Terminal_v0.1b.zip (5.94 KB - downloaded 89 times.)

* terminalv01b.gif (48.74 KB, 192x128 - viewed 7256 times.)
« Last Edit: 09 January, 2011, 07:12:46 by SirCmpwn » Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #1 on: 09 January, 2011, 05:55:20 »
0

Amazing Cheesy
Here is an idea, how about adding the ability to pass arguments to a program, and allow programs to call other programs? maybe just call them at the end or something, and pass arguments to that called program?
Logged

SirCmpwn
Guest
« Reply #2 on: 09 January, 2011, 05:56:26 »
0

Well, for loading arguments, I'll put them in L1 on startup.  For calling other programs, that shouldn't be too hard, but it could get crowded in RAM.
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #3 on: 09 January, 2011, 05:58:09 »
0

thought you'd do something like that Smiley
Are you going to do it the same way that C/C++ does it (argc argv)? Or store it in a different way?
Yeah it could get crowded, that's why I said possibly just running them right after instead
Logged

SirCmpwn
Guest
« Reply #4 on: 09 January, 2011, 05:59:26 »
0

I think that it should be okay, so long as I change the way that archived programs are run.  As for C/C++, probably not.  I'll just put a zero delimited list of strings in L1 (SaveSScreen for assembly), ended with double zeros.
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #5 on: 09 January, 2011, 06:02:11 »
0

Ah ok, sounds good. Maybe you could add a number at the start designating how many arguements are being passed kind of like argc? Then again, that might make it harder to figure out things.
Can't wait to see this implemented Smiley
Logged

SirCmpwn
Guest
« Reply #6 on: 09 January, 2011, 06:03:28 »
0

I could do that.  So for arguments, I'll set it up at SaveSScreen (L1) like so (":" used for readability, not actually present in the program):
2:-A:0:-B:0:0
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #7 on: 09 January, 2011, 06:04:10 »
0

Hmm, that could work Smiley
Logged

SirCmpwn
Guest
« Reply #8 on: 09 January, 2011, 06:06:04 »
0

Will do Smiley for now, L1/SaveSScreen contains the command last used before starting your program "EXEC PRGMNAME".  I will also eventually add a Parse routine, which programs can use to parse a string as if it was entered into the command line.
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #9 on: 09 January, 2011, 06:14:21 »
0

Sounds good Smiley

http://eeems.pastebin.com/EfZGqnpc
^ z80 include file for developers
« Last Edit: 09 January, 2011, 06:19:03 by Eeems » Logged

SirCmpwn
Guest
« Reply #10 on: 09 January, 2011, 06:21:15 »
0

Thanks Eeems, I'll add that to the next beta, along with a ZDS version.
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #11 on: 09 January, 2011, 06:32:26 »
0

Sweet Smiley


1
2
3
4
5
6
7
8
9
10
.NOLIST
#INCLUDE "Terminal.inc"
.LIST
.org $9d93
.db $BB,$6D
call RestorePage
COUT(Hello)
SafeExit
Hello:
.db "Hello World!",0

EDIT: New Include file http://eeems.pastebin.com/htk4WmS8
« Last Edit: 09 January, 2011, 06:45:47 by Eeems » Logged

SirCmpwn
Guest
« Reply #12 on: 09 January, 2011, 06:50:38 »
0

Very nice!  Glad to see asm support works out well.
Also, I've moved this to News.
Logged
Eeems
THE GAME
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 06:40:06
Date Registered: 14 March, 2009, 03:32:57
Location: Edmonton, Alberta
Posts: 5077


Total Post Ratings: +230

View Profile WWW
« Reply #13 on: 09 January, 2011, 06:57:25 »
0

Smiley Me too!
I think this is news worthy Tongue

Ok, a few command/function requests:
  • Command Alias's
    • Quit
      • Exit
      • Bye
    • LS
      • Dir (for windows people)
  • Commands
    • CP (copy a file to the new name)
    • UGrp (ungroup a backup)
    • LG (list groups)
  • Functions
    • Call (calls a program from within another)
    • Write (write a string of data into a program/appvar)
    • Read (gets the pointer to a program/appvar's data in hl and puts the size in bc
    • IMG (pretty much iputsprite)
    • Update (iSafeCopy)
« Last Edit: 09 January, 2011, 07:00:03 by Eeems » Logged

SirCmpwn
Guest
« Reply #14 on: 09 January, 2011, 07:01:05 »
0

list]
  • Command Alias's
    • Quit
      • Exit
      • Bye
    • LS
      • Dir (for windows people)
  • Commands
    • CP (copy a file to the new name)
    • UGrp (ungroup a backup)
    • LG (list groups)
  • Functions
    • Call (calls a program from within another)
    • Write (write a string of data into a program/appvar)
    • Read (gets the pointer to a program/appvar's data in hl and puts the size in bc
Alias's will be done.
CP and LG will be done, and LG-esque commands will be available for every data type (and have Index routines to go with).  UGrp will be saved for later, but will be possible.
As for functions, I'll add Call through the Parse routine, through which you can use "EXEC PRGMNAME" from within your program.  The rest of the functions are trivial in both Axe and Asm, so I'll leave them out.  Also, for IMG and Update, I'll have Ion compatability eventually.
« Last Edit: 09 January, 2011, 22:58:10 by SirCmpwn » Logged
Pages: [1] 2 3 4   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.255 seconds with 30 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.