English Amiga Board    


Go Back   English Amiga Board > News

Reply
 
Thread Tools
Old 10 December 2010, 04:17   #1
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 10:25.
Mequa is offline   Reply With Quote
Old 10 December 2010, 13:09   #2
TCD
Moderator
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 35
Posts: 22,478
Moved to News as requested by Mequa. Hope that gives him a bit of extra motivation
__________________


"I am Polka and that's why I don't like accordions" - CrazyOne, April 2013
TCD is offline   Reply With Quote
Old 10 December 2010, 13:26   #3
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 14:03.
Mequa is offline   Reply With Quote
Old 10 December 2010, 16:03   #4
gibs
Banned
 
Join Date: Jan 2010
Location: france
Posts: 932
Interesting !
gibs is offline   Reply With Quote
Old 11 December 2010, 15:34   #5
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 03:20.
Mequa is offline   Reply With Quote
Old 23 December 2010, 03:18   #6
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 19:46.
Mequa is offline   Reply With Quote
Old 24 December 2010, 21:04   #7
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 20:06.
Mequa is offline   Reply With Quote
Old 31 December 2010, 20:06   #8
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 02:48.
Mequa is offline   Reply With Quote
Old 31 December 2010, 20:17   #9
kriz
Junior Member
 
kriz's Avatar
 
Join Date: Sep 2001
Location: No(R)Way
Age: 31
Posts: 2,201
Nice work !! Best wishes for 2011 !!
__________________
Mac Mini 1,5ghz + powerbook 1,67 ghxz- MorphOS 3.1 -- It rulez !!
_
Amiga 4000/060 - Whdload - RDesktop - WookieChat - All Supported.

1200/060/PPC/Indivision - AMIGA 4 EVER
kriz is offline   Reply With Quote
Old 01 January 2011, 22:15   #10
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 00:56.
Mequa is offline   Reply With Quote
Old 28 February 2011, 10:28   #11
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 13:42.
Mequa is offline   Reply With Quote
Old 22 March 2011, 02:46   #12
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 21:59.
Mequa is offline   Reply With Quote
Old 22 March 2011, 15:46   #13
LuMan
Amigan - an loving it!!
 
LuMan's Avatar
 
Join Date: Nov 2010
Location: Nottingham, UK
Age: 44
Posts: 167
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   Reply With Quote
Old 22 March 2011, 21:35   #14
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 22:55.
Mequa is offline   Reply With Quote
Old 23 March 2011, 21:55   #15
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 08:42.
Mequa is offline   Reply With Quote
Old 28 March 2011, 19:57   #16
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 23 July 2011, 08:30   #17
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 08:40.
Mequa is offline   Reply With Quote
Old 24 July 2011, 21:44   #18
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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: jAMAL YouTube video

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 09:57. Reason: update
Mequa is offline   Reply With Quote
Old 01 August 2011, 20:56   #19
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 02 August 2011, 09:42   #20
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 04 August 2011, 00:54   #21
asymetrix
Registered User
 
Join Date: Jul 2009
Location: UK
Posts: 70
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   Reply With Quote
Old 04 August 2011, 05:28   #22
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 05:50.
Mequa is offline   Reply With Quote
Old 05 August 2011, 22:43   #23
asymetrix
Registered User
 
Join Date: Jul 2009
Location: UK
Posts: 70
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   Reply With Quote
Old 06 August 2011, 04:46   #24
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 04:53.
Mequa is offline   Reply With Quote
Old 14 September 2011, 10:08   #25
Adgarharrison
Registered User
 
Join Date: Sep 2011
Location: Gary
Posts: 1
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 15:16.
Adgarharrison is offline   Reply With Quote
Old 14 September 2011, 20:53   #26
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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   Reply With Quote
Old 31 January 2012, 02:12   #27
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 484
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 07:05.
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
Manuals for GFA Basic and Hi-Soft Basic 2 ricky500 request.Apps 20 12 February 2013 21:06
AMOS or Blitz Basic 2 Dreedo Coders. General 31 30 November 2010 19:12
Amiga JAVA gulliver support.Apps 3 20 June 2010 21:22
Atari ST in Java s2325 Retrogaming General Discussion 6 05 January 2008 16:33
Where's the amos.library on the 3-disk AMOS set? andreas support.Apps 0 15 November 2001 16:04


All times are GMT +2. The time now is 07:14.

-->

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