English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   News (https://eab.abime.net/forumdisplay.php?f=29)
-   -   XAMOS - new cross-platform rewrite of jAMOS (https://eab.abime.net/showthread.php?t=64420)

Mequa 23 May 2012 17:29

XAMOS - new cross-platform rewrite of jAMOS
 
I present my very latest AMOS BASIC reimplementation.

http://dl.dropbox.com/u/51441369/XAMOS.jpg

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.

kamelito 24 May 2012 13:05

Any plan for an OSX version?

Mequa 24 May 2012 13:18

Quote:

Originally Posted by kamelito (Post 819883)
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. :shocked

Mequa 25 May 2012 07:53

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. :)

Etze 25 May 2012 08:38

Get well soon!!!

Mequa 31 May 2012 04:46

Quote:

Originally Posted by Etze (Post 820006)
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.

Schlachtwerk 31 May 2012 21:54

Why not a clone of the AmosPro Editor ?

XDelusion 31 May 2012 22:06

I would love to see this up and running on MorphOS, AROS, and OS 4 some day!

Mequa 31 May 2012 22:46

Quote:

Originally Posted by Schlachtwerk (Post 821095)
Why not a clone of the AmosPro Editor ?

Quote:

Originally Posted by XDelusion (Post 821100)
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. :spin

Mequa 03 June 2012 16:38

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.

kamelito 03 June 2012 22:50

Nice work to say the least, any plan to remove boost also to be more portable on platform not supporting it?
Kamel

Mequa 03 June 2012 23:48

Quote:

Originally Posted by kamelito (Post 821603)
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.

Mequa 08 June 2012 07:09

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 08 June 2012 14:52

XAMOS on AROS
 
Update: XAMOS is now working on AROS!

http://s13.postimage.org/kq3ovellz/XAMOS_AROS_SDL.png

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.

Etze 08 June 2012 21:27

Great news. But am I right that there is no compiler von XAMOS?

Mequa 09 June 2012 02:02

XAMOS now on MorphOS
 
Quote:

Originally Posted by Etze (Post 822488)
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.

http://s15.postimage.org/cuxvz2eyj/XAMOS_Butterfly.png

:D

Schlachtwerk 11 June 2012 23:11

Is a 68k Version possible ?

Mequa 12 June 2012 05:26

Quote:

Originally Posted by Schlachtwerk (Post 822914)
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.

kamelito 02 December 2012 10:46

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

Mequa 03 December 2012 07:14

AMOSPro sources
 
Quote:

Originally Posted by kamelito (Post 853877)
@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.


All times are GMT +2. The time now is 12:15.

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

Page generated in 0.05325 seconds with 11 queries