Tuesday, 6 October 2015

Amiga30 stuff and Cannonball on X1000!

Short blog post today, but I am glad to say that my Amiga30 Kickstarter supporter stuff arrived in the post today from the USA. :-)

I realise that the Amiga30 show was some time ago - July in fact!

But the organisers have been really very busy since the show, and so have recently started posting out the Kickstarter supporter gifts, which were a gift for my financial contribution to support the Amiga30 show.

I was unable to attend as I was in Japan at the same time, but I was very happy to support the show and it was clearly an amazing event from the many show reports and photos!

Tonight I quickly changed the poster on my wall from the CANDI poster I got from AmiWest 2014 last year to the new Amiga30 poster I got today - it looks great! :-)

Very pleased to say the t-shirt fits perfectly!

Still deciding what to do with the Amiga30 stickers. The Amiga30 booklet was quite interesting to read - my name was listed in the supporters list too! :-)

My thanks to tekmage (Bill Bosari) for sending this stuff out to me - very much appreciated!

On the past weekend I also had a go at playing the recently released Cannonball game (available on os4depot.net here) on my X1000, which is a reimplementation of Outrun without the need for an emulator like MAME. It runs native on AmigaOS 4.1 :-)

Speed is perfect and lots of fun. It needs the Outrun Revision B rom files (Google is your friend) and place the files into the rom folder of the extracted Cannonball archive.

The roms.txt file in the roms folder explains what you need to have in there for the game to work.

You can control the game with keyboard controls - this information is from a guide I found on the web that really should be explained in the archive!

  • Cursors: Steering
  • Z: Accelerate
  • X: Brake
  • Space: Gear Change
  • 5: Insert Coin
  • 1: Start
  • Shift: Change Camera View
  • F1: Pause
  • F2: Advance a frame when paused (useful for observing visual problems)
  • F3: Toggle/Freeze timers. (i.e. infinite time)
  • F5: Menu

It is great to be able to run Outrun natively on the AmigaOne X1000 under AmigaOS 4.1 Final Edition!

Wednesday, 30 September 2015

The loss of my friend Mark

Last night (September 29) a close friend of mine, Mark Thompson passed away. He is known in the Amiga scene by his demo scene handle Axon of The Experience, a Classic Amiga demo group I formed in the late 1990's in Adelaide during our university days. We wrote 2 AGA demos and Mark wrote another separate intro in Assembler for Amiga 1200/030 systems.

Every week we would have coding sessions in his dorm room on our Amiga 1200's, with some of our Amiga owning friends at Uni also involved in the demo group at that time. We would always have too much drinks and fish & chips from the Blue & White cafe in North Adelaide after a heavy night coding...we attended the Coven demo parties at Adelaide Uni for a few years in 1995/1996/1997.

Together we wrote a hurried demo for Coven 1997 (Adelaide demo party) called "TLA" (which couldn't be included in the compo because it was PC only!) and also another demo called "Terminal" for Remedy 1998 where it finished 4th. It was a lot of fun.  Mark not only did the coding but also some graphics work on the Amiga too, like making 3D objects and even the TLA logo below.

We all had (and still have) huge respect for the Amiga demo groups who produced and continue to produce amazing demos for Amiga even today.

We knew we had no hope of emulating that but we tried anyway, and thanks to Mark's amazing coding skills in Assembler we produced the demo called "Terminal" in 1998 which I am still very proud of working on. I still have all the source code to the two demos, not that I can do anything with them nowadays.

The demos, some music and source code for TLA are still available on Aminet today from when we uploaded them all those years ago if you are interested to try them out.





TLA Source:


Mark originally had the handle Raven, but then found out someone else had it already, so he changed it to Axiom (until he found out that was taken too!) and then finally settled on Axon.

A YouTube link I put up with the Terminal demo is here:

Traksion produced the main title song for Terminal and some pixel art. I did the design, some incidental graphics and the intro music. Mesh did most of the other great graphics in the demo and produced the 3D spacecraft flight animation.

Traksion came with me and ran the demo at the latest Adelaide Amiga user group meeting on the Amiga 4000T in early September 2015.

I was very proud we could show Mark's coding skills to an Amiga audience once again!

He was a very talented programmer, first on Amiga and then in the PC world. He was a great guy and a great friend to me over the years. Last night he passed away from terminal brain cancer, leaving behind his wife and his young son. I offer my sincere condolences to them and their families at this time. I will miss him.

Rest in Peace mate.

Monday, 28 September 2015

Hollywood 6 for AmigaOS 4 on X1000

Today I wanted to take a look at Hollywood 6.0 on AmigaOS 4.1 Final Edition on my X1000, which was released in 2015. I will also take a look at the updated Hollywood Plugin for Cubic IDE and a quick look at FastView as well!

Hollywood 6.0 is a commercial product made by Andreas Falkenhahn, and is available to purchase on his website here for 99 Euros, or cheaper if bundled with Designer 4.0 or as an upgrade from an older version.

I looked at Hollywood Designer 4.0 previously (along with Codebench) in a previous blog post here last year, but today I wanted to have a look at the upgraded Hollywood Version 6.

It is great to have programming languages for AmigaOS 4.1 that are more accessible to non-professional programmers like myself! :-)

After purchasing, downloading and putting together the ISO for the installation as per the instructions, I then ran the installation from the ISO, mounted with DiskImageGUI under AmigaOS4.1 on my X1000:

Interesting is that you must run Hollywood 6 on a screen greater than 256 colours, which means it no longer works on Classic Amiga systems without a graphics card installed.

My previous Version 5 installation is picked up by the installer and I am prompted to update it:

Note that the "upgrade" will actually delete everything in your current installation - you are warned of this. In my case I keep my projects in a separate drawer so it is ok to proceed:

Make sure to choose AmigaOS 4 here, since I am installing it on the X1000:

Once the files are copied across the intro will then play:

When you close it the installer provides information about how to compile Hollywood 6 programs from the Shell. I plan to use Cubic IDE with the hollywood plugin to edit/compile my code for Hollywood:

The CTRL-C shortcut to kill a Hollywood program is a good tip to remember:

Installation is completed successfully:

After closing the installer, another Hollywood program runs to show the new features in Hollywood 6, as below:

There are so many plugins for Hollywood offering lots of extra functionality now!

The information  about Radeon HD support for video drawing and scaling for better X1000 performance is very welcome!

Having installed Hollywood, the next thing I needed to do was update my Hollywood Plugin for Cubic IDE. Cubic IDE is a full featured Development Environment for AmigaOS and is available for purchase for 44.90 Euro here. It is my choice of editor for most things under AmigaOS4.1, including Hollywood programs I am working on.

You don't have to use Cubic IDE to edit Hollywood scripts of course, any text editor will do the job. But Cubic IDE has many great features and I believed it worth the price to have every programming project I am going to edit integrated in one application with syntax highlighting, context help and more, plus edit/preview/compile functions.

You can download the Hollywood 6 plugin for Cubic IDE from the Hollywood download page here. Here is the extracted archive to install:

The info document doesn't say much, the installation is straightforward - obviously you need Cubic IDE installed before you do it:

As this is updating an older installation of the plugin - it will let you know and prompt to replace the files. I click Yes to All here so it doesn't prompt for every new file:

Installation completed:

After rebooting the system, I then download all of the Hollywood plugins available for AmigaOS 4.1 and then install them all! They are all available on the Hollywood download page here. Would love an installer that would just install all of them in one go! :-)

I then run Cubic IDE, and I can see the Hollywood plugins in the toolbar and menu options available. This plugin includes syntax highlighting, command structures and help as you go - click to expand these pictures:

The link to the Tutorial to get started in Hollywood prompts me to actually try it out!

You can see the various Compile options, allowing me to compile Hollywood programs for AmigaOS3, AmigaOS4, AROS, MorphOS, MacOS, Windows too! This program is multi-platform and your compiled Hollywood scripts can be chosen to run on many different platforms!

You can also Run a Hollywood program from within the editor, in window or full screen without creating an executable - very handy to try out changes quickly (as below):

Here is the full Hollywood Amigaguide manual - it is an excellent resource and clearly a lot of work has gone into writing it:

Suitably inspired now to give Hollywood 6 a go, I create a drawer in my Hollywood_Projects drawer called HelloWorld:

I then create my base .hws script called Helloworld.hws (incorrectly called .hwp in the initial screenshots sorry) into that drawer. I then get to work on writing my Hello world program as shown in the tutorial:

Here is the resulting program when I run it from Cubic IDE:

It exits when you click the left mouse button (due to the WaitForLeftMouse() call in the script), or the close gadget or CTRL-C.

Not very exciting, but a start nonetheless! Next, I fired up FastView to look for a test background image from my collection to try out. FastView is part of the zTools suite available for purchase for AmigaOS 4.1 on AMIStore)

The image I selected is a photo I took of a Bento lunch my wife made for me last year! One problem of course is the images taken with the camera are too high resolution for the window they will run in. This is why I ran FastView, as it allows me to quickly resize it.

After selecting the image in Fast View, I then select the Options tab below the picture preview, modify the pixels next to Rescale to the size I want, or select a % zoom (in this case I selected 25%) and then click on Rescale  (as shown below):

This then produces a separate JPG file appended with .SCALE, which I can then click Open Drawer in Fast View to be taken directly to the drawer containing the file. Given the messy structure iPhoto uses to store photos (where I copied the photos from originally) this feature is very helpful indeed:

This is great as I can then quickly copy it to the HelloWorld drawer for my project!

I then modify my Hollywood code to support the background picture, which is as simple as typing:

@BGPIC 1, "file" 

I love the simplicity! You can also add comments to your code with /* */ or with ;

I then run the program and it works straight away!

Next I want to create an executable for AmigaOS4.1, which as shown earlier I can access from the Cubic IDE toolbar using the Hollywood 6 plugin:

It then prompts for the name of the program executable, which will be HelloWorld:

The compilation then gets underway - the status can be seen in the bottom Output pane of Cubic IDE:

I then have an executable program I can run on AmigaOS4.1. My first program in Hollywood 6!

I am not leaving it there though - I still want to try some more things out.

I first fixed the .hwp extension in my HelloWorld script to .hws as this is a Hollywood Script (hws), not Hollywood Plugin (hwp)! That was a silly mistake!

Next I copied one of my songs as an MP3 file (originally tracked by myself in Impulse Tracker) into the HelloWorld drawer, and preload with:

@MUSIC 1, "file" 

This preloads the file (assumed to be in the same drawer as the script) into the executable with ID 1, which means you get one program without dependent files needed in the drawer after compilation. I then add PlayMusic(1) to play the music in the background - how easy is that!

I then comment out the original Print line and use a function I read in the manual called TextOut, which allows me to place text at particular x and y locations on the screen. I can also specify #CENTER as the location, which will automatically centre my text on the window size the program is running in. This is more flexible as it is size independent:

Here is the resulting program:

Next I want to change the font - in Hollywood you can use True Type fonts (TTF) or Bitmap Amiga fonts. Using Amiga fonts is easier, and you can choose to include the font with the program (bad idea) or reference an existing AmigaOS 4.1 font. Remember that if you compile for other platforms the font needs to be available there too if you want to look right.  In that case bundling the font may make sense, but remember there are licensing considerations if you include fonts in your programs...

In my case I am just playing around, so I look at the fonts under AmigaOS 4.1 using the Fonts Prefs tool:

 I then added in the SetFont and SetFontColor definitions to set the font to DejaVu Serif Bold, size 32. Note that the font name is case sensitive and the font size must exist in the fonts drawer or you will get an error when trying to run the program.

At this point I also invoke Layers, which allows me to create objects like boxes, etc, that can be placed and moved/rotated around the screen as needed. This is done by typing into the script:


The Box command is also added, to enable me to create a filled box over the image, that the text will then be displayed in. The Box is called with:

Box(x,y, size_x, size_y, colour, table options)

In my case I added the option {RoundLevel = 25} to get the Box drawn to have rounded corners that are 25% of the box size.

If you are wondering where I found this stuff out, I had no idea either initially. I was just looking around in the manual at the various sections on displaying fonts, etc and stumbled on various commands to do things and tried them out to see what they did!

As a final thing I also found a neat feature that allows you to create a Gradient fill for your box, using SetFillStyle before creating the box, to set the parameters for the fill - in my case a Linear Gradient, going from Black to Blue.

Putting this all together (with comments) in the revised script, it now looks like this:

I also chose a different picture (of the Nagoya Railway Museum) and rescaled it using FastView to 1920x1080 so it would look nice when run in full screen.

The resulting program looks like this:

I haven't even begun to scratch the surface of what is possible with Hollywood 6, but this initial play with it has convinced me to push forward with trying to code some different projects of my own!

Stay tuned, more info will come as my various dream projects can be met by my slowly improving coding skills as time permits! I will also take a close look at the cross compatibility angle in a future blog entry.

Hopefully this gives you some insight into the product and how easy it is to do things!

Hollywood 6 is a very interesting product and is recommended for those who want to make programs for AmigaOS 4.1 (Mac, Windows or other Amiga platforms too), but are not professional coders!