Showing posts with label Amiga 500. Show all posts
Showing posts with label Amiga 500. Show all posts

Tuesday 18 June 2019

25+ years late to the party... but was it worth it? A billion % YES!

Having never been to a demoparty before, it was about time I did. Being my first I really had no idea what to expect, I mean NO idea.

OK I've been slack with the Amiga 68k assembler over the last couple of years, but it's still in my heart. I've seen plenty of demos on YouTube, and even watched comps live, but really had no idea what the whole experience would be like.


Nova 17 - Budleigh Salterton, UK's only demoparty

I'm lucky enough to live about 2 hours away from the venue, and being UK's only demoparty, this year I thought I'd try my best to get there. The stars and moons aligned and I DID!

On arrival with not 100% sure if I was at the right place, I was quickly reassured when I saw like minded people hanging out at the back of the hall. With a quick glance in the venue I could see the arrays of old school hardware lined up on the tables.

Announcing to the small group outside it was my first time, the friendly faces soon set me up with what I needed to know. Find a spot and settle in for the ride. I knew only one person that would be here, and that was DJ h0ffman, a regular on the demo scene.


So what demo did I submit for comps?

OK OK, so in an ideal world, I would have loved to have worked on my first ever Amiga demo. Realistically, I'm still in such early days with Amiga dev, this was going to be impossible. When I confirmed I was attending the event, time already wasn't on my side to be producing anything half decent to enter competitions with. Again, being new to the scene, I wasn't sure on what was expected from a demo, how the comps even worked, nothing really.

I saw there was a 'Wild' entry point, a comp that didn't have any limitations. I've been currently been working a lot with Augmented Reality recently, and had a small idea I could possibly get together in time.  I made a start. The idea would be to use the Amiga 500 floppy startup image as an AR marker image to kick off a demo in AR. Built in Unity, I found and bought some 3D assets... Amiga 500, floppy disks, Commodore Monitor, tank mouse... these would be my props that appeared in the AR experience. The demo would then see Amiga related demo/game items appear, e.g. the Amiga bouncing ball demo starting on the screen and then breaking through it's boundaries, bouncing around the virtual AR Amiga and monitor. I wanted Lemmings to drop from the sky and start marching across the hardware.  Sine wave text shooting through the sides of the monitor's display. Nothing spectacular, but this would be my nod to the Amiga and demo scene.

Unfortunately, with time already not on my side, my work load increased leading up to the party, and I was left with a started project that just wasn't going to get finished in time for Nova 17. Instead I've decided to carry on with this side project after the party and get it to a great place where I can submit it to a comp at some point in the future!

So what did I do?!

With the mindset of not submitting anything this time around, I pretty much sat back, absorbed the vibe, and was constantly entertained with the conversations and activities going on. Work and family life have been to the max over the last couple of years, and I rarely get a chance to work on my own side projects. I started a game idea at the start of the year, so I used my time over the weekend to make further progress with the game. It was such a great environment to get my head down and code for passion, rather than trying to hit deadlines and fulfil client's requirements.

EDIT: - This project turned in to my first published game on the Google Play and Apple App stores... PingIt 1984 http://pingit1984.com




back to the party...

I have to say what an amazingly friendly place it was. Many people introduced themselves to me, and when I wanted to find out about the kit they had brought along, everyone was happy to share and talk about their love. What really hit me about the party was how everyone was just so friendly. I guess a whole room with like minded people fuelled with a passion of old school computing combined with a party atmosphere, good times were had by all.

The heads down of last minute tweaks and pure passion went well in to the nights. I ended up each night finding a quiet corner and crashing on an air bed and sleeping bag. With events like these, you don't really need sleep, you're fuelled on passion and the energy of the people around you.

So was it just Commodore Amigas?

NO! I think Amiga was probably the most popular hardware there, but there were also Atari STs, ZX Spectrums, BBC Micros, old gen consoles... The absolute highlight for me, it was the first time I'd seen a Vectrex in action, in real life!

One of the comps this year was a homebrew beer competition. Sure enough there were 2 kegs of homebrewed beer for us all to help ourselves to and eventually vote for.

Beach Bacon

It's tradition for the party on the final night, after the comp entries and the party music is turned down. The group head down to the moon lit beach with a mini music blaster, cool beats and a mega pack of bacon. A spot is found down the beach not to disturb anyone and bacon is cooked on a camp fire which is distributed in white baps amongst the group. The setting and chilled beats are a perfect finish to the long day.

The results are in...

On the final day, people rise and start to mingle for the last time with old and new friends. Jack Box was fired up on the large screen and was a great way for the whole party to have some final fun as we waited for the results to be called out. As the results were announced it was great to see hard work recognised and generally a lot of fun reflecting over the weekend.

After an awesome weekend of fun it was time to set off home to reality. I didn't know what to expect before the weekend, and left with passion, inspiration and new friends. I really do hope I can make it regularly over the coming years. And HECK maybe I'll even submit a demo!!


Were you there? Do you wish you were there? Comment here or get involved on twitter: @rich_lloyd


Sunday 28 June 2015

Amiga 30 Amsterdam June 2015, my story...

The day finally arrived, who knew what to expect?! Well I don't think anyone went away disappointed.

It's now the day after, I'm sat in a cafĂ© in central Amsterdam trying my best to recall the events of the day as well as my total experience.  As I'm looking back on photos and memories I have a big smile on my face.



Welcome to The Lighthouse

On arrival opposite the venue was a pop up tent with a few people hanging around, Amiga people.  At this point I was on my own, but quite quickly started chatting to people around me.

I had traveled from the UK and the guy next to me in line had driven from Germany.  We couldn't make sense of what looked like just a regular bar with a small marquee outside.  Was this it?!


This was it!

I'm not going to lie, at the very beginning I was starting to worry as we ALL packed in to what seemed a small bar which had a mini stage in the corner.  Without further ado the event kicked off.

With a quick introduction and a brief hello from our hosts and RJ, we got straight in to it...



We are, your friends!

Interestingly, the day started with the guys behind FriendOS.  As you can imagine the room was packed with hardcore Amiga fans and I don't think half the room was expecting something slightly off topic. So understandably some of them filtered out and chatted at the back of the room.

For me though, I was VERY interested. Literally the day before I had been sat on the train thinking about the current state of operating systems and if anyone could actually make a difference with the world with the concepts behind the original Amiga OS.  Sure there would need to be a lot of work to be done, but it's what I'd been thinking about.


It turns out others have been thinking the same.  FriendOS.  In summary they're creating an OS that is platform agnostic, modular and uses the internet to power everyone.  They are taking the best ideas and parts of existing operating systems, including several fundamental elements from the Amiga and creating a new OS.

You can find out more about their project here: friendos.com  They have also just launched a Kickstarter campaign here: https://www.kickstarter.com/projects/apblix/friend-platform-secure-own-and-unify-your-digital

They presented at the Amiga 30 event because they wanted to get feedback from the Amiga community about what they are doing.  I really liked what I saw, I was able to chat to Arne later in the day, and I'll be getting in touch over the next few days.


Amiga Forever, FOREVER EVER!

Mike from Cloanto, makers of the awesome Amiga Emulator, Amiga Forever http://www.amigaforever.com/ gave us all a free copy of the latest version.  He gave us a run down of this history and where he's taking it.


Amiga Youtubers

These guys were as passionate as anyone else in the room.  I have to admit I didn't know who they were before they started, but as soon as it started I realised I had seen their youtube clips that have become so popular in the Amiga community.


They presented a short video piece which had many many great Amiga memories in.

A-EON

Huge respect to Trevor, I hadn't realised the amount of effort that has been going in to the hardware side of the Amiga (well due to legal complications, the closest thing to an official Amiga) over the last few years.


As we all know the Amiga intellectual property and copyrights situation is a complete mess, a complex mess.  Trevor confirmed this is still the case, but he's trying damn hard to do the best he can for the Amiga, and I take my hat off to you.  http://www.a-eon.com/

David Pleasance - "we don't sell computers, we sell dreams"

I hugely respect David for coming to the event and speaking about the great times and troubles he had at Commodore.  I know a lot of guys almost blame him for the death of the Amiga, so I could sense a little bit of a funny atmosphere about.


I have to say it felt like David had a chance to get a few things off his chest.  I don't know what to believe about the whole business situations, however he came across as very genuine and passion.  It's obvious he did do great things for Commodore and Amiga, direct actions he did like create the Amiga packages is still strongly remembered and talked about today.

The one, the only DAVE HAYNIE!

This guy, THIS GUY is a true Amiga rock'n'roll star.  His stage presence draws you in and still speaks with as much passion today than ever.

The energy in the room went up multiple levels, not just from Dave, but the crowd reciprocating passion.  This wall of love suddenly hit Dave which choked him and brought a couple of tears to his eyes.


What a privileged it was to hear the words from his mouth explaining hardware decisions he made that not only made the Amiga the most amazing home computer that ever existed, but how that then has impacted every personal computer system since.

As the Commodore ship sank, he explained they were working on technology YEARS ahead of it's time which wasn't far off.

Carl Sassenrath

Again it's a joy to hear straight from the horses mouth decisions that were made, why they were made and how they were made.  The Guru Meditation and dynamically loading libraries, stuff we just take for granted toady.


I hadn't fully appreciated that the Amiga team were in the thick of Silicon Valley. I'm so grateful that Carl left Hewlett-Packard to join Amiga :)  It's interesting to hear the connection between the companies, and interaction with Apple and Cray computers.

Dave, Carl & R J take to the stage... "Will swap floppy disk for food"

At this point in the day I had stood in the same place for about 4 hours glued listening to every speaker.  I'm gutted for the bad timing of when the 3 legends all took to the stage and announce that there was only 30 mins left to get lunch.  I hadn't realised the time or the fact lunch was even available.


I was about to pass out so thought I had better get some food inside me, I lost my spot close to the stage and had to hang back listening from afar and eating.  I didn't get to listen to the 3 legends all talking at once, but I'm hoping the video of the talks will all be available soon so that I can watch back through.

For those of us who prepaid for lunch, we were given a special lunch ticket which was actually an original floppy disk :)

Lets get some fresh air!

The sun was shining and it was about time I checked out the tent outside with a few things going on.  A few people had brought their own machines, there were companies selling games, hardware, memorabilia, all sorts!


I had a period where I was able to chat to other Amiga fans and chill out.  I'm not entirely sure what happened on the stage for the rest of the day, but I was in and out listening to different people as well as mingling with others outside.

What I loved about the format was that true legends were so open to talk about their true love, the Amiga to everyone and anyone.

That Eureka moment - This is why the Amiga is the best machine ever made...

RJ Mical - Just how does this guy keep his energy levels SO HIGH?!  I didn't bring anything to sign, I just wanted to approach him, so thank you and ask for a quick photo.  This isn't the RJ way.

As I stood in a line to get my quick moment with RJ, I realised that the Amiga had touched all of us in pretty much the same way.  All of us were saying how the Amiga just had that 'magic' about it, the perfect machine.  For some reason it was just 'different'.  And it occurred to me why the Amiga was so great, just listening to RJ talk.

The reason why it's so great, is because of the amount of love, energy and passion these guys put in to it.  They put so much in you can still feel it so strong 30 years later!!  And believe me they STILL have this amount of love, energy and passion.

RJ stopped every single person, sat them down and asked what the Amiga meant to them and wanted to listen to their story.  I mean, I've seen book signings and celebrities photo opportunities before, but I've never seen anything like this.


Someone had brought an Atari Lynx which was playing ported Amiga games and demos, RJ shouted "THIS IS THE BEST THING I'VE EVER SEEN!!! SEND ME THE ROMS!!"


The guy in front of me had brought the awesome Amiga Book by Bitmap Books to sign, a book which I backed on Kickstarter months earlier.  It was great to hear RJ say how he loved the book so much and that it was beautiful.


So I got my photo opportunity, as I was on my own, I asked for a selfie shot, which RJ thought was hilarious!  As you can see :)


Carl was a little confused with the concept of a selfie as everyone else were getting much more formal shots.


Dave just loved it, I can listen to this guy talk ALL DAY AND ALL NIGHT.

Back in the room

So I was able to catch a couple of guys on the main stage in the afternoon as well as a 20 minute preview of the up and coming film Viva Amiga.  It's an understatement to say I'm looking forward to this, the glimpse of what we saw, this looks like it'll be a very passionate, honest, sad and fun packed documentary.


Jon Hare, a great set.  And everyone was waiting for it... they didn't disappoint...


Thank you and good night - "AMIGA! AMIGA! AMIGA!"

We were left on a high as all the VIPs hit the stage, everyone packed in to say thank you and goodbye.  For those lucky few who bought the VIP extra ticket, they were treated with a ferry trip with the VIPs around Amsterdam.  From the pictures I saw on Twitter, they looked like they had a great time!


All in all and a special thank you...

This weekend has been the first time I've ever done anything like this.  I've realised that over the years I've been an isolated Amiga lover, sure I had mates who had Amigas and played a lot of games.  But seeing the passion and energy levels of all the people this weekend who STILL LOVE the Amiga has made me realise that I've missed out on many years of the Amiga community.

This weekend has now given me the drive to make more time for the Amiga, to properly get in to assembler, but also connect with the Amiga community.

Thank you to Amiga 30 for making it happen, thank you to everyone who traveled the world to be there, you made it awesome.

The Amiga 30 event in Amsterdam was truly fantastic for me, however, my weekend away would have been nothing without meeting 2 awesome guys who I shared most of the experience with.  A couple of Amiga demo sceners from Sweden, Jonas and Alex, who I can now call my friends and hopefully have more adventures in the future together.


I'm so grateful for the sharing of knowledge, experiencing different parts of Amsterdam and the fun we had, thank you guys.

Were you there? Do you wish you were there? Do you think we were insane?  Comment here or get involved on twitter: @rich_lloyd


Friday 26 June 2015

What's happening this weekend? Where am I going? Amsterdam? Why? Amiga 30 Years event?

What an amazing place to have a meet up and who can believe the Amiga is 30 years old?!


I landed in Amsterdam yesterday (Thursday), what a place!!  OK so I've arrived a couple of days early before the Amiga 30 event on Saturday, but I wanted to make the most of travelling out here, get settled in and make sure I'm all set for Saturday.

I've been to Amsterdam a few times now, mainly for business.  I have done some brief exploring around town before, this time I'm on my own and have time to spend properly exploring.

Last night I finally worked out how the Metro / public transport system works which has saved me loads of money, walking and time!

It's Friday morning, I've found a nice café to sit drink strong coffee and quickly write this brief blog post.

Amiga 30 at The Lighthouse this Saturday

Go to the event website here: http://www.amiga30.eu/

Well I have no idea what to expect, honestly, I have no idea.  Sure I love the Amiga, the best machine ever made, but I'm worried I'm not quite as knowledgeable or up to speed with all the history and ins + outs of it's history and functionality.

I'm still very much in the early days of getting my head around and learning Assembler 68k, which I NEED more time for.  I have a lot of awesome memories of a lot of the games, and it amazes me to this day that I'm discovering amazing games that came out that I've never heard of or had an opportunity to play.

Why get flights and hotel for THIS event? Good question.

I guess I just love talking about the Amiga, sharing memories, but also learning new facts and things that happened.  I can't think of a better way to celebrate the 30 year anniversary of the Amiga than to meet up with other Amiga geeks in one of the world's craziest cities! To actually potentially meet and listen to some of the amazing people behind the magic of the Amiga will be worth every penny.

I'm also very excited to meet someone who's been amazing to me, helping me out with assembler, Jonas.  You can find his blog here: http://www.retrocode.se/

So I will try and tweet the day via @rich_lloyd, I'll also aim to write a summary blog post of this weekend.

I'm going with a completely open mind, I don't know who I'm going to meet and don't know what I'll be talking about.  Can't wait!

Comment here or get involved on twitter: @rich_lloyd

Saturday 4 April 2015

Back with Amiga 68k Assembler, with ASM-ONE! C'MON!

OK so I started learning 68k assembler a while back now (2013!!) and it's tough, really tough.  I think it's more a case of just needing the time and focus to concentrate so that it absorbs in my brain.  Life and work gets in the way!!

I've been coding higher level languages for many many years now so it's not like I'm starting from scratch.  The hardest part for me is understanding the hardware, and how all the different code integrates to build the bigger picture.

Long story short - I've had a break away from the assembler world, and now I'm back and determined to get SOMEWHERE in 68k for the Amiga!  C'MON!

Comment here or get involved on twitter: @rich_lloyd

New goals!

Here's a list of things I would LOVE to achieve, once I've got a small library of techniques, hopefully I can start working towards the bigger goal of creating an Intro / Demo / Game.

  • Understanding  68k basics.  Moving stuff around in memory and program flow
  • Get a grip of the Copper, custom backgrounds
  • Draw a sprite!
  • Move a sprite!!
  • Mouse Input
  • Keyboard Input
  • Joystick Input
  • Play a music track / audio
  • Display Text
  • Create a simple Intro / Demo / Game
The ultimate goal would be to have made something awesome that fits on a floppy disc and runs on a regular Amiga machine.  I'll be happy with it running on the Amiga 1200, but if I can get it working on the Amiga 500 and upwards that really would be an achievement.

My new setup - AsmOne, lets get coding!

To achieve my goals, coding directly on my Amiga 1200 through my whole learning journey will be well... a very slow experience.  Lets get real, I'll be coding on my Windows laptops, then transferring the files to my Amiga now and then to check it works on real hardware.

My Windows setup with WinUAE, AsmOne and Notepad++
My Windows setup with WinUAE, AsmOne and Notepad++

Depending on the time of day, I'll be switching between 2 laptops (Windows 7 and Windows 8), but both will have identical set-ups.

Naturally I use WinUAE which is an amazing Amiga Emulator, you can download it here:

WinUAE Downloadhttp://www.winuae.net/frames/download.html

I've created a folder on my machine and set up as a hard drive (DH0:) when I launch WinUAE.  This means I can view files in BOTH the emulated Amiga and in Windows.  Makes it so easy to copy files about, especially when looking through examples online, I can just drop in to that folder and my emulated Amiga can see them straight away.  Happy days!

The assembler I will now be using to learn 68k will be AsmOne, mainly because there are plenty of examples out there that use it, and also off the back of Photon's truly amazing tutorials on YouTube which I have linked before, but will link again further down.

AsmOne Downloadhttp://www.theflamearrows.info/documents/ftp.html

Now I 'could' use the AsmOne text editor through the Amiga emulator, but in all honesty, it's slow.  Here's a better idea, as my files can be seen in Windows, I can use a modern text editor!!  Save the changes, and the Amiga will get updated.

For now I use Notepad++ , you can even import the 68k Assembly language definition for syntax highlighting etc...

Notepad++ Download here:
http://notepad-plus-plus.org/

Get the language definition here:
http://notepad-plus.sourceforge.net/commun/userDefinedLang/68K_Assembly.xml

So the last bit of setup I have, is that the folder I have on my Windows drive is actually part of my OneDrive (it could easily be a DropBox or GoogleDrive, etc... ).  As I work on multiple machines, my files instantly get synchronised so it makes it so much easier for me to pick up where I left when I get a spare moment.

68k references

Sure thing Google is your friend here, as well as the usual Amiga websites.  I have found it harder than I thought to hunt down things when I've had issues, so I'm just sharing some links here that might help out:
Make sure you subscribe to Photon's YouTube channel, includes excellent tutorials for Amiga Hardware Programming as well as other great Amgia stuff like demos.

ScoopexUs YouTube channel here - https://www.youtube.com/user/ScoopexUs

If you find a goldmine of reference then please let me know!

Here's a couple of books I find REALLY helpful when trying to get my head in the zone!


Comment here or get involved on twitter: @rich_lloyd

Wednesday 28 May 2014

Memories of considering the Commodore Amiga 500...

Back in 1991 our well used Spectrum +2 was fully loved, however it didn't know it would soon be replaced... by the Amiga 500!

International Amiga Day is approaching us so just wanted to share some of my memories of the exciting time of upgrading our family computer.  Comment here or get involved on twitter: @rich_lloyd


We had always been a ZX Spectrum household.  First it was the rubber keys, then the +2.  Long loading times and 16 colours was the norm. A lot of my friends had speccys, so sharing games was frequent, the world of the ZX Spectrum was more than enough. Even the BBC Micro was exciting, mainly exposed to at school this tank like machine was great!

After joining secondary school there was a shake up in my world of computers. The Acorn Archimedes!  This was a machine from the future...

  • It had colours, bright clear screen which displayed crisp clean graphics. 
  • A MOUSE, wow this was science fiction right here. 
  • Disks, the quickest thing I'd ever witnessed
...this era of computing was about to change.  If you'd asked me right there if I wanted an Archimedes I would have said YES... but where are the games?  This amazing machine had the stigma of being an educational beast, not really your full all round home entertainment machine.

The Amiga 500 has entered the building

It was now becoming clear that the well loved ZX Spectrum was starting to fall behind and a new machine was about to replace it.  I remember very clearly going in to Dixons, Salisbury with my Dad to inspect the latest home computers and there it was the Amiga 500.  We asked for a demo of what the machine could do, and I will never forget what we experienced.  

Shadow of the Beast 2




First up was Shadow of the Beast 2.  After seeing the most amazing animation intro to any game of my life, the title screen appeared with the most beautiful music and stunning visuals.  We were instantly sold.  To this day the music is still stuck in my head.

Amiga Workbench




We were then shown the power of a multitasking computer when booting up the Amiga Workbench.  A clock in one window, some classical music being played in another.  There was also the power of desktop publishing (DTP), something we massively take for granted.  Produce documents which could be printed in your own home.  I could see this was ticking all of my Dad's boxes.

Deluxe Paint




Not to forget Deluxe Paint, Photoshop of it's day, this powerful art program was ground breaking.

Touch Me


The novelty of using a mouse was extremely exciting, a completely new way to interact with a computer.  The concept of Drawers (Folders) and Windows of icons was just pure wizardry.  Using the mouse for games was also a crazy thing, it wasn't a joystick!

I remember touching the keys was a joy, how they felt on the finger tips, solid.  This was a REAL keyboard it had Function keys and Amiga keys, WOW.

So it ticked all the boxes, games + art programs for me, desktop publishing + spreadsheets for my Dad. Everyone's a winner!

But before we handed over all our money we visited a friend with an Amiga just to double check it was all it was cracked up to be.  The main demo I remember is...

Puggs In Space




Again, seeing a full on animation on a home computer was mind blowing.  Watching a 'cartoon' on a computer and not a TV.

The Amiga 500 really was something special.  The quality of sound and visuals really were something new and exciting to experience.  The general feeling of power was felt every time you inserted a new disk for the first time.  When playing a game you never new what it was going to be like, but you knew it would be engaging.  You'd always be reassuringly hugged by the Amiga, no matter what.

The Amiga.  Friends forever.

Comment here or get involved on twitter: @rich_lloyd

Friday 7 March 2014

What I really wanted in October 1991... Amiga Computing issue 41 reveals all...

That's right, I recently sat down and browsed through an old Amiga Computing magazine I had... 

Issue 41 to be exact, why issue 41 I hear you not ask?  Well I've kept all the Amiga Format, Amiga Power and Amiga Computing magazines we ever had.  Recently in conversation the game Mega Lo Mania for the Amiga came up.  Turns out issue 41 of Amiga Computing had a review of that very game, and a great review too 93%.
Amiga Computing - Issue 41 - October 1991

As I was browsing... 

I came across one of those ads that advertised every game under the sun, there's plenty of them, this one was for 'Special Reserve'. Before I flicked the page over I realised, as a 12 year old kid, scribbled next to the things I wanted.  So I thought I'd share with you these things...

My wish list October 1991

The Amiga games/software I wanted in alphabetical order:
  • AMOS (Games Creator) - £32.99
    Yes as a 12 year old I was desperate to be a games programmer, I was so naive, but Google didn't exist so didn't know what was out there, this seemed to be the obvious choice.  I owe a lot to AMOS, it spring boarded my programming career! 
  • ELF - £16.49
    I remember now, for some reason the advertising for this game really appealed to me. To this day I've never played it, I must fire it up on my Amiga 1200.  I've got a feeling it had bad reviews.
  • HOLLYWOOD COLLECTION (Robocop, Ghostbusters 2, Indy Jones, Batman Movie) - 19.99
    Of course I wanted this, how awesome are these bunch of games! Never had this collection. Remember playing Robocop and being slightly disappointed. I'm assuming that was Indiana Jones and the last crusade, I played it on other platforms and loved it.  Never played Ghostbusters 2 or Batman Movie.
  • RAINBOW COLLECTION (Bubble Bobble, Rainbow Islands, New Zealand Story) - £13.99
    Bubble Bobble and Rainbow Islands were a MASSIVE favourite on our ZX Spectrum. Remember seeing the vibrant colours on the Amiga version and really wanted to be in those worlds. I did play New Zealand Story in the end, but I don't think it had the same energy as the other 2 games.
OK so there were a couple of accessories I wanted too...

Many joystick options available back in the day, but the Quickshot Maverick was the one I wanted

  • Quickshot 138F Maverick 1 - £12.99
  • Roctec External Drive - £54.99
So I was after an awesome joystick and external floppy drive, never did get a joystick better than a standard Competition Pro, but did get the 2nd floppy drive about a year later.

And then there was the Nintendo Gameboy...

OK so I LOVED my Amiga, it was great then, and it still is today. At the time I never had a Nintendo product, they were top of their game and the Gameboy was so amazing.  This is what I wanted.  After months of my Mum pretending to not understand what a gamethingy was she secretly got me one for Xmas that year.


The Gameboy games I desperately wanted was Formula 1 Race (with four player adaptor) £29.49 and Super Mario Land £19.49.  What I find funny about this selection is that I didn't know ANYONE else with a Gameboy at the time, so no idea why I chose the four way adaptor.  Super Mario Land became a massive favourite of mine, but I never did get or play Formula 1 Race.

Yup they were the top things I wanted.  Nothing too exciting I know, but it's just funny looking back on things that a 12 year old me wanted.  When I look at all the other things on offer at the time, makes me chuckle.

Right I must get back to coding in Amiga Assembler...

Comment here or get involved on twitter: @rich_lloyd


Monday 20 January 2014

Creating an Amiga boot sequence for WHDLoad... MY way!

Slow/cumbersome typing to maximise memory via WHDLoad? Sod that! Time for my OWN quick menu...

All of the following is probably basic stuff for regular Amiga fans, but as it was all new to me I thought maybe I'll share my experience in case it helps others.

Recently realised after regularly typing lots to launch games via WHDLoad and Shell prompt, why I don't I write my own boot sequence?! With my OWN short cut buttons!  Is this even possible?

YES and I've written how I achieved it!

I'll point out now that even though I grew up with the Amiga, and yes tinkered around with coding/Workbench/Shell etc... it has now dawned on me, actually I just touched the surface of how the whole Amiga worked.

Lets get a Hard Drive... oh hello WHDLoad?

Always having had an Amiga 500, when I saw a cheap Amiga 1200 on ebay I couldn't resist getting it. OK it had a bust floppy drive, but that was easily sorted by buying one from Amiga Kit (http://www.amigakit.eu).

No memory extension with just 2Mb RAM and no hard drive.  After a bit of hunting around I purchased a Compact Flash card + connector from ebay to finally hook up my Amiga 1200 with a hard drive.

Took Amiga apart, fitted the Compact Flash connector, turned it on, BAM job done.  It was at this point I was introduced to WHDLoad.  Always having an Amiga 500, floppy disks were THE only way, (sure I bet you can by a CF connector today).  I'm still not sure what a hard drive would have done back in the day, just one big floppy disk? to save games? backups?   But now it turns out games and programs can be stored on the harddrive and launched via WHDLoad.

As my Amiga 1200 has minimal RAM, I can't launch WHDLoad games in Workbench itself, clearly not enough memory, so there is an option when I reboot my machine holding down the left mouse button launches a Shell window prompt.  From here I have to locate the directory on the hard drive of the game I wish to launch then type out a command to launch it.  As Workbench hasn't loaded yet, the memory is ready and waiting to load+launch the game.

Great!
My Amiga 1200 in action! (Chaos Engine)

OK... my poor fingers!

Yes I do miss the Amiga keyboard, yes keyboards have come a long way since.  When I want to simply launch a game, there's actually a lot of typing.  Sometimes I have to double check the folder structure spelling, then locate the directory with the game in it. Then launch it.  Yes, this IS straight forwards stuff, but feels like there's so much typing for such a simple task, especially for games I play over and over again.

A script has got to be quicker than this each time!!

Let me introduce you to S:Startup-Sequence ...

When I reboot my machine and hold down the left mouse button, it interrupts the boot sequence and loads a bare minimum option menu so that memory is available to launch stuff.  Being pretty naive, I thought this was something special with having WHDLoad installed.  It's not.

When I realised there MUST be a script somewhere that controls the boot sequence I started to ask questions on Twitter.  As usual I was kindly pointed in to the right direction, and this is where I met S:Startup-sequence for the first time.

If you open the Shell in WorkBench you can type:

ed S:Startip-sequence

This opens the file in a basic text editor, here you can see each step in the boot up.  After having a quick look around, I found this:

C:Bblank

C:GetMouseInput LOCAL

IF $MouseInput EQ 1
  Unset MouseInput
  C:SetPatch QUIET
  C:Assign >NILL: ENV: RAM:
  C:Assign >NIL: T: RAM:
  C:Execute S:Maxmem-Sequence
  EndCLI >NIL:
EndIF


From this small section of the whole script I could see that there's a check for the left mouse button, if it's pressed then it clears the memory, then executes another script called S:Maxmem-sequence.

Firing up Maxmem-sequence in the text editor, I could see the quick menu that I see when I reboot.  Excellent, I can now see the commands to launch a window with quick options.

LAB Start

C:Requestchoice >ENV:Choice "Maxmem-Sequence""Choose:""RADboot""KGLoad""Reboot""Prompt"

IF $Choice EQ "1"
  Skip RADboot
ENDIF

IF $Choice EQ "2"
  Skip KGLoad
ENDIF

IF $Choice EQ "3"
  Skip Reboot
ENDIF

IF $Choice EQ "0"
  Skip Prompt
ENDIF


Above you can see the script pops up a window with 4 options, there are then some basic IF statements to work out what the user selected. Interestingly the last button has the ID of 0.

Lets make our own script

I had to do some googling regarding Shell commands and running scripts on the Amiga.

This link is a great reference for AmigaDos:
http://winuaehelp.back2roots.org/background/amigados.htm

Scripts can be created by creating an empty text file using the regular text editor, then on each line use the AmigaDos commands just the same as if you were typing in a Shell window.

FACT: After 20+ years of using the command, I've only just realised the the Shell command CD means Change Directory.

Once you have created your script file and saved it, you have to change the protection settings of the file to be able to run it as a script.

So if you have created a new script file called "myscript" in the S: director, then open the Shell window and type:
protect S:myscript RWES
(For info: r=read, w=write, e=execute, d=delete, s=script, p=pure)

From a shell prompt you can now type: myscript and it will run. Great!

I created my own script called RichMenu which prompts the user with a window with options of quick shortcuts to games.  Using what I had just learnt this was easy, then for each option in my script all I have to do is change directory to the games' folder then call WHDLoad, as a quick example this is my script:

LAB Start

C:Requestchoice >ENV:Choice "RichMenu""Choose:""Zool""Chaos Engine"

IF $Choice EQ "1"
  Skip Zool
ENDIF

IF $Choice EQ "0"
  Skip Chaos
ENDIF
LAB Zool
  CD Games1:A500_A600_ETOZGames/Z/Zool
  WHDLoad Zool.slave
  EndCLI >NIL:

LAB Chaos
  CD Games:A500_A600/c/ChaosEngine
  WHDLoad ChaosEngine.slave
  EndCLI >NIL:
Editing the RichMenu script


Great this fires up a window with the options Zool and Chaos Engine, user selects and instantly launches the selected game.   The script works!

IT WORKS!
Now I just need to go back to the original Maxmem-sequence script and add an extra option.  When selected this option just runs RichMenu.  BINGO!

Here's a snippet of the new change:

LAB Start

C:Requestchoice >ENV:Choice "Maxmem-Sequence""Choose:""RADboot""KGLoad""Reboot""Prompt""Rich Menu"

IF $Choice EQ "1"
  Skip RADboot
ENDIF

IF $Choice EQ "2"
  Skip KGLoad
ENDIF

IF $Choice EQ "3"
  Skip Reboot
ENDIF

IF $Choice EQ "4"
  Skip Prompt
ENDIF

IF $Choice EQ "0"
  Skip RichMenu
ENDIF

...

LAB RichMenu
  C:Execute >NIL: S:RichMenu
  EndCLI >NIL:

To summarise

  • S:Startup-sequence checks to see if left mouse button is down.
  • If it's down then clears memory and calls, S:Maxmem-sequence
  • S:Maxmem-sequence has been updated with an extra option called "Rich Menu"
  • When "Rich Menu" is selected it calls the script called RichMenu
  • RichMenu contains shortcut options to popular games I play, when a game is selected, it changes directory to the selected game, then game is launched with WHDLoad
  • Lots of fun had

And that's it!  I hope this makes sense, and someone one day might find it useful!

Comment here or get involved on twitter: @rich_lloyd



Wednesday 11 September 2013

Amiga assembler tutorials - the wonders of YouTube

I wish I had these sorts of resources back in the 90's...

After some tweets back and forth with a few cool people, I have been shown further resources on the internet for learning about assembler for the Amiga.  I just wanted to share with you a cool YouTube channel Jonas pointed out to me that has several tutorials for Amiga assembler.

If I could embed a whole YouTube channel I would, but here's a link to the channel itself by ScoopexUs: http://www.youtube.com/user/ScoopexUs?feature=g-high-cen

My time at the moment is so limited I haven't had a chance to view all the videos, but I can see there are 9 Amiga programming tutorials, as well as some demo scene stuff.  Check out the channel or here's a couple of snippets...

It starts off really simple with this:



and continues to get more in depth up to this:



Thank you to ScoopexUs for the awesome tutorials, I really hope there are more to come, and thanks to Jonas for pointing these videos out to me, as well as proper reference books.

OK SO... I need to continue being a sponge and learn about the Amiga hardware and soon hopefully I will be able to put together my first proper experience.

Comment here or get involved on twitter: @rich_lloyd

Tuesday 25 June 2013

Easy68k... Editor / Assembler / Simulator... 68k in Windows!

I have stumbled upon Easy68k, this looks like a great way to learn vanilla 68000 assembly language.  OK so it's in Windows, but surely I'll learn the skills needed for achieving my goal of making a game for the Amiga 500.

For starters it was very easy to install and it comes with some tutorials as well as examples on their website.  The forum on their website is full of people in a similar boat of learning 68000.

So already I've been reading up and now finally have a good environment to have a play about.  I will try and share with you examples of my progress and I think this is a good starting point.

Moving a red blob!

I often find with tutorials and examples when learning technology that the basic stuff is REALLY basic, then all of a sudden the examples are so advance you struggle working out the steps involved.  With that in mind, I wanted to share an example to move a blob about the screen using some user input, the keyboard.  This covers drawing to the screen, and capturing key strokes.  

There is already a Snake type game called Pallet Eater in the examples which is great, but I just wanted to break a few things down.  Simply draw a single red square, and the user can move up / down / left / right.  That's it!


That really is it!

I'm not an expert at assembly (yet), please let me know how I can improve my code.  Any sort of hints and tips would be great. Also if there is a better way to share the code examples please let me know as the code will be getting a lot bigger!

Comment here or get involved on twitter: @rich_lloyd

Here's the code:

*-----------------------------------------------------------
* Title      : Red Blob
* Written by : Rich (http://www.retrorich.co.uk)
* Date       : 24 June 2013
* Description: Moving a red blob around the screen using keys 4,6,8,5
*-----------------------------------------------------------

CR      EQU     $0D
LF      EQU     $0A 

START   ORG    $1000

* --  Make the pen and fill red  -- 
        move.l #$000000FF,d1 
     move.b #80,d0
     trap #15
     move.l #$000000FF,d1
     move.b #81,d0
     trap #15
      
* --  Turn echo off  --
     move.b #0,d1
     move.b #12,d0
     trap #15

* --  Get the time and store it in d5
     move.b #8,d0       
     trap #15
     move.l d1,d5    
   
* --  Set game loop speed
     move.l #5,speed    

* --  Set start position --     
     lea     player,a0     
     move.w #100,(a0)+     Set the start pos to be 100, 100
     move.w #100,(a0) 
        lea     player,a0
        
* -----------------------------------

LOOP    

* -- timing the game loop --

     move.b #8,d0     Re-get the time
     trap #15
     sub.l d5,d1     Subtract the old time from this new time
     cmp.l speed,d1 If less than  hundredths of a second has passed
     blo     LOOP         Loop again until it has
     move.b #8,d0     Now that enough time has passed
     trap #15
     move.l d1,d5     Put the current time in memory for the next loop

* -- grab input --
    *Check to see if a key has been pressed
     clr.l d1
     move.b #7,d0
     trap #15
     tst.l d1
     beq     nokey     Key wasn't pressed, clear movement

    *Read the key that was pressed and find out which key it was
     move.b #5,d0
     trap #15
     
     cmp.b #$35,d1     Key pressed: 5 (down)
     beq     move_down
     cmp.b #$38,d1     Key pressed: 8 (up)
     beq     move_up
     cmp.b #$34,d1     Key pressed: 4 (left)
     beq     move_left
     cmp.b #$36,d1     Key pressed: 6 (right)
     beq     move_right


nokey
        clr.l   d6          Clear any movement
        clr.l   d7
        
continue

        move.b  #11,d0      Clear screen
        move.w  #$ff00,d1
        trap    #15
    
     lea     player,a0     Store current position
     add.w d6,(a0)+     Add any movement to position
     add.w d7,(a0) 
        lea     player,a0       Update current position

        bsr     draw_square     Draw player

        bra     LOOP

* -- key(5) was pressed
move_down
     move.w #0,d6 
     move.w #10,d7 
     bra continue

* -- key(8) was pressed
move_up
     move.w #0,d6
     move.w #-10,d7
     bra continue

* -- key(4) was pressed
move_left
     move.w #-10,d6
     move.w #0,d7
     bra continue

* -- key(6) was pressed
move_right
     move.w #10,d6
     move.w #0,d7
     bra continue

DONE    MOVE.B  #9,D0
        TRAP    #15
    
draw_square
     clr.l d1
     clr.l d2
     clr.l d3
     clr.l d4
     move.w (a0)+,d1
     move.w (a0),d2
     move.w d1,d3
     add.w #10,d3
     move.w d2,d4
     add.w #10,d4
     move.b #87,d0
     trap #15
     rts
 
speed ds.l 1       store game loop speed
player ds.w 2       store player screen pos

Monday 24 June 2013

Starting to learn assembly language - the journey begins... where do I start?!

Final goal?

Write a game for the Amiga 500.  Bonus goal would be for the same game to run on the Sega Mega Drive (Genesis), but I'll work that out once the first goal is achieved.

Lets start!

I have an Amiga 500, and as mentioned before I'll be following the Amiga Format Bullfrog tutorials for writing a game in assembly language (I'll be writing separate blog posts for each tutorial).  OK so tutorial 1 was pretty straight forward, very basic beginnings pretty much incrementing a register to move a sprite position and understanding some basics.  I've had a quick flick through ahead of the future tutorials and it's pretty obvious that I'm going to have to do some extra research!

OK after some quick googling, I've come across the following websites:

Through those links I was able to download numerous pdf documents, text file tutorials and lots of other people discussing assembler. Great!

A few people had mentioned particular books that they recommended, which then put me on a mission to hit ebay for real world BOOKS! Ebay books for 68000 processor

Real world books I've ended up with, should keep me going for a while!

"Lets get real"

OK so coding on the Amiga 500 is great, I have DevPac 2 and I can run simple examples.  However, this is going to take forever!  Not only is assembly language slow to code (especially when I'm learning), but one of the biggest draw backs is the lack of resources on the machine. As in, I can't just Google something and try it out.  My Amiga 500 is on my desk and sits next to my laptop so yes I can Google stuff, but I have no way to transfer files across other than typing out line by line. What do I do?

Ebay to the rescue again... I've purchased an Amiga 1200 (with a broken floppy drive - hopefully I will blog to explain how I will fix it).  The great thing about the Amiga 1200 is that you can connect it to the internet, and also use a compact flash card as a hard drive!! 4Gb!!  It's still in the post, but I expect I will try and code on the A1200 and once I'm up to speed I'll try and create boot disks with my tests and trials for the A500.  Remember my goal is to write a game for the Amiga 500 not Amiga 1200!


What next?

I've read through most of 2 68000 books, and I think it's becoming clear that I'm learning vanilla 68k assembly language.  I need some Amiga specific references.  I'm using DevPac 2, but maybe I need to get my hands of DevPac 3, AsmOne or some other assembler package?  And then find a reference + tutorials for that package?

I have stumbled upon Easy68k, this is an Editor, Assembler and Simulator for the 68000 that runs in Windows.  Again this looks like just vanilla 68k, but looks like a great way to learn the basics without crashing my Amiga ever time!

Do you still code in Assembler?!

Would love to hear from anyone who still codes in assembler, especially for the Amiga machines.  Or maybe if you used to?  Any hints or tips you could recommend?

Comment here or get involved on twitter: @rich_lloyd

Sunday 16 June 2013

It's 2013 man, why bother learning assembler for the Amiga?!

OK so I'm a little late to the party (over 20 years), but I've set myself the goal to learn assembly language for the Amiga (68000 processors) and wanted to share my experience with you.

At the age of 13 I was so excited to see a tutorial in Amiga Format called 'How to program your own games in assember', this was the stepping stone for me to become my dream, a games programmer.  Sadly as a kid, I struggled, I already knew BASIC and AMOS, but Assembler was something else.  The internet didn't exist, I was too young to realise there would be books on the topic, and didn't know anyone in the same boat I could share learning with.  I was alone.  I gave up, but it's always bugged me.

Now I'm an experienced programmer, I became professional in the late 90's and my dream of coding games came true, but I never did learn assembly language.  Of course I didn't need to, the industry moved on, easier and more productive languages are now used.  Games I write for clients these days use Unity3D or XNA/MonoGame and the teams I work with can produce sophisticated 3D worlds.

"Games ain't what they used to be"

Technology today is mind blowing, and the games produced today are masterpieces. However I still feel most games today miss the magic of the games made in the early 90's, especially on the Amiga.  Is it just my age or did Amiga games really have something different about them?  To prove I'm not wearing rose tinted glasses I've started to research some of the old classics.  Google and youtube are great, but I've also fired up my Amiga 500 and properly reliving the experience.  I wanted to understand more about the all round hero Amiga machine, and how the games were written.  Whilst hunting through my old stuff, I came across my Amiga Formats (issues 39-44) with the tutorials I struggled with as a kid, I found all the cover disks, including the full version of DevPac 2.

My Amiga 500 - awesome machine


I'm about to learn assembly language, how hard can it be? Right? Game ON!

Challenge accepted.  I'm aiming to blog about my experience with each tutorial, and then hopefully sum up the whole journey.  I have my Amiga 500 now set up on my desk, all issues of Amiga Format tutorial with all the cover disks (I hope they all still work).

Can't wait to get stuck in to the tutorial I really hope it can teach me everything I need to know.  Having new knowledge combined with my career experience, I would love to write a game for the Amiga!

I've bought this book on Amazon 'An introduction to 68000 Assembly Language', it's very brief, but it does give me the list of commands available.
Very brief book - but perfect for when I start delving deeper...

Do you still code in Assembler?!

Would love to hear from anyone who still codes in assembler, especially for the Amiga machines.  Or maybe if you used to?  Any hints or tips you could recommend?  Did you complete the tutorials?  Did it kick start your career?

Comment here or get involved on twitter: @rich_lloyd