English Amiga Board    


Go Back   English Amiga Board > News

Reply
 
Thread Tools
Old 23 May 2012, 17:29   #1
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 24 May 2012, 13:05   #2
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
Any plan for an OSX version?
kamelito is offline   Reply With Quote
Old 24 May 2012, 13:18   #3
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 25 May 2012, 07:53   #4
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 25 May 2012, 08:38   #5
Etze
Registered User
 
Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 47
Get well soon!!!
__________________
Author of ADF-Blitzer (2.x)
Etze is offline   Reply With Quote
Old 31 May 2012, 04:46   #6
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 31 May 2012, 21:54   #7
Schlachtwerk
68k RULEZ
 
Schlachtwerk's Avatar
 
Join Date: Jul 2010
Location: Germany
Posts: 53
Why not a clone of the AmosPro Editor ?
Schlachtwerk is offline   Reply With Quote
Old 31 May 2012, 22:06   #8
XDelusion
Alien Breeder
 
XDelusion's Avatar
 
Join Date: Mar 2011
Location: NW Ohio
Posts: 234
I would love to see this up and running on MorphOS, AROS, and OS 4 some day!
XDelusion is offline   Reply With Quote
Old 31 May 2012, 22:46   #9
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 03 June 2012, 16:38   #10
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 03 June 2012, 22:50   #11
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
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   Reply With Quote
Old 03 June 2012, 23:48   #12
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 08 June 2012, 07:09   #13
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 08 June 2012, 14:52   #14
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 08 June 2012, 21:27   #15
Etze
Registered User
 
Etze's Avatar
 
Join Date: Sep 2008
Location: Germany
Posts: 47
Great news. But am I right that there is no compiler von XAMOS?
__________________
Author of ADF-Blitzer (2.x)
Etze is offline   Reply With Quote
Old 09 June 2012, 02:02   #16
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 11 June 2012, 23:11   #17
Schlachtwerk
68k RULEZ
 
Schlachtwerk's Avatar
 
Join Date: Jul 2010
Location: Germany
Posts: 53
Is a 68k Version possible ?
Schlachtwerk is offline   Reply With Quote
Old 12 June 2012, 05:26   #18
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 02 December 2012, 10:46   #19
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
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   Reply With Quote
Old 03 December 2012, 07:14   #20
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 03 December 2012, 22:18   #21
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
For what I've read it's complete.
At leat it can be improved to support AGA.
Kamelito
kamelito is offline   Reply With Quote
Old 03 December 2012, 22:21   #22
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
Quote:
Originally Posted by Mequa View Post
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.
There's a French programmer who is building an Amos compatible language in C, I think that it only target OS4.
Kamelito
kamelito is offline   Reply With Quote
Old 05 December 2012, 21:16   #23
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 384
@Mequa,

Don't know if you knew that
http://indiegames.com/2012/07/indie_...r_windows.html

Kamelito
kamelito is offline   Reply With Quote
Old 12 December 2012, 10:30   #24
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
Floppy disk !Xamos

In a show of full circle, XAMOS has now been ported to RISC OS, the operating system originally designed for the Acorn Archimedes series of computers, with the Acorn A3010 providing a powerful competitor to the Amiga 1200 back in the day.

Now an ARM-based Raspberry Pi, costing under £30 in the UK, can run (in addition to the usual BBC BASIC) a reimplementation of AMOS BASIC on an Acorn-derived operating system, using Amiga-style screen effects in SDL.



This RISC OS port was produced by Chris Gransden.

XAMOS also runs on Linux on the Raspberry Pi, and work is being done on that front to make it work with optimised fullscreen SDL libraries for extra speed.

Last edited by Mequa; 12 December 2012 at 13:41.
Mequa is offline   Reply With Quote
Old 14 December 2012, 09:49   #25
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
Floppy disk XAMOS alpha 0.29

XAMOS updates from 0.241:

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

Note: Some small modifications to the source were made since initial 0.241 release to allow for building on MorphOS. Makefiles were also updated.

XAMOS alpha 0.242:
- Replaced Plot routine with a more stable and compatible one (fixed crashes on AROS).
- Plotting now works correctly on MorphOS (Drawing.xamos, Plotter.xamos, Mandelbrot.xamos, Array.xamos).
- XAMOS -launcher now works on AROS.
- Does not attempt to use Unicode when built for Amiga-like OS's (title bar).
- Fixed random number generation on AROS (ScreenScrollingDemo.xamal, MultiChannelExample.xamal).

XAMOS alpha 0.25:
- Per-pixel collision detection is now implemented, utilising SDL_Collide routines.
- AMOS functions added: =Bob Col(), =Sprite Col(), =SpriteBob Col(), =Bobsprite Col(), =Col().
- A very simple collision example was added - more to come in future.

XAMOS alpha 0.26:
- Multiple screen support has been implemented, with a corresponding demo example.
- Fixed some bugs with collision detection.
- Added "Eater" game demo demonstrating collision detection, Abk support, AMAL and multiple screens.
- Added a XAMOS example of a simple interpreter of a certain esoteric programming language, to demonstrate Turing-completeness.

XAMOS alpha 0.27:
- Added support for graphical text (using TrueType fonts), AMOS Text instruction and Text Length() function.
- Abk sprite banks now correctly load sprite hot spots or handles.
- Icon bank support was added, with Paste Icon instruction. An icon bank is loadable from an Abk bank or folder of images.
- Can now scale Abk sprite and icon banks.
- Updated "Eater" game demo (now default, former in XAMOSOut.xamos).

XAMOS alpha 0.271:
- Fixed a memory leak when displaying graphical text.
- Hot Spot instruction is now implemented, for sprites in all formats.
- Refactored SDL code, and began work on a queue system for rainbow/screen/bob/sprite display priority.

XAMOS alpha 0.28:
- Added an experimental hardware-accelerated OpenGL frontend. Use "-useopengl" command line flag to set.
This is currently disabled by default and not yet working correctly with all examples, or on all platforms.
- Background rainbows are now operational. The rainbows example has been updated.

To use OpenGL:
> XAMOS -useopengl
Which will load the default example.

To select an example using OpenGL:
> XAMOS -launcher -useopengl

To launch the Breakout demo with OpenGL:
> XAMOS example/XAMOSOut.xamos -useopengl

On Linux/Unix use "./XAMOS ...." instead.

XAMOS alpha 0.281:
- Fixed several bugs with the OpenGL frontend - all examples now work correctly (on some platforms).
- Added command line flag to enable non-power-of-two (NPOT) textures: "-useopengl -usenpot", may be faster if supported by GPU.

XAMOS alpha 0.29:
- Added some groundwork for experimental OpenGL ES support (not yet operational).
- Now works correctly in fullscreen mode (Raspbian etc).
- You can now quit by using ESC or CTRL+C.
- A RISC OS (ARM) port of XAMOS by Chris Gransden is now available and in development.

Download XAMOS alpha 0.29 below:
XAMOS homepage
XAMOS files

XAMOS currently supports 10 platforms, with more to come:
Win32/x86
Linux/x86
Linux/x64
Linux/PPC
Linux/ARMEL
Linux/ARMHF
AROS/x86
MorphOS/PPC
AmigaOS4/PPC
RISC OS/ARM


Mequa is offline   Reply With Quote
Reply


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

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
jAMOS - new AMOS BASIC reimplementation in Java Mequa News 16 03 June 2012 16:58
[PROJECT] ProTracker V1.3B rewrite (SDL) 8bitbubsy Coders. General 59 30 July 2011 15:16
Cross-platform gui? ceztko request.UAE Wishlist 15 03 January 2008 18:50
cross dos Dave_wb support.Hardware 15 27 March 2005 18:04
cross dos help fastflange request.Apps 2 19 June 2002 17:56


All times are GMT +2. The time now is 21:25.

-->

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Page generated in 0.35719 seconds with 11 queries