English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 23 May 2012, 17:29   #1
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk XAMOS - new cross-platform rewrite of jAMOS

I present my very latest AMOS BASIC reimplementation.



XAMOS (Cross-AMOS) is a complete re-write of jAMOS in C++ using SDL libraries and Boost headers.
The initial release is alpha 0.23, based on the corresponding jAMOS version number.

This initial release is run-only and does not feature an editor at this stage. However, it is compatible with almost all programs created with the latest jAMOS editor. All jAMOS examples (without AMAL) are running in XAMOS, often with a serious speed boost over the Java original, particularly on low-end platforms.

AMAL is not yet implemented at this stage, although some groundwork has been done and this is planned for a later release. The planned AMAL subsystem for XAMOS will be called XAMAL.


Binaries are provided for Win32 (tested on Windows XP, Windows 7 and Windows 8 Consumer Preview) and Linux x86 and x64 (tested on Ubuntu 12.10). Both archives contain batch files for the relevant system for launching the included examples.

Enjoy the latest AMOS BASIC reimplementation.

Get it here!


Update: 64-bit Linux binaries are now available.

Last edited by Mequa; 14 December 2012 at 10:20.
Mequa is offline  
Old 24 May 2012, 13:05   #2
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Any plan for an OSX version?
kamelito is offline  
Old 24 May 2012, 13:18   #3
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Quote:
Originally Posted by kamelito View Post
Any plan for an OSX version?
It shouldn't be too difficult to build for OS X, once the SDK and needed libraries/headers are installed. Use the non-Windows Makefile to build. I don't have access to a Mac at present though, so can't release my own binaries at present. If anyone with experience compiling on Macs wants to have a go trying to build it on OS X, and sharing the resulting binaries/errors, post the results here.

This could eventually be ported to NG Amigas such as OS4, MorphOS and AROS. At present I've had some strange bugs on such platforms which need to be ironed out first. They have support for SDL, so it's certainly feasible. (I might need to remove the dependency on Boost headers beforehand though, I'm just using it for a couple of hash tables at present to speed up development.)

The Win32 (MinGW) version, as well as working well on XP, Windows 7 and Windows 8 Consumer Preview, has been confirmed working just fine on good old Windows 98 SE too, and even mostly working on the original Windows 95.
Mequa is offline  
Old 25 May 2012, 07:53   #4
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
BTW, I'm off to have heart surgery today - I planned my initial release of this project to before the procedure. It was already ahead of schedule so I released it Wednesday. Hopefully things will go well and I'll be continuing this project soon.
Mequa is offline  
Old 25 May 2012, 08:38   #5
Etze
A3000-Fan
 
Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 321
Get well soon!!!
Etze is offline  
Old 31 May 2012, 04:46   #6
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Quote:
Originally Posted by Etze View Post
Get well soon!!!
Am recovering well thank you, and have been working on porting the AMAL subsystem from Java to C++. Almost all code is ported, however it still requires some major debugging to work in C++.

The AMAL Environment Generator (from AMOS's AMAL Editor) is already mostly working. This was included for legacy reasons in jAMOS and XAMOS as it forms a part of AMOS AMAL .abk banks (not yet directly supported), and was first introduced in jAMAL.

The XAMOS parser/interpreter however has already surpassed the Java-based jAMOS one in some areas, such as support for hybrid C-style syntax and support for custom (static) datatypes, which are not yet fully operational in the Java version. The next release will feature an example of this.


I'll most likely release my work-in-progress soon, then focus on getting AMAL working. Then once I have the core XAMOS system up to speed with jAMOS (and also fix some bugs in jAMOS), I can look at working in three directions:


1) Expand both jAMOS and XAMOS to support AMOS-like features such as multiple Amiga-style screens, full rainbow support, screen resizing, screen cloning, and of course, collision detection. I'll dig up the Jamagic code for my old Project Myqu (2003) which could be helpful here...

2) Add a lightweight editor to XAMOS similar to the one found in jAMOS, including text console output. Perhaps a sprite bank viewer too.

3) Improve language support in both XAMOS and jAMOS, including syntax error checking, more AMOS-like syntax, and other core language features.
Mequa is offline  
Old 31 May 2012, 21:54   #7
Schlachtwerk
68k RULEZ
 
Schlachtwerk's Avatar
 
Join Date: Jul 2010
Location: Germany
Posts: 199
Why not a clone of the AmosPro Editor ?
Schlachtwerk is offline  
Old 31 May 2012, 22:06   #8
XDelusion
Alien Breeder
 
XDelusion's Avatar
 
Join Date: Mar 2011
Location: NW Ohio
Posts: 276
I would love to see this up and running on MorphOS, AROS, and OS 4 some day!
XDelusion is offline  
Old 31 May 2012, 22:46   #9
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Quote:
Originally Posted by Schlachtwerk View Post
Why not a clone of the AmosPro Editor ?
Quote:
Originally Posted by XDelusion View Post
I would love to see this up and running on MorphOS, AROS, and OS 4 some day!
That's one issue I have. Not many cross-platform GUI toolkits are compatible with the aforementioned trio.

I was thinking of using QT for the editor (to initially clone the current jAMOS editor then add improvements later), but that wouldn't work on NG Amigas, so they'd basically need a re-write of their own using MUI/Zune.


Oh and BTW, XDelusion, you're not the first. Calls for a NG Amiga port of XAMOS:
AROS Exec (AROS)
MorphZone (MorphOS)
Amigans.net (OS4)

Amiga Impact (French forum)


P.S. AMAL support in XAMOS is almost complete.

Last edited by Mequa; 01 June 2012 at 12:10.
Mequa is offline  
Old 03 June 2012, 16:38   #10
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Xamos 0.24

Update: XAMOS alpha 0.24:

- AMAL is now implemented in line with jAMOS 0.24, including AMAL Environment Generator. All AMAL examples from jAMOS are added and runnable in XAMOS.
- Can translate AMAL (and EnvGen) code into both C++ and Java.
- Much code refactoring and debugging.
- Removed default startup sound for run-only version (too irritating).
- A console-based launcher is added for launching all 40 included examples, along with a batch file.
Mequa is offline  
Old 03 June 2012, 22:50   #11
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Nice work to say the least, any plan to remove boost also to be more portable on platform not supporting it?
Kamel
kamelito is offline  
Old 03 June 2012, 23:48   #12
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Quote:
Originally Posted by kamelito View Post
Nice work to say the least, any plan to remove boost also to be more portable on platform not supporting it?
Sure, see this post on MorphZone about eventually removing Boost dependency for compatibility with NG Amigas (and other platforms). Currently it only uses Boost headers, no Boost libraries required.

SDL in XAMOS is implemented as a kind of wrapper too, so it shouldn't be too hard to use an alternative engine to SDL (given a rewrite of the graphical front-end) and make it a compiler option. This would most likely be required to build a version for ARM-based Windows RT tablets (using WinRT and Metro), or Windows 8's Metro (it works on Windows 8 desktop already), which don't support OpenGL and currently not SDL either. It should soon be possible to build a minimal (text-only) version without SDL, for easy debugging on more OS's.

Last edited by Mequa; 03 June 2012 at 23:57.
Mequa is offline  
Old 08 June 2012, 07:09   #13
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk Xamos 0.241

Update: XAMOS alpha 0.241:

- Removed the dependency on Boost (now available as a compiler option by editing the Makefile). Fallback to deprecated hash_map type is supported without Boost.
- Added the ability to build a minimal text-only build without SDL, for cross-platform testing (tested on AROS/x86 and MorphOS/PPC).
- Improved compatibility with 64-bit systems (e.g. Linux/x64).
Mequa is offline  
Old 08 June 2012, 14:52   #14
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Cool XAMOS on AROS

Update: XAMOS is now working on AROS!



An AROS x86 binary (and compatible Makefile for building from source) is now available from the SourceForge page.

Simply extract the contents of XAMOS_aros_x86.zip over the contents of XAMOS.zip.

This initial AROS build has a few small bugs, but is mostly working already. Sound has not yet been tested.
Mequa is offline  
Old 08 June 2012, 21:27   #15
Etze
A3000-Fan
 
Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 321
Great news. But am I right that there is no compiler von XAMOS?
Etze is offline  
Old 09 June 2012, 02:02   #16
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Cool XAMOS now on MorphOS

Quote:
Originally Posted by Etze View Post
Great news. But am I right that there is no compiler von XAMOS?
A compiler is planned - and I have a very cross-platform method in mind. Translate XAMOS (and AMAL) code into buildable C++ source and invoke G++. AMAL translation is almost working already.


P.S. XAMOS is now up and running on MorphOS 3.0 too.



Mequa is offline  
Old 11 June 2012, 23:11   #17
Schlachtwerk
68k RULEZ
 
Schlachtwerk's Avatar
 
Join Date: Jul 2010
Location: Germany
Posts: 199
Is a 68k Version possible ?
Schlachtwerk is offline  
Old 12 June 2012, 05:26   #18
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Quote:
Originally Posted by Schlachtwerk View Post
Is a 68k Version possible ?
With RTG, possibly. It will be slow though (even on a 68060@50MHz), unless you use JIT under UAE. The latest WinUAE should be able to get good performance though.

For vanilla OCS Amigas just use the original AMOSPro

I don't have a build environment set up for OS3.x (or AROS/68k) with Cybergraphics and SDL libraries, so I can't build a 68k version myself at the moment. Anyone is welcome to try though!

Same for an OS4 build. I'd like to know what Makefile configuration would be needed to build this for OS3/OS4, and any modifications to the source.
Mequa is offline  
Old 02 December 2012, 10:46   #19
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Amos Pro Source Code Available.

@Mequa, I hope that the release of the Amos Pro Source Code will help your project. http://www.pianetaamiga.it/downloads...ro_Sources.zip Regards Kamelito
kamelito is offline  
Old 03 December 2012, 07:14   #20
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Floppy disk AMOSPro sources

Quote:
Originally Posted by kamelito View Post
@Mequa, I hope that the release of the Amos Pro Source Code will help your project. http://www.pianetaamiga.it/downloads...ro_Sources.zip Regards Kamelito
The release of the AMOSPro sources is excellent news, do you know if the sources are complete?

Unfortunately these original sources aren't much use directly for the XAMOS project, as they are written in 68k assembler, are closely tied to and bang the Amiga hardware, and are not written in an expandable fashion.
XAMOS is written in C++ with SDL and OpenGL libraries (possibly other libraries instead in future), and is designed to be cross-platform and portable.

I see some folks over at AMOS Factory are considering updating AMOSPro from the original source. I strongly suspect that AMOSPro was not well written and will be extremely difficult to expand upon. Going by my emails with Francois, it may also be extremely difficult to get it to build. On modern hardware, an updated AMOSPro would only really be useful under emulation (and/or FPGA reimplementations).

The XAMOS project needs more developers if it is going to progress towards being a solid AMOSPro reimplementation for most modern platforms. Please contact me if you are interested in contributing to the XAMOS project.
Mequa is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
[PROJECT] ProTracker v2.3D clone for modern platforms 8bitbubsy Coders. General 212 19 March 2022 21:05
Amiga Sprite/Tile Cross-Platform Software? diablothe2nd Amiga scene 16 12 July 2013 17:29
Xamos CardboardSphinx support.Other 0 05 June 2013 23:53
jAMOS - new AMOS BASIC reimplementation in Java Mequa News 16 03 June 2012 16:58
Cross-platform gui? ceztko request.UAE Wishlist 15 03 January 2008 18:50

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 22:56.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.12088 seconds with 15 queries