Tech Notes, Tips & Reviews

TRS-80 Emulator for Linux

Jan 272009

undefinedI got a little nostalgic when my son started writing a game in Fenix that looked a lot like Robot Attack (Even though he's never seen it). So I thought I'd show him the original, but rather than try and setup the old System 80 (TRS-80 clone from DSE) I decided to use an emulator.

I've used Tim Manns excellent TRS-80 emulator xtrs before which I remember worked well. Unfortunately when trying this now it seems that Linux has evolved a fair bit and as a result I noticed a few issues when running xtrs.

  • xtrs would not work on my new distro without removing the -DHAVE_SIGIO from the makefile. (See Tims page for details on this).
  • Sound on xtrs would not work unless I stopped or removed the pulseaudio process.
  • To allow -autodelay to work on xtrs I had to remove the optimizations from the compiler (-O0).
  • Keyboard input tends to be flakey on newer distros also.

After a little research I came across sdltrs which is based on xtrs. The benefit of using the sdl version is that it works around the problems associated with new linux distros. Many thanks to Mark Grebe for his work on this.

So here's a summary of what I did to get sdltrs running:

  • Download the tarball from the Browse SVN under the Code menu
  • Extract the tarball tar zxvf src.tar.gz
  • cd src, cd linux, make
  • this will create a sdltrs binary file, you just need to execute this, enter ./sdltrs
  • I created a new directory with sdltrs, the level2.rom file and various disk files.
  • Once sdltrs has booted the level2.rom press F7 for configuration options.
  • Put a disk operating system into the Disk 1 slot (ie NEWDOS 80)
  • Press F10 to reset the system and it should boot the disk.
  • For those a little rusty like me try DIR :0 to show contents of disk 1 and DIR :1 for disk 2.

Works Great :)

Wireless LED on Notebooks

Dec 302007

undefinedHaving just installed Mandriva Powerpack 2008 (and it is very good by the way, you can buy it at, I found that all the hardware of my notebook was automatically identified and worked perfectly. With the exception of the wireless LED. I have the Intel Centrino using the ipw2200 driver, the wireless works perfectly but the LED according to the documentation is an experimental option.

In order to activate it I only had to add the line “options ipw2200 led=1″ to the /etc/modprobe.conf file. I used “vi” in order to do this (you need to have root privileges). Alternatively if you want a graphical way to do it go into “Configure your Computer”, its on the quick launch bar in Mandriva 2008, select “Hardware”, the “Browse and Configure Hardware”, the hardware list will then be compiled and displayed.

In the list you should find a category called “Ethernet Card” and as a sub-category to that you will see your wireless card listed (something like “PRO/Wireless 2915ABG” or similar). Select the card and in the right hand windows click on “Set current driver options”. The windows that comes up will show all the parameters to the ipw2200 driver, scroll down to find the “led” parameter and enter “1″ into the textbox. Click “OK” to save. You can then exit the control centre. You will probably need to reboot to activate the LED function. Even though the LED option is experimental it seems to work fine for me.

I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.

Setting up Notebook Hotkeys

Jul 272007

undefinedI recently set up the hotkeys on my notebook in Mandriva 2007 running KDE. It is fairly simple to do and consists of one script file and then appropriate entries in “Keyboard Shortcuts”.

I created the following file called “command-shortcuts” and placed it in the “bin” directory in my home directory. Make sure to make it executable using “chmod +x command-shortcuts”.

xmodmap -e “keycode 176 = F20″ # Volume up
xmodmap -e “keycode 174 = F21″ # Volume down
xmodmap -e “keycode 160 = F22″ # Mute volume
xmodmap -e “keycode 178 = F23″ # Mail hotkey
xmodmap -e “keycode 236 = F24″ # Web hotkey
xmodmap -e “keycode 162 = F25″ # Play / Pause
xmodmap -e “keycode 164 = F26″ # Stop
xmodmap -e “keycode 144 = F27″ # Previous Track
xmodmap -e “keycode 153 = F28″ # Next Track
xmodmap -e “keycode 115 = F29″ # Win
xmodmap -e “keycode 117 = F30″ # Menu
xmodmap -e “keycode 223 = F31″ # Sleep

The keycodes should work for many notebooks. To check they are right for your notebook you can run the ‘xev’ command in a console. The keycode will be displayed for each key you press.

So that the keycodes get loaded at each login, add “/home/{username}/bin/command-shortcuts” to the end of your “.bashrc” file. Replace {username} with your login name.

Now launch “Keyboard Shortcuts” from the “System”, “Conifguration”, “KDE”, “Regional & Accessibility” Menu. Here using the “Command Shortcuts” tab you can assign the “Mail” and “Web” Keys. Using the “Shortcut Schemes” you can assign the the “Win”, “Menu” & “Sleep” Keys. I set the “Win” key to switch to the next desktop, the “Menu” key brings up the KDE Menu and the “Sleep” key issue the logout command.

Finally you can set up the Volume Down, Up and Mute by right-clicking on the Mixer and selecting “Show Mixer Windows”. Then from the “Settings” menu select “Global Shortcuts” and assign the appropriate keys. You can do the same in Amarok for the “Play/Pause”, “Stop”, “Previous Track”, “Next Track”.

Thanks go to Ubuntu user zba78 who posted info on hotkeys at

I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.

Using nVidia Twinview and mplayer

Jun 102007

undefinedI recently set up a second monitor and then managed to use it to display video whilst still working on my main monitor as usual…

Here are the main settings to add to your xorg.conf file. In the "Screen" Section Add..

Option "MetaModes" "1024×768,1280×800"
Option "TwinView"
Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0"
Option "TwinViewXineramaInfoOrder" "DFP-0, CRT-0"

To find the id's of your monitors look at the /var/log/xorg.0.log file. I reversed the order of the screens using "TwinViewXineramaInfoOrder" and placed CRT-0 to the right of DFP-0 with "TwinViewOrientation".

To play a video file on either screen you specify the "-xineramascreen" parameter with "0" or "1". For example…

mplayer -aspect 16:9 -stop-xscreensaver -xineramascreen 0 video-file-1.avi
mplayer -aspect 16:9 -stop-xscreensaver -xineramascreen 1 video-file-1.avi


Creating GP2X video files with Mencoder

Jan 142007

undefinedHere is a simple script for converting video files for use on the GP2X, videos are scaled to 320×240 to save storage space. No error checking is included.

In a Linux console cut and paste the following code into a file and call it say gp2x-convert:

if [ -z "$1" ]; then
echo usage: $0 source_video_file gp2x_dest_file.avi
echo $INFILE
/usr/bin/mencoder “$INFILE” -o “$OUTFILE” -ovc xvid -xvidencopts bitrate=320 -vop scale=320:240 -oac mp3lame -lameopts abr:br=128

Make the script executable and then run it as shown in the following example:

chmod +x gp2x-convert

./gp2x-convert sourcefile.avi destfile.avi

I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.


Configuring the GP2X on Mandriva 2007

Jan 042007

undefinedMy new toy is the GP2X, a linux based handheld multimedia device. It’s an awesome little device. If you want to know more about the features of the GP2X click here.

Below I have detailed the steps I made to make life easier when using the GP2X with Mandriva Linux 2007.

The GP2X can act as a standard USB storage device, allowing you to drag and drop files just like you do with a hard disk. This is good but using the USB Network feature of the GP2X is much more useful and once setup a lot easier to use. As an added bonus you can still use the GP2X while it is connected and transferring files.

Before beginning see this article at and follow the instructions under “Troubleshooting”. This will make your GP2X compatible with the 2.6 Kernel of Mandriva 2007. (This step may not be necessary, but until I did this the network would lock up).

To setup the GP2X end go into “Setting” from the main menu, then select “System”, make sure “Menu Extension” is on. Scroll down to “USB Network”. Make these settings…

USB Network: Always On


FTP,Telnet Server: Always On

Samba Server: Always On

Press “B” to save the settings, there may be a slight pause while the network starts.

To setup the PC end, first create a file called “gp2x.rules” in /etc/udev/rules.d containing the following lines

# Experimental rules to automatically bring up usb0 when the GP2X is connected.
ATTRS{configuration}==”CDC Ethernet”,ATTRS{product}==”RNDIS/Ethernet Gadget”,RUN+=”/usr/bin/gp2x”

Now create a file in /usr/bin called gp2x and make it executable. (ie chmod +x /usr/bin/gp2x), with these contents:

echo $ACTION-`date` >> /tmp/gp2x-status
if [ "$ACTION" = "add" ]
/sbin/ifconfig usb0

Now plug in and switch on your GP2X, if all goes well in a short while you should have a network interface called usb0, check this by issuing a /sbin/ifconfig command. Now to access your GP2X you can run “telnet″, login as root, default is no password.

You can also access the GP2X samba share by running konqueror using the address smb://gp2x or open up straight into the sd card using smb://gp2x/gp2x/mnt/sd.

I’ve added two icons to my desktop to make life easier. (Right click on the desktop and select New). The first icon is an “Link to application” called “GP2X Console” which runs “/usr/bin/konsole -T GP2X -e telnet -l root″, this automatically opens up a console and logs you in. The other icon is a “Link to URL” which is called “GP2X Network” and has a location of “smb://gp2x/gp2x/mnt/sd”.

Here are the icons I used for the links:

undefinedThis one for console. (Thanks to Paul for this icon, see,0,0,0,8,1960 )

undefinedand this one for network, which I modified from the above icon.


Hope this helps. Now if someone can show me how to automatically display and remove these icons on the desktop when the GP2X is plugged /unplugged that would be great. I would appreciate your feedback if you have comments, corrections or additions to this article, Thanks.



© ScribblyGum Technology 2017