ASM Software Unittest Framework

(c) 2016 by Matthias Arndt

The MIT License applies to this project. Please refer to the file COPYING for details.

The software is available on GitHub at


This is a small framework to implement unittests for software written in C. There are existing projects that offer much more functionality, this one focuses on simple usability and textual output of statistics.

Main reason to implement this framework was that cunit was too complicated in usage and no other small free frameworks could be found.

System requirements

  • Cmake to build the example project
  • a C99 compliant C compiler but a C90 one will do if stdint.h and stdbool.h are supplied
  • any operating system of your choice

Using the test framework

A test should be a subfunction or the main function of an appropriate test executable.

Use the macros defined in unittest.h and link your project with unittest.c

Wrap the Test with UT_BEGIN() and UT_END() macros for proper structuring. Most commands should describe themselves.

It is allowed to start another test for entirely different content with the UT_BEGIN() macro if the last test finished with the UT_END() macro.

Fehlende Session für xrdp

Wenn man xrdp einrichtet, landet man manchmal in der falschen oder auch in keiner wohldefinierten Session.

Effektiv kann man sich nicht einloggen oder eine langsame Umgebung wird verwendet.

Hier hilft es dann, eine passende Sitzung, leichtgewichtig und funktional ist immer LXDE, zu definieren.

In der Datei ~/.xsession muss der Aufruf für die entsprechende Umgebung stehen.

Für XFCE etwa

Für LXDE z.B. folgende von Askubuntu geklaute Zeile:
lxsession -s Lubuntu -e LXDE

Start uIPTool utility for AUTO folder

uIPTool is great to allow easy access to Atari ST files via network without having to configure complete NFS or FTP setups.

As I ran into network problems and had to manually restart the tool from time to time, I wrote a small utility that allows to tweak the AUTO boot sequence to run uiptool either once or in a repeating fashion.

In the latter mode, the tool is restarted after crashing or undesired termination (e.q. I accidentally hit SPACE on the Falcon keyboard and the tool stopped amidst in a 50MB download)


This is a utility for the Atari ST AUTO folder.
It allows to run the uIPTool (
at system startup without having to manually click on the desktop.

Place it in AUTO folder before running MiNT/MagiC or any network stacks like STING.

System requirements

– Atari ST or compatible computer
– uIPTool and a compatible Atari NIC (Netusbee, Hydra)


1. copy uIPTool as UIP.TOS in the root of your boot drive
2. place STARTUIP.PRG in your AUTO folder (preferrably at the beginning)
3. reboot


– The tool waits until 5s timeout for keyboard input.
– If there is no keyboard input, the AUTO boot sequence is resumed.
– Press ‘U’ to activate uIPTool once. Boot continues after its termination.
– Press ‘R’ to activate uIPTool in repeating mode.

## Repeating mode

In repeating mode uIPTool is started.
When the tool crashes or terminates, the user can quit and resume the
system boot sequence if desired.
After a small timeout of 5s uIPTool will start again.

I had troubles on my LAN with lossing connection and it was tedious
to restart uIPTool by hand in these cases.


The source code and executable can be downloaded at

Free key for Backward emulator

I found this is an old backup and I’d like to share the information.

For Backward, the Atari ST emulator for the Atari Falcon 030, is a free registration key available.

“Cyrille Dupuydauby, the author of Backward (ST emulator for the Falcon), has
released a free key

username : USER

Ancient FTP links, maybe dead:

Atari Joystick mit DB9 Anschluss an PC per USB anschliessen

Um klassische Joysticks nach Atari Standard mit DB9 Anschluß an moderne PCs anschließen zu können, benötigt man Adapter.
Solche gibt es als freie Designs zum Nachbauen, aber selten fertig zu kaufen. Sie enthalten meist einen kleinen Microcontroller, häufig AVR oder PIC, etwas “Hühnerfutter” drumrum und stellen PC seitig eine HID konforme Schnittstelle bereit.

Bei Ebay und anderen Shops tauchen ab und an fertig kaufbare Geräte auf. Diese braucht man in der Regel nur anschließen und gängige Betriebssysteme listen danach einen neuen Joystickanschluß auf.

Ich besitze aktuelle mehrere solcher Adapter. Bei einem konnte ich über eine in der Firmware hinterlegte URL auch eine Bezugsquelle in Kanada ausmachen. Zwar nicht die günstigste Variante, aber immerhin eine Möglichkeit, einen solchen Adapter zu beschaffen. Meinen hatte ich bei Ebay gefunden.


Auszug aus meinem Linux Kernel Log beim Einstecken:

[ 5870.324066] usb 1-5.1.3: new low-speed USB device number 9 using xhci_hcd
[ 5870.453974] usb 1-5.1.3: New USB device found, idVendor=1781, idProduct=0a99
[ 5870.453980] usb 1-5.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5870.453982] usb 1-5.1.3: Product: Retro Joystick Adapter v2.0
[ 5870.453984] usb 1-5.1.3: Manufacturer:
[ 5870.453986] usb 1-5.1.3: SerialNumber: 3292
[ 5870.462639] input: Retro Joystick Adapter v2.0 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/1-5.1.3/1-5.1.3:1.0/0003:1781:0A99.0008/input/input17
[ 5870.520437] hid-generic 0003:1781:0A99.0008: input,hidraw5: USB HID v1.01 Joystick [ Retro Joystick Adapter v2.0] on usb-0000:00:14.0-5.1.3/input0

Tastaturlayout unter Ubuntu für die Konsole anpassen

Irgendwie greift da Tastaturlayout nicht immer, Rekonfiguration unter Ubuntu mit

sudo dpkg-reconfigure keyboard-configuration

Ungewollte Popups in Firefox unterdrücken

Auf manchen Webseiten wird man ungewollten, durch Javascript und anderweitige Wege geöffneten, Tabs und Browserfenstern nicht mehr Herr.

Leider funktionieren einige Seiten nur mit aktiviertem Javascript, daher ist es nützlich, solche Effekte zu unterdrücken:

  1. about:config aufrufen
  2. Eintrag dom.popup_allowed_events leeren

Meine Review der Alienware Alpha

SSBs Alienware Alpha mit Xbox 360 Controller

SSBs Alienware Alpha mit Xbox 360 Controller

Vor 2 Jahren habe ich mir als Gaming-PC eine Alienware Alpha angeschafft. Endlich habe ich mal ein Review des Gerätes gemacht und dazu einen Bericht geschrieben.
Kurzzusammenfassung: für mich top!

Siehe auch


Eine optimierte Palette mit 16 Farben

Da Forumposts ab und an verschwinden und ich diesen Zusammenhang für sehr interessant befinde, eine Kopie hier in mein Blog von DawnBringer bei

“So, dear friends, I have wasted some time lately with my obsession for
palettes. It’s been tackled before but I felt there was (and is?) more
work to be done with designing a great multi-purpose 16 color palette
(I’ll avoid any talk of “perfect” or “ultimate” as there simply isn’t
such a thing for a limited palette).

Property wish-list:
* Archetypical colors common in games/pixelart
* Real world colors (RGB-space brightness-axis “colorcigarr”)
* Good coverage of the spectrum
* Great coverage of the brightness range (a must for any useful palette)
* Max combinatory possibilities: Interpolations, simulations, dithers etc.
* …and if possible; colors that may work as subtle varitations: rust, dirt, textures.

But as with all small palettes, some things had to be sacrificed: This
palette is very weak in magentas (as that is a rarely used area). It
also lack much in turquoise – but at least they can be simulated by
combining the many blues & greens.

This is public version 1.0 (v9843.7 to me ;))

DawnBringer's 16 Col Palette v1.0

DawnBringer’s 16 Col Palette v1.0

Some notes:
* The dark register is dominated by blue/violett commonly found in shadows/dark waters etc.
* The lower-medium register has the weight on green and browns; found in vegetation, wood etc.
* The upper-medium register has much blues and orange/pink to handle skies, sand and skin.
* The bright register has the lone yellow and the effective pink &
cyan that  are complimentary colors that span around the spectrum and
can be mixed to a very good grey!
* Red is slightly violett – I wanted a red that contrasted the other
colors rather than being another shade of brown/orange. Still good
enough to use in some skin-shades I hope.

— Mockups omitted —-

Outstanding issues:
* The optimal(?) global brightness/contrast level…these can be
adjusted quite easily without affecting the internal relationships of
the colors very much – so if you have any feelings about this lemme
* The dark register: is there a better combination/structure of colors here?

Comments & questions are welcome! :)Here’s the RGB-values:
20 12 28
68 36 52
48 52 109
78 74 78
133 76 48
52 101 36
208 70 72
117 113 97
89 125 206
210 125 44
133 149 161
109 170 44
210 170 153
109 194 202
218 212 94
222 238 214
And yeah…feel free to use this palette. ”


Ferner dazu eine Abbildung für The Gimp von user DarkUranium vom gleichen Forum:

GIMP Palette
Name: DawnBringer's 16 Color Palette
Columns: 8
 20  12  28    Dark1
 68  36  52    Dark2
 48  52 109    Dark3
 78  74  78    Dark4
133  76  48    Dark5
 52 101  36    Dark6
208  70  72    Dark7
117 113  97    Dark8
 89 125 206    Light1
210 125  44    Light2
133 149 161    Light3
109 170  44    Light4
210 170 153    Light5
109 194 202    Light6
218 212  94    Light7
222 238 214    Light8

Originalartikel unter:

“WannaCry(pt)” Windows XP x86 Patch

Nach der letzten Wurmattacke sollten Windows XP Nutzer (ja die gibt es noch zu häufig) unbedingt den Patch einspielen.

Dies funktioniert automatisch nicht mehr. Und sollte offline geschehen, d.h. mit getrennter Internetverbindung.

Leider ist irgendwas bei Microsoft schiefgegangen, so daß man ungeplant an die falsche Downloadstelle geleitet wird.

Hier nochmal der Link zum Patch für klassisches 32Bit Windows XP mit deutscher Lokalisierung. Erwischt man einen anderen Patch, verweigert dieser die Installation. Für zentrale Bugfixes ein Unding!

Link zum deutschen Patch:

Ich musste mir erst von einem erfahrenen User den richtigen Link besorgen.