English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   News (https://eab.abime.net/forumdisplay.php?f=29)
-   -   jAMAL - AMOS BASIC AMAL reimplementation in Java! (https://eab.abime.net/showthread.php?t=56732)

Mequa 10 December 2010 04:17

jAMAL - AMOS BASIC AMAL reimplementation in Java!
 
1 Attachment(s)
I am working on a total reimplementation of the AMOS Animation Language in Java.

http://i638.photobucket.com/albums/u...g?t=1291955543

Thread on Amos Factory - Update: This has now moved.

I present my first public release - jAMAL alpha demo 0.1.
Runnable JAR and readme files enclosed in the attached zip file.

This is still somewhat buggy, but as a proof of concept this alpha works well.
I'll likely improve and debug it over the Christmas break.

In the meanwhile, I've already sent this demo to François Lionet.

Enjoy! ;)

Edit: Now updated below.

TCD 10 December 2010 13:09

Moved to News as requested by Mequa. Hope that gives him a bit of extra motivation ;)

Mequa 10 December 2010 13:26

I wrote an AMAL interpreter in Clickteam's Jamagic from 2002-2003. (Clickteam was co-founded by François Lionet of AMOS fame.)
I demoed it as part of my "Project Myqu" at the Clickteam convention in Hemel Hempstead in 2003 (details), which was an attempt at an AMOS to Jamagic source translator. This died with Jamagic. François liked it though!

My original AMAL interpreter was a bit more complete than this alpha, which I recently rewrote in Java from my Jamagic source base. (Much of it was originally written in AMOS itself and converted to Jamagic with "Myqu"!)

The shift in languages (to Java) let a few bugs in, which I'd like to eradicate. The sprite engine wrapper (using JGame) will also need a rewrite to match the sophistication of my Jamagic original.

When it's fully working, I'll release the source under a permissive BSD-style license, for the Amiga community to exploit as they wish (so long as my work is credited). ;)


Now all we need is Java support under AROS :D

Unless I rewrite the whole thing (jAMAL) in C++ (maybe some day - would be easier than going from Jamagic to Java).


P.S. I just found this old heated discussion concerning my very own Project Myqu. Oh boy! I guess converting Amiga software to PC is offensive to some :D

gibs 10 December 2010 16:03

Interesting !

Mequa 11 December 2010 15:34

Update: jAMAL alpha demo release 0.1.1

Changes from alpha demo 0.1
- More examples added, and added more comments. Should be much easier for beginners now!
- Pausing improved. "Run" and "Pause" now both function as "Unpause".
- Will now officially translate AMAL to Java! (early alpha stage, not yet buildable)

P.S. François thought this was quite fun! :)

Mequa 23 December 2010 03:18

jAMAL alpha 0.2
 
Update: jAMAL alpha 0.2

Changes from alpha demo 0.1.1
- Fixed a major concurrency bug. All examples now load first time now.
- Improved the examples and added two "bouncy ball" demos.
- Can now save and load external files in ASCII format. [EAB Edit: Uses OS-native file requester.]
- PLay is now lexed correctly (movement banks not yet implemented).
- You can now strip your code. Oh là là!
- Added the ability to view all your programs in standard or stripped mode.

Mequa 24 December 2010 21:04

jAMAL alpha 0.3
 
Update: jAMAL alpha 0.3

Changes from alpha 0.2
- AMAL to Java machine-translated source code is now DIRECTLY BUILDABLE WITHOUT MODIFICATION!
AMAL scripts can now run either interpreted, or translated directly into Java and built.
(Requires full jAMAL source [with JGame] and Java SDK to build your own - former coming soon!)
- Can now export .java files which contain a complete buildable Java class (using OS-native endlines).
- A fully translated-to-Java and working non-interpreted AMAL example has been integrated into the editor.

Happy holidays! :D

Mequa 31 December 2010 20:06

jAMAL alpha 0.4
 
Changes from alpha 0.3:

- Now uses a higher resolution game window (640x512) and more sprite images.
- Sprites are now fully V-reversible as well as H-reversible.
- 90 degree rotation is possible for the pacman sprite (now also stored in rotated form).
- Some Amiga-style "boing ball" and "checkmark" sprites (and the jAMAL logo) were added to the examples.

Happy 2011! :D

kriz 31 December 2010 20:17

Nice work !! Best wishes for 2011 !!

Mequa 01 January 2011 22:15

As an aside: The public domain NASA nebula background is now treated as a JGame sprite.

This will make it pretty easy to add Amiga-style screen scrolling effects, as well as tying Bobs (high-level emulated Blitter Objects) to a screen while it is scrolled around. :)

P.S. I'll likely add (Java Swing-based) 'tabbed' editing soon. I'll also keep the current drop-down menu for selecting the program from the bank. Eventually importable and exportable directly to/from AMOS .abk.

Mequa 28 February 2011 10:28

Update: No new versions since Dec 31st due to full-time commitments, however I have just released the source on SourceForge: https://sourceforge.net/projects/javaamal/

I'll look at making it easier to build and setting up a Subversion tree, but for now the (somewhat horrendous) Java source for my AMAL reimplementation alpha is now available. ;)

Edit: The source zip archive in /src should now be importable into Eclipse IDE and buildable.

Mequa 22 March 2011 02:46

jAMAL alpha 0.41 and source release
 
jAMAL source release:

Alpha 0.4 was the first source release on SourceForge. BSD Licence pending.
- jAMAL_src.zip is now importable into Eclipse IDE under "Existing Projects into Workspace".
- It should now be buildable out of the box. (JGame libraries are in 'jgame' directory.)
- It should also build out of the box with AmalPrograms.java replaced with a jAMAL-exported Java file. Enjoy!

jAMAL alpha 0.41:

Changes from alpha 0.4
- Tidied up and refactored the Java source. It's now tidier and produces a smaller JAR file.
- Now launches JAMAL.java in jAMAL/src/jamal/ (instead of MyGame.java in jgame-sample/src/mygame/)

Attached version includes runnable JAR file, documentation and full source archive.
This and further updates will be available from http://sourceforge.net/projects/javaamal/files/ (Edit: now working)

Mequa

LuMan 22 March 2011 15:46

Hi Mequa - This looks great. Good work :great I couldn't create any custom anims, is this something for a future release, or am I doing something wrong?

Keep up the good work!! :bowdown

Mequa 22 March 2011 21:35

The editor is still in an early state - I've yet to add functionality to add or delete a sprite/channel, but it is possible to modify the scripts. You can't yet cut and paste to/from external programs, and saving/loading is currently limited to the immediate location of the JAR file. If you select the Blank example, you can animate up to 5 sprites. (If it doesn't work, try restarting the JAR).

It doesn't yet support all of AMAL, but much of it already works. You can't yet add or import more sprite images, however the source is provided, so it's possible to play about with the resource files.

The spirit of this project is closer to AROS than UAE, or closer to ScummVM than DOSBox. Perhaps also comparable with Wine, although it is a much smaller and more obscure project than any of these. It's not a true emulator, but an interpreter with a high-level cross-platform reimplementation of a vintage API.
(It's also just within my current programming abilities. ;))

Complete guide to AMAL from the AMOS Pro manual

Mequa 23 March 2011 21:55

Update: jAMAL alpha 0.42
 
Changes from alpha 0.41 in alpha 0.42:

• Now supports AMAL functions with multiple arguments (=XScreen(1,2), =YScreen(1,2), =XHard(1,2), =YHard(1,2), =BobCol(1,2,3), =SpriteCol(1,2,3)). Collision detection and multiple screen support is not yet implemented.
• =Z function (for random numbers) no longer locks up when used without an argument (still needs more work).

I also include documentation in PDF format. As before, you can get these files over at SourceForge.
This upgrade fixes a major bug in the Lexer, which now allows for all AMAL functions and instructions to be parsed (=Z without brackets is still to do).
Stay tuned for a working example or three at a later date, once I implement multiple screen support and collision detection. :cool

Mequa 28 March 2011 19:57

Update
 
I'm currently working on extending this project by reimplementing the AMAL Environment Editor, which will make it somewhat more powerful.

This was basically a sub-sub-language of AMOS included in François Lionet's original AMAL Editor, and incorporated into the AMAL bank .abk file format. The syntax of the Environment Generator is a very stripped-down version of AMOS BASIC itself, used for initialising the environment for the animation scripts.

Currently the syntax parser for the Environment Editor is almost complete, and will be integrated into the editor very soon. Complete functionality however will take some time - I'll need to wrap more high-level Amiga emulation (such as multiple screens, bobs, sprite, rainbows) round the current sprite engine.

Mequa

Mequa 23 July 2011 08:30

jAMAL alpha 0.50
 
Update: jAMAL alpha 0.50 (July 23rd 2011)

After 4 months of development, a new build of jAMAL is ready for release.

Changes in jAMAL alpha 0.50:
• The AMAL Environment Generator has been reimplemented. This is based on a subset of AMOS BASIC itself.
• Can now load a background image from a file (or resource).
• Can now load sprite images from a folder or directory (disk or resource).
• The AMAL-to-Java Compiler has been greatly optimised (still needs more work though).
• A new background was added (from Photos8.com).
• Can now create a new project, and create a new AMAL channel and program.
• Added support for screen dragging and scrolling effects using Screen Display and Screen Offset in the Environment Generator. These can now be allocated to AMAL channels to allow AMAL scripts to control the screen directly. Some new examples were included.

Runnable JAR, documentation and source are downloadable from jAMAL's SourceForge page:
http://sourceforge.net/projects/javaamal/

Mequa

Mequa 24 July 2011 21:44

jAMAL mirror
 
Minor update: jAMAL alpha 0.51:
• Bug fix: The playfield is now correctly reset after using Screen Offset (screen scrolling demo) on loading a new example or program.


As well as on SourceForge, jAMAL alpha 0.51 is now downloadable from:

http://mequa.dragotech.net/jamal/jAMAL.jar (executable)
http://mequa.dragotech.net/jamal/jAMAL.pdf (documentation)
http://mequa.dragotech.net/jamal/jAMAL_src.zip (source)

UPDATE: jAMAL YouTube video

P.S. This now includes AbkViewer integrated into the jAMAL editor.
(Support for using original AMOS ABK sprites with animation scripts is planned.)

UPDATE: This has now been featured on Softpedia: http://mac.softpedia.com/get/Utilities/jAMAL.shtml

Mequa 01 August 2011 20:56

Featured again
 
Update: jAMAL alpha 0.51 has now been featured a second time on Softpedia, under free development tools for Windows.
More Softpedia screenshots are included:

http://www.softpedia.com/get/Program...ns-jAMAL.shtml

Mequa 02 August 2011 09:42

Update: jAMAL alpha 0.52
 
Update: jAMAL alpha 0.52

Changes from alpha 0.51 in alpha 0.52
• Added Bell command to Environment Generator (with AMOSPro bell sound)
• Enhanced the quality of the scrolling example background
• Added digital speech on startup, stripping and translating code
• Added a new game control example – Shoot.amal

http://mequa.dragotech.net/jamal/jAMAL.jar (executable)
http://mequa.dragotech.net/jamal/jAMAL.pdf (documentation)
http://mequa.dragotech.net/jamal/jAMAL_src.zip (source)

Also available at: http://sourceforge.net/projects/javaamal/files/


All times are GMT +2. The time now is 09:52.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.11978 seconds with 11 queries