Author Archive

Xzentrix 2010 Party report

February 4, 2011

Friday 2010-09-03

Another edition of the nice and cozy Xzentrix party was due this year. At the same time, the DAS in Dresden took place. But due to travel
considerations, I had decided early to attend Xzentrix although the party date was amidst my move into a new flat with my girlfriend aswell.

On Friday I left work a bit early to catch a train to Munich. As always the party is held in Seeshaupt in Bavaria, Germany. The trip was not really eventful except that I missed the train in Tutzing and was forced to wait about an hour at the station for a ride of 10 minutes to Seeshaupt.

Anyway I arrived around 20:30 at the party place to discover that this years`s edition was not as croweded as before. Maybe it would change on Saturday. I unpacked my lot. This year I packed my Atari STE with SatanDisk and a 7″ Mini LCD-TV.

505 had recommened me this particular TV. I didn`t pay too much, about 80EUR for the thingy and it works well as a party monitor. On the STE here it runs with Composite video but the Falcon worked well at home with the VGA input as well. It`s perfect to take a long by train. 🙂

I soon started chatting with all the other party people when CPC-Mike arrived. He unpacked quite a lot of gear including an STE aswell, a CPC Plus, a CPC6128, a Sega Saturn and hidden in a box, an Atari Jaguar too. I also had discovered that someone brought a Sam Coupe, a machine which I didn`t really expect to see because of it`s rareness.

We went to eat some pizza from the near pizza joint and the quality was pretty good. The pizza was large, even in the “small” category, fresh out of the oven and quite tasty.

CPC-Mike had problems with his UltraSatan so we simply tried my card. It worked and booted ok. CPC-Mike was quite please to find out his UltraSatan was actually working so we agreed to install his own card later during the party.

Thorn / TSCC arrived as well with an Amiga 1200 for playing another edition of the Bavarian KickOff Tournament. He also brought a slightly intersting 1990 vintage PC with a 80286 processor. “It`s the first PC of the family Butschke and I`ll try to sell it here.” was his comment.

CPC-Mike and me started digging into some old games. Playing “Sonic Boom” on the CPC Plus we wondered about games between different platforms. I booted the same title in the ST version. It disappointed ourselves as the display for 2 players turned out to be another lame “one player after another” mode instead of a good “2 players on screen” blast.

Shortly before midnight, Beetle arrived from a long trip and started to unpack. He showed me his CTPCI with Radeon graphics and discussed some of its features.

The CPC users gathered to try out the new game “Orion Prime” which turned out to be a point`n`click adventure. Games of that sort are generally not my taste but it’s great to see the effort live.

We soon ended up with a Swiss man to discuss Forth, RISC cpus and handheld calculators. Albeit being a very interesting discussion the day took a toll and I was starting to get really tired.

Beetle had brought an additional airbed for me (Thanks!) and we soon geared up for sleep. “It might collapse as it is not 100% tight anymore.” So being warned I simply jumped into my wormbag and decided to nap as long as possible. Even the regular party noise was getting lower in comparison to other party events.

Saturday 2010-09-04

The air bed started to collapse as promised so around 6:30 I decided to get up as one of the first party people. I took a quick cold water shave and started writing on this little report then.

Now more people seemed to be awake. I took a little walk to get up and at my return breakfast was ready. We had coofee, pretzels and rolls – and all incldued in the ratehr small party fee or 10€.

We played a bit on CPC-Mike`s Atari Jaguar and I discovered that Raiden is actually a quite good game. However he didn`t have all games with him so my first glimpse at Jaguar gaming was limited to Raiden and Wolfenstein 3D. Sadly the Jaguar had to be connected via RF to my TV and it run without sound. I don’t know why but we didn’t investigate any further.

Some sort of hardware modding had to be part of Xzentrix as every year. Last year I bought a couple of 7800 pads but those have problems with the IKBD (keyboard controlling mcu) on the Atari ST. The keys stop working and behave irratic as soon as a 7800 controller is plugged in. With a bit of rewiring and cutting traces the pad can be made compatible. And Beetle did the mod for one of my pads right here on the Xzentrix. As a special feature, he wired the now functionless second button to work as the up button. So now with this modded pad, NES style jumping and shooting is possible. I`m looking forward to try this pad with “The Great Giana
Sisters” someday.

Late in the afternoon, the Bavarian Kick Off Championship took place. As I’m personally not really a fan of Kick Off, I played some other games on my STE instead aswell as chatting with CPC-Mike and getting his UltraSatan to run properly. We installed ICD Pro like Jookie described and say what, it worked 🙂

Around 1:30am I went to my wormbag to catch a decent sleep.

Sunday 2010-09-05

After the usual morning routine, Thorn and me discussed the next LowRes release. (When you are reading this article, something has happened in that regard! 🙂 )

Around 11:00am Thorn offered me a ride to Memmingen and we left the party. We discussed LowRes and other stuffs and finally Thorn dropped me off in Memmingen so I could head for home by train.
All in all I really enjoyed attending Xzentrix again. This event has a certain something with its focus on old computers in general and not being limited to demos and coding. In many respects it is the perfect sort of party to attend.

Simon Sunnyboy / Paradize  <>
for LowRes magazine


Memory mapped I/O made easy with ANSI C

February 4, 2011

The newcomer to ANSI C might wonder how to access I/O registers easily on his platform of choice without having to resort to assembly language. Whether one should avoid using C for coding games or demos on retro platforms is not to be discussed here.

First we have to define memory mapped I/O. In essence this means that any hardware register on any custom chip or device can be accessed with the same instructions used to access RAM. Converted to C, this means you can use a simple pointer and indirect addressing.

For those who move from assembly language to C, if your system has no special IN or OUT instructions for hardware, your platform uses memory mapped I/O. The 6502/6510, 68000 and ARM CPUs all qualify for this, the Z80 notably does not but C compilers for the Z80 will provide special means to access their I/O hardware instead.

I will break down the “how” into a few pieces of C code for your pleasure:

volatile uint8_t * const HWREG = (uint8_t *)0xE000;

This declares a basic pointer to some hardware register at memory location $E000. One should declare it volatile because hardware I/O locations may change inside  a different context (interrupt and/or hardware event in our case).

The pointer address itself (essentially the hardware register you want to point to) should be const between register name and the type definition so that noone may modify the pointer and make the pointer address itself readonly but not necessarily the contents of the register.

Adding const before the declaration will declare a read/only register which you can’t modify but just read later on in your algorithm.

const volatile uint8_t * const HWREG_RO = (uint8_t *)0xE00E;

To alter the contents of the declared hardware register, you use the pointer. Note that the register declaration may not be readonly.

*HWREG = 0x5a; /* set I/O for demo purpose */
/* access to alter the pointer is forbidden! Uncomment to try! */
/* HWREG = (uint8_t *) 0xaaaa; */

You can read the register simply by dereferencing the pointer:

uint8_t HWREG_Read()
  return(*HWREG); /* read I/O */

It is also possible to map a whole struct to a pointer and fix the pointer to some I/O location. In effect you can reference whole register sets with one properly named struct. Envision something like this on Amiga:

blitter-> BLTCPTH = &mydata;

The concept can also be extended to access several I/O chips which basically use the same I/O register layout. Simply have pointers to more than one structure. Something like this:

Chip[0].REG_A = 0xB0;

On naming the pointer, you should try to use the names as defined by the hardware documentation so the potential reader can directly see which register will be accessed. Adding a _PTR to the name might be helpful to remind that the register has to be accessed with pointer commands * and &.

As a final advice, you should check the compiler output to verify  correct code generation. Sometimes there are ways of optimizing.

E.q. on a Motorola 68000 the read access should be translated to

move.b $E000,D0

instead of

lea $E000,A5
move.b (A5),D0

Activating proper compiler flags will help a lot here. Don’t be shy and experiment. It is possible to generate well working code using this approach. It is actually in heavy worldwide use in various sorts of Embedded Systems like car subsystems and networking equipment.

Simon Sunnyboy /Paradize for LowRes Magazine, January 2011

A forgotton classic reviewed: Dugger for Atari ST

May 15, 2010

On April the 3rd in 2010 we started to play a new title in the ST Offline Tournament [1]. The game is called Dugger [2] and as I have never seen or played that one before, I decided to write a little review.

Dugger was a rather early release for the Atari ST, the title screen states 1988. A German team did all the work and the game features some classic Madmax chipmusic on the YM2149 which probably was already used in Demos as well.

After booting the game shows a rastered intro screen and then a cute animated intro screen. Press the gaudy button on your joystick to enter the game.

Dugger title screen (Atari ST)

Dugger title screen (Atari ST)

Gameplay follows  the 1982 vintage arcade game Dig-Dug closely. The player controls a little stoneage creature and leads him in the underground. Here the task is to destroy the baddies which move in seperated caves. For the difference to other games this is done using an airpump. Hold the firebutton down to pump the baddies full of air and let them blow up afterwards.

Level 1 of Dugger (Atari ST)

Level 1 of Dugger (Atari ST)

This sounds easy at first but the baddies start to chase the player through the walls and some even spit fire on you. One can try to quash them by letting rocks drop on them but it’s not easy. The last baddie left will attempt to escape to the surface so the palyer has to chase them for extra points.

My conclusion is simple, great graphics and music for 1988 standards, a proven and nice gameplay – if you like Dig-Dug, you will love Dugger too. Giving this title a try should be worth it!


  1. STOT season 3 round 14: Dugger
  2. Dugger on Atarimania

Upgrading the Firmware on the GP2X Wiz

May 15, 2010

For the GP2X Wiz there are the first games available which ship on ND cards. Those are SD Cards with builtin DRM technology. In order to run the software on those ND cards, the Wiz needs a new Firmware which will add support for them. The Firmware version 1.2.1 [1] provides this at the time of this writing.

Upgrading the Firmware is comparatively easy but in order not to make any mistakes, a certain amount of care should be taken.

Important note: If you don’t have a 1.1.0 Firmware on your Wiz, install this before you install the 1.2.1 version. I did not not and ended up with my builtin NAND memory being empty and not accessible anymore.

Installation steps:

  1. Make a backup of the contenst of your builtin NAND memory first (the upgrade overwrites the NAND)
  2. Format a fresh SD Card (best is to use this little tool [2])
  3. Unpack the  Firmware ZIP onto the SD Card (ensure there is nothign else on the card)
  4. Hold the R-Button of the Wiz boot the Wiz with the SD Card inside the slot
  5. The Wiz should now show “Firmware Upgrade…” and start to get working.
  6. Keep the Wiz running for ca. 15 minutes laufen lassen, a red progress bar will be visible.
  7. If all went well, the Wiz will tell you that the upgarde is finished and you may reboot.
  8. Try if the Firmware is working and if the version number is correct (Settings -> Information in the Wiz Menu)

Happy Wizzing!


  1. International Firmware Version 1.2.1 for GP2X Wiz
  2. SD Card format utility

Xzentrix 2009 – party report

December 28, 2009

The Xzentrix party is a friendly multiplatform party with a focus on fun and using old machines. It is less demo oriented although demos can be seen ofcourse.

The party is held on a yearly base in Seeshaupt in Bavaria near Munich. Once it had a focus on Amstrad CPC and other Z80 machines but it is open to all platforms that are different from standard PCs. Actually this year there were more non-Z80 machines at the party than Z80 based ones.

ThorN / .tSCc. had suggested visiting the Xzentrix party to me in 2008. The party back then was so nice and different from other parties that I decided right away to visit the upcoming editions aswell.

This year the party run from September 11th to the 13th. The Friday I had a time off from work and did pack my gear and was in a good preparty mood. I took a train late in the afternoon to Ulm where ThorN and his Kick Off mate Frank were supposed to pick me up.

With only a slight glitch which directed ThorN into the local underground car-park at the main station, everything worked well. The car was pretty crowded as ThorN had plenty of gear himself and he already joked I might had to take a second Amiga monitor on my knees for the return trip.

We had quite some fun and decided to eat first. Along the motorway to Munich we gave Mc Donalds a go which turned out to be a good idea. Because we only arrived around 22:30 at Seeshaupt, there wasn’t any proper food to get anymore.

The party was already about 2/3 complete and we quickly occupied one of the free desks left. ThorN setup his Amiga 500 for the Bavarian Kick Off Tournament while I put my trusty STE together with my Satandisk into action. ThorN brought me a nice SC1224 monitor so I could spare myself the trouble to bring one myself. Soon we were playing with our machines, ThorN and Frank ofcourse headed straight into Kick Off 2 while I enjoyed Elite a bit.

Thorn and SSBs desk at Xzentrix 2009

Thorn and SSB's desk at Xzentrix 2009

Various people were already there. Shortly after us, CPC-Mike and Tolkin from the Amstrad CPC scene arrived. CPC-Mike took the desk right next to me which turned out to be a cool thing. Over the course of the party, I got good in touch with him although his Lower Bavarian dialect was hard to understand at times. We got along well and he showed me quite a few games on his CPC6128 and his 6128+. I never had played or worked with a CPC before so this was an interesting experience. I learned a bit about the CPC floppies and for the first time I saw a rather big lot of original 3inch floppy disks. CPC-Mike told me, they normally have a good rate of keeping data. However formatting them again after 20 years will only give a 50/50 success rate.

CPC-Mike and ??? playing on CPC

CPC-Mike and ??? playing on CPC

Ofcourse there were other systems around, including a C64 with an external CPU cartridge. In effect this used the original C64 only as an I/O module and it did run an impressive horizontal scrolling shooter game for two players.

Another C64 user had a YM emulator running on his C64 and we had a very nice chat about it. I introduced him to the SNDH format and into Atari ST bitplanes as he was interested about them. His software currently replays AY and YM files on the SID. However full SNDH support will be unlikely as it requires emulation of the Motorola 68000 aswell as the MFP. He was actually quite impressed by the YM music possible with Maxymiser and Musicmon 2.5.

Other interesting retro systems included both an AIM-65 and a KIM-1. However due to lack of time I didn’t really talk to its owner. Though both were nice to look at – and as I had read some documents on them in the past, I could make atleast some sense out of these interesting singleboard computers.

As always on the Xzentrix there was some Acorn action. E.q. RISC OS 5 running on an embedded ARM board, a RISC PC and a BBC Micro which I saw for the first time live. I think it is a pretty ugly machine but it showed at least some interesting software, including a colorful porn slideshow from the early 80s and various arcade games.

A very special machine was also there, a Sharp X68000 which demonstrated games all the time. I never saw this machine before. I only heard about it. The computer is housed within a distinct black upright tower with vertical floppy slots. According to my knowledge the X68000 is pretty rare and was only sold in Japan for only a few years.

The party location itself was the Communal assembly hall in Seeshaupt. Only drawback was the lack of showers (that seems to be a standard party feature). Breakfast was plenty although rather simple in organisation. “Here are the rolls, there is jelly and Nutella. Serve yourself!” Sweets, drinks including good beer were for sale so there was no need to go shopping to the supermarket. The party pizza on Saturday was actually quite edible, it was both warm and tasted not as cardboard.

I slept quite well for those two nights. Being the second party only where I brought an air bed, it is definitly a good idea to bring one instead of just a skimpy isolating mat. My air bed didn’t loose air this time like it did at the Numerica 2009 in Montbeliard. Even the typical party noise didn’t make sleep much troublesome. I never assumed this to happen but this year at Xzentrix I had no problems with that. I assume it was mainly based upon the better bed.

As always on the Xzentrix party, there was a flea market again. I didn’t buy many items this year. Just a box of several Ocean titles for my STE and a Sega Megadrive pad with 6 buttons. The latter one did work ok in port 0 (mouse port) but not at all in port 1. Instead of modding it, I traded it for 2 other Sega pads at the time of this writing.

Very interesting stuffs at the flea market included a large collection of Laser disks and a Laser disk player. I never saw such before but it wasn’t hooked up so I could not see this technology in working order.

Another interesting item for sale was a Microprofessor Z80 singleboard computer. Sofar I only knew about this from early c’t magazien issues but I never saw one and I didn’t expect to see one.

Codewise the party was uninteresting. Except for me doing a few lines of code on a game project of mine, noone was really coding in large style. Xzentrix is fun oriented, and not for hurry-hurry-finish-that-demo coding. Actually half of the time, people were enjoying games on the different machines, from Amstrad CPC over C64 to Kick Off 2 on the Amiga for ThorN’s tournament, Xzentrix 2009 had a distinct gamer’s feast touch. I liked it this way because it adds a new feel to a party. It’s different to a demo oriented party like Outline but merely a class of its own. I enjoy both styles of parties afterall.

In the end, ThorN really bough that second Amiga monitor, a 1084 with no SCART input. But luckily I didn’t have to take it on my knees. Packing the car better than on the trip to the party, we had more space in the end than before.

After a crosscountry trip through the Bavarian countryside, ThorN dropped me off at Memmingen where I took a train back home to Lake Constance.

All in all, Xzentrix 2009 was a great party. I enjoyed it a lot and considering the low entrance fee of just 10€, it is a good bet to visit. The flea market and the very friendly multisystem atmosphere give it a very cozy and enjoyable feeling.

Xzentrix 2010, I’ll definitly be there!


1. Xzentrix website

Wiz2600 – an Atari 2600 emulator for the GP2X Wiz

December 28, 2009

While browsing an archive of available software for the opensource handheld console GP2X Wiz [1] [2], I stumbled upon Wiz2600 [3].



This is an emulator for the Atari 2600 or Atari VCS console. It enables the user to play Atari 2600 games on the GP2X Wiz handheld.

The emulator is available as opensource [4].

Installation on the GP2X Wiz is very simple. Just put the wiz2600 folder inside your game folder on the SD card or the builtin NAND Flash and leave the ini file there. Place all game rom images into the roms folder and launch the emulator.

First the user sees a configuration menu. Here various options as screen settings, audio and joystick can be  configured. Select the game rom image you want to play and start the emulation. Now the GP2X Wiz will behave like the Atari 2600 and you can play the game. pressing MENU will bring back the configuration menu.

The 2600 functions like RESET and SELECT are mapped to the fire buttons, the directional pad works as the joystick.

From what I tried sofar, the games works. I could play Space Invaders, Jr. Pacman and Mrs Pacman with Wiz2600 well. Only slight problem seems to be the sound. It sounds quite different to what I know from my original Atari 2600jr. The onscreen color scheme also looks a bit off but it does not break the fun.

With Wiz2600 you can easily enjoy Atari 2600 titles on your GP2X Wiz. A musthave for all owners of the GP2X Wiz handheld!


  2. About the GP2X Wiz handheld at
  3. Download Wiz2600
  4. Wiz2600 homepage

JayMSA – multifeatured disk image handling for Atari ST

December 28, 2009

Even if you are not deep into emulation, sooner or later you will stumble upon disk images in .MSA or .ST format. Basically those files are similar to ZIP archives or ISO images. they do not only hold files and there directory structure, but the exact layout of tracks on the original floppy disk is preserved.



JayMSA by Jaysoft [1] is free to download and use. The utility runs on all Atari STs and compatibles and fully utilizes the GEM desktop and is multitasking friendly.

With JayMSA one cannot only read disk images and save their contents as .MSA or .ST disk images ready for use with known ST emulators, but it also can write those images back onto disk. It also allows to extract files from a disk image. This feature is particular handy for hard drive users who do not want to run software from a floppy. Basically this saves the need to fully write the disk image onto a floppy disk.

Imaging a disk is simple with JayMSA. Just put the floppy you want to image into your drive, use the “Disk” menu to select the destination drive and click “Compress”. In the next dialogue select the options you want to employ for imaging

. If you are using TOS, the CRC feature seems to be buggy. It crashed for me in the past. But if you disable it, everything will work nicely.

You can select different target formats with MSA and ST being the most reasonable. Disk images in .ST format are not packed by default so I don’t recommend using them. After selecting where you want the fresh disk image to be stored, the program asks for confirmation and begins the imaging process.

JayMSA imaging a disk

JayMSA imaging a disk

When the imaging process has finished, JayMSA will list the contents of the new disk image in its main window. This will work as long as there is a FAT filesystem on the image. Software that loads from raw tracks will most likely only display some garbage here.

In this dialogue files can be selected, viewed with a configured text viewer from within the active disk image and ofcourse, extracted on their own to disk. Handy if you want to copy a single file from an entire disk image to your hard disk. Just click “Extract” in the “File” menu.

JayMSA - extracting files from a disk image

JayMSA - extracting files from a disk image

To write a disk image back to disk, select “Open” in the “File” menu to display the contents of your file. Now go to the “Disk” menu and select “Extract” to write the disk image back to a floppy. The process is similar to imaging a disk and ofcourse, JayMSA can write the same disk images back to disk that it created, e.q. you can write .ST files to disk with this.

Pro JayMSA

  • compatible with all previous MSA disk imagers
  • handles multiple disk image formats including .ST
  • has its own MSA file format with LZH compression
  • can clean bootsectors if desired (handy for those Ghost virus infested disk boxes)
  • shows contents of a disk image and allows to extract individual files
  • nice GUI
  • as a clean application, it works on all Ataris

Contra JayMSA

  • as most other disk imagers, JayMSA cannot image floppy disks with copy protection
  • uses “clean” disk access only so may not image everything no retry upon disk errors
  • the LZH compressed image formats can only be read and written by JayMSA itself
  • CRC option seems not to be compatible with TOS
  • window font display is buggy in ST-LOW and ST-MEDIUM if no NVDI is installed


All in all, I like JayMSA a lot and I use it regularly to write .MSA and .ST files to disk – and for the odd disk I need to image. Definitly a valuable tool for your Atari ST!


  1. JaySoft website

Using joypads on the Atari ST

August 30, 2009

The modern gamer is used to joypads in one form or another. The impact of 3rd generation video game consoles like the NES or the Sega Master System is tremendous. More importantly many younger gamers don’t even remember the classical joystick with switches. We oldtimers prefer them but regardless if you ask a seasoned gamer or an occasional gamer. If this person is not already used to oldschool joysticks, most of them dislike classic joysticks and will ask you for a joypad of some sort for playing on your ST.

Playing on the PC with an emulator makes the situation very easy. Just buy a suitable gamepad with USB connector, plug it in and any emulator worth to be used for gaming will allow you to use it. Starting from 7€ up to any price imaginable, you can find plenty of suitable joypads in your preferred computer hardware store.

But how about using joypads if you want to enjoy the games on the real hardware? How to connect joypads to the ST instead of the classic joystick?

The first solution is to get an old Sega gamepad for the Sega Master System. Those simply work by plugging into the ST’s joystick ports.

From Atari themselves there are at least 2 gamepads available which are suitable for use with the ST.

Atari Jaguar Powerpad Controller

Atari Jaguar Powerpad Controller

The first solution is the Jaguar powerpad. If you have an Atari STE or a Falcon 030, you can plug them into the extended joystick ports and they will work. However this solution has a drawback. Any software or game which wants to use them this way has to provide a special code to read the new ports. If the game does not support the STE extended joystick ports with Jagpads you are out of luck. This also applies if your ST simply does not have the Extended Joystick Ports, like the Mega STE or any STFM.

To make use of the Jaguar powerpad on any ST and with any ST game with joystick support one has to find a way to connect the jagpad to the ordinary joystick port. However neither plugs do fit nor are the joysticks of the same electrical construction. Luckily it is relatively easy to achieve a proper signal mapping. Take note that all fire buttons will act as the same fire button. It is impossible to map them to other functions.

Schematic for Jagpad to Atari ST adaptor

Schematic for Jagpad to Atari ST adaptor

The Atari Extended Joystick Port FAQ  [1] includes a entirely passive circuit which allows to connect the jagpad to a standard joystick port. Building this adaptor will give you the benefit to use the Jaguar powerpad on all computer systems with the DB9 connector.

World of Atari at [2] seems to have professional Jagpad adaptors for sale as well.

The second solution from Atari is the CX78 Joypad. This special joypad was marketed in Europe together with the ill-fated 7800 console but it basically works with the Atari ST as well. However it has a drawback. The pin usage on the CX78 joypad is slightly different to take care of the 2 separate firebuttons of the 7800. These signals confuse the IKBD, a small microcontroller in the Atari ST which processes all keyboard and joystick input. As soon as you plug a CX78 into an Atari ST, the machine will show strange behaviour on keyboard input. For some games, esp. selfbooting ones which do not require keyboard interaction, this is ok but for others, like the notorious Automation menus, you might end up to be unable to launch your game with the CX78 plugged in.

Atari CX78 joypad

Atari CX78 joypad

This problem could be solved by building an adaptor which will leave the non-standard signals unconnected from the ST, e.q. just routing GND, the 4 directions and the combined (or one) fire buttons to the ST.

A professional solution for connecting a joypad is also available. The JeST device allows to connect Playstation joypads to the ST and other old computer systems with the DB9 joystick standard. However I didn’t receive mine yet so I can’t comment on its special features yet. A future article will deal with the JeST. In the meantime, you can find out more at [3] or alternatively at

This device should be handy for all gamers who also have a Playstation at home which gets as much use as the Atari ST.

A neat trick is to take a non functional old joystick and a working USB joypad. Even if the USB part is defective, the mein push buttons of the pad are likely to be intact. Just solder some cables from the USB pad internals to the appropriate contacts on the ST joystick. If done properly, it should simply work as intended, bypassing the buttons of the old joystick and using the buttons from the gamepad instead.

As a last resort you can build your own because any joystick or joypad. On the ST this is simply a set of 5 switches which ground the control lines for the four directions or the fire button if pressed.

Also I’ve seen hacked MSX joypads rewired to work with an Atari 800XL so basically this should be possible to do for the Atari ST aswell.

Be creative – there are many ways to connect a joypad instead of a classic joystick!


  1. The Atari Enhanced Joystick Ports FAQ
  2. World of Atari
  3. Logicsays

GFABASIC Forum – a report

August 30, 2009

Since 1986 the programming language GFABASIC has a strong reputation on the Atari ST and its compatibles. This dialect of the BASIC programming language with many elements of structured and procedural programming still has many advantages over other programming languages on the Atari ST.

The GFABASIC Editor on the Atari ST

The GFA-BASIC Editor on the Atari ST

On the Atari ST GFABASIC makes access to its operating system and hardware comparatively easy. For the novice programmer its integrated development environment and the interpreter allow an easy introduction into programming. A lot of debugging help is available and most errors result in clean error messages and a clean exit from the buggy code instead of machine crash with bombs on screen.
A compiler has been available as well which allows to translate the finished program into Motorola 68000 machine code and to release the software standalone.
In short, anyone who wants to start coding on the Atari ST, even in 2009, should take a look at GFABASIC. Even professionals can make use of it to create tools, subroutines or for calculating tabulated data to be used in software written in machine code.

Both novice and seasoned coders need advice, help, documentation and exchange of information and discussions with fellow programmers. In the past there have been no dedicated forums for GFABASIC. Some small scale projects were founded but didn’t have an impact. Isolated attempts of such forums at dialup BBSs died with their host systems and more or less have been forgotten.

More generic forums on the web like [1] tried to cover GFABASIC as a separate subtopic. But naturally a forum which deals with all aspects of the Atari ST and its compatibles is likely not to care for all specialities of a specialized topic such as GFA-BASIC.

GFABASIC forum banner

GFA-BASIC forum banner

A couple of French GFABASIC enthusiasts, including Tomchi/NoExtra of r0x fame, decided to change this and open a forum on the World Wide Web with the purpose to care only for GFABASIC. The forum is located at [2] and worth a visit.

The GFABASIC forum

The GFA-BASIC forum

Upon login you can change the basic layout of the forum to English language if desired. Being a French website, the default is French of course.

Any modern web browser with cookie support should allow you to use the forum. For better readability proper support of CSS is of course of help. But even the available web browsers on the Atari ST (e.q. CAB or Highwire) should allow you to visit and navigate the forum.

The forum itself is divided into several subcategories. Programming GEM compatible applications is a special subtopic as well as games and demo coding. Even the small sub community of users of GFABASIC on the PC is treated well here.

Most sections of the forum are in French language but there is an international sub forum where all topics can be discussed in English as well. Basically all questions in regard with the programming language GFABASIC are treated and cared for. Don’t hesitate. Just ask for help or provide help in the form of the knowledge you gained for yourself. Even a 5 line PROCEDURE or a tricky one line statement can be of use to others.

Even in the French section, trying to ask for help is well worth the effort. The active people are helpful and willing to help, even if the language barrier imposes a problem. It shouldn’t be one, at least not in such a friendly and tight sub community.

Many interesting topics in GFABASIC are available in the form of articles. Those were written in the early 90s and most of them are in French. Naturally the forum should be a place to translate them, allowing a wider public to read and benefit from them. Even if you are not a 100% technical person who can understand everything, helping to translate such articles would be of use to all others. Don’t just consume information, help to make more information available and accessible.

Using a forum like this one is a key resource to share knowledge. A few years back I started to write a small tutorial on using GFABASIC. Although the original web page disappeared from the net, I added the tutorial into the international section of the GFABASIC forum. It stays accessible in this way – and it even is easy to extend. Do the same, share your knowledge to the benefit of others!

All in all the GFABASIC forum is a large resource of help. It’s existence will not only allow GFABASIC to stay active as a used programming language but it also enables more coders to produce new software for the Atari ST line of computers. Let it be utilities, applications, games or demos, every piece of new software helps to keep the Atari ST alive.

Did you code Atari today? If not, you might want to learn it. With GFABASIC, it is very easy and the forum will give you plenty of help and examples to learn from.


  2. GFABasic forum
  3. GFABASIC at Wikipedia

Switchblade – a classic game reviewed

August 30, 2009

Switchblade [1] is a game that I always liked although it never found a way into my collection back then. This game is a classic because it adds some different concepts while staying a playable platform game. Released in 1989 the game still offers a lot of fun.

Basically Switchblade is a platform action game for Atari ST and other platforms. The player guides the hero called Hiro through a vast underground city on the search of parts for a large sword. Climbing over platforms, crates and ladders Hiro is looking for parts of the sword. Baddies try to keep him from fulfilling his task and he can fight them. In the beginning the player only has his bare hands to fight with but additional weapons can be collected in the progress of the game.

Switchblade on the Atari ST

Switchblade on the Atari ST

The game map is vast and you will soon find yourself drawing a map for your usage. Hidden rooms and passages wait for your discovery and this applies for the whole game map. Although the game does not scroll, you can only see parts of the map that you have visited sofar. If there is a ladder leading down to an unknown area, you cannot see this particular area until you climb down the ladder. However any area that has been visited before stays visible for the player.This adds a nice aspect to the game which makes it different from the ordinary platformer.

Controls are a bit laggy and greasy. The game is definitly not a jumper liker Super Mario and the player has to think about strategies to progress. Brute force will only lead to loss of energy and loss of your precious lives. Even if the controls feel stiff at the start, the game is very predictable in its movements and with only a few couple of tries, control of Hiro feels ok and manageable.

The soundtrack is by Ben Daglish and very moody. However it can get boring and repetitive. So I recommend turning it off and playing with soundeffects instead.

As the game has been developed in the 1987-1988 time frame, it has no support for STE hardware features. regardless of this, the game runs well on the STE and with a proper patch, on Falcon and TT too.

Let’s have a look at the game in comparison to its ports to other platforms beside the Atari ST. As the Commodore Amiga version is more or less identical, it is left out of the comparison. We will focus on the known 8 bit platforms instead.

Gameplay wise there  are not many differences. Controls are laggy and  greasy in the same way on the Commodore C64, Amstrad CPC and ZX Spectrum. So judging by playing with your joystick, it is hard to detect the platform you are playing on. On the other hand, this indicates the playability of all versions is about the same.

Enemy and trap patterns are identical and the same applies to the main game map.

Most differences can be found on the ingame graphics and the performance of the game engine.

For comparison there are screenshots taken at the same location in the game.

Switchblade on the Amstrad CPC - reference location

Switchblade on the Amstrad CPC – reference location

On the Amstrad CPC the game runs in MODE 1. Instead of a lot of big blocky colourful pixels in MODE 0, you get a pretty good resolution at the cost of less colours. It is not a show stopper as raster interrupts are used to cleverly colourize the status bars. The music is pretty the same as on the Atari ST and the player feels directly at home. Sound effects are slightly different if music is turned off.

Switchblade on the ZX Spectrum - reference location

Switchblade on the ZX Spectrum – reference location

The ZX Spectrum is pretty himself, rather monochromatic and not very colourful. At this slight expense graphics feel smooth and playable. Only at a screen flip, a slight delay is noticeable. On a+3  with AY soundchip, there is a slightly different sound track in comparison to the ST or CPC. This is quite puzzling as the soundchip is more or less the same as in the Amstrad CPC or the Atari ST.

Switchblade on the Commodore 64 - reference location

Switchblade on the Commodore 64 – reference location

Switchblade on the Commodore 64 is rather blocky and the dull choice of colours makes the C64 Version the ugliest of the reviewed game versions. The game also stops noticeably at a screen flip which makes some jumps awkward and difficult. On the other hand, the soundtrack of the C64 version is very good and an enjoyable port of the original YM soundtrack.

All in all, a  very nice and enjoyable game, even 20 years after its first release. I can recommend playing this game!


  1. Switchblade at Atari Legend
  2. Homepage of Simon Phipps – coder and designer of Switchblade
  3. Game map – from World Of Spectrum