Amiga.org

Amiga News and Community Announcements => Amiga News and Community Announcements => Amiga Software News => Topic started by: Mequa on January 31, 2012, 08:06:43 AM

Title: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on January 31, 2012, 08:06:43 AM
I present a new AMOS BASIC reimplementation:

(http://img252.imageshack.us/img252/9266/jamos.jpg)

Following on from my jAMAL project, this uses an interpreter based on my MequaScript (http://mac.softpedia.com/get/Utilities/MequaScript.shtml) project, and includes all the AMAL support found in jAMAL.
A subset of AMOS BASIC is already supported, albeit with simplified syntax at present.

Written in Java, and fully cross-platform, this is completely unrelated to previous AMOS implementations such as Alvyn Basic and Mattathias Basic.
Like jAMAL before it, this is fully open source with a permissive BSD-style license, and utilises the JGame engine.

jAMOS alpha 0.1 is now ready for public download:
Get it here (http://sourceforge.net/projects/javaamos)!
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: ChaosLord on January 31, 2012, 10:33:20 AM
Congrats. :)

Why not compile the AMOS source into Java Byte Code?

The resulting program would run much faster then, yes?
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: vox on January 31, 2012, 03:53:39 PM
Quote from: Mequa;678391
I present a new AMOS BASIC reimplementation:

(http://img252.imageshack.us/img252/9266/jamos.jpg)

Following on from my jAMAL project, this uses an interpreter based on my MequaScript (http://mac.softpedia.com/get/Utilities/MequaScript.shtml) project, and includes all the AMAL support found in jAMAL.
A subset of AMOS BASIC is already supported, albeit with simplified syntax at present.

Written in Java, and fully cross-platform, this is completely unrelated to previous AMOS implementations such as Alvyn Basic and Mattathias Basic.
Like jAMAL before it, this is fully open source with a permissive BSD-style license, and utilises the JGame engine.

jAMOS alpha 0.1 is now ready for public download:
Get it here (http://sourceforge.net/projects/javaamos)!


Nice, now we can run it everywhere except on Classic and AmigaNGs :-(

Hope some Java implementation will make it!
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mrs Beanbag on January 31, 2012, 04:42:45 PM
Hey!

I was thinking about writing AMOS 3 lately, I wonder if Francois Lionet would let me use the name... it'd be compatible with AMOS Pro programs, but also Object Oriented.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on January 31, 2012, 08:09:07 PM
I am in contact with François Lionet, he gave me permission to use the names AMOS and AMAL in my projects. I also obtained permission from Boris van Schooten to use the JGame engine (which wasn't strictly necessary as the license allows for my usage).

The MequaScript project I based this on (my own) has the beginnings of object orientation and multiple threads already, as well as support for C-style syntax in addition to BASIC, and support for changing the type of variables (as with Javascript).

I ported my MequaScript interpreter from C++ to Java which provides the AMOS interpretation, it is working in both languages. The C++ version could be compiled to run on AmigaOS 3.x and AROS 68k and x86 (which I may try), as well as AmigaOS 4.x and MorphOS (which I lack suitable hardware to attempt).

Then the AMAL interpreter could be ported from Java to C++, a suitable sprite engine and editor added, and (with a bit of work) this working without Java on Classic and NG Amigas.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on January 31, 2012, 08:16:35 PM
Quote from: ChaosLord;678400
Congrats. :)

Why not compile the AMOS source into Java Byte Code?

The resulting program would run much faster then, yes?

Probably not by much, but I have planned to implement compilation from the AMOS source into Java source, which will be compilable into Java Byte Code using javac. This is already largely working for AMAL and AMAL EnvGen scripts.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on January 31, 2012, 10:52:16 PM
Update: jAMOS 0.11 adds mouse and cursor keys (simulated joystick) input and corresponding examples.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on February 03, 2012, 01:48:36 AM
Update: jAMOS 0.12

A major milestone has been reached with the first fully playable game created with jAMOS, a simple Breakout clone "jAMOSOut", now added to the examples. Some more AMOS functions have been implemented too.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: trekiej on February 07, 2012, 05:47:35 PM
I used it a little bit and I like it.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on February 18, 2012, 02:58:17 AM
Update: jAMOS Alpha 0.13 (February 18th 2012)

- A text output console is now spawned on creation (for HelloWorld.jamos, etc.).
- Default example changed to jAMOSOut (original still available under AMAL examples).
- AMAL examples now default to the first AMAL program in the editor when opened (as with jAMAL).
- More examples were added demonstrating dynamic types, concurrent jAMOS programs and hybrid syntax.
- jAMAL's startup sound is playable from the menu alongside jAMOS's.
- Some minor bug-fixes.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on February 23, 2012, 04:41:24 AM
Update: Alpha 0.14 (February 23rd 2012)

- Can now load AMOS sprite banks (.abk) directly.
- Built-in sprite bank viewer now supports image zooming.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on February 27, 2012, 07:17:27 PM
Update:

Alpha 0.15 (February 25th 2012)
- Graphical drawing subsystem is now operational.
- Paste Bob implemented, including support for AMOS .abk files and two new examples.
- Plot implemented, with two new examples including a simple Mandelbrot generator.

Alpha 0.16 (February 27th 2012)
- Refactored AMOS command wrapper in the source code.
- Fixed some bugs with the graphical subsystem.
- Added more drawing commands and related examples.
- Split the jAMOS example menu.
- Random number generation is now operational in jAMOS code.
- Bob flipping now works with loaded .abk files and with Paste Bob
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on February 28, 2012, 10:39:39 PM
jAMOS Alpha 0.17 (February 28th 2012)

- Added many maths and string functions.
- Added early support for Rainbows (high-level emulated Amiga Copper effects).
- Rainbow and maths examples were added.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on March 21, 2012, 06:29:33 PM
Update: jAMOS alpha 0.18 (March 21st 2012)

- Basic support for procedures implemented. (To do: passing arguments, local/shared variables, global variable definitions, call without "Proc".)
- Some groundwork done for array support - implementation coming soon!
- AMOS Boom and Shoot sounds implemented (alongside Bell), and added to jAMOSOut and a new procedure example.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on March 25, 2012, 05:57:38 AM
Update: jAMOS alpha 0.19 (March 24th 2012)

- Can now return an argument from procedures using Param/Param#/Param$. An example was added under the Tutorial menu.
- Some groundwork done for passing arguments to procedures - implementation coming soon.
Title: Re: jAMOS - new AMOS BASIC reimplementation in Java
Post by: Mequa on March 28, 2012, 08:25:16 AM
Update: jAMOS alpha 0.20 (March 28th 2012)

- Can now pass arguments to procedures as well as return an argument (variable scoping and "call without Proc" still to do). The example was updated.
- Some bugfixes with number-to-string conversion. Type conversion is automatic unlike AMOS, so you can now do number+string as well as string+number.
Title: jAMOS alpha 0.21
Post by: Mequa on April 29, 2012, 08:51:59 PM
Update: jAMOS alpha 0.21 (April 29th 2012)

- Arrays are now implemented, including multi-dimensional support surpassing the AMOS original.
- An example was added using two-dimensional arrays for plotting to and from a buffer.
Title: jAMOS alpha 0.22
Post by: Mequa on May 11, 2012, 12:05:34 AM
Update: jAMOS alpha 0.22 (May 10th 2012)

- Various bug fixes and code refactoring.
- Now supports whitespace in expressions without hanging (bug fix); examples updated.
- Tidied up several examples.
- Back-port of the parser/interpreter core from Java to C++ almost completed, to be released soon as "MequaScript".
Title: jAMOS alpha 0.23
Post by: Mequa on May 24, 2012, 06:51:32 AM
Update: jAMOS alpha 0.23 (May 23rd 2012)

- Various more bug fixes and code refactoring.
- A new, non-AMAL Abk example was added with easier code to follow.
- jAMOS now has a sister project - XAMOS! Fully re-written runtime engine in C++ with SDL libraries, compatible with jAMOS projects.
Title: jAMOS alpha 0.24
Post by: Mequa on June 03, 2012, 04:10:24 PM
Update: jAMOS alpha 0.24 (June 3rd 2012)

- Various more bug fixes and code refactoring in line with XAMOS 0.24.
- Can now translate AMAL and AMAL EnvGen code into C++ as well as Java, in line with XAMOS's new AMAL support.