English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 10 December 2010, 05:17   #1
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
jAMAL - AMOS BASIC AMAL reimplementation in Java!

I am working on a total reimplementation of the AMOS Animation Language in Java.



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.

Last edited by Mequa; 02 August 2011 at 11:25.
Mequa is offline  
AdSense AdSense  
Old 10 December 2010, 14:09   #2
TCD
Registered User

TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 39
Posts: 24,032
Moved to News as requested by Mequa. Hope that gives him a bit of extra motivation
TCD is offline  
Old 10 December 2010, 14:26   #3
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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

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

Last edited by Mequa; 10 December 2010 at 15:03.
Mequa is offline  
Old 10 December 2010, 17:03   #4
gibs
Banned
 
Join Date: Jan 2010
Location: france
Posts: 932
Interesting !
gibs is offline  
Old 11 December 2010, 16:34   #5
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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!

Last edited by Mequa; 23 December 2010 at 04:20.
Mequa is offline  
Old 23 December 2010, 04:18   #6
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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.

Last edited by Mequa; 26 December 2010 at 20:46.
Mequa is offline  
Old 24 December 2010, 22:04   #7
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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!

Last edited by Mequa; 31 December 2010 at 21:06.
Mequa is offline  
Old 31 December 2010, 21:06   #8
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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!

Last edited by Mequa; 22 March 2011 at 03:48.
Mequa is offline  
Old 31 December 2010, 21:17   #9
kriz
Junior Member
kriz's Avatar
 
Join Date: Sep 2001
Location: No(R)Way
Age: 35
Posts: 2,353
Nice work !! Best wishes for 2011 !!
kriz is online now  
Old 01 January 2011, 23:15   #10
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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.

Last edited by Mequa; 02 January 2011 at 01:56.
Mequa is offline  
Old 28 February 2011, 11:28   #11
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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.

Last edited by Mequa; 05 March 2011 at 14:42.
Mequa is offline  
Old 22 March 2011, 03:46   #12
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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

Last edited by Mequa; 23 March 2011 at 22:59.
Mequa is offline  
Old 22 March 2011, 16:46   #13
LuMan
Amigan - an loving it!!
LuMan's Avatar
 
Join Date: Nov 2010
Location: Nottingham, UK
Age: 48
Posts: 518
Hi Mequa - This looks great. Good work 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!!
LuMan is offline  
Old 22 March 2011, 22:35   #14
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Cool

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

Last edited by Mequa; 23 March 2011 at 23:55.
Mequa is offline  
Old 23 March 2011, 22:55   #15
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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.

Last edited by Mequa; 23 July 2011 at 09:42.
Mequa is offline  
Old 28 March 2011, 20:57   #16
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
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 is offline  
Old 23 July 2011, 09:30   #17
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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

Last edited by Mequa; 23 July 2011 at 09:40.
Mequa is offline  
Old 24 July 2011, 22:44   #18
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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: [ Show youtube player ]

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

Last edited by Mequa; 25 July 2011 at 10:57. Reason: update
Mequa is offline  
Old 01 August 2011, 21:56   #19
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Smile 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 is offline  
Old 02 August 2011, 10:42   #20
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk 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/
Mequa is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga Juggler real-time reimplementation? Mequa Amiga scene 6 05 May 2016 09:46
AMOS sprite bank viewer in Java Mequa News 8 13 October 2014 17:22
AMOS or Blitz Basic 2 Dreedo Coders. General 42 23 September 2014 22:48
Manuals for GFA Basic and Hi-Soft Basic 2 ricky500 request.Apps 20 12 February 2013 22:06
jAMOS - new AMOS BASIC reimplementation in Java Mequa News 16 03 June 2012 17:58

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:38.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.27831 seconds with 12 queries