Diary of an Amiga fanatic

Recording games

This week I had a go at recording Amiga games in WinUAE. I want to use some bits and pieces in some upcoming articles. Having a video to show what you are referring to is such a great asset to the story. I came across a site called Games4enthusiasts which has a great tutorial on how to setup WinUAE for recording games. I wish I came across it sooner as my first attempts on getting it working was a disaster. Even if I recorded something it was hundreds of megabytes for a few seconds and it looked horrible. Not to mention the game got really slow once I was recording it. All I had to do was to install the Xvid Codec and I was up and running.

Having a video is one thing but you always want to edit them. I needed a simple editor that will let me cut a section from the video that I want. After trying a few programs that really frustrated me I came across a program called Kate’s Video Toolkit that did exactly what I wanted. Not only that, it was really easy to use.

License to Kill

License to Kill

I wanted start a new section called “Most memorable gaming moments”. Moment or moments in a game that just are really special to me and I want to share. And having a video is essential in this since it will show readers exactly what I am talking about. I will upload the videos to my Flickr account and embed them in to the story. For the first entry in this new section I will have Licence to Kill. I should have this one done and posted this weekend.

Run the Gauntlet

Run the Gauntlet

Next up has to be Run the Gauntlet. I can hear you thinking, the intro. ūüôā

SDL Logo

NovaCoder released an Amiga AGA 68k port of SDL v1.2.3 over at
Aminet. I never tried SDL and I am not really a fan of using it. I guess seeing so many SDL ports and not “native” created stuff has put me off. But seeing the news about this port for the classic Amiga has got me thinking. I do want to create some stuff for the classic Amiga later this year so it might be worth to have a look into this.

Menus

It was time to add a simple menu to my Window. I had worked with menus before so I am somewhat familiar with it. To give you an idea on how a menu setup would look I have the below code for you to look at.

struct NewMenu mynewmenu[] =
{
{ NM_TITLE, (STRPTR)”Project”, NULL, 0, 0, NULL},
{ NM_ITEM, (STRPTR)”New”, (STRPTR)”N”, 0, 0, NULL},
{ NM_ITEM, (STRPTR)”Open”, (STRPTR)”O”, 0, 0, 0},
{ NM_ITEM, NM_BARLABEL, 0, 0, 0, 0},
{ NM_ITEM, (STRPTR)”Save”, (STRPTR)”S”, 0, 0, 0},
{ NM_ITEM, NM_BARLABEL, 0, 0, 0, 0},
{ NM_ITEM, (STRPTR)”About…”, (STRPTR)”?”, 0, 0, 0},
{ NM_ITEM, NM_BARLABEL, 0, 0, 0, 0},
{ NM_ITEM, (STRPTR)”Quit…”, (STRPTR)”Q”, 0, 0, 0},
{ NM_END, NULL, 0, 0, 0, 0},
};

enum
{
PROJECT_MENU,
};

enum
{
PROJECT_MENU_NEW,
PROJECT_MENU_OPEN,
PROJECT_MENU_SAVE,
PROJECT_MENU_BAR1,
PROJECT_MENU_ABOUT,
PROJECT_MENU_BAR2,
PROJECT_MENU_QUIT
};

The first part is defining our menu options. We need to number our menu options so that we can use them. In other words they need to have a value. We use “enum” to number them. In this example we have just one menu title called (PROJECT_MENU) Project. To check for menu selections we use the below code snippet.

case PROJECT_MENU:

switch (itemNum)
{

case PROJECT_MENU_NEW:
printf(“You selected NEW\n”);
break;

case PROJECT_MENU_OPEN:
printf(“You selected OPEN\n”);
break;

It is of course not a complete piece of code but it gives you the idea on how it would work. At my first attempt it did not do what it was suppose to do. For each selection I printed what you selected but while the first two did print the correct text the rest was all mixed up. Selecting “About” would print “Quit” for example. After some time I figured out that I forgot to add the Bar labels in the numbering. A Bar label separates menu option with a line.

Menu with no Bar labels

Menu with no Bar labels

Menu with Bar labels

Menu with Bar labels

With Bar labels it looks less cluttered. Once I added them to the numbering all my menu options did print the correct text.

PROJECT_MENU_BAR1,
PROJECT_MENU_BAR2,

The above defines will add the Bar labels to our “project” menu. With the menu bit added, while still being rather simplistic, it is time to have a more in depth look at loading and saving text. I will be talking about this next time.

Project Tina

Project Tina

I don’t visit the Amiga forums a lot, or almost not, but I was happy I did this weekend otherwise I would have not know about project Tina. What is project Tina?

NatamiIt seems that the Natami project is dead or shelved if you read the Amiga forums. And from the ashes so to speak we have project Tina that has stepped up to fill the empty gap left by Natami.¬†It aims at recreating and improving the Amiga architecture and technology. A super Amiga with a 68020 CPU¬†more powerfull than any existing 68060 processor. Their goal is to have a complete implementation of the¬†Amiga 500 and/or Amiga 1200 by the use of powerful FPGA’s. One of the targets is to maintain full backward¬†compatibility (Amiga 500) but at the same time offer an improvement over it’s technology.

At the moment it is all early stage. At the moment it exists on just paper and there is no actual board. I love projects like this and I will keep a close eye on it. I have already signed up on the forums to get to know a bit more about it. It would seem there is a company behind the project so that might be hopeful as they would like to see if move forward.

It has been a few weeks since I wrote anything for the blog or even did some programming. I ended up with a cold and also traveled a lot in the evenings. My wife’s mother is paying us a visit so we of course have to take trips.

Mastering Amiga C

With the “Mastering Amiga C” book came also a disk. Unfortunately my book came without the disk. Currently I am on the look for this disk just so I can see what was on there and what I missed.

You can still find info on all the Amiga books from Bruce Smith. Looking further I found out that Bruce Smith is still writing. I was amazed to find out he started Dabs which now is a big on-line retailer of electronic goods. Before this they sold computer books and software especially for the BBC Micro. When they stopped doing this he started Bruce Smith Books. Something new learned today!

Tidbits

The work on my Redhouse Editor project is in full swing. I can’t a remember a time I did so much work on a project and enjoyed it so much. The last week or so I worked on the menu part for which I had to overcome some issues. If you program you understand how great it feels when you find problems that prevent your program doing the things you want it to do. For me the menu selection did not do what it suppose to do. It took me a bit to find the root cause but finding it made up for all the frustration when I could not find it. I can’t wait to work some more on it. And since it is a rainy and cold Sunday I will be doing just that.

ghostbusters2titlescreentest

It was on the telly earlier this week and now I can’t get it out of my head. I need to play this game. From what I remember I always got stuck in the museum. Let’s see if I can finish it and have a lot of fun.

AmiDARK

AmiDARK is already on my list of things to try for some time. AmiDARK is a project from Frederic Cordier. Unfortunately he has put the project on hold for the moment due to personal reasons. But there is a version out there to try and that is exactly what I am going to do. It will be interesting to give it a try and of course write about it.

Rename

It has been a while since I did some work on the editor project. It was time I made some progress. Lately I got this urge to keep doing as much work on Amiga programming as I can. I try to do at least a bit each day and if I am unable to do any actual programming I try to do some reading to learn. Also my attempts at getting something to work and actually succeed in it does make me feel great and feeds my passion to do more.

I thought I better give the project a new name and thus Redhouse Editor was born. I already have the Redhouse File Manager (a bit dormant at the moment) so I should stick to the Redhouse home name.

I already had the Window part (basic) done and to handle the text I will use the Text Editor gadget. It provides you with functions to handle text so a rather handy gadget if you ask me. I don’t know that much about it but from what I read online it does have some limitations. Surely I will come across them and when I do I will see how I will cope with it.

Redhouse Editor

The above screenshot shows some text added in the window. Still all really basic but I am happy I was able to add the text to it. You can also already type some text in the window. I also want to add a row of icons on top to give it a proper look. But before I do that I want to add a menu to it. Next up is adding a saving routine to the code so I can save the text and opening it as well. I think I will do both together with the menu part.

Requesters

Lately I have this urge to program a lot and I have to admit I do seem to do a bit each day. As far as programming goes I seem to get a lot done lately and more importantly I learned a lot. The other day I though I would have a quick crack at a file requester and as you can see from the picture below I succeeded. I was actually surprised how quick I got it up and running. It just displays the requester and does not do anything else. But that was exactly what I wanted. I will work it out further at a later time so it will actually do something.

Basic File Requester

The reason I wanted to try creating a File Requester is because I would need one for my Amiga Editor project. I have been working on that project for the last couple of days and will write about this in a different article.

Mastering Amiga C

Finally I have my Mastering Amiga C book back. My wife’s parents arrived a couple of days ago and brought the book with them. I still need my Amos Professional manual and Mastering Amiga Amos but due to a lack of space only one book could make it so I picked the Mastering Amiga C book. My wife’s brother will also pay us a visit later this year and he should bring the other two books. But for now I will have a great time reading the Mastering Amiga C book.

File attributes ‚Äď File info

In our previous tutorial in the “File Attributes” series we opened a file and printed if we managed to open it or not. In this tutorial we are going to obtain some information of a certain file. We will obtain it’s name, comment info and the file size.

Comment example

If you are not familiar with the comment part you just have a look at the above picture. For this example I created a file called “example.txt” for which I added a comment as well. Make sure you have this file in the same folder in which you would run the example.

Click here to download the (fileinfo.c) source code file.

In order for us to get this info we will use the function “ExamineObject” from the DOS Library. As you know we don’t have to open the DOS Library but we also don’t have to open our file to get the info we want. On to the show!

File Attributes - File info

Line 8 is setting up our ExamineData structure called “data”. In here all the info of our file will be stored if we succeed to get this. And as you might have guessed we will also use this to check if we managed to get all the file info.

Line 13 will try to get all the info of our file. IDOS->ExamineObjectTags is the function that will obtain this. It will require us to tell it a few things. EX_StringNameInput is telling it that the file we want to use is not open and will be given in a text string which we will provide in the next part. I don’t want to make it to complicated but we can also tell it to use a file that is already open and if we would we would use for example EX_FileHandleInput. Next up is indeed the name of our file in a text string. TAG_END will tell it that we have reached the end of our instructions. So what we are doing is get the info from a file called “example.txt” which is not currently open and store it in a box called data.

Line 15 will check if we succeeded in doing this. Our pointer (or box if you like) called data will be empty if we failed and full if we succeeded. Line 22 till 28 will take care of the part if it failed. If you want to see if this part actually works if it does fail try to change the name of the file (in the source code or the actual file) and you will be greeted by the failure message.

Line 18 till 20 will get the info we want. As you might have guess line 18 will get the name, line 19 the comment info and line 20 the files size. This will be printed on the screen and in my case I will be greeted with the below info.

File Attributes - Outcome

There is one more part left which is what we are doing on line 30. We need to cleanup and on line 30 we are freeing up what we have used using the IDOS->FreeDosObject function. We are telling it that we have DOS info in our data box which we no longer need so dispose of it. That’s it! Please let me know if something is not clear, you can’t get it to work or you have any other questions. I hope you learned something and until next time; Happy coding!

Gift and travel

I wanted to play a bit with Amos and since I don’t have any room, actually table, to setup my A1200 I have to use emulation. Instead of using WinUAE I thought I would try to set it up on my A1SE with OS4.1. I got really excited about it and setting it all up using two hard drive files, one for the Workbench installation and the other to have Amos installed, was just great. Since I want to write some Amos tutorials I need to transfer the source code files to OS4.1. I was thinking about using a folder as hard drive but thought I would give the hard drive option a try. You can mount this as a drive in OS4.1 so that should enable me to get the source code files. I am not sure but I remember from last time that Amos would not let itself be installed in a folder that is being used as a hard drive. I was not sure but I thought I better go for the hard drive file option. I already mounted the file and it worked perfectly but about this more later on.

Amos Emulation

All this happened just a few days before the weekend that we would go to France. Not that I was not excited to go to France but being all worked up and everything worked the first time I tried I could not help thinking that I would have to wait till after the trip to continue. That was last week and the long weekend to France was absolutely marvelous. That great that I did not give much thought to my Amos emulation project.

Mount Amos HDF drive

At my first attempt I succeeded in mounting my hard drive file that contains the Amos installation. It was no fluke since each other attempt after this also worked. This will enable me to access the source code files I want to use for my tutorials. It just feels better and is more fun to emulate the classic Amiga on the new Amiga. There is just a lot of excitement doing it this way. Since I also have a partition on my OS4.1 installation called development I need to make sure I unmount the HDF file since rebooting will case some start-up errors. Mountdiskimage will also mount the HDF file again on the next boot of OS4.1. Since everything is up an running now it is time to start playing around with Amos. Hopefully I can do a new tutorial soon.

Leatherneck - Front

Leatherneck - Back

I was delighted to receive a gift from OldSchoolGameBlog. It is just the kind of game I love. I have some great memories playing Leatherneck as well in single player mode as two player mode. This game will be the next game I will do a review about. Looking forward to start on this. Thanks to OldSchoolGameBlog!

NetSurf 3.0

I also installed the latest NetSurf (version 3) version. I have to admit I use mostly OWB and it has been some time since I used NetSurf. From now on I will use NetSurf 3.0 to see how it behaves on my A1SE. Time to play some Leatherneck and do some coding.

First Blood

Monday evening so I thought I better start writing a bit since usually I manage to start writing something on a Monday evening but the rest of the week I get nothing done. I thought it might be a nice idea to keep a daily log on Amiga activities. This would also push me to work a bit on Amiga stuff each day. But I already know this week won’t be such a week I could do that so I will put it in ice for the moment.

Rambo III - Title Screen

I am looking for a game that I can use for my next game review. I think I will pick Rambo III for this. Not so long ago I had a bit of a go at it and I enjoyed it. It might be some time before I actually have the time to sit down and play and review it but I certainly will. This is really my type of game. I remember being a bit jealous of the C64 since it had a lot of these games. The top view walk around war games in which you shoot and blast your way through enemy territory.

I get most of my Amiga news from other blogs. I subscribe to their RSS feed so I won’t miss anything. I don’t visit the Amiga forums that much anymore. I also follow some Facebook pages with Amiga information. I thought that creating a Facebook page for The Bucket Diary would be a great addition. It will give me the¬†opportunity¬†to share other blog postings and upload some great Amiga pictures. If you are on Facebook just check out The Bucket Diary Facebook page.

Platoon - Title screen

Platoon - Starting point

I am pretty sure that I played Platoon first on the C64 before on the Amiga. I just gave it another try and just like I¬†remembered¬†it is a really difficult game. Getting shot after a few steps each time is a big show stopper. I don’t remember if it was also difficult when playing the C64 version. I am happy to hear your thoughts on this.

Cliffhanger

Cliffhanger - Title screen

cliffhanger - Starting point

I was really surprised when I came across the game Cliffhanger for the Amiga. This is, can’t recall I ever did, the first time I saw it and I had no idea this game was made for the Amiga. I am always excited about new games I never knew existed. I played it a bit and it’s not that bad but it has not excited me that much yet. I guess I need to play it a bit more. It did get me excited to go out and look for other Amiga movie titles. I guess I played most of them but still it might be fun to play some again or come across some games I never played before.

Amos Professional User Guide

When I was back in Thailand for a holiday in 2011 I wanted to bring back a lot that we left there when we moved to Holland in 2005. At first I wanted to bring back my Amos Professional manual but at the last moment I decided not to bring it and made room for something else. I wish I did bring it because when I have one of my Amos flashback moments I want to read it it. I did believe I brought it back since why would I leave such a book in Thailand? But I did leave it there.

Mastering Amiga C

Another gem I left there was the “Mastering Amiga C” book. My issue with this book is that I hate it and love it. I want to have it when I don’t and don’t want it when I have. And of course now I want it. And the good news is that I will have both of them soon. My wife’s parents are coming to visit us for a holiday so I will have them bring it with them. All our stuff we left there is stored with them. I just hope they will be able to find it. At least I got the pictures of the books so it should be no problem for them to find it.

Mastering Amiga Amos

I am pretty sure that I also have left “Mastering Amiga Amos” in Thailand. If so it would be a great addition to the other two gems. I want to do some more stuff with Amos so both the manual and this book would be helping me a lot in this.