|
| | Terms of Agreement:
By using this article, you agree to the following terms...
1) You may use
this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
2) You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
3) You may link to this article from another website, but ONLY if it is not wrapped in a frame.
4) You will abide by any additional copyright restrictions which the author may have placed in the article or article's description. |
MAS (Master Assembly Script) Alpha Release and the LoSt Downloads
Mas
Heres what some Mas Source code Would look Like
Heres the Assembler, which assembles the source file into MAS bytecode
Heres the Runtime which proccesses the bytecodes
So wheres Jared Been ?
Hello PSC , I have been pretty busy latley. Working with WebRaiser, I have gained alot of experience
plus I have been having alot of fun at the same time. Time for me to get out, I spent so long programming alone in the house
I needed a break. The software we are designing is coming along really nice, and I am proud to say that I was a part of a
team which devloped such a cool product. Yeah but I anit forgot my PSC, I still got alot of code
up my sleves , and this is just a little taste for you all until I return;
What is MAS
Well Mas is basicly a language, which is currently in devlopment. I thought up all the ways for
which it will operate, as well as came up with all the bytecodes and how they are proccessed.
The assembler (masasm) is written in the C Programming language, while the current runtime
is written in the C++ programming language. I say this project is about 30% done, and is
still in the very alpha stage. I think in a few more months it might be ready to do some
stuff.
Features of Mas
Mas in essence is more of a asbstract way to write code, in the same way the Java programming language is.
Applications written in MAS can stay within its bytecode form, or be translated into other forms of code
specificly Java, C, C++, and possibly x86 assembly. I am working on all the different algorithms
to translate the bytecode into the different languages, for the other compilers to proccess. In this article
I will have a example of one of these applictions ( the mas bytecode to Java ). Once again this project is still in production!
Mas is almost like a mix between Object Oriented Concepts of C++, with a mix of old school style Assembly programming. The Logic is the same, as assembly with code labels, logical compares with the cmp instruction, and jumps which base themselves off the flags register. However, there are no registers, instead the instructions can directly operate on the variables in there memory addresses. So while it looks kind similar to assembly, in reality its very different. Rather then just memorizing all the instructions, you create your own mnemoics and instruction opcodes to expand the language, and create your own custom interpreator. The language is strongly typed, however variables can be typecasted. MAS is not case sensitive. The bytecode, I choose to work less like how actual machine language works, and fit it towards a more Flexible bytecode with no limit on the size of the instruction opcode or the operands. Another feature mas provides is for objects a new type of constructor-deconstructor block, I call in-out code block,
goes a lil somethin like this:
object Jared {
// constructor
begin {
}
// deconstructor
end {
}
}
hehe yeah there was a little pascal influence.. not much though.
What it will be used for, and what I am working on incorperating
Mas will be used for me mostly to do a few things, create a cool bytecode
with a interp to plug into Vulcan and I's new game engine, and possibly play around with
writing my own language. I Love the constructs of how languages work, and looking
for new ways to solve problems. To me it is practice, and I think that the more I try
the better ill get. A simple effort of small steps, to reach my goal.
Features I am currently incorperating
Inheritnace, Multiple Inheritance, Inheritance of compiled objects, Loop logic, and logical compares with the flags registers
Ability to create your own runtime and bytecode messages, so you can
create your own instructions to plug into whatever type of application you want
can anyone say array of function pointers? :)
and most of all its just for fun and open source
So how long until its done ?
I say give me about a few months or so since I have to work, and do a whole lot of other stuff....
Downloads
Mas System Devlopment Kit
This zip contains the compiled assembler, demo interperator, and some example source codes
as well as compiled bytecodes for the interp to run. Reminder functionality is still fairly limited!
since this is in VERY early stages of production.
Download Mas System Devlopment Kit
MasAsm Assembler Source
This zip contains the assmeblers source code. This translates the masasm, into the bytecode.
It is written in the C programming language
Download MasAsm Assembler Source
MasInterp Source
This zip contains the source for the interp/runtime. It proccesses the bytecodes. (like the Java Virtual Machine)
It is written in the C++ programming language
Download MasInterp Source
Mas to Java Source
This zip contains the source for algorithm, which will translate the bytecode into Java. Notice it is still extermly alpha
It is written in the C programming language
Download Mas to Java Source
Also look out for my new C++ preproccescor I call M++. It gives you the ability to create pure OO applications
but if you want, stil retain backwards compatiblity with all of C++.
Now for the lost downloads
As well all know last month the C++ section 'accidently' lost all of the code. So my games and such were lost. So I am going to repost
links to the articles I have on my server. However much cool code was lost, and so was my game I worked really really hard on ;[.
File Lump Utility
This is part of the new MasterX SDK. It lets you takes files and press them into one. So say you want all your graphics and sounds
in one file, and then when the game runs it extracts them uses them, and then deletes them. This gives you a GUI
to make the Lumped files. It is written in the C programming language
Download File Lump Source
MasterX SDK 1.9.2
The MasterX SDK 1.9.2 is a Devlopment Kit for creating 2D video games. The newest version, allows the proccessing of lumped files. As well as includes a mp3 player, and a whole lot more.
Download the MasterX SDK 1.9.2 Example
Download just the MasterX SDK 1.9.2
MasterPeice (spelled wrong on purpose) comeon "we dont need no education "
MasterPeice Features
Code Features
Classes, Nested classes, inheritance,
polymorphisim, binary file manipulation, Matrix's, Bubble Sort , Scrolling
Credits, and more!.
Game Features
High Scores menu, Animations, Sounds, multiple difficulty modes and
more!
About
I used to love this game for atari. Its extermly addicting game even
in its simplicity. How it works is simliar to tetris, you have these
blocks coming down from the sky, and by using the controls, you can
toggle the colors of the blocks (a and s key). You have to line up 3
blocks of the same color from left to right,top to bottom, or diagnoal.
As you destroy more lines, the speed increases. Note: Difficiutly can
be changed.
News
Latley Vulcan Lord and I have been working on a application that we
have kept kind of secert. For those of you who download my code alot,
this will be very cool. =) I also got a job designing software localy
Downloads
Download MasterPeice for Windows 2000
Click here
to Download just the Game
Click here
to Download the game and the source
Controls
Move left - Left Arrow Key
Move Right - Right Arrow Key
Move Down - Down Arrow Key
Return - Enter Key
Toggle Color 1 - A key Toggle Color 2 - S key
Featured Screen Shots
/***************************** www.lostsidedead.com
**********/
| | Other 278 submission(s) by this author
| | | Report Bad Submission | | | Your Vote! |
See Voting Log | | Other User Comments | 7/11/2001 2:05:13 PM:Steve Mack I don't know how you do it =) Keep up
the great work!
| 7/11/2001 5:15:27 PM::) holy sh*t thats some crazy code
| 7/13/2001 6:05:42 PM:3D Gamer What gave you the ideas to create all
this stuff?
| 7/13/2001 7:36:11 PM:Jared Bruni I just keep trying. Practice is the key
| 7/16/2001 1:23:57 AM:Vulcan Rock on its finally been released!
MAS
kicks <expletive deleted>!!!
just wait
till the ever secret project...
| 7/22/2001 12:11:38 PM:Verburgh Peter This is very nice code !!
i'm a VB
programmer & put also my source here,
but now i learning C/C++
and as i see
your code..
this is more than 5 globes
worth !
i give you the 5 globes
!!
(sorry can't give more :))
| 7/22/2001 11:44:34 PM:Jared Bruni Thank you for the positive feedback. I
try my very best to provide you all
with quality open source code to learn
from. :) programming to me is like
playing nintendo
| 7/23/2001 12:18:20 AM:Bo WOW that it some crazy sh*t man....
nice!!!
| 7/23/2001 7:45:08 PM:Rhiannon I dont understand how you have time to
write all this stuff. Do you live in a
cave?
| 7/25/2001 1:13:49 AM:Jared Bruni Hahah yes, I live under the sea with
Ktulu
| 7/31/2001 9:37:10 AM:Xeo Sweet sh*t bro. I'd like to talk to you
somehow, email me back hzu@aol.com ...
| 7/31/2001 9:37:54 AM:Xeo btw, nice hair! :)
| 7/31/2001 10:18:21 AM:Roland Snijder Still do you think practice is
enough?
I mean to make stuff like this
I probably need a better mind
too:)
Anyway great work again Jared!
| 7/31/2001 4:39:42 PM:Jared Bruni Thank you all for the wonderful
comments. I love my hair to :) you can
reach me via aol through the screen
name; Master322 or through aim on
xmasterxx3
| 7/31/2001 4:42:32 PM:Jared Bruni I believe that you can obtain any
level you desire if you just stick your
mind to it. Practice as well as having
a good open mind as positive attitude I
believe to be very key ingredents in
success. I didnt start writing software
like this after a few months of study,
I have been practicing for years. The
same must be applied from you. I think
ANYONE has it in them to be a great
programmmer , its just do they really
want to? If you ask me, the price you
pay for your time invested is well
worth it. It is very satisifying to see
your dreams become reality.
| 8/4/2001 5:11:57 PM:Jared Bruni hehe also added escape character
sequence, so you can just go \n \r etc
| 8/4/2001 5:12:50 PM:Jared Bruni im thinking the next beta will have
most of the OO stuff built in, all the
loop logic, the virtual stack, and alot
of other nifty features im coming up
with. Look for that soon
| 8/4/2001 6:34:34 PM:Jared Bruni I am also working on adding different
levels of access (ie: private, public ,
protected) as well as giving each block
the ability to have its own scope of
variables. (rather then asm style, with
just a data segment)
| 8/28/2001 3:12:32 PM:Jared Bruni "MasterPeace"
| 5/14/2002 6:01:49 AM:VeryImpressed Dear jared ,
do you plan on making a
virtual machine for your new language
to make it platform independent much
like java but a heck of alot faster.if
so then email at
Ezechias.Emmanuel@web.de
thank,you.
p.s.
keep up the good
work
| 7/24/2002 3:55:24 PM:cJ! awsome!!!!!!!!!!!!!!!!!!!!!!!
im
making a scrit laugage
how do you make
a print command
if ya know e-mail me
how
thanx in advanse
do you know how
| | Add Your Feedback! | Note:Not only will your feedback be posted, but an email will be sent to the code's author in your name.
NOTICE: The author of this article has been kind enough to share it with you. If you have a criticism, please state it politely or it will be deleted.
For feedback not related to this particular article, please click here. | | |