English Amiga Board


Go Back   English Amiga Board > News

 
 
Thread Tools
Old 04 August 2011, 01:54   #21
asymetrix
Registered User
 
Join Date: Jul 2009
Location: UK
Posts: 75
This is great work - keep it up !

Have you seen alvyn editor ? Its a Java based editor that looks like Amos Pro ! :
I think it was supposted to be Amos Pro in Java, but not quite finished, maybe the two projects can be combined ?

http://alvyn.sourceforge.net/
asymetrix is offline  
AdSense AdSense  
Old 04 August 2011, 06:28   #22
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
I have tried Alvyn, it doesn't appear to be updated since 2004.

Alvyn was meant to be an AMOSPro-compatible BASIC interpreter, and captures much of the feel of the AMOSPro editor. While the Alvyn editor was written in Java, it appears the Alvyn interpreter is written in C++, while jAMAL is written entirely in Java, so merging the two projects would require a rewrite of one or both (and a merging of sprite/screen engines, etc). This may be more fruitful when jAMAL is more complete and memory-efficient.

In addition to Alvyn, there was also the Mattathias BASIC project, which is written in ANSI C and aims to implement a full BASIC compiler compatible with AMOSPro (unlike Alvyn which is interpreted). This was discussed over at AMOS Factory (and I enquired here about the possibility of combining code with jAMAL), unfortunately it appears Mattathias is no longer in active development either.

These 3 projects all attempt a high-level reimplementation of parts of AMOSPro on modern hardware and operating systems. This is a similar approach AROS has taken with AmigaOS, and is a similar kind of reimplementation to projects such as ScummVM (and even Wine, as it implements the API level) - only allowing many enhancements beyond the capabilities of the original Amiga.

This is in contrast to emulators such as WinUAE, which replicate vintage hardware at a very low level, and so can already run the original AMOSPro near-perfectly under emulation - albeit limited to the original chipset's graphics. This is the approach taken by the AMOS for Windows installer.


P.S. A few years ago, I wrote a simple BASIC-style interpreter in C++ called "MequaScript", itself much inspired by AMOS.
If I ever get the time to do a Java port (it would need a lot of work and expanding), I would consider integrating AMOSPro-compatible syntax, and finally merging it with the jAMAL project. (Not this year however, unfortunately.)

Last edited by Mequa; 04 August 2011 at 06:50.
Mequa is offline  
Old 05 August 2011, 23:43   #23
asymetrix
Registered User
 
Join Date: Jul 2009
Location: UK
Posts: 75
That is interesting, maybe you could make a few bounties for each stage towards completion, at least you should get paid for your efforts.

Amiga desperatly needs an AmosPro basic interpreter in C++, fully portable.

The best thing about Amos Pro is that it 'just works' out of the box even today, whilst every other language needs some messing about and as of today Amos Professional has NEVER CRASHED !

Now we have a windows version (emulated), Im sure even Universitied would be interested in it as teaching BASIC programming material -and we have loads of source code examples and games written.

We also have a html and PDF manual created by yours truely.

Your C++/Java versions would be portable, and most vital.

thanks so much for your efforts, keep up the great work !
asymetrix is offline  
Old 06 August 2011, 05:46   #24
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
For programming bounties, this would of course need to attract funding from those willing to see a full AMOS reimplementation.
I see 3 stages concerning jAMAL (not necessarily in strict order):

1) Complete the core implementation of AMAL in Java, including full AMAL syntax support, error checking, a debugger/monitor, more efficient use of memory, fully working translation/compilation to Java, and direct support for AMOS BASIC AMAL .abk banks (not to be confused with sprite banks). It should also be able to test if code is forward compatible with the original AMAL (allowing for possible expansion otherwise).
If it is, perhaps it could have the option to launch WinUAE or PUAE directly and test the AMAL scripts on a 'real' Amiga.

2) Improve the graphical engine so it supports multiple Amiga-style screens and screen clipping (currently only one screen is supported), as well as simulated rainbow/copper effects, and native support for AMOS BASIC .abk sprite banks (using one or multiple banks or combined with other sprites). It should also support screen drawing/graphics. This part is already implemented in Jamagic in my "Project Myqu", but will take some work to complete in Java using JGame and/or AWT.

At this stage the jAMAL project would be mostly complete, and a third stage would be as follows:

3) Create a BASIC interpreter in Java, syntax compatible with AMOSPro, and integrate with jAMAL's AMAL interpreter/compiler as well as its graphical engine (and AMAL editor).


Finally, if a native non-Java build is required:

4) Port jAMAL from Java to C/C++, using an appropriate sprite engine, including builds for AROS and classic AmigaOS.
(This could then either port a BASIC interpreter written in Java, or merge with code from Alvyn and/or Mattathias.)

Last edited by Mequa; 06 August 2011 at 05:53.
Mequa is offline  
Old 14 September 2011, 11:08   #25
Adgarharrison
 
Posts: n/a
This AMOS for Windows install uses Bernd Meyer's Just-In-Time (JIT) compiler for extra speed. This is needed as the included AROS-68k ROM beta is still quite slow. JIT compilation involves translating whole blocks of machine code WHILE RUNNING from one instruction set (Amiga 680x0) to another (PC x86). It even works with the AMOSPro Compiler, and AMOSPro's compiled AMAL and Interface scripts, translating them all into x86 machine code.
The resulting emulated 680x0 CPU gives Pentium 1-level performance on an Intel Atom netbook, Pentium 2-level performance on a Core2Duo, and Pentium 3-level performance on an i7. Needless to say, AMOS has never run natively on such a fast platform. It also uses immediate Blitter emulation for faster graphical performance. A few included AMOS games will need to be modified to be playable on such a fast CPU (try adding "Wait Vbl").
Unfortunately the JIT compiler is not currently compatible with Vsync (e.g. smooth scrolling). You will still need a real Kickstart ROM (such as by purchasing Amiga Forever 2012) to use AMOS under emulation with smooth scrolling. This AMOS for Windows build currently only works with AROS-68k ROM, but will be updated soon to support a "drop-in" ROM for extra performance and compatibility.

As well as various (limited) mobile ports of UAE, there is also the PUAE Amiga emulator for non-Windows platforms, which is currently in development and includes the latest features from WinUAE. A stable version working with AROS ROM would make an out-of-the-box Linux and Mac OS X install of AMOS possible, with the possibility of including future WinUAE updates such as improved Vsync. (It still needs a bit of work though, but is very promising).

PUAE has also been ported to non-x86 platforms such as ARM platforms (including Linux and Android), however does not feature JIT except on Intel/AMD x86. To get good performance of AMOS on an ARM mobile device in the absence of JIT would thus require a real Kickstart ROM (still under copyright), until a UAE-compatible 680x0-to-ARM JIT-compiler is implemented. If that is done, that would make fast, legal and free out-of-the-box AMOS available in your pocket.

There is also AROS-x86, a free clone of AmigaOS for modern PCs (particularly its "Icaros Desktop" and "Broadway" distributions). This includes a port of the UAE Amiga Emulator called Janus-UAE, which includes special integration features, and has been reported working with AROS-68k. So on this OS, you can launch AMOS from its original Amiga icon on a PC, and it will seamlessly launch. (PUAE on AROS may also be a possibility, and a possible merge with Janus-UAE.) AROS already has a Linux-hosted ARM version, with the possibility of one day working as a native OS on ARM, incorporating integrated classical Amiga emulation. This would be another excellent platform for AMOS (especially when/if JIT compilation comes to that platform).

Finally, WinUAE and PUAE feature retargetable graphics, or RTG. This allows emulation of a 24-bit graphics card, and supports native desktop resolutions on a PC. This is not available in AMOS, which is limited to the original Amiga chipset, however there is nothing preventing some AMOS enthusiast from writing an RTG extension, allowing AMOS to work with fast true-colour graphics in future...

Who says AMOS is dead?

Last edited by Adgarharrison; 13 June 2012 at 16:16.
 
Old 14 September 2011, 21:53   #26
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Thanks Adgarharrison, but please attribute the source. The above post was originally written by myself on Clickteam's forums.
(I also included a link to AMOS Factory, which now appears to be down with ultimateamiga.co.uk.)

I was much more active there in the past, when Jamagic was still going.
Their "older products" forum occasionally gets mention of AMOS and STOS.
Mequa is offline  
Old 31 January 2012, 03:12   #27
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Wink jAMOS

Update:
jAMOS is coming soon! A new cross-platform AMOS reimplementation written in Java.

jAMOS alpha is almost ready for public release. This will replace the jAMAL project entirely with support for a subset of AMOS BASIC itself in addition to AMAL. It uses an interpreter based on my MequaScript which I have now ported successfully from C++ to Java.

A new news thread will be created on release.

Stay tuned.


Edit: A news thread with a link to the first public release has been posted, subject to moderator approval.

Last edited by Mequa; 31 January 2012 at 08:05.
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:39.


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