amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

Amiga events
01.-02.08.25 • Amiga/040 • Mountain View (USA)
11.-14.09.25 • Classic Computing 2025 • Hof (Germany)
17.-19.10.25 • Amiga40 • Mönchengladbach (Germany)
14.-16.11.25 • Flashback-Symposium #02 • Jößnitz (Germany)

05.Oct.2023



Tutorial: Writing an Amiga GUI program in C
Edwin van den Oosterkamp has already dedicated two books to programming on the Amiga: "Classic AmigaOS Programming - An introduction" is an introduction to programming the AmigaOS in C and assembler. The target group are programmers without Amiga experience, or former Amiga programmers who want to develop for the Amiga again after a longer break. "Bare Metal Amiga Programming" goes into the programming of the hardware bypassing the operating system.

We invited the programmer to show how to get started with C programming by means of a concrete example and say thank you very much for the following instructions:

"There are many things I love about the Amiga and one of these is the OS. AmigaOS provides a lot of the things we now take for granted in an operating system. Not only the obvious things like windows, menus, icons and such but also things like multi-tasking and inter-process messaging. And compared to modern operating systems there are not many layers between AmigaOS and its applications, so it feels like you're having direct access to the OS. Personally I really like using my Amiga for productivity tasks and this includes using it to write Amiga software. This article uses a simple example program to show how an Amiga GUI program in C can be created using the Amiga itself. To save you all the typing I have also released the source code for this program so that you can download it from here.

Native development

When the new Kickstart/Workbench 3.2 was released its developers also released the matching Native Development Kit, or NDK for short. This kit can be downloaded for free from the Hyperion website and contains (amongst other things) the include headers needed for development in C. The 3.2 NDK does not just cover all the new things that Kickstart 3.2 brought, but also all includes for the older functionality of previous kickstarts. It is therefore perfectly fine to use the 3.2 NDK and develop software for Kickstart 2.0 and upwards - or even Kickstart 1.x and upwards. You do need to be careful not to call any of the new functions that were not available on the older Kickstart versions.

The NDK does not include a compiler nor a text editor. For the text editor you can use any editor you like. I've been using the "TextEdit" program that comes with Workbench 3.2 but plenty more options are available on places like Aminet. There is of course also "edit", the standard text editor that has been part of the Workbench since the 1.x days.

There are a number of different C compilers available for the Amiga. From gcc forks down to the old compilers people used in the 90's. My choice for native compilation is VBCC, which is a compiler that runs on the Amiga natively, creates good code and is still actively maintained. It is also designed to run on systems with considerably less resources than a modern PC, unlike for example versions of gcc.

Speaking of resources, to install the NDK your Amiga will definitely need a hard disk. It does not matter if it is a real spinning rust drive, a CF card or an emulated one on a memory card. When installed the NDK simply does not fit on a floppy. Of course it is possible to cherry pick just those header files that are required for a certain project, but then you are not making it easy on yourself. Your system also needs something faster than a standard 68000 CPU. The newer versions of VBCC require a 68020 or higher, and while it is possible to use an older version on a 7Mhz 68000, it just takes too long to compile any non-trivial project for it to be really practical.

Installing LHA

The NDK download will be in the LHA file format. This is an archive format similar to (but not the same as) the ZIP format used by Windows nowadays. The "lha" command is used to extract the archive, which can be downloaded from Aminet here: http://aminet.net/util/arc/lha.run. If your Amiga already has LHA installed then please feel free to skip this section.

The lha.run file is a self-extracting archive that, when run on an Amiga, will produce multiple files. Two are documentation files, one as a "readme" text and one in "guide" format. Then there are three executables, one for the 68k, one for the 68020 (and higher) and one for the 68040 and higher. Select the one that is correct for your system, rename it to "lha" and copy it into the C: folder.

Installing the 3.2 NDK

The first step is downloading the NDK from the Hyperion website.

To keep things organised I recommend creating a drawer named "Develop" in the root of your hard drive. If you use multiple partitions then it does not matter which one you choose, that is up to you. Then inside that "Develop" drawer create a drawer named "NDK3.2". Then copy the downloaded lha file of the NDK into this "NDK3.2" drawer.

Open a Shell or CLI window and navigate into this "NDK3.2" drawer. To extract the lha archive, type the following command into the shell window:
> lha x NDK3.2R4.lha
Please note that the developers of the NDK are planning to keep updating it as and when required. This means that the name of the lha archive may change and that the file you have downloaded may not be named "NDK3.2R4.lha" like mine was. Please update the filename used to unpack the archive with the name your archive has. The above command will unpack all the contents of the lha file. After that has successfully concluded you can safely delete the lha archive from the drawer.

Installing VBCC

The VBCC compiler consists of two parts, the compiler part and the target part. This allows VBCC to be used for cross-compilation. For example, with the Amiga compiler and the Atari target it is possible to write Atari software on an Amiga. With the Windows compiler and the Amiga target it is possible to create Amiga executables on a Windows PC.

In this case we want to download the Amiga 68k compiler: vbcc_bin_amigaos68k.lha.
And the AmigaOS 68k target: vbcc_target_m68k-amigaos.lha.

The above target allows for compiling software for Kickstart 2.0 and newer. To develop for the older Kickstart 1.x versions a different target is required, which can be downloaded from: vbcc_target_m68k-kick13.lha.

The example used by this article depends on Kickstart 2.0 functionality and therefore the first of the two target archives is required. For more information about VBCC, please check out the website (http://sun.hasenbraten.de/vbcc/) where you can also find compilers and targets for next generation PPC based Amigas and other systems.

The lha archives for VBCC contain an installer script that will copy all files to the correct location and set everything up for use. These archives therefore need to be unpacked into a temporary location like the ram: disk or the T: directory. After unpacking you can simply double click the "install" icon and follow the on-screen instructions. First start with the "bin" archive and then follow up with the contents of the "target" archive.

One of the things the VBCC installer is going to ask for is the location of the NDK. This location is the "NDK3.2" drawer into which the NDK lha archive was unpacked previously.

Hello world, meet our first program

The program below will open a small window titled "Hello World!", which then closes itself automatically after a short time. To open the window a function called OpenWindowTagList() is used, which was introduced with Kickstart 2.0 (Intuition library V36). This program therefore requires Kickstart 2.0 or newer to run.
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/dos.h>
#include <intuition/intuitionbase.h>
#include <intuition/intuition.h>
 
int main()
{
	char  Title[] = "Hello World!";
	ULONG WinTags[] = {
                        WA_Width,    	200,
                        WA_Height,   	100,
                        WA_Title,    	(ULONG)&Title,
                        WA_Activate, 	1,
			TAG_END
                     };
 
	struct Window * pWin = OpenWindowTagList( NULL, (struct TagItem *)&WinTags );
	if ( !pWin )
	{
		return -1;
	}
 
	Delay( 500 );
 
	CloseWindow( pWin );
 
	return 0;
} 
To compile it, copy/paste it into a text file named 'test.c' and use the following command in a shell/CLi window:
> vc -c99 -lauto test.c -o Test
This will create an executable named "Test", which you can run from the shell.

The "-c99" argument enables the compiler's support for the C99 standard. Amongst other things this enables support for comments starting with '//' as well as support for declaring variables at their first use, instead of placing them all at the top of the function.

The "-lauto" argument tells the linker to automatically open and close the system libraries used by the program. For example, the OpenWindowTagList() function is part of the Amiga's Intuition library, while the Delay() function is part of the Dos library. Without the "-lauto" argument it is up to the programmer to open and close these libraries as and when required. Letting the linker worry about these things keeps things a bit more readable.

Closing on command

Instead of closing automatically, it would be much better if the window had an actual working close gadget. To achieve that we need to enable the window's close gadget and then respond to it when it is clicked by the user. On AmigaOS the windows are managed by the Intuition library and the library communicates with the applications via messages. These messages are received via each window's "Intuition Direct Communications Message Port", or IDCMP for short. The messages are therefore known as IDCMP messages. It is up to the application to indicate which class of message it wants to receive for each window.

The updated program is shown below. Two new tags have appeared in the Window's taglist: the WA_CloseGadget tag enables the window's close gadget and the WA_IDCMP tag indicates the classes of messages the program wants to receive - only the IDCMP_CLOSEWINDOW class at this point.
#include <proto/exec.h>
#include <proto/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/intuition.h>
 
int main()
{
	char  Title[] = "Hello World!";
	ULONG WinTags[] = {
                        WA_Width,    	200,
                        WA_Height,   	100,
                        WA_Title,    	(ULONG)&Title,
                        WA_Activate, 	1,
                        WA_IDCMP,	IDCMP_CLOSEWINDOW,
                        WA_CloseGadget,	1,
			TAG_END
                     };
 
	struct Window * pWin = OpenWindowTagList( NULL, (struct TagItem *)&WinTags );
	if ( !pWin )
	{
		return -1;
	}
 
	WaitPort( pWin->UserPort );
 
	CloseWindow( pWin );
 
	return 0;
} 
The only other difference is that the Delay() function from the Dos library has been replaced with the WaitPort() function from the Exec library. WaitPort() puts the program to sleep until a message arrives on the port. And in this case that can only be an IDCMP_CLOSEWINDOW message, so as soon as we receive a message on the port we know we can close the window and call it a day.

On AmigaOS it is important to ensure that the program closes all Windows, files and so on before it terminates. Unlike modern operating systems there is nothing keeping track of these things for your process. If you forget to close a window upon exit then that Window will stay there. On AmigaOS you are solely responsible to close/free everything that you've opened/allocated.

Closing on command, now properly please

The previous program works as intended but only because it is a trivial program. With a normal program there will be a number of different classes of IDCMP messages coming in, each requiring a different response from the program. To do this properly for our program the following part needs to be added instead of the "WaitPort( pWin->UserPort );" line:
	int Run = 1;
	while ( Run )
	{
		WaitPort( pWin->UserPort );
 
		struct Message * pMsg;
		while ( pMsg = GetMsg( pWin->UserPort ) )	
		{
			struct IntuiMessage * pIMsg = (struct IntuiMessage *)pMsg;
 
			switch ( pIMsg->Class )
			{
				case IDCMP_CLOSEWINDOW :
						Run = 0;
						break;
			}
 
			ReplyMsg( pMsg );
		}
	}
The program is still put to sleep while waiting for messages on the port. But now when the program wakes up it actually gets the message from the port, checks the class of the message and replies the message. This last point is important since only then will Intuition know that the message has been dealt with and that any resources held can be released. The program receives the messages in a loop since it is possible that there is more than one message waiting when the program wakes up. And if the message is not of the IDCMP_CLOSEWINDOW class (unlikely in our still trivial case) then the program needs to continue running and processing.

Let's add some more GUI based functionality to our little program.

Gadtools

With Kickstart 1.x the only way to create menus and gadgets was via the Intuition library. With Kickstart 2.0 a second method was introduced with the Gadtools library. Gadtools made creation of menus and gadgets much simpler and at the same time added a number of new standard gadgets. These new standard gadgets meant not only that programmers no longer needed to create their own, but also that these gadgets now had an uniform look across different programs. The menus and gadgets created with Gadtools still consist of Intuition based elements and can be mixed with traditional Intuition based gadgets and menus.

Since Gadtools has been bolted on top of Intuition all messages its elements generate are IDCMP messages. Some of these messages are for internal use by Gadtools only and to filter these out Gadtools provides its own version of the GetMsg() and ReplyMsg() functions that should be used instead. This also means that some IDCMP messages are for Gatools' use only, in which case the GT_GetIMsg() function may return NULL on the first call if there are no other messages available.

Using the Gadtools functions the message loop from the previous section now looks as follows:
	int Run = 1;
	while ( Run )
	{
		WaitPort( pWin->UserPort );
 
		struct IntuiMessage * pIMsg;
		while ( pIMsg = GT_GetIMsg( pWin->UserPort ) )	
		{
			switch ( pIMsg->Class )
			{
				case IDCMP_CLOSEWINDOW :
						Run = 0;
						break;
			}
 
			GT_ReplyIMsg( pIMsg );
		}
	}
One additional nicety is that the GT_ functions work on IntuiMessage structs instead of Message structs. This removes the need to cast from one type of pointer to another and makes the code look a bit cleaner.

Gadtool menus

GadTools menus are created via an array of NewMenu structs. From this array the Gadtools function CreateMenuA() generates a list of Intuition Menu structs. None of the sizes and locations of the menus and their items are calculated at this point. This is done by calling the Gadtools LayoutmenusA() function. This function also requires a pointer to a VisualInfo struct, which contains all information Gadtools requires to calculate screen and font sizes. A pointer to this struct is obtained from the GetVisualInfo() function.

The last field of the NewMenu struct is a pointer that can be used for user data. This can for example be a pointer to a function, when the user selects that menu item the program can use the pointer to call a particular function. In this case I have created a number of integer defines that are interpreted as commands. The program can read the user data and show the About window when it sees the CMD_ABOUT value or for example quit the program when it sees CMD_QUIT.
struct Menu * CreateMenu( void * pVI )
{
	struct NewMenu nm[] = {
			{ NM_TITLE, "Project",   0, 0, 0, 0 },
			{ NM_ITEM,  "About...",  "A", 0, 0, (APTR)CMD_ABOUT },
			{ NM_ITEM,  NM_BARLABEL, 0, 0, 0, 0 },
			{ NM_ITEM,  "Quit",      "Q", 0, 0, (APTR)CMD_QUIT },
			{ NM_TITLE, "Options",   0, 0, 0, 0 },
			{ NM_ITEM,  "High",      0, CHECKIT|MENUTOGGLE|CHECKED, 0x6, (APTR)CMD_OPTHIGH },
			{ NM_ITEM,  "Mid",       0, CHECKIT|MENUTOGGLE, 0x5, (APTR)CMD_OPTMID },
			{ NM_ITEM,  "Low",       0, CHECKIT|MENUTOGGLE, 0x3, (APTR)CMD_OPTLOW },
			{ NM_END, 0, 0, 0, 0, 0 }
			  };
 
	struct Menu * pMenu = CreateMenusA( nm, 0 );
	if ( !pMenu )
	{
		return NULL;
	}
 
	LayoutMenusA( pMenu, pVI, 0 );
 
	return pMenu;
}
At this point the menu structure has been setup including the size and location of each of its items. The menu is now ready to be added to a window, for example via the SetMenuStrip() function that is part of the Intuition library.

Intuition will send the IDCMP_MENUPICK message each time the user interacts with the menu. In order to receive these messages for our menu we need to add that message class to the WA_IDCMP tag used for the OpenWindowTagList() function. This is done by logic-OR-ing the new message class with the already existing class. In the message loop we also need to add the IDCMP_MENUPICK class to the switch statement that checks the pIMsg->Class field of the received message.

The code field of the IDCMP_MENUPICK message has a unique number identifying the menu/item. This number is assigned by Intuition and indicates the item's position in the menu bar (e.g. 5th item of 3rd menu). The NDK provides handy macros to decode the menu number and Intuition provides the ItemAddress() function for obtaining a pointer to the Menu or MenuItem struct of the menu element that the user interacted with.

Unfortunately neither the Menu struct nor the MenuItem struct have user data fields. Gadtools worked around this by placing the user data immediately after the struct of the element. It is important to keep in mind that a Menu struct has a different size compared to a MenuItem struct. Before we can read the user data we need to find out if it was a menu or an item that caused the message. In the case of our example program only items have interesting user data, so if the message was not caused by the user interacting with an item then we can skip the reading of the user data.

The following function does all the things discussed above; it uses one of the menu number macros to check if the message is from an item. Then it gets the address to the MenuItem struct and moves the pointer to directly after the struct. It interprets the data after the struct as an integer and returns the value of that integer. The returned value also includes a value defined elsewhere in the program to indicate that this command came from a menu selection.
int ProcessMenuPick( struct Menu * pMenu, struct IntuiMessage * pIMsg )
{
	if ( ITEMNUM( pIMsg->Code ) == NOITEM )
	{
		return CMD_NONE;
	}
 
	char * pItem = (char *)ItemAddress( pMenu, pIMsg->Code );
	if ( !pItem )
	{
		return CMD_NONE;
	}
 
	pItem += sizeof( struct MenuItem );
 
	int Command = *(int *)pItem;
 
	return Command | SRC_MENU;
}

Gadtools gadgets

The creation of gadgets works slightly different from the way Gadtools creates menus. Menu creation was done via an array of structs that represented multiple items and menus. Gadgets are created one at a time by calling the CreateGadgetA() function for each gadget. Gadgets are linked into a list by providing the pointer to the previous gadget when calling CreateGadgetA() to create the next gadget. The start of this linked list must first be created by calling CreateContext() and the pointer from CreateContext() is then passed on to CreateGadgetA() for the creation of the first actual gadget.

The following function creates a list of gadgets and returns a pointer to the top of the list. This pointer is later required to free the list. The function uses arrays for most of the arguments of CreateGadgetA(). More gadgets can be added by extending these arrays.
struct Gadget * CreateGadgets(  struct Window * pWin, 
					 void * pVI, 
				struct Gadget * pGadgets[] )
{
	#define NUM_GADGETS	3
 
	// The labels and tags for the cycle gadget
	static char * cycLabels[] = { "High", "Mid", "Low", 0 };
	ULONG cycTags[] = { GTCY_Labels, (ULONG)cycLabels, TAG_END };
 
	// The arrays used for the creation of the gadgets	 
	int ggKind[NUM_GADGETS] = { BUTTON_KIND, BUTTON_KIND, CYCLE_KIND };
	ULONG * ggTags[NUM_GADGETS] = { NULL, NULL, cycTags };
	struct NewGadget ggNew[NUM_GADGETS] = {
			{ 100,78,85,14, "Quit", 0,1,0, pVI, (APTR)CMD_QUIT },
			{ 100,20,85,14, "About..", 0,2,0, pVI, (APTR)CMD_ABOUT },
			{ 100,35,85,14, "Options", 0,3,0, pVI, (APTR)CMD_OPTIONS },
				};
 
	struct Gadget * pGad;
	struct Gadget * pContext = CreateContext( &pGad );
	if ( !pContext )
	{
		return NULL;
	}
 
	for ( int Index=0; Index < NUM_GADGETS; ++Index )
	{
		pGad = CreateGadgetA( ggKind[ Index ], pGad, &ggNew[ Index ], (struct TagItem *)ggTags[ Index ] );
		pGadgets[ Index ] = pGad;
	}
 
	AddGList( pWin, pContext, 0, -1, 0 );
 
	RefreshGList( pContext, pWin, 0, -1 );
 
	return pContext;
}
After the gadgets have been created the Intuition function AddGList() is used to add the gadgets to the window, followed by Intuition's RefreshGList() function which ensures that all gadgets are setup correctly and show the correct state on screen.

One additional thing to note is the pGadgets[] argument of the function above. This array of pointers takes the pointer of each gadget created by Gadtools. These pointers can be used by the program to manipulate the state of the gadgets when required. There wiil be an example of this later on in this article, where the selected item of the cycle gadget will be changed.

The window will receive IDCMP_GADGETUP messages when the user interacts with the buttons. Please note that other types of buttons may produce other classes of messages as well. Internally Gadtools may depend on other IDCMP messages as well, but without passing them on. To ensure that the right messages are being received for Gadtools' purposes a macro is provided for each type of Gadtools gadget. In our case we use only the BUTTON_KIND and CYCLE_KIND gadgets. To ensure these work correctly we need to logic-OR the macros BUTTONIDCMP and CYCLEIDCMP with the other classes already present for the window's WA_IDCMP tag.

The IDCMP_GADGETUP message has in its "IAddress" field the address of the Gadget structure of the gadget the user interacted with. This is a pointer to the Intuition Gadget struct and unlike the structs used by the menus, this struct does already contain a UserData field. Reading this field will tell us which gadget was being clicked by the user. The only extra step required is for the CYCLE_KIND gadget, where the "Code" field of the message gives the (zero-based) index number of the option the user selected.

Since all information we need is already provided by the IntuiMessage of the IDCMP_GADGETUP class, dealing with it is simpler than the dealing with the IDCMP_MENUPICK message, as the following function shows:
int ProcessGadgetUp( struct IntuiMessage * pIMsg )
{
	struct Gadget * pGadget = (struct Gadget *)pIMsg->IAddress;
	if ( !pGadget )
	{
		return CMD_NONE;	
	}
 
	int Command = (int)pGadget->UserData;
 
	if ( Command == CMD_OPTIONS )
	{
		Command += pIMsg->Code;
	}
 
	return Command | SRC_GADGET;
}
Just like the function dealing with the IDCMP_MENUPICK message, this function adds an indicator to show that the command was produced via interaction with a gadget.

Updating the user interface

There are times when a program needs to update the menu or gadget selections in order to reflect the program's state. In our example program we have a cycle gadget and a menu, each showing the exact same selection. It would only be proper for the program to ensure that both indeed always show the same selection. To do this, the program needs to be able to change the selection of the cycle gadget as well as the selection of the mutual-exclusive menu items.

Updating the cycle gadget is straight forward with Gadtools' GT_SetGadgetAttrsA() function. This function takes a pointer to the gadget as well as a taglist with the gadget's new setting. In this case all we need to do is to provide the new selection via the GTCY_Active tag and call GT_SetGadgetAttrsA(). The fact that we need the pointer to the gadget to be able to do this is the reason that our CreateGadgets() function returned all the individual pointers via the the pGadgets[] array.

Unfortunately updating the menu is a bit more involved. Before we can make any changes to the menu we need to remove it from the window using the ClearMenuStrip() function. After the changes have been made we can use ResetMenuStrip() to place it back on the window. Intuition menus consist of linked lists. We know that the first selection item is the 1st item on the 2nd menu, so we can use the ItemAddress() function to get the address of the MenuItem struct of the first selection item. The structs of the next two selection items can be found by following the "NextItem" fields of each struct. Updating the selection tick for an item is done by adding or removing the CHECKED flag in the "Flags" field of each item's MenuItem struct.

The following function uses the "Command" value to update the cycle gadget and the menu items. The "Command" value also indicates what the source of the command was so that it can be used to prevent updating the element that provided the command. For example, when the user interacts with the menu then the menu does not need to be updated by the program.
void UpdateOptions( int Command, struct Window * pWin, struct Gadget * pGadList[] )
{
	int Source = Command & SRC_MASK;
	int Option = Commnad & 0x0F;
 
	if ( (Source != SRC_GADGET) && pGadList && pGadList[2] )
	{
		ULONG cycTags[] = { GTCY_Active, (ULONG)Option, TAG_END };
		GT_SetGadgetAttrsA( pGadList[2], pWin, NULL, (struct TagItem *)&cycTags );
	}
 
	if ( Source != SRC_MENU )
	{
		struct Menu * pMenu = pWin->MenuStrip;
		if ( pMenu )
		{
			ClearMenuStrip( pWin );
 
			UWORD MenuNumber = FULLMENUNUM( 1, 0, 0 );
			struct MenuItem * pItem = ItemAddress( pMenu, MenuNumber );
			for ( int Index=0; Index < 3; ++Index )
			{
				if ( pItem )
				{
					if ( Index == Option )
					{
						pItem->Flags |= CHECKED; 
					}
					else
					{
						pItem->Flags &= ~CHECKED; 
					}
 
					pItem = pItem->NextItem;
				}
			}
 
			ResetMenuStrip( pWin, pMenu );
		}	
	}
}

Keyboard action

In a lot of cases there is not much to do for a program in order to support the keyboard. The menu takes care of its own shortcuts and any gadgets that take text, e.g. string gadgets, take care of the keyboard themselves. There is one thing though that Intuition does not provide for, mainly since it was not really a "thing" back in the day. And that "thing" is closing a window when the escape key is hit by the user. Of course our window is actually a main window for which close-on-esc is less common, but it still useful to show how simple it is to do this for an AmigaOS application.

Keyboard support is provided by means of IDCMP messages, of which there are two key related classes. The IDCMP_RAWKEY message is sent each time a key is pressed and each time a key is released. It contains the raw key code directly from the keyboard, but without translating it according to the installed keyboard layout. The other message is the IDCMP_VANILLAKEY message, which does translate the key codes by using the default keymap. For keys that don't translate to a keymap (like the function keys for example) no IDCMP_VANILLAKEY message will be sent, to receive key codes for those the IDCMP_RAWKEY message is needed.

In our case all we need to know is that the user has released the "Esc" key and for that the IDCMP_RAWKEY message is enough. To receive the message we need to add the IDCMP_RAWKEY class to the window's WA_IDCMP tag. Each time a key is pressed and each time a key is released the program will now receive an IDCMP message with the IDCMP_RAWKEY class and the raw key code in the "Code" field of the message. The function below shows a simple way to deal with this message:
int ProcessRawKey( struct IntuiMessage * pIMsg )
{
	if ( pIMsg->Code != 0xC5 )
	{
		return CMD_NONE;
	}
 
	return CMD_QUIT;
}
The magic number "0xC5" used above is the code sent by the keyboard when the "Esc" key is released. This key is in the same location on all keyboard layouts and therfore the code will be the same for all keyboard layouts.

Resources

There you have it, a small AmigaOS GUI program that does absolutely nothing. Nothing, apart from showing how things work within the AmigaOS graphical environment. It is up to you now to expand on it. Maybe add some different types of Gadtools gadgets? Or actually add some useful functionality? In any case, to take it further here are some resources that are useful to the general AmigaOS programmer..."
  • The "Autodocs" directory in the NDK3.2 directory contains a lot of in-depth information on the various system library calls.
  • The "Examples" directory in the NDK3.2 directory.
  • The Amiga Developer Docs at amigadev.elowar.com.
  • The coders section on the English Amiga Board at eab.abime.net.
(dr)

[News message: 05. Oct. 2023, 20:49] [Comments: 1 - 06. Oct. 2023, 23:34]
[Send via e-mail]  [Print version]  [ASCII version]
04.Oct.2023



Chat software: AmigaGPT V1.2.0
Cameron Armstrong has written AmigaGPT, a chat program for AmigaOS 3.2 that uses the power of the chatbot ChatGPT (amiga-news.de reported). The new version 1.2.0 adds backwards compatibility to AmigaOS 3.9.

Direct download: AmigaGPT.lha (207 KB) (dr)

[News message: 04. Oct. 2023, 18:52] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
04.Oct.2023
ANF


Event: Gameday#2 at Wolfsburg indoor swimming pool (Germany)
After the premiere in March, where according to a video also the Amiga was represented in the retro area, the Gameday#2 will take place on October 22nd in the indoor swimming pool Wolfsburg. The retro area is already open from 10am.

If you want to exhibit your own computer in the retro area, please contact the organizer at bloekchen@gmx.de. (snx)

[News message: 04. Oct. 2023, 12:53] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
04.Oct.2023
Amigaworld.net (forum)


AmigaOS 4: Touch Device 0.12
The Touch Device makes it possible under AmigaOS 4.1 to also use the touch function of touchscreens - a list of supported models can be found at the title link. Ports for MorphOS and AROS are planned.

Version 0.12 now also includes a HID touch driver for the first time, which should enable uage of most modern touchscreens. (snx)

[News message: 04. Oct. 2023, 12:40] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
03.Oct.2023



Introduction: The AMOS game "The Gate" (in development)
For quite some time now, we have been reporting on Fabio 'Allanon' Falcucci's projects such as the Hollywood GUI system HGUI or the Hollywood utility APPBuilder. After G.E.M.Z., the programmer has now again started writing a game, which he has given the provisional name "The Gate" and is being written with AMOS Professional and AMCAF & Turbo extensions. We asked Fabio to write something about himself, his development history and that of the new action adventure. Thank you very much, Fabio!

"I grew up with the Commodore 64, the mighty C64! This magic box is responsible to have opened my mind to the world of programming, first with it's embedded basic, and then with the incredible Simon's Basic, and I've to say that it was a blessing for my life :)

I still remember when it happened: I was playing with a game and after a while that game crashed reporting a line number error, so I listed the program and I saw all these amazing commands! So what I was doing was to load that game, make it crash and use the Simon's Basic to create my own programs :D At that time there was no Internet, you had to guess and think to learn stuff, or buy magazines!

While having fun with the C64, and later an Amiga 500, I've also faced the dark side at school, where we had an Olivetti M24 we were using to code with GW-Basic. But the Amiga was on another planet, I have a debt with the Amiga 500 because it unleashed my creativity, and I'm now what I am because of this wonderful machine: I started to code seriously on it, learned assembler, started to think logically, composed several tracks with every musical software available at that time and I learned so much that it's impossible to list them all here.

The last step on the Commodore adventure was to upgrade to an Amiga 1200 (that I still have and I still love), and along with the Amiga 500, it has signed my life forever starting to code seriously with AMOS and BlitzBasic.

Time passed, and I bought a PC, and then another, and then another... while the Amiga 1200 was watching me without saying a word :)

After the school I worked as accountant since my school graduation was "programmer-accountant" but being an accountant is soooo boring! I created many VBA (Visual Basic) programs for the companies I worked for and learned modern programming concepts like OOP (Object Oriented Programming).

For a brief period of time I tried the Amiga NG world buying a SAM440ep... well, I was completely confused about this product, I didn't feel at home, and my Amiga 1200 was still there, staring at me, and waiting for my return. After a couple of years I sold the SAM and all my attention was focused into the emulation with WinUAE, when another spark hit my head: Hollywood by Andreas Falkenhahn. I will not describe how good is Hollywood and how many features it has, instead I'll only say that I felt at home with it since when I discovered it I was seriously programming with LUA (Hollywood is based on LUA and has many similarities with it).

I started to code with Hollywood and I ended up building very big projects like HGui (an almost complete GUI tool kit written completely in Hollywood without any plugin) and several libraries, simple Hollywood includes, published on my GitHub. Now I'm a freelance programmer and I'm still using Hollywood for some jobs since this amazing language can compile for almost any machine in the world.

But something was still missing: since Hollywood is not a viable option for old Amigas I tried experimenting with several languages and I ended up with AMOS Pro, my first love :)

I've started to remember it and I started to experiment with it, and a couple of ideas for possible games was born. I always wanted to create something good for the computer that has signed my life, so I started, once again, to code with AMOS Pro.

The project I'm working on in these days is called "The Gate" (temporary name) and I'm trying to create a mix between "Impossible Mission" and "Project Firestart" with my own ideas and concepts with (at least for me) nice results. I've chosen AMOS Pro instead of Blitz for a matter of available free time, I tried to remember Blitz but, well, AMOS memories was still alive in my head :) We are all aware that Blitz is faster, but way more complex than AMOS, but AMOS Pro has a more familiar editor and there are no time critical requirements for the projects I would like to create, so AMOS was a good choice for me.

At this time I'm adding features trying to optimize the code as much as I can, I'm trying to target stock Amiga 1200, but I'm still experimenting because I need to know how far can I go with the logic: I'm still too used with modern programming languages and without CPU restrictions, but with this project every single CPU cycle counts!

Here is a brief description of the main idea: the player is a detective investigating into an huge building, the building is composed by maps connected each other by doors. In every map there are rooms where you can find hints about your investigations, items, terminals you can interact with and of course enemies and NPC you can talk to.

The player control the main character using the keyboard and the mouse, with the keyboard you can move around the main character (w-a-s-d keys) and jump, he can also perform actions (space key) using a special action menu. The mouse is used to aim and shoot (left mouse button) and/or use a secondary item (right mouse button). Keyboards controls are configurable.

I'm planning to add persistence to the maps: you shoot into the walls and the bullet holes are persistent, you destroy a furniture and the furniture is still destroyed when you enter again on that map, and so on.

I have so many ideas, but as I said earlier, I need to determine exactly how far can I go :)

Technically I'm using big images as maps, the one I'm using for testing is 960x600 pixels and the scrolling is achieved using hardware offsets since the cpu cost is almost zero. I've tried using tiles but after having achieved a very smooth multidirectional scrolling I was in trouble with all the stuff I wanted to implement so I've chosen the more-memory-used & less-cpu-used road.

The graphics for the main map screen is 64 colors EHB mode, Lowres and I have built a palette that is studied to make use of special effects like darkening & brightening stuff, and I will be very honest: I got a huge boost to my motivation from the videos published by BitBeamCannon where they have explained some advanced technics used while prototyping their new game "Daemon Claw" on the Amiga.

Right now results seems promising, the latest test I did was with the map I mentioned above had the player (that is already able to move, shoot and jump), fully working collisions with the walls, and 5 animated doors (all of them animated, of course during opening/closing, but also when they are closed or opened). The action-menu has been implemented and the main character is now able to interact with doors.

The graphics are not mine but I bought some assets from itch.io and I give credit to the authors when the project will be completed, I only remapped the colors and changed some frames to my own personal taste :) I will do the soundtrack, that's for sure :P

To finish this very long wall of text here are the biggest obstacles, I've encountered when I decided to start these projects:
  • Missing so much OOP, working with arrays instead of objects was a nightmare at the beginning of this adventure.
  • Trying to remember how to create smooth scrolling & animations
  • Trying to figure out how AMAL worked
Well, now that my memories are back and that I was able to collect several manuals from Internet I can go on a see how this adventure will end up."

You can get an impression of the current state of the game from a small video that the author attached to one of his last Mastodon posts.
On his Patreon page, you can support the author and thank him for past and future projects. (dr)

[News message: 03. Oct. 2023, 15:25] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
03.Oct.2023



Event: Amiga Ireland 2024
The next Amiga Ireland will take place on 19/20 January 2024. The venue for the meeting, which is regularly attended by more prominent members of the Amiga community, is as usual the Sheraton Hotel in the town of Athlone, located in the heart of the island. Tickets can already be purchased at the title link. The coming Amiga Ireland is to be much more relaxed in terms of the schedule: so there will be neither an "official" dinner nor a main guest. This should leave more time for workshops and games. (dr)

[News message: 03. Oct. 2023, 07:05] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
02.Oct.2023



Introduction: Research project "CH LUDENS"
"Confoederatio Ludens", or "CH LUDENS" for short, is a joint project of the two universities of Bern and the universities of Lausanne and Zurich that began in February 2023 and is intended to research Swiss games culture in the period from 1969 to 2000 by 2027.

The name of the project is based on the Latin name of Switzerland, Confoederatio Helvetica, whereby Helvetica has been replaced by the Latvian word for "to play", ludere, or its participle present active form, ludens.

Among other things, the thesis will be explored that new technologies are always met through playful approaches and that there are pretty much more games and game culture around the introduction of digitality than we are aware of and know. However, these have often been dismissed as children's or hobby stuff.

For decades, digital games were programmed in Switzerland in niches, but also with commercial success. They bear witness to many sub-scenes and a society that is changing due to digitalisation. The Confoederatio Ludens team explores this largely disregarded games industry and takes a step towards the broader preservation of a highly ephemeral and disappearing cultural heritage.

An existing project has already done some preliminary work for this: Swiss Games Garden has taken on the task of listing all computer games originating in Switzerland. As far as the Amiga is concerned, one of the best-known games is certainly Traps'n'Treasures.

Now Adrian Demleitner, a member of the research group, has thought about how to deal with video games on floppy disks as research material, using the Amiga as an example in a blog entry. To this end, as he writes on Mastodon, he had first procured a complete Amiga 500 set, including some common joysticks, a mouse, a Commodore 1084 monitor and dozens of floppy disks. In a sense, this brought Adrian full circle, as he had grown up with an Amiga 500.

In his dossier, he raises, among other things, the question of how to play a game released in the 90s, for example, authentically today. Because not only the game itself, but also the game environment contributes to the overall experience: is it important to play the game with the original joystick? Is it acceptable to run the game on an emulator and display it via a 3.5-inch display in a time- and resource-efficient way? What role did the materiality of the original hardware, including the sounds it produced, play in the gaming experience? (dr)

[News message: 02. Oct. 2023, 09:50] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
02.Oct.2023



Chiptune tracker: Furnace V0.6 for Windows, Mac and Linux
A year and a half after the last release, a new version of Furnace is available: a tool which allows you to create music using sound chips ("chiptune"), most from the 8/16-bit era. It supports a wide range of functions and sound chips, from NES, SNES and Genesis to ES5506, VIC-20 and of course the Amiga.

Every chip is emulated using many emulation cores, therefore the sound that Furnace produces is authentic to that of real hardware. An English-language manual is available. (dr)

[News message: 02. Oct. 2023, 08:49] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023
Amiga.org (forum)


AmigaOS 4: Blog summary for September
For the month of September 'Puni' has again published a news summary in the areas of hard- and software for AmigaOS 4 at the title link. (snx)

[News message: 01. Oct. 2023, 19:06] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023
Frank Wille (ANF)


Development tool: vasm 1.9e
Frank Wille has published an update of the modular assembler vasm.

Changes:
  • Exit before reading the source (from stdin) when there were errors already.
  • Make sure the relocated blocks within all sections are closed after parsing. Otherwise the first pass may find the section in a wrong state.
  • Output modules may define the default section, when no SECTION or ORG directive was given. "bin", "ihex" and "srec" now default to "ORG 0".
  • New output module "woz", which outputs sections as "wozmon" monitor commands, suitable for ASCII transfer via a serial connection. Contributed by anomie-p.
  • m68k: Improved -opt-movem (OPT om+) optimizations, for MOVEM with two registers.
  • m68k: Fixed Apollo ADD/SUB->ADDQ/SUBQ optimization with AMMX registers.
  • m68k: Enabled Apollo FPU instructions using 64-bit data registers: Fxxx.D Dn,ea, FMOVE.D Fn,Dm, etc.
  • m68k: Added missing PC-relative destination addressing modes for Apollo shift instructions and FMOVE, FMOVEM.
  • m68k: Apollo bchg/bclr/bset/btst Dn,An must not be allowed (conflicts with MOVEP).
  • m68k: New Apollo instructions FDBcc.L, DBcc En,lab; EXTUB.L and EXTUW.L.
  • 6809: Fixed typo in the opcode for the 6309 LDMD instruction.
  • mot-syntax: Allow multiple consecutive relocated blocks within a section.
  • mot-syntax: New directives LOCAL and RSEVEN for compatibility.
  • mot-syntax: Allow any type of expression for RSSET, SETSO, SETFO.
  • madmac-syntax: Allow multiple consecutive relocated blocks within a section.
  • oldstyle-syntax: The label defining the size of a STRUCT block may have been moved into the previous section, or caused a segfault at ENDSTRUCT, since V1.9b.
  • tos-output: Also write absolute symbols (equates) into executables.
  • tos-output: New option -szbx to enable unlimited symbol names using the SozobonX extension.
  • bin-output: New option -start to define the start address for the default org-section.
(snx)

[News message: 01. Oct. 2023, 19:01] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023



Aminet uploads until 30.09.2023
The following files have been added until 30.09.2023 to Aminet:
TGD-MrRobot2023.lha      demo/aga   1.1M  68k Mr Robot by The Gentlemen Dem...
MCE.lha                  game/edit  3.7M  68k Multi-game Character Editor
MCE-OS4.lha              game/edit  4.2M  OS4 Multi-game Character Editor
AmiArcadia.lha           misc/emu   5.0M  68k Signetics-based machines emul...
AmiArcadiaMOS.lha        misc/emu   5.3M  MOS Signetics-based machines emul...
AmiArcadia-OS4.lha       misc/emu   5.5M  OS4 Signetics-based machines emul...
Sunshine.lha             mods/misc  411K      Sunshine 16bit 4ch Reggea R&B...
deark.lha                util/arc   4.0M  68k Extracting data from various ...
ModelerConverter10.lha   util/conv  10K   68k 3D Object Converter from 1991
PDF2JPG.lha              util/conv  16M   MOS convert PDF to JPG
PDF2PDF.lha              util/conv  15M   MOS convert PDF to PDF
listercompare.module.lha util/dopus 17K   68k DOpus Magellan II: Compare li...
Turkish_Packs.lha        util/wb    123K      Turkish Catalog packs some ap...
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023



OS4Depot uploads until 30.09.2023
The following files have been added until 30.09.2023 to OS4Depot:
nallepuh.lha             aud/mis 411kb 4.1 NallePUH (Paula emulation) for O...
touchdevice.lha          dri/inp 216kb 4.1 Device API for touch devices
amiarcadia.lha           emu/gam 5Mb   4.0 Signetics-based machines emulator
soniccd-rsdk.lha         gam/pla 10Mb  4.1 A Full Decompilation of Sonic CD...
mce.lha                  gam/uti 4Mb   4.0 Multi-game Character Editor
avalanche.lha            uti/arc 115kb 4.1 Simple ReAction GUI for xadmaster
touchbench.lha           uti/mis 59kb  4.1 Mouse emulator for touchscreens
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023



AROS Archives uploads until 30.09.2023
The following files have been added until 30.09.2023 to AROS Archives:
lilcalendar.i386-aros.lha    uti/wor 3Mb   Calender scheduling and reminder...
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023



MorphOS-Storage uploads until 30.09.2023
The following files have been added until 30.09.2023 to MorphOS-Storage:
GPSTool_1.0.lha           Devices/GPS               A GPS tool by by Marcus...
AmiArcadia_30.30.lha      Emulation                 A Signetics-based machi...
Deark_1.6.5.lha           Files/Archive             Extracting data from va...
listercompare.module_1... Files/Manager             Dopus Magellan II: Comp...
Easy2Install_1.0b37.lha   Network/PackageManager    A package manager to do...
LilCalendar_2.7.lha       Office/Organizer          Versatile calender and ...
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023



WHDLoad: New installers until 30.09.2023
Using WHDLoad, games, scene demos and intros by cracking groups, which were originally designed to run only from floppy disks, can be installed on harddisk. The following installers have been added until 30.09.2023:
  • 2023-09-24 improved: Bismarck (PSS) german version supported (Info)
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
01.Oct.2023
Amiga Future (website)


AmigaRemix: Further files added
AmigaRemix collects remixes of well-known soundtracks of Amiga games. Since our last news-item, the following mp3 files have been added:
  • Scumm Bar Theme Live Performance
  • The Great Bath Live Performance
  • Details Shadow of the Beast (Plains 1)
(snx)

[News message: 01. Oct. 2023, 07:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
30.Sep.2023
Amigans (Forum)


AmigaOS 4: libegl_wrap 0.7.21 (Beta)
Hugues 'HunoPPC' Nouvel is working on an EGL-OpenGL-Wrapper which is based on Warp 3D Nova/OpenGL-ES combination sold by A-EON. The wrapper is supposed to simplify porting modern OpenGL based games (Youtube video example for Prey 2006).

The new beta version 0.7.21 is now available. Changes:
  • Fixed!! ENV: gl4es prefs after quit EGL_Wrap
  • Fixed!! delete GL renderer on quit native opengl
  • Recompiled all samples
  • Added version on SDL2egl_library
  • Added new functions on intenal lib GLEW renderer
(dr)

[News message: 30. Sep. 2023, 21:30] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
30.Sep.2023
'Sosi' in Amiga-News comment area


Announcement: Workbench distribution AmiKit for PiStorm/PiStorm-lite
In addition to the existing versions for Raspberry Pi, Windows, Mac and Linux, the workbench distributions AmiKit will soon also be available for the PiStorm and PiStorm-lite (YouTube video). The hardware and software requirements can already be seen under the title link.

As the developer tells us, after almost a year of hard work AmiKit for PiStorm has reached gold status and will be available for purchase at the Amiga38 event. The physical product will come pre-installed with a 32GB or 64GB microSD card in a very special branded case. Only a limited number of units will be available on the event.

The website will be launched on the same day - 7 October - and online orders will be available just a few days later. The number of units will also be limited. The price is ¤39.95 for the 32 GB version and ¤49.95 for the 64 GB version. (dr)

[News message: 30. Sep. 2023, 20:29] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
30.Sep.2023



Platform game: Amiga port of Electro Man
Paweł 'tukinem' Tukatsch - among other things, platform game Tony - is in the process of porting the game Electro Man, originally published in 1992 by Polish programmers Maciej Miasik and Janusz Pelc for MS-DOS, to AGA Amigas (YouTube-Video). FastRam is not mandatory, but recommended. Joystick or keyboard can be used. So far the game has only 2 levels, but the second level is very difficult according to the developer. (dr)

[News message: 30. Sep. 2023, 12:18] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
29.Sep.2023
Yawning Angel (E-Mail)


Video tutorial: Advanced menu features in AMOS
In another part of his series of short tutorials on AMOS Pro, retro and Amiga fan 'Yawning Angel' looks at some of the advanced menu features in AMOS, continuing a video tutorial from last year. The source files for the programme in this video can be downloaded for free from his website. (dr)

[News message: 29. Sep. 2023, 06:28] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
28.Sep.2023



Print/PDF magazine: Amiga Addict, issue 24
The 24th issue of the British magazine "Amiga Addict" will be published on 05 October 2023. On the occasion of the 30th anniversary of the CD32, the latest issue looks at the history of the console. There is also a downloadable CD32 cover disc with the full version of "Beneath a Steel Sky" and Frank Gasking introduces a few CD32 games that never made it to the console. There are also various interviews and reviews.

Amiga Addict is published monthly and is available as a single issue or by subscription, either in printed form or as a PDF file. (dr)

[News message: 28. Sep. 2023, 20:41] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
28.Sep.2023



DIY: Firmware 1.01 for Amiga 4000 accelerator board "Z3660"
In October 2021, developer 'shanshe' had started a project on GitHub for the Amiga 4000 turbo board "Z3660" based on John "Chucky" Hertell's A3660 board and the Z-turn Board (amiga-news.de reported). With the current version 0.21 of the schematics, all corrections needed to ensure DMA compatibility have been incorporated. In addition, version 1.01 of the firmware was released today, which offers SCSI emulation for the first time. (dr)

[News message: 28. Sep. 2023, 20:32] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
28.Sep.2023



AMOS: Micke project to "Projects in the attic" added
At the end of November, the game developer group "Electric Black Sheep" had published a collection of games under the name "Projects in the attic", which were created for test purposes with the programming language AMOS (amiga-news.de reported). Now the Micke project was added: you control a runner in a vertically scrolling landscape. (dr)

[News message: 28. Sep. 2023, 06:12] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
27.Sep.2023
Timo Weirich (Mastodon)


Emu68 tip: Reducing the speed of the Raspberry Pi
Timo Weirich is in the process of setting up a computer museum. He is also working on his Amiga 500, which is upgraded with a PiStorm. Now he has published a tip on how to reduce the speed so that old games (e.g. XJ220) run better or correctly:

For such adjustments to Michal Schulz' Emu68 software (we reported on the release candidate of version 1.0 just a few days ago), there is Emu68-Tools provided by Philippe 'Flype' Carpentier, which were also updated four days ago. Not only the Emu68Control included in it can control some aspects of the Pi's speed, but also Emu68Info: "with the SETCLOCKRATE option, for example, you can clock the Pi 3A+ down to 600 MHz, which makes it 2.3x slower than the default speed. In combination with the possibilities of Emu68Control, you can clock the Pi 3A+ down to only about 3,000 dhrystones. That's only a little more than twice as fast as a standard A1200".


Compatibility tip: Activating the "Slow chip memory" option (or the SC parameter) in Emu68Control should be avoided. This seems to corrupt the chip memory. Test case e.g.: Pinball Dreams. (dr)

[News message: 27. Sep. 2023, 21:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
26.Sep.2023



Music track: "White King" with ProTracker visualisation
Since version 1.1, ProTracker (Aminet version 3.61) has a Quadrascope: ProTracker visualises the sound waveform for each channel in four small windows. 'no9' has now written a Protracker module and published it on his YouTube channel that not only plays the music but also displays visual effects in these four small windows at the same time. According to the author, it could be a "world first" in this form, as he had never seen this approach in ProTracker before.
The track was written especially for this purpose, always looking to see if what looks good also sounds good and vice versa. (dr)

[News message: 26. Sep. 2023, 06:34] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
25.Sep.2023
Seiya (ANF)


PDF magazine: REV'n'GE 150 (Italian/English)
Besides the Italian original issue, the PDF magazine REV'n'GE ("Retro Emulator Vision and Game") is also available in English. The magazine's reviews compare, if available, the different ports of classic games to the various platforms of their time. Furthermore a focus is on rather unknown retro games.

Amiga-related, the current issue is about "Goal!". (snx)

[News message: 25. Sep. 2023, 21:05] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
25.Sep.2023



Video: Building a ReAmiga 1200, last episode
We reported about the first and second and the third and fourth episode of the video series of the YouTube channel "The 8-Bit Manshed" which builds John 'Chucky' Hertell's Amiga1200 clone ReAmiga 1200. Now the final fifth part is available. (dr)

[News message: 25. Sep. 2023, 09:46] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



Crowdfunding: Illustrated book "Demoscene - The Amiga Renaissance", Vol. 3
In 2021, the first illustrated book about the demoscene, "Demoscene - The Amiga Years", was completed, covering the years 1984 to 1993. Volume two, "Demoscene - The AGA Years", followed a year later and was dedicated to the years 1994 to 1996. Now the third part of the series, "Demoscene - The Amiga Renaissance", is being crowdfunded, covering the period from 1997 to today. The aim is to collect 21,000 Euros by 15 October, of which around 8,000 have already been raised so far. (dr)

[News message: 24. Sep. 2023, 21:07] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023
CommodoreBlog


Game ports: Game..X and Dragon Slayer
Franck 'hitchhikr' Charlet has ported two games from X68000, home computer created by Sharp Corporation, to the Amiga:
Dragon Slayer should run on any Amiga and is based on Moby Games' version for the FM-7 home computer. The game is commonly considered one of the progenitors of the action RPG genre. The premise is similar to Roguelikes: the player takes control of a knight who must fight his way through large overhead maze-like dungeons. Unlike roguelikes, the combat in the game is fully action-oriented

The shoot'em up Game.X (YouTube video) requires an AGA-Amiga and was originally released in 1990 by Kugenuma Soft. (dr)

[News message: 24. Sep. 2023, 14:58] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



Video: The chronological history of AmigaOS
The hobby YouTube channel "Proteque - Classic Beige Nostalgia" shows the chronological history of AmigaOS. (dr)

[News message: 24. Sep. 2023, 08:37] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



Music: Cover version of Chuck Rock
Linus 'lft' Åkesson has been an active part of the demoscene for a good 25 years, composing music for numerous demos and music discs for Amiga and C64 as 'Lairfight' bzw. 'lft'. Creatively, he also builds various instruments from Commodore hardware like the Paulimba or the C=TAR. He now uses these instruments to recreate the main melody of the game Chuck Rock composed by Matthew Simmonds. (dr)

[News message: 24. Sep. 2023, 08:33] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



Aminet uploads until 23.09.2023
The following files have been added until 23.09.2023 to Aminet:
64tass.lha               dev/cross  1.3M  68k Cross assembler targeting the...
c2plib.lha               dev/misc   201K  68k chunky2planar as an Amiga sha...
giplanner.lha            dev/misc   286K  68k GI Planner 
Beziery_Beizera.lha      dev/src    153K  68k Further Laffik's works on Bez...
F1GP2023Carset.lha       game/data  10K       2023 Carset for F1GP
MCE.lha                  game/edit  3.7M  68k Multi-game Character Editor
MCE-MOS.lha              game/edit  3.9M  MOS Multi-game Character Editor
MCE-OS4.lha              game/edit  4.2M  OS4 Multi-game Character Editor
BackdPattGener.lha       gfx/edit   51K   68k Create your own backdrop patt...
AmiVms.lha               misc/emu   3.8M  68k Simulates OpenVMS commands
Play2CPC.ACEpansion.lha  misc/emu   18K   MOS ACEpansion plugin for ACE CPC...
GoneFishin.lha           mods/misc  292K      16bit 4ch Country Ballad by H...
avalanche.lha            util/arc   115K  AOS ReAction unarchive GUI for xf...
avalanche_guide_de.lha   util/arc   9K        German translation of Avalanc...
dtconvert.lha            util/conv  48K   OS4 File format conversion using ...
ModelerConverter10.lha   util/conv  11K   68k 3D Object Converter from 1991
GifAnimDT.lha            util/dtype 164K  OS4 Datatype for animated GIFs
AmiSSL-5.11-OS3.lha      util/libs  3.4M  68k OpenSSL as an Amiga shared li...
AmiSSL-5.11-OS4.lha      util/libs  3.1M  OS4 OpenSSL as an Amiga shared li...
AmiSSL-5.11-SDK.lha      util/libs  2.3M  AOS OpenSSL as an Amiga shared li...
Mnemosyne.lha            util/misc  77K   68k Disk usage stats+file/folder ...
PolyOrga_de.lha          util/misc  4K        Updated German catalog for Po...
ReportPlus.lha           util/misc  656K  68k Multipurpose utility
ReportPlusMOS.lha        util/misc  749K  MOS Multipurpose utility
ReportPlus-OS4.lha       util/misc  826K  OS4 Multipurpose utility
VATestprogram.zip        util/misc  15M   68k Versatile Amiga Testprogram
AnalogClock.lha          util/time  40K   68k Resizeable analog transparent...
LilCalendar.lha          util/time  3.4M  68k Versatile calender and remind...
(snx)

[News message: 24. Sep. 2023, 07:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



OS4Depot uploads until 23.09.2023
The following files have been added until 23.09.2023 to OS4Depot:
gifanimdt.lha            dat/ani 164kb 4.1 Datatype for animated GIFs
giflib-extras.lha        dev/lib 126kb 4.1 Some extras to go with GifLib.
libwebp.lha              dev/lib 7Mb   4.1 lib for handling WebP images
libx264.lha              dev/lib 8Mb   4.1 H.264/MPEG-4 AVC video compressi...
amissl-sdk.lha           dev/mis 2Mb   4.0 SDK for AmiSSL
reminiscence.lha         gam/adv 1Mb   4.1 REminiscence is a re-implementat...
mce.lha                  gam/uti 4Mb   4.0 Multi-game Character Editor
amissl.lha               lib/mis 3Mb   4.0 OpenSSL as an Amiga shared library
mediathek.lha            net/mis 3Mb   4.0 Downloading Movies from differen...
dtconvert.lha            uti/fil 48kb  4.1 File format conversion using dat...
reportplus.lha           uti/mis 826kb 4.0 Multipurpose utility
(snx)

[News message: 24. Sep. 2023, 07:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



AROS Archives uploads until 23.09.2023
The following files have been added until 23.09.2023 to AROS Archives:
pingus.i386-aros.zip         gam/puz 15Mb  Lead Pingus to the correct exit ...
(snx)

[News message: 24. Sep. 2023, 07:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



MorphOS-Storage uploads until 23.09.2023
The following files have been added until 23.09.2023 to MorphOS-Storage:
Morphobia_1.3.lha         Demoscene/ENCORE          MORPHOBIA by ENCORE
Kheshkhash_2.1.lha        Demoscene/ENCORE          A demo for MorphOS name...
Morphever_1.3.lha         Demoscene/ENCORE          Demo for MorphOS PowerPC
Morphiller_1.3.lha        Demoscene/ENCORE          Demo for MorphOS PowerPC
Play2CPC_1.0.lha          Emulation/ACEpansion      ACEpansion plugin for A...
SALTO.lha                 Emulation                 SALTO - Xerox Alto I/II...
MCE_14.20.lha             Games/Editor              Multi-game Character Ed...
SonicCD-RSDKv3_1.3.2.lha  Games/Platform            A Full Decompilation of...
Iris_1.18.lha             MorphOS-update            Iris, the MorphOS email...
Easy2Install_1.0b35.lha   Network/PackageManager    A package manager to do...
PolyOrga_1.21.lha         Office/Organizer          PolyOrga is a general-p...
(snx)

[News message: 24. Sep. 2023, 07:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
24.Sep.2023



WHDLoad: New installers until 23.09.2023
Using WHDLoad, games, scene demos and intros by cracking groups, which were originally designed to run only from floppy disks, can be installed on harddisk. The following installers have been added until 23.09.2023:
  • 2023-09-22 new: Tolteka (Ariolasoft) done by Psygore (Info)
(snx)

[News message: 24. Sep. 2023, 07:24] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
22.Sep.2023



Motorola68k emulation: Emu68 V1.0 Release Candidate
A month ago, Developer Michal Schulz had released beta version 2.1 of his Motorola68K emulation Emu68 for the ARM architecture, focusing on the PiStorm and PiStorm32lite (amiga-news.de reported). Since then, many other improvements have been added. Changes of the release candidate of version 1.0:

BFxxx updated

The bitfield instructions operating on memory are not optimized to use as little memory accesses as possible. There are still corner cases which will do more traffic than necessary, but they are now very limited. The bitfield instructions will fetch byte/word/long word/quad word instead of always working on quad words.

Better write to CHIPSET registers

After a write to memory area belonging to Amiga chipset, a byte read from ROM is issued. This improves stability of some old games/demos which never assumed to be running on m68k which is that fast. A read from ROM gives Paula enough time to complete the interrupt acknowledgment properly.

IPL filter

Emu68 filters the IPL lines and recognizes an IPL change if and only if two subsequent IPL reads (which are roughly 400 nanoseconds away) give the same result. Improves many games or demos which suffered from spurious interrupts.

Write buffer removed

The write buffer was my experiment introduced quite long time ago - it featured a write combining to subsequent byte/word locations as long as they would finally result in a longword write cycle. It worked relatively well in most cases, but failed miserably in some others. Since this was just a dirty hack, it has been removed now.

CCR optimizer scan depth

The number of m68k opcodes which are scanned in-advance during m68k to arm translation for elimination of CCR flag updates is now adjustable. Use EmuControl version 1.3 for that (nightly build from 23. Sept. 2023 or newer).

The developer provides more detailed information on the changes in his new Patreon post. (dr)

[News message: 22. Sep. 2023, 21:52] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
22.Sep.2023



ReAction GUI for XAD: Avalanche 2.4 for AmigaOS 3 and 4
Chris Young's Avalanche is a ReAction-based graphical user interface for the unarchiving system XAD, which also supports the xfdmaster.library and can search for viruses using the xvs.library. Since version 2.1, simple editing of LhA/Zip archives also is possible (Zip requires zip.library - only under AmigaOS 4). The developer has written his tool explicitly for AmigaOS 3.2.1, but has also tested it under AmigaOS 4. Changes of version 2.4:
  • Support Deark (needs enabling by tooltype)
    • This is a "beta" feature, it may be unstable and due to a bug in Deark, it is not possible to extract to the root of any device.
  • Add option to select modules (MODULES tooltype)
  • Fixx password caching
  • Also use T: as temp by default from CLI
Download: avalanche.lha (115 KB) (dr)

[News message: 22. Sep. 2023, 21:15] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
22.Sep.2023
Bill Borsari


Event: AmiWest 2023 DevCon Survey
This year's 26th edition of Amiwest, which will be held from 12 to 15 October in Sacramento (California), will also feature a developer conference that focuses exclusively on programming topics and is aimed at both amateurs and professional programmers. Since places are limited, a survey is now being conducted to find out who would like to take part and how. (dr)

[News message: 22. Sep. 2023, 09:43] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
22.Sep.2023



Origins and evolution of texteditors Vi and Vim
Gustavo Pezzi is a university lecturer in computer science and mathematics and runs the educational platform Pikuma. At the beginning of August, the developer of the text editor Vim, Bram Moolenaar, passed away. Pezzi had already paid his last respects to the developer in his own way in August and wrote down the history of the text editor, which is closely linked to the Amiga and which is also available in current versions for AmigaOS 4, AROS and MorphOS provided by Ola 'sodero' Söder. (dr)

[News message: 22. Sep. 2023, 09:33] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
22.Sep.2023
Amigans (Forum)


AmigaOS 4: libegl_wrap 0.7.20 (beta)
Hugues 'HunoPPC' Nouvel is working on an EGL-OpenGL-Wrapper which is based on Warp 3D Nova/OpenGL-ES combination sold by A-EON. The wrapper is supposed to simplify porting modern OpenGL based games (Youtube video example for Prey 2006).

The new beta version 0.7.20 is now available. Changes:
  • Now!! Support additional shaders glsl on your code (exemple: effects Scanline, CRT and others)
  • Now!! all libraries are STATIC, IMPORTANT: don't forget to delete your old dynamic libraries
  • New!! Added The OpenGL Extension Wrangler Library 'Glew' includes and package for SDK
  • Updated SDL1 and SDL2
  • Now!! SDL2 as your prefs on ENVARC:egl_wrap/
  • Updated Gl4ES
  • Updated GUI
  • 20% speedup on renderer EGL_Wrap
  • Added new icons into the GUI
(dr)

[News message: 22. Sep. 2023, 06:06] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
21.Sep.2023



Blog Epsilon's World: Hardware upgrades and games
In his latest blog entry of his "Epsilon's World", Epsilon shows the installation of various games and hardware in the usual detail and with numerous pictures: among others, Alinea's Subway 2021 USB card including the power adapter or "AURA - Audible Reality", a sound sampler that does not use the parallel port but the PCMCIA port of the Amiga 600 and 1200. The game "Renegade" from the cover disc of the Amiga Addict 22 is also tested. (dr)

[News message: 21. Sep. 2023, 06:09] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
20.Sep.2023



Amiga Games That Weren't: Fatal Mission
As the website "Games That Weren't" reports, "Fatal Mission" was an ambitious project started by Ola Zandelin and Robert Hennings in 1993: "a cinematic style adventure in the lines of Another World, but with bitmap graphics instead of vector style one". On his website, Ola Zandelin has published some examples of this. The website "AmigaPD" conducted an interview with the developer in 2013. In it, he suggests that the game was playable to a certain extent, but it was never finished because there was a lack of time and experience to put everything together and plan it properly. (dr)

[News message: 20. Sep. 2023, 09:06] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
20.Sep.2023



Emulator: Denise V2.1
Denise is a cycle accurate and platform independant emulator which since version 2.0 can emulate an Amiga 500 and Amiga 1000 (Kickstart disks are required) in addition to a C64. Now version 2.1 has been released. Changes:

General changes:
  • add drag'n'drop overlay
    • files can be inserted into additional drives faster
    • files can either only be inserted or inserted and restarted
    • multi file support
  • fix: Wasapi didn't work on some audio hardware
Amiga specific changes:
  • greatly improved accuracy
  • ~15% speed up
  • fix: Drive LED sometimes does not turn off
  • display tracks more clearly
  • add IPF, DMS, EXE and encrypted kick rom support
  • add RTC
  • add multi file support for any-loader (fill DF0-3 in one go)
  • show power LED in status line
    • colors for power and drive LEDs depend on the model
    • click on power LED to select audio filter
Denise is available cross platform for Windows 32/64 XP and higher, macOS (from version 10.9 on, Intel and Arm), Linux and BSD. (dr)

[News message: 20. Sep. 2023, 07:33] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
20.Sep.2023



Video: Repairing an A590, part 5
In the fifth part of his video series about the repair of an A590 (amiga-news.de reported) Robert Smith had a look at an example that he could get hold of in the original case design and that still has the original Epson hard disk. (dr)

[News message: 20. Sep. 2023, 06:12] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
19.Sep.2023



Encryption protocol: AmiSSL 5.11 (AmigaOS 3/4)
Version 5.11 of the open source encryption protocol AmiSSL has been released, which is now based on the latest version OpenSSL 3.1.3 (19.9.2023) and thus provides various minor fixes, including removal of memory leaks. Furthermore the root certificates have been updated to latest Mozilla-based bundle dated 22.8.2023.

Downloads:
AmigaOS 3: AmiSSL-5.11-OS3.lha (3,4 MB)
AmigaOS 4: AmiSSL-5.11-OS4.lha (3,1 MB)
SDK: AmiSSL-5.11-SDK.lha (2,3 MB) (dr)

[News message: 19. Sep. 2023, 22:22] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
19.Sep.2023
MorphZone (Forum)


MorphOS: E-Mail client Iris 1.18, Contacts 1.1
Jacek 'jacadcaps' Piszczek has released version 1.18 of his e-mail client Iris and version 1.1 of the contact manager Contacts for MorphOS. Detailed changes:

Iris V1.18
  • Updated to match changes in Contacts application
  • Updated curl, mysql and other libs
Contacts V1.1
  • Implemented Digest Authorization
  • Implemented NICKNAME support in CardDAV
  • Configurable sort by first or last name
  • Fixed aspect ratio of cropped contact photos (iCloud) appearing in other applications
(dr)

[News message: 19. Sep. 2023, 18:01] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
19.Sep.2023
MorphZone (Forum)


MorphOS: Scheduler PolyOrganiser 1.21
PolyOrganiser written by Frederic 'Polymere' Rignault is a so called "PIM-Tool" (Personal Information Management) with which you can manage dates, contacts and tasks. Changes since version 1.16:
  • Fix: Task edit, due date broken at creation (1970) and ignore very old due date too.
  • Add: Task edit, add a context menu entry for remote due date.
  • Fix: Task display, late date are bold. Fix no title display. Fix Columns weight.
  • Change: Task list, use short date
  • Fix: Contact diplay "no name" when name or company is blank.
  • Fix: Contact/Event/Task, ask confiration for remove show "No name" when needed.
  • Fix: Remove edit of task categories in main window due to a unfixable bug.
  • Fix: Fix backgound & frames of popup objects (except Task type that have fixed back...)
  • Fix:Task edit show wrond type
  • Fix: Sort of contacts that was kind of random.
  • Patch: Replace "Jabber" data type for "Title"
  • Fix: DueDate broken due to stuoid datestamp copy
  • Fix: Workaround some issue with duplicate ids in packed event storage which are used for both event item ids as well as additional links (0xE1 and above)
  • Change: Don't write DebugTracking.raw file to PROGDIR: any longer by default
  • Fix: On New Task creation, use the current date for Due Date instead of leaving it uninitilized to 1978
  • Fix: Correct backfill of sunday column weekday for locale country catalog settings which don't start on Monday (like United States which starts on Sunday)
  • Fix: Fixed a use-after-free for notification once the close window button of the search window was hit and which caused a crash once PERMMEMTRACK kernel option was enabled
  • Fix: Fixed some bug in some intermediate 1.18 version that always deleted the last record for each launch of the program
  • Fix: Icon sizes of top navigation bar back to 100% (from 80%) again after some intermediate change
  • Rework: Code to create the DateIcon AppIcon uses Reggae instead of a direct PNG decoder now
  • Fix: fixed some bug that triggered PERMMEMTRACK because the app tried to free some static application memory on some string
  • Fix: Fixed some incompatibility with MorphOS PERMMEMTRACK option due to some access to already freed memory
  • Fix: Fixed hits caused by 2nd launch of PolyOrga Fix: Fixed some possible illegal access when the database is opened or past events are checked on launch
(dr)

[News message: 19. Sep. 2023, 05:59] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
18.Sep.2023



Platform games: Updates for all four parts of Boxx series
The developer 'Lemming880' has released updates for the three parts of his Boxx remake series as well as for the fourth part. All four parts now use the same Scorpion engine version. The changes in the overview:

Version 1.01 of Boxx 1 remake:
  • Menu: replaced quit with options.
  • Menu options and jukeboxx: replaced coin with arrow.
  • Menu: removed boxx splash screen.
  • Music: swapped songs of levels 3 and 4.
  • Sound: changed break block sound effect to original.
  • In-game: turrets shoot a bit faster.
  • In-game: added boss health bar.
  • In-game: moving bricks explode instead of dropping a coin.
  • In-game: removed alarm lights in boss arena.
  • Removed unnecessary files.
Version 1.00 of Boxx 2 remake:
  • In-game: turrets shoot faster.
  • In-game: moving bricks explode instead of dropping a coin.
  • In-game: closed a tile gap in level 2.
  • Removed unnecessary files.
Version 1.00 of Boxx 3 remake:
  • In-game: turrets shoot faster.
  • In-game: moving bricks explode instead of dropping a coin.
  • In-game: bounce blocks only in hard mode.
  • In-game: closed a gap in level 2.
  • In-game: flying boss pod doesn't make a shooting sound anymore after the main boss died.
  • In-game: flying boss pod now drops a bomb on hard mode instead of exploding.
  • Removed unnecessary files.
Version 1.04 of Boxx 4:
  • In-game: reintroduced faster shooting turrets in the flying levels.
  • In-game: level 2: water collision a little bit lower at the fish jump before the boss.
  • In-game: level 5: fixed end boss arena for a situation where the boss could temporary get stuck.
  • Menu Options: removed Performance Mode and added Default Settings option.
  • Menu Info: rearranged text at the bottom.
  • Menu Credits: changed text 'box art' with 'print design'.
(dr)

[News message: 18. Sep. 2023, 20:18] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
18.Sep.2023
Amiga Future (Webseite)


Event: Voting started & further information about Amiga38
Markus Tillmann informs in our german news-item about catering at Amiga38 and other details. Also voting on the Community Award has started. (snx)

[News message: 18. Sep. 2023, 13:55] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
18.Sep.2023



Competition: Winners of AmiGameJam 2022
During a live show on Twitch, the winners of the AmiGameJam were announced (amiga-news.de reported): (dr)

[News message: 18. Sep. 2023, 06:23] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023
Ko-fi


AmigaOS 4: Platform game REminiscence 0.5.1 (Flashback)
REminiscence is a rewrite of the engine used in the game Flashback from Delphine Software. This program is designed as a cross-platform replacement for the original executable. After the MorphOS version provided by Bruno 'BeWorld' Peloille, George 'walkero' Sokianos has now ported the engine to AmigaOS 4. The original files of the PC (DOS or CD), Amiga or Macintosh version are required. (dr)

[News message: 17. Sep. 2023, 21:00] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023
Indie Retro News


Preview video: Platform game "Krogharr"
In addition to the shoot'em up Hyperblaster (Inviyya 2), Michael 'Tigerskunk' Borrmann is working on the platform game Krogharr, for which he has now published a first preview video and which is to run on an Amiga 500 with 1 MB RAM. A first demo version is to be released in October. (dr)

[News message: 17. Sep. 2023, 19:29] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023



Aminet uploads until 16.09.2023
The following files have been added until 16.09.2023 to Aminet:
enc_sce_kheshkhash.lha   demo/misc  22M   MOS Kheshkhash by Encore & Scenic
encore_morphever.lha     demo/misc  19M   MOS Morphever by Encore - demo fo...
encore_morphilia.lha     demo/misc  17M   MOS Morphilia by Encore - demo fo...
encore_morphiller.lha    demo/misc  11M   MOS Morphiller by Encore - demo f...
encore_morphobia.lha     demo/misc  14M   MOS Morphobia by Encore - demo fo...
encore_morphoza.lha      demo/misc  12M   MOS Morphoza by Encore - demo for...
BareMetal.lha            docs/misc  185K      Examples for Bare-Metal Amiga...
anaiis_xmass.lha         driver/oth 72K   68k xmass examine massstorage
ooze_the_escape.lha      game/actio 209K  68k A platformer game with flippi...
tfe-darkforces.lha       game/shoot 3.3M  68k Dark Forces Amiga Port
webptools132_a68k.lha    gfx/conv   2.4M  68k encode/decode images in WebP ...
webptools132_aros.lha    gfx/conv   3.5M  x86 encode/decode images in WebP ...
RNOSlides.lha            gfx/misc   4.8M  MOS Slideshow video creator and p...
RNOSlides_68k.lha        gfx/misc   4.6M  68k Slideshow video creator and p...
RNOSlides_AROS.lha       gfx/misc   4.8M  x86 Slideshow video creator and p...
RNOSlides_OS4.lha        gfx/misc   5.2M  OS4 Slideshow video creator and p...
RNOSlides_WOS.lha        gfx/misc   5.0M  WOS Slideshow video creator and p...
WhatIFF2.11.lha          mags/misc  3.1M      What IFF? #2.11-September-2023
AmiArcadia.lha           misc/emu   4.7M  68k Signetics-based machines emul...
AmiArcadiaMOS.lha        misc/emu   5.0M  MOS Signetics-based machines emul...
AmiArcadia-OS4.lha       misc/emu   5.2M  OS4 Signetics-based machines emul...
AmiVms.lha               misc/emu   3.8M  68k Simulates OpenVMS commands
GoatTracker-morphos.lha  mus/edit   1.3M  MOS Official tracker-like C64 mus...
GoatTrackerStereo-mos... mus/edit   892K  MOS Tracker-like C64 stereo music...
a1200_wb_2023.png        pix/wb     95K       Commodore Amiga 1200 Workbenc...
a600_wb_2023.png         pix/wb     478K      Commodore Amiga 600 Workbench...
NAFCYI1991S1-B01.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B02.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B03.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B04.zip     text/bfont 2.4M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B05.zip     text/bfont 2.2M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B06.zip     text/bfont 2.5M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B07.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B08.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B09.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B10.zip     text/bfont 2.0M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B11.zip     text/bfont 2.2M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B12.zip     text/bfont 2.2M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B13.zip     text/bfont 2.5M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B14.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B15.zip     text/bfont 2.0M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B16.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B17.zip     text/bfont 2.5M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B18.zip     text/bfont 2.0M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B19.zip     text/bfont 2.4M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B20.zip     text/bfont 2.2M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B21.zip     text/bfont 2.4M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B22.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B23.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B24.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B25.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B26.zip     text/bfont 2.1M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B27.zip     text/bfont 2.3M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-B28.zip     text/bfont 2.8M      NAFCYI Spring 1991 (BMP Fonts)
NAFCYI1991S1-01.zip      text/pfont 1.8M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-02.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-03.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-04.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-05.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-06.zip      text/pfont 2.0M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-07.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-08.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-09.zip      text/pfont 2.0M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-10.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-11.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-12.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-13.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-14.zip      text/pfont 1.6M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-15.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-16.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-17.zip      text/pfont 1.7M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-18.zip      text/pfont 1.6M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-19.zip      text/pfont 1.8M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-20.zip      text/pfont 1.8M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-21.zip      text/pfont 2.0M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-22.zip      text/pfont 2.1M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-23.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-24.zip      text/pfont 1.8M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-25.zip      text/pfont 1.9M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-26.zip      text/pfont 1.8M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-27.zip      text/pfont 1.4M      NAFCYI Spring 1991 (PS Fonts)
NAFCYI1991S1-28.zip      text/pfont 2.4M      NAFCYI Spring 1991 (PS Fonts)
dop_AutoCloseLister.zip  util/dopus 3K        Opens a lister, closes its pa...
iGame.lha                util/misc  436K  68k Front-end for WHDLoad
(snx)

[News message: 17. Sep. 2023, 08:42] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023



OS4Depot uploads until 16.09.2023
The following files have been added until 16.09.2023 to OS4Depot:
amiarcadia.lha           emu/gam 5Mb   4.0 Signetics-based machines emulator
rnoslides.lha            gra/mis 5Mb   4.1 Slideshow video creator and player
igame.lha                uti/mis 436kb 4.0 Front-end for WHDLoad
(snx)

[News message: 17. Sep. 2023, 08:42] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023



AROS Archives uploads until 16.09.2023
The following files have been added until 16.09.2023 to AROS Archives:
whatiff2.11.lha              doc/mis 3Mb   Magazine on AmigaGuide "Sep...
golfsolitaire.lha            gam/car 3Mb   Golf Solitaire Card Game
rnoslides.i386-aros.lha      gra/mis 5Mb   Slideshow video creator and player
webptools132_aros.lha        gra/mis 4Mb   encode/decode images in WebP format
(snx)

[News message: 17. Sep. 2023, 08:42] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023



MorphOS-Storage uploads until 16.09.2023
The following files have been added until 16.09.2023 to MorphOS-Storage:
goattrk2_2.76.lha         Audio/Tracker             Official tracker-like C...
gt2stereo_2.77.lha        Audio/Tracker             Tracker-like C64 stereo...
Morphoza_1.3.lha          Demoscene/ENCORE          Demo by Encore released...
Morphilia_1.3.lha         Demoscene/ENCORE          Morphilia_1.3.lha
Less_643.lha              Development/GeekGadgets   A paginator similar to ...
AmiArcadia_30.20.lha      Emulation                 A Signetics-based machi...
FileInfo_1.6.lha          Files/Tools               A tool to get infos abo...
iGame_2.4.4.lha           Games/Launcher            A frontend to launching...
AstroMenace_1.3.2.lha     Games/Shoot3D             Hardcore 3D space scrol...
Woof_12.0.0.lha           Games/Shoot3D             Woof! is a continuation...
fheroes2_1.0.8.lha        Games/Strategy            fheroes2 is a recreatio...
RNOSlides_1.0.lha         Graphics/Misc             Slideshow video creator...
Easy2Install_1.0b34.lha   Network/PackageManager    A package manager to do...
Nextvi.lha                Text/Edit                 Nextvi is a vi/ex edito...
(snx)

[News message: 17. Sep. 2023, 08:42] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023
Amiga Future (Webseite)


AmigaRemix: Further files added
AmigaRemix collects remixes of well-known soundtracks of Amiga games. Since our last news-item, the following mp3 files have been added:
  • Intro Number 61
  • Lotus (1:1 Remix)
  • Lotus (Lichthaus Remix)
(snx)

[News message: 17. Sep. 2023, 08:42] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023
CommodoreBlog


Blog: "Vintage is the New Old" returns under new domain
In mid-July we reported on the discontinuation of the blog "Vintage is the New Old". This will continue to exist under the old address, new content will be offered from now on under new stuff and without the involvement of the previous operator at https://vitno.org/. (dr)

[News message: 17. Sep. 2023, 05:47] [Comments: 2 - 20. Sep. 2023, 05:45]
[Send via e-mail]  [Print version]  [ASCII version]
17.Sep.2023
jPV (E-Mail)


Creating slideshows/Videoplayer: RNOSlides for all Amiga ystems
The developer 'jPV' has added another tool to its already extensive portfolio of RNO applications: RNOSlides is a programme for creating slideshows (MJPEG/AVI format), which can play them in real time (YouTube video). Furthermore, it can also play videos in various formats and can thus be used as a general video player. (dr)

[News message: 17. Sep. 2023, 05:32] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
16.Sep.2023



Background pictures for Amiga 1200 Workbench
Wayne Ashworth has made available free wallpapers for the Amiga 1200 Workbench (in his case version 3.1) on his itch.io website, which he plans to extend gradually to the Amiga 500, 600 and the CD32. In addition, he gives tips on how to create such images yourself in a YouTube video. (dr)

[News message: 16. Sep. 2023, 18:53] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
16.Sep.2023



Amiga emulator: vAmigaWeb - Display and keyboard adjustments
vAmigaWeb is an Amiga emulator for the web browser or a Progressive Web App (PWA) based on the Amiga emulator vAmiga for MacOS.

The new update also makes full use of the notch or dynamic island area in the display of the iPhones. Furthermore, developer 'mithrendal' has redesigned the virtual joystick and keyboard layout. (dr)

[News message: 16. Sep. 2023, 14:30] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
16.Sep.2023



Demoparty: Results of the Nordlicht 2023
Last weekend the Nordlicht-Demoparty 2023 took place in Bremen (amiga-news.de reported). Now the results are available on Pouet and three Amiga productions also made it into the rankings: in the "512 Byte Compo" AttentionWhore took third place with hypotrain (YouTube video).
In the category "Realtime Demo Compo (Oldschool)", Resistance took second place with old'scool (YouTube video) and the soundtrack to the recently released ASM - Das Computer-Spiel (The Director's Cut) took eighth place (YouTube video). (dr)

[News message: 16. Sep. 2023, 14:04] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
16.Sep.2023



Visual Novel: Mansion of Madness
Sami Vehmaa has published his first Visual Novel game with AmiBlitz 3: in "Mansion of Madness", you are hired by the reporter Erica to search for the missing YouTuber Jasko. He wanted to investigate the myth of a demonic being and has now disappeared (YouTube video). According to the author, the game offers an average playtime of 15 minutes with five different exits. At least an Amiga with a 68030 processor and 30 MB RAM are required. (dr)

[News message: 16. Sep. 2023, 12:51] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
16.Sep.2023



MorphOS: ENCORE again updated several demos
Just like at the beginning of the year, the demo and game developers Encore (among other 2D shooter Fortis) has improved several MorphOS demos and adapted them to the new version of the engine: Morphever, Morphobia, Morphilia, Morphiller and Morphoza have been updated to version 1.3.0, Kheshkhash, created together with 'Scenic', to version 1.2.1. (dr)

[News message: 16. Sep. 2023, 06:58] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
15.Sep.2023



LinuxJedi blog: PiStorming
In his latest blog entry, Andrew 'LinuxJedi' Hutchings reports on the installation of a PiStorm32-lite (with Raspberry Pi 4) in his Amiga 1200 and clearly summarises important points to consider. (dr)

[News message: 15. Sep. 2023, 05:55] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
15.Sep.2023



AmigaGuide magazine: Issue 11 of "WhatIFF?" published
"WhatIFF?" is an English language Amiga magazine in AmigaGuide format which in his eleventh issue again offers a demo version of a game: "Aeon Legends" from BitBeam Cannon. The other topics:

Reviews:
  • ImageFX 4.5
  • OmniPort A1200
  • AmigaKit RED LEDs
  • Amiga CD32 Disc Reference Guide Book
Game Reviews:
  • CyberPunks 2
  • NightShift
Tutorials:
  • LightWave 101 - Rendering DEMs
  • ImageFX 101 - Digital Postcard
  • Brilliance 101 - Dithering
  • OctaMED 101 - Setting up OctaMED SoundStudio
  • How to install RTG on PiStorm32-lite
  • ELUDE Demos on PiStorm32-lite
  • Reducing noise in 8-bit samples
  • Modern Effects in Oldskool trackers
Articles:
  • Amiga Magazines Yesterday Today
  • Custom music vs stock music
  • Revisiting Tokyo Retro Computer Users Meet
Interviews:
  • Apollo Team Part 1 of 2
  • Scorpion Engine - Erik Hogan
  • RNO Developer
(dr)

[News message: 15. Sep. 2023, 05:52] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
14.Sep.2023
Michael Kafke (ANF)


Game: ASM - Das Computer-Spiel (The Director's Cut) released (German)
The game about the former computer game magazine "ASM - Aktueller Software Markt", published from 1986 to 1995, which was announced in May, is now available, but as German version only.

Originating from a programming competition in 1991, the graphic adventure was revised, extended and provided with new music by Roland 'Triace' Voß for twelve months with the help of editors of that time, so that it could now - "just 32 years later" - be completed as "Director's Cut".

As chief editor Manfred 'Manni' Kleimann, the player moves through the editorial building in point-and-click style from the first-person perspective as in "Die Kathedrale" or "Uninvited" and tries to track down the secret of his own memory loss. The game doesn't take itself seriously and wants to let friends of humor à la "Spaceballs", "The Naked Gun" or Monty Python get their money's worth.

In addition to a download version, the game is also available as a physical product, which contains a CD for Amigas with an appropriate drive, including CDTV and CD³², as well as a poster, three disk stickers, an ASM wooden cube and a 20-page manual (in the optical style of an ASM from 1991). Stefan Bayer has exclusively contributed a brand new "Donald Bug" comic for the manual.

"ASM - The Computer Game" runs on any Amiga from Kickstart 1.3 with at least 1 MB RAM. A hard disk installer is also included. The game is controlled by keyboard and mouse, the use of a joystick is optional. A hard disk with 3 MB free memory and 2 MB RAM are recommended. (snx)

[News message: 14. Sep. 2023, 10:47] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
1 13 20 ... <- 25 26 27 28 29 30 31 32 33 34 35 -> ... 40 204 373 [Archive]
 
 Recent Discussions
.
Amiga 4000(T)ower for sale
Calvin Harris - Amiga A1200
Amiga basic rewritten for Apple
Volker Wertich interview
Commodore Amiga MYSTYLE
.
 Latest Top-News
.
Group of investors represented by Youtuber Perifractic buys Commodore (28. Jun.)
AmiKit In A Box: Raspberry Pi 5 with Workbench distribution (25. Jun.)
MorphOS: Web browser Wayfarer 10.0 (16. Jun.)
MorphOS: Software collection Chrysalis 3.19 (15. Jun.)
Legal dispute: Hyperion can be held liable for copyright infringements (13. Jun.)
Youtuber claims to have received an offer to buy the Commodore brand (08. Jun.)
Programming competition: AmiGameJam 2025 started (05. Jun.)
Martin Ulrich, co-developer of Ports of Call, has passed away (03. Jun.)
Print/PDF magazine: BrewOtaku, #6 (29. May.)
Module-player: NostalgicPlayer 3.0.0 for Windows (27. May.)
.
 amiga-news.de
.
Configure main page

 
 
.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.