AMIGA alive

AMIGA alive
Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Saturday, April 11, 2026

A bash script to run different configurations of fs-uae

Chances are you want to change your Amiga emulator's configuration quite often, for example for developing and testing purposes. A script that runs the emulator can help you to do so without effort.

There are thousands of ways to somehow simplify Amiga emulator usage. If you're a GUI & mouse user some of the work has already been done, but for the CLI user there might be some annoying typing involved.

Below is an example Linux bash script that selects fs-uae emulator configurations and sets options based on a single short command line argument. It doesn't do very much, but it saves some typing, especially because fs-uae has a somewhat clumsy way of handling floppy disk images, aka ADFs.

Linux bash script to run fs-uae with different setups

The idea is this:

- You run the script without additional command line arguments, it runs your emulator with your preferred default configuration.

- You run the script with a given keyword (e.g. "4000", see script below), it runs your emulator with another configuration.

- You run the script with a path to an ADF, it additionally inserts that ADF in drive 1 (without booting from it).

- You run the script the keyword "adf" (see script below), and a path to an ADF, it runs your emulator with a basic Amiga 500 configuration, and inserts that ADF in drive 0 to boot from.

There's of course room for improvement here, for example there's no proper error checking for the "adf" setup (ADF path?) in this script, and sometimes it might be nice to reuse some configuration with another fs-uae command line parameter than the floppy configuration, e.g. input device selection.


#!/bin/bash

UAEBIN=fs-uae

# no trailing slash here:
CONFDIR=/home/data/uae/configurations
# default configuration:
UAECONFIG=$CONFDIR/A4000-040-fast.fs-uae

OPTS=
ADF="$1"
DRIVE=1

if [ "x$1x" == "x4000x" ] ; then
    UAECONFIG=$CONFDIR/A4000-040.fs-uae
    ADF="$2"
fi
if [ "x$1x" == "x600x" ] ; then
    UAECONFIG=$CONFDIR/a600.fs-uae
    ADF="$2"
fi
if [ "x$1x" == "x500x" ] ; then
    UAECONFIG=$CONFDIR/a500-wb13.fs-uae
    ADF="$2"
fi
if [ "x$1x" == "xadfx" ] ; then
    UAECONFIG=$CONFDIR/a500-adf.fs-uae
    ADF="$2"
    DRIVE=0
fi

if [ "x${ADF}x" != "xx" ] ; then
    OPTS="--floppy_image_0=$ADF --floppy_drive_$DRIVE=$ADF $OPTS"
fi


CMD="$UAEBIN $UAECONFIG $OPTS"

echo "running fs-uae:"
echo " $CMD"
echo
$CMD

* * *

DISCLAIMER: No responsibility is taken. Use at your own risk.

Thursday, January 15, 2026

Amiga, and the power of Linux audio

A modern Linux audio system is incredibly powerful. It makes it super easy to route audio output from an Amiga emulator into any audio application.

Sadly, AmigaOS doesn't have such a powerful audio system. Linux has come a long way in terms of audio systems, from OSS to ALSA and JACK, to what is probably the current state of the art, named pipewire. Pipewire unifies the software interfaces of ALSA and JACK - which means that now applications using any of the two systems can seamlessly be connected. Which makes it possible to just route the audio from an Amiga emulator - e.g. fs-uae - into your preferred Linux audio software. An application like QJackCtl provides a nice GUI to visually manage the connections.

An emulated Amiga provides some speech synthesis to Linux.

In this case, the emulated Amiga was used to provide some of his (her) characteristic "say" speech synthesis to an audio production created with ardour DAW.

But one can imagine many more use cases for such a setup:

- directly record Amiga music into your Linux DAW or video editing application

- real-time enhance emulated Amiga's audio via Linux: adjust stereo separation, add compression, add EQ, ...

- analyze Amiga audio output without analog interference

- experiment with multiple emulators / instances

Some of this can obviously be done with e.g. an emulator's record-to-WAV or record-to-video functions, but it's still a nice option to just be able to use Amiga's audio in real-time, without any conversion, in any audio application, and of course without the need for any additional hardware.

[ If you're interested in the result: The Amiga's voice can be heard in this video: https://www.youtube.com/watch?v=dBf42SgbA7s ]


Saturday, May 24, 2025

Mirari: PowerPC alive in 2025?

It looks like a new, affordable PowerPC mainboard for AmigaOS4 and MorphOS (and Linux) is in development, nearing public release.

The beginning of project "Mirari" dates back to around May 2024. The first tangible news appeared a couple of weeks ago, at the end of April 2025, when "Mirari" specifications were announced on the "Hardware" channel of the Amigans Discord server, which got mentioned on long-running Amiga news website amiga-news.de.

https://www.amiga-news.de/en/news/AN-2025-04-00129-EN.html

It says that at that point in time, five out of five ordered prototype boards were already working, running Linux, and undergoing "burn-in" testing.

"Mirari" is a MiniATX form-factor mainboard...

...for T10x2 (e5500 cores) and T2081 (e6500 cores) PowerPC processors, at up to 1.8GHz

...with DDR3 SO-DIMM RAM slot

...PCI-express slots (x1, x4, x16), SATA, NVMe, USB 2.0 and 3.2, Gigabit-Ethernet

...192kHz/24bit analog audio, S/PDIF digital audio

...9-pin RS232 port

...and MicroSDCard slot (for booting)

...among a couple of other things. That sounds very good so far, and indeed, on their website (see below) we can find more details, including not only 3D-renderings of the board, but also a round of actual photographs from the development and testing stage of "Mirari".

A couple of days ago, Retro-computing enthusiast and YouTuber TJ Ferreira published a video, in which he takes a look at the information available on Mirari's website. It's a nice watch with some additional commentary about the facts & features - or, if you prefer a little more first-hand expericence, click here for "Mirari" website:

https://mirari.vitasys.nl

Watch TJ Ferreira check out "Mirari" PowerPC mainboard website (2025-05-20):


https://mirari.vitasys.nl

https://www.amiga-news.de/en/news/AN-2025-04-00129-EN.html



Friday, June 23, 2023

Denise V2.0 Amiga emulator

"Denise" is a new Amiga (and C64) emulator for Windows, MacOS, and Linux. And it's surprisingly good!

Development of "Denise" seems to date back to around 2017, when it started as a Commodore 64 emulator. In March 2023 author PiCiJi released version 2.0, which adds Amiga 500 and 1000 emulation. Running Fedora Linux, I gave it a quick try.

Apart from downloading and extracting the archive, no program installation was required. Just double-clicking "Denise" program icon, and selecting Kickstart ROM file and ADF in the preferences, I was able to nicely play a round of "Tinyus", with sound, and without any glitches or performance issues (i7-4790T, 2.7GHz). 

Double-click icon, select Kickstart ROM, select ADF, and play. Nice!

"Denise" has a little bit of history, which certainly helps when a new emulated platform is created. Preference and menus need a little more work (localization, graphics), but nothing's missing, and everything (still) looks very clearly structured with the added Amiga-related items. (Most?) changes to preferences take effect immediately.

When playing "Tinyus", I had to make a little change to the input configuration: "Tinyus" needs the Space-bar key, which is occupied by Joystick-Fire-Button per default. Assigning a new key just took a couple of seconds without reading instructions. Perfect.

"Denise" preferences: C64 and Amiga cores

"Denise" feels as if it has been designed with a lot of modularity in mind. For example it looks as if the (emulated) video output section from the existing C64 emulation is being used for Amiga video, too - which totally makes sense, as both machines generate quite similar video signals. And there is a "core selection" setting - future new cores can probably be expected.

More "Denise" preferences

Emulation performance was perfect with "Tinyus", which is also reflected by SysInfo's speed test results: "Denise" runs cycle-exact. (No further performance tests were done by me at the current point in time.)

SysInfo: That looks pretty cycle-accurate.

To round it up, here's a shot of "Denise"'s C64 emulation running "Destroyer", and the C64 settings window.

"Denise" C64 emulation and preferences

It's still a bit rough around the edges, and a bit limited, but, wow, "Denise" is a fantastic new Amiga 500 and 1000 emulator! And you get a great C64 emulator along the way! Try it, it's great!

You can download "Denise" from its sourceforge website

https://sourceforge.net/projects/deniseemu/

If you like to read some program code you can visit "Denise"'s git repo:

https://bitbucket.org/piciji/denise/src/master/

Additional sources:
http://amiga-news.de/en/news/AN-2023-04-00113-EN.html

Wednesday, September 29, 2021

AMIGA alive software: xiffview 0.4 (update)

IFF ILBM imageviewer xiffview for Linux computers has a couple of new features, one of which is a command mode that allows you to extract image data as C code for sprite creation.

If you're a C programmer and want to create sprites with your program, this might be interesting for you. xiffview now has a command that takes a couple of arguments, namely x and y coordinates, height, bitmap numbers and color indices, and saves image data from that region of the image to a C code file for use in your program. 

xiffview v0.4 with test pattern image

Also xiffview now includes a "contrib" folder with a test pattern image for you to play with, and a generic Makefile kindly contributed by S. Haubenthal (thanks!).

And it now shows the image's palette below the image display.

See Readme-file included for more information.

You can download it from AmiNet:
http://aminet.net/package/misc/unix/xiffview

Tuesday, April 27, 2021

AMIGA alive software: xiffview 0.2 - IFF ILBM picture viewer for Linux/X

Our third software release is out. It's xiffview v0.2, an X-windows app for Linux. Xiffview displays IFF ILBM pictures as created with DeluxePaint, PersonalPaint, and many other programs on the Amiga, in a window on your Linux X desktop.

Just a straightforward little image viewer program that was created to simplify the cross-compiling Amiga software developer's daily work. It supports simple palette based (2 to 256 colors) images only - no HAM, no animations, EHB might give weird results - and it's been tested only a little so far, so don't panic if some of your pictures don't look perfect on xiffview. It requires a true-color X screen to run on, is freeware, and the sourcecode is included.

See Readme-file included for more information.

You can download it from AmiNet:
http://aminet.net/package/misc/unix/xiffview

xiffview displaying an IFF ILBM picture on an X screen


Thursday, July 19, 2018

WinUAE 4.0.1 is out

Famous Amiga emulator WinUAE has been updated to version 4.0.1, as always fixing numerous bugs, and adding new features.

The most advanced and best known Amiga emulator just got another update. No huge changes, mostly bugfixes, and some new features like adding emulation of the QuikPak 4060 accelerator board.

The "Win" in "WinUAE" of course stands for "Windows", but did you know WinUAE is also probably the best Amiga emulator for Linux? Yes, you can install "wine" on your Linux machine to run Windows applications, and WinUAE will work nicely with it.

Whatever hardware you want to run WinUAE on -
head over to http://www.winuae.net and grab your copy!


http://www.winuae.net/wp-content/uploads/2016/12/winuea_v10.png


Sources:
http://amiga-news.de/de/news/AN-2018-07-00028-DE.html
http://www.winuae.net/

Thursday, August 3, 2017

vbcc - Volker Barthelmann's C compiler

The great compilers on AmigaOS (and for AmigaOS) like SAS/C and gcc (ADE/geekgadgets) are getting some serious competition by the name of vbcc, which is an acronym for "Volker Barthelmann's C compiler".

What makes vbcc great?

It...

...is cross-platform / portable
...can cross-compile for different targets
...is very fast
...produces small binaries
...has a clear concept, working default configurations, and is easily installed
...is actively developed with modern standards in mind
...still supports AmigaOS1.3 and plain 68000

Portability & cross-compilation targets

vbcc's portability seems to be near-perfect. It runs on almost all AmigaOS flavours (m68k/Classic, PPC/WarpOS/PowerUP, PPC/AmigaOS4, MorphOS), as well as on Atari, Linux, Mac and Windows, and can compile for almost all AmigaOS flavours, and different Atari operating systems. Building vbcc under Linux works like a charm, if you know what you're doing you can set up a cross-compiler environment in just minutes.

(Note that there's also a version for AROS, but it looks like it's outdated / incomplete / development has stopped. (?))
 

Installation

Binary and target archives are provided via e.g. AmiNet:
http://aminet.net/search?query=vbcc

Installation on Amiga can be done via the included Installer-script, which also copies a target's configuration files to vbcc's directory. The whole process is nothing magical, and can be easily applied to e.g. Linux. Very good.

Speed

Debugging software written by other authors, and porting software from other systems requires an insane amount of compiler re-runs. Combined with a large project this results in noticeable, sometimes painful time wasted just hitting cursor-up, return and waiting.

Compiling a "helloworld.c" type program (1.5KB of printf()s and the likes) with vbcc is about three times as fast as with gcc.

(Cross-compiling on your gigahertz-multicore Linux box is ridiculously fast, compared to Amiga-speeds. A 66KB sized sourcecode file with some includes and a few precompiled objects attached compiles in what can legitimately be described as no time.)

Size of binaries created by vbcc

A quick check gave these results:
1568 bytes of source code, helloworld.c type, #include <stdio.h>
gcc binary without ixemul.library usage (libnix): 25580 bytes
gcc binary (with ixemul.library usage): 18636 bytes
vbcc binary (vbcc's vc.lib): 4868 bytes

Porting programs written for SAS/C or gcc

vbcc sits somewhere in between: it has good built-in support for AmigaOS, but lacks some of SAS/C's features, and currently has limited support for GNU/POSIX. You may want to add some own inventions. If you add new header files and/or libraries for compatibility (e.g. from gcc/ADE/geekgadgets or libnix), you will run into (resolvable) conflicts. While SAS/C and ADE/geekgadgets provide additional developer tools (e.g. make) required in the build process, vbcc is (basically) just a compiler.

Cross-compiling binaries for AmigaOS on other operating systems

As has been said before, installation is simple, and almost identical on all host systems, and so is cross-compiling. Under Linux, two changes were required to make vbcc-Linux compile a previous vbcc-AmigaOS project: add compiler config option "+aos68k", and add Linux include path to NDK_3.9/Include/include_h directory to config file "aos68k" to Linux paths.

Impressive!

Overall, the impression left by vbcc is utterly positive. There are a few flaws, e.g. some error messages could be more precise, gcc's __FUNCTION__ and __LINE__ macros or a substitute would be very helpful, and AROS host and target modules would really be nice, but it works fine on different platforms including classic AmigaOS, is easy to use, creates quality code, is fast, etc. pp. and best of all it all comes with superb cross-platform capabilities: the concept of exchangable host and target modules is an invaluable tool for cross-Amiga-platform development, and may help unify the scattered Amiga landscape.

Huge THANK YOU to Volker Barthelmann and co-authors (vasm, vlink), and iComp GmbH for sponsoring vbcc m68k-AmigaOS!


Sources:
http://sun.hasenbraten.de/vbcc/
http://blitterstudio.com/setting-up-an-amiga-cross-compiler/
http://blitterstudio.com/setting-up-an-amiga-cross-compiler-windows/