Saturday, December 5, 2020

Raspberry Pi 400 Audio Issue Solved

Somehow, I expected the problem to be solved before the great XMAS sales. Well, in this case, it was just before, or in the country I live, too late.

I am posting this message on December 5, also known as Sinterklaas day. In The Netherlands, this is when kids get their gifts. Heiligabend (Dec.24) or Boxing day, don't mean anything over here in the Low Lands. So, what I am writing about was probably too late for the Dutch market.

Anyway, the Raspberry Pi Foundation published a new version of Raspberry Pi OS, in which they replaced ALSA with PulseAudio. PulseAudio works directly with Bluetooth, solving all the problems I complained about before.
On part, the complaining might have been on my own laziness too. I wrote about installing PulseAudio and that it would be working so so. In particular volume control from the desktop would not work. More on that later.

So, I did the typical apt update and apt full-upgrade. Indeed, now PulseAudio is running.

Without further thinking, I tried to use, just as a newby, the speaker icon in the panel to control the audio volume, without any luck. However, this is me, using a customize panel, so everything is locked in place from the previous of the OS. At closer inspection, the panel item I was using was still ALSA.
After removing the "Volume Control (ALSA/BT)" panel item and adding the "Volume Control (PulseAudio)" item, the problem was finally solved.

With the audio problem solved, I can highly recommend the Raspberry Pi 400 as a desktop PC replacement for non-gaming use.
By now, not only have a written some texts and programs on the RPi400, I also designed (CAD) a few parts and prepared (slize) those for 3D-printing, all with just the RPi400.
Not having used the GPIO yet, I can report the Arduino working perfectly with a RPi400. More on this in posts to come.

Thursday, November 26, 2020

HAIKU OS

Since my studies in the nineties, I was an admirer of BeOS, the BeBox and everything close to this sort of technology. I never could afford a multi-processor machine like the BeBox, so it was remaining a dream, until BeOS and BeBox suddenly disappeared from the scene. This was long before Linux was a thing. 

Beos, was resurrected by the company Yellowbites http://yellowbites.com/beos.html and never gained the success it might have deserved. 

Some fans (no me though) persisted and created a binary compatible clone of BeOS, called HAIKU.
I followed that project on and off, until the Beta1 release. This is when I decided to try HAIKU on hardware myself. When saying on hardware, I mean on hardware, not in a virtual machine.

In my yard of "no longer used, but too good to be scrapped" computers, I found an AMD C-Series APU board with 4GB. This boardd, with a 500GB HDD was the perfect candidate for an installation of HAIKU OS R1/Beta1.
I played with it for a while, and put it aside when other stuff came up. That was many months ago.

Today, I remembered the little box and got it running again. A presumable simple software update, which I expected to have happened over the many months, failed. Hmmmm, strange! What's going on? Oh, there is a Beta2 version available, which does not install with the SoftwareUpdater provided in the GUI. If only I had read this https://www.haiku-os.org/get-haiku/r1beta2/ before ;-)

Anyway, this is what I am presently doing/waiting to finish. The manual upgrade from Beta1 to Beta2. I liked Beta1 a lot, so my expectations are high for Beta2.

When I was playing with Beta1 before, I had plans to port the f2c Fortran to C converter to HAIKU. The sources are still in my home directory. The intent is still present. I might need to check if there is a newer version of f2c before I start the project.

This post was written using the HAIKU machine with the browser WebPositive, while the machine was upgrading from Beta1 to Beta2.

UPDATE:
The machine is not running HAIKU R1/Beta2.


Wednesday, November 25, 2020

Old Laptop with Raspberry Pi Desktop

Some months ago, I wrote about running FreeDOS on semi-old hardware. What do I mean by semi-old, for DOS, this hardware would have been hyper-modern, while the hardware would severely struggle running modern operation systems. In order to transfer data into the DOS partition of those old laptops and netbooks, I used a Linux Mint installation on a separate partition. The netbooks performed sufficiently satisfactory to leave those as is. However, the HP Compaq nx6110, which had the best hardware support under FreeDOS was just a pain to use with Linux Mint. 

When installing my Raspberry Pis, I noted that another OS was available for download from the Raspberry Pi Foundation, namely a PC/Mac hardware version of  their Debian GNU/Linux adaptation. Seen that on a RPi1B+ this OS run fine, I thought to give a try to install it alongside the FreeDOS partition. Before you try, this did not work... I could not boot later on.
As a test, I decided to overwrite the FreeDOS partition and install the Raspberry Pi Desktop on the entire disk. That in fact did work, i.e. it booted.

Nothing is straight forward in this world. Neither was the install of RPi Desktop. As I wrote, it booted, but, it did not show the menu-bar. Pretty useless at that stage. 
Solution: 
  • press <ctrl><alt>t which will open a terminal
  • now delete the directory ~/.config/lxpanel -- if you want to play it safe do this:
    • cd .config
    • rm -rf lxpanel
  • now manually start lxpanel in the background by typing: lxpanel &
  • you can now restart your computer by either typing reboot in the terminal of use the item in the menu
You might notice that the panel looks different to the rest of the GUI decorations. This can be changed by right-clicking on the panel and open the Panel Settings. In Panel Settings there is a tab Appearance. Click the radio-button which reads "System theme" . That should do the trick.

Another problem I ran into is hardware related to this particular laptop, namely the built-in broadcom b43 WiFi adapter. This is not generic to RPi Desktop, therefore, I wont further discuss the topic here.

RPi Desktop packaged in February 2020, hence, I highly recommend doing a full system update/upgrade.
Here is the easy way, in a terminal type
  • sudo apt-get update - this updates the package manager's database
  • sudo apt-get full-upgrade - this does what you believe it to do and may take a while
  • reboot
Personally, I like the package manager "synaptic". Install it by typing sudo apt-get install synaptic in a terminal window. Once synaptic is installed, open it, it should be in the Preferences menu, and hit the "Reload" button. This again refreshes the database content. Hit the "Mark all Upgrades" button and when it is done the "Apply" button. After a reboot, very likely a kernel was installed, you might find the Raspberry Pi Bookshelf and other goodies in the menues.

My experience with RPi Desktop OS on this old Celeron M laptop is pretty good. Even Chromium performs OK-ish. However, Chromium likes to do stuff in the background, which drains resources and gives a slightly sluggish experience at times. It is certainly advisable to install a more lightweight browser.
LibreOffice and Thonny work nicely. Samba (smb) works out of the box and is integrated in the file manager pcmanfm.  The openbox window manager leaves enough resources for other processes so that working in GUI applications results in acceptable performance. However, using a single CPU core laptop with just 512MB RAM, one should be cautious about the available resources, i.e. not too many heavy applications open at the time.
Classic work in terminal windows, such as writing code in a text editor, using make and running executable, is really no problem what so ever.

Earlier, years ago, I used this particular laptop with a pure Debian installation, which to the time was a good daily worker. Not much has changed, beyond the added tools.
So, if you are looking for an alternative OS for old hardware, give it a thought, maybe RPi Desktop is a solution for you.

Tuesday, November 24, 2020

Raspberry Pi 400 as Desktop Replacement

The audio issues from the former posts set aside, after some time using the RPi400 I came to the conclusion that is can be a pretty good desktop replacement for some regular stuff.

First to mention, I am not a gamer, not at all. My use of computers is somewhere between doing online social media things, regular office work and programming.

Besides watching videos, which requires audio, bringing us back to the audio issue, all other of my online needs are served fine by the RPi400.
On audio, I found a USB audio dongle which does play audio fine. However, the alsamixer is not able to control this particular device, therefore, the audio volume cannot be adjusted from the OS. My speaker has got a volume potentiometer, therefore, this is not a big deal in my daily life. However, it is not a solution for getting decent Bluetooth support.

The keyboard is good, although it appears to be a little bit smaller than others, which it is not. However, for unknown reasons, sometimes a keystroke is not recognized, in particular lighter keystrokes. From my experience, I create more typos than I used to with other keyboards. The solution that I found is stronger hammering on the keys, which however slow me down a little bit. Anyway, this is something I can live with and learn to adapt to.

The mouse is very lightweight. In the beginning that felt strange or even cheap. However, this strange feeling, in my view, came from the original mouse sensitivity settings in the GUI (openbox). In the "Preferences" menu, under "Keyboard and Mouse", I reduced the "Acceleration" from 5.0 to somewhere between 2.0 and 3.0. With less acceleration, the mouse feels a lot more comfortable to me. Also, the lack of weight does not play a role any longer, at least to my taste.

My RPi400 is configure to boot from USB. I am not repeating the method here, it can be found easily with any internet search engine. My choice was a SSD in a USB3 case. This gives a real speed boost over the SD-card as mass storage. Further, it allows for a lot more storage than on an SD-card.
Another advantage of an SSD is the safety of your data, due to the controller built in an SSD drive.
If I recommend any change or addition to a RPi400, this would be the one, get a USB3 SSD drive.

Networking works fine in principle. 
Nothing to report about Ethernet, it just works.
WiFi, however, suffers a little bit from the design of the RPi400. Don't get me wrong, it does work, however, there is an issue worth to mention. The SoC is cooled by a big aluminium plate, which sits under essentially the entirety of the keyboard. In terms is passive cooling, this is excellent! However, this also provides a decent shield for the 2.4 GHz and 5 GHz WiFi signals. My RPi3B+ in a plastic case, receives my WiFi access point a lot better than the RPi400 in the exact same place on my desk. Network throughput is therefore lower with the RPi400. In case I am running a system upgrade, I therefore have an Ethernet cable handy, so that in case, I can full bandwidth if needed.

I am a longtime Linux user. Therefore, I am used to a certain set of tools. Up to know, I was able to find everything I needed in the repositories for  Raspberry Pi OS (raspian buster).
For reasons of accessibility of RPi specific tools, such as Bookshelf and Mathematica, I opted for the 32-bit version of the OS. 
One of the first tools I installed in addition to the preinstalled programs was synaptic. This package manager give an easy overview of what is available and what is already installed. It makes it very easy to add applications you will find helpful in your daily computing routine.

While my RPi400 suffices my present needs, in the future it is very likely that it will be extended by means of a powered USB3 hub, e.g. for card-readers, webcams, DVD-RW drives, etc.

Saturday, November 14, 2020

Raspberry Pi 400 audio issues update

Bluetooth remains still unsolved beyond what I was writing earlier.

In order to get some sort of audio output, I changed back to the only HDMI monitor having speakers in my possession. After the removal of pulseaudio (apt remove pulseaudio), the monitor is perfectly fine to use for sound playback, however, the audio from those tiny speakers is pretty poor. I guess, it is what it is.

Hopefully the Raspberry Pi Foundation will solve the Bluetooth issues with the RPi400 as soon as possible.

Friday, November 13, 2020

Raspberry Pi 400 audio problems - USB not the solution

In my earlier post, I as speculating if the use of a USB sound card would be a possible solution to the audio problems of the Raspberry Pi 400.
Well, it is not!
The audio was playing, however, at a terrible quality, not worth further talking about.

While the RPi400 was never meant to be used in my amateur radio setting, it now shows clearly to not be suitable for such use at all. The only thing still untested would be SDR devices such as the SDR-Play RSP1A.
Seen that a simple audio dongle does not work well, I have serious doubts about any of the SDRs being better supported,

If the Raspberry Pi Foundation is reading, please consider adding an AV jack to a future version of the RPi400. The form-factor of the device is excellent, having it performing similar to a RPi3B+ in respect to audio would make this device usable for not just the ham radio community but also so many more folks looking for some audio abilities of a device.

Raspberry Pi 400 (audio issues)

So, the RPi400 came in. First of all, is it worth the money? Yes it is. The device itself has a good, i.e. reasonable, weight to it, thanks to the internal heat-sink. The keys feel very good and typing is on those is a pleasure. The mouse, meeeeh, well, feels a bit cheap, works well though. In my view, the cheap feel of the mouse comes from its lack of weight. Reducing the mouse acceleration to 3 already helped a lot. I might be temped to open the mouse up and add some weight to it, e.g. by gluing steel nuts to the inside of the case.
I love the size of the device, just perfect. Have a look at my before (Raspberry Pi 3B+) and after setup.

The old and the new

The photographs show my old RPi3B+ setup with a 3.5" external mechanical 320GB USB2 HDD and the RPi400 with a 128GB Kingston SSD in a USB3 enclosure.

The RPi400, having USB3 ports, can benefit from the SSD in a USB3 enclosure. Further, the RPi400 can boot from USB devices. Therefore, the speed of the combination is really close to a decent desktop PC. 

Now, I am appear to be full of praise for the new device. However, beyond the disappointment with the mouse, there is something else which is close to being a deal breaker, at least when running Raspberry Pi OS. That deal breaker being the difficulties of connecting audio output devices, aka speakers.
The RPi400 does not have an analog AV output, which all the other Raspberry Pis have. Hence, there is not way of connecting a wired audio connection, e.g. active speakers, to the RPi400. Lets forget about HDMI for a minute... Well, no problem, you may think, the RPi400 got Bluetooth... RIGHT! Yes, it got Bluetooth, however, the implementation in Raspberry Pi OS does not connect to BT audio sinks as easily.
It took me the better part of the evening, despite the posts about the issue I found on divers fora, to get a BT speaker connected. And even then, the result is less than perfect. My way is sufficiently satisfying to me, however, this might not be the case for someone expecting an OOB experience.

Here is what I had to do to get to the point of semi-happiness:
  1. in a terminal type: sudo apt install pulseaudio-bluetooth-module
  2. add "Volume Control" to the TaskBar, next to "Volume Control (ALSA/BT)" 
Item 1 will add all the necessary programs and drivers to the system.
Item 2 will give you control over the volume of the audio played out. Somehow, the ALSA/BT panel item does no longer function with BT devices, however, it is necessary to select a BT device as an audio sink. Controlling the volume itself is now done with the 'other' volume control icon, but not in a way that is desirable... Right click on the icon and " Launch Mixer". This will open a terminal with alsamixer. While this works, perfect it is not.

A possible solution could be using a different OS. However, this comes with some drawbacks itself. Raspberry Pi OS is optimized for the hardware and comes with some very interesting software packages, e.g. Mathematica or the RPi Bookshelf.

Another solution would be to add a USB sound card to the mix. However, the RPi400 only having 3 available USB ports, of which one might be used for the mouse and another one for the USB-boot-device, there isn't a lot of wiggle room, unless adding a USB-hub. 

In the near future, I will have a look at other operation systems on the RPi400. One of my present favorites might be Ubuntu Mate 20.10.


Wednesday, November 11, 2020

Raspberry Pi 3B+ USB Boot

Earlier, I describe the use of BerryBoot with an external USB HDD with a RPi (1) B+. To be honest, this was a terrible user experience. While everything worked, this setup was tantalisingly slow. I mean really really slow. 
My assumption is that the USB2 implementation of the RPi1B+ does not reach USB2 speeds, not even close. Presumably the USB ports a run by the CPU, which in itself is relatively low power already. Consequently, I abandoned the idea of running the RPi1B+ from a USB drive.

As an experiment, I used the exact same external USB-HDD and microSD-card with my RPi3B+. What a difference! This setup really resembles a usable desktop computer. 
In my experience, the Raspberry Pi 3 B+ appears to be able to run the USB2 ports at USB2 speeds.
While booting and running of the microSD-card appears to be a little bit more snappy, the combo of BerryBoot and the externally powered 3.5" HDD on USB2 delivers an acceptable user experience.

The obvious advantage of this particular install is the amount of storage available, in my case more than 300GB.  The amount is only dependent on the HDD in the enclosure.


Monday, November 9, 2020

Raspberry Pi OS on USB

Lately, for various reasons, I got into using Raspberry Pis, in particular in combination with the GPIO.
What puts me off by a bit is the fact that the regular RPis used (micro) SD cards. While reading from an SD card might not be that bad, but writing to it, over and over again, will destroy over a short period of time. Thereby destroying the data you stored on it.

For my projects, therefore, another solution had to be found.

In this series of posts, I will document my experiences using various methods and devices to avoid the wear and tear of an SD card.

This first episode reflects on using BerryBoot to boot from and load the OS from USB connected devices.

Using and installing BerryBoot is very simple. Download the archive provided in the above mention link. Make sure you picked the file that fits your Raspberry Pi. 
During writing this article, it appears that the BerryBoot image now changed to a single archive for all variants of the RPi. I have not tested this, since I just a few hours prior to the writing of this post, downloaded the archive for Pi0 to Pi3+ boards.
Anyway, I stick with what I have and what worked for me earlier.

In my present test, I am using a Raspberry Pi 1 B+ with a 2GB micro-SD card as a boot device and a USB-2 HDD enclosure with a 320GB 3.5" hard-disk. The enclosure came with a 2TB disk, which is used in something else by now.
Further, the enclosure is powered externally by a 12V wall-ward. This, of course, is important, since a Raspberry Pi would never be able to provide the power for any HDD.

Following the procedure as set out on the BerryBoot page, an OS will be written to the USB attached device. I opted for a full install of Raspberry Pi OS, as it is presently called.
After having booted "into" the HDD, the experience is certainly less snappy, compared to running the OS from the SD card. However, the mere difference is storage space should put up some questions: 8GB SD card vs. 320GB HDD.
Initially, no swap space was created. So, I decided for creating a swap-file on the root directory of the hard-drive. That did not work. It appears that under BerryBoot, using a swap file is impossible.

A solution to the missing swap-file is to install zram-tools, which will enable a virtual swap into compressed memory.

In following posts, I will discuss various other options for booting a Raspberry Pi from USB devices.





Wednesday, July 15, 2020

Microsoft Fortran quirks

F0RTRAN is the one language closest to me, apparently. Hence, my attention to get compilers going.
In a previous post, I covered how to install Watcom F0RTRAN on FreeDOS. Eventually, this might be my compiler of choice anyway.

However, this post is dedicated to Microsoft Fortran and the bad memories about it returning.
Fist of all, there are some abandoned DOS versions of the compiler on the internet. I wont provide any links, since I am not aware of Microsoft officially abandoning this compiler.

I tested the following version on my genuine FreeDOS netbook
MS Fortran 2.0
MS Fortran 3.2
MS Fortran 5.0

First of all, have a look at this F0RTRAN77 code:
      I=3
      WRITE(6,100) I
 100  FORMAT (I3.3)
This should be pretty straight forward, in terms of F0RTRAN77, you might think... not according to Microsoft though.
This code should produce an output like this:
003

All compilers had the same fault, which drive me crazy 30 years ago.
If you code:
      I=3
      WRITE(6,100) I
 100  FORMAT (I3.3)
You would expect the compiler to print on the STDOUT an integer of 3 ciphers filled with 0. Something like:
003
Microsoft thinks differently!

MS Fortran 2.0 does not recognize this format at all. While the compiler in passes 1 and 2 wont create any errors, nor will the linker, the executable wont run.
You need to code:
      I=3
      WRITE(6,100) I
 100  FORMAT (1X,I3)
which will create:
__3

coding
      I=3
      WRITE(6,100) I
 100  FORMAT (I3)
will create:
_3

In fact,  that is not what we ordered!

MS Fortran 3.2 will compile and execute the code,
      I=3
      WRITE(6,100) I
 100  FORMAT (I3.3)
The above code will not produce any reasonable output. This drove me nuts, a few decades ago!
This is what Microsoft thinks the output should look like, when compiling with MS Fortran 5.0:
03
I am not joking. decades ago, it took me days to understand that Microsoft starts counting at 0, while the rest of the F0RTRAN world uses 1 for the first character in a line.
So, contrary to all other F0RTRAN compilers, for MS, one needs to code
      I=3
      WRITE(6,100) I
 100  FORMAT (1X,I3.3)
in order to obtain
003

Of course, this makes no sense at all, and it did not many years ago!


MS Fortran 2.0 does not accept this type of F0RTRAN77 FORMAT.
MS Fortran 3.2 does accept it... and so does MS Fortran 5.0.





The old router to the rescue

This is an interesting one, in my mind.
Some years ago, many actually, I got a router of the brand Sweex. This brand is/was lower end gear for the Dutch market. The router did OK-ish, however, I was not so convinced, so, at some stage, a got another one. No, I wont mention the brand here, since this was the real disappointment.
Anyway, the Sweex LW310V2 did serve a few years, and ended up in storage for a few years.
Finally, lately, I remembered that there was something concerning a "bridge" in this very inexpensive router. I checked my expensive (not to be named) present device, and there was no bridge option. Bummer! Some further giveaway, the company of said more expensive device recently removed the feature of a free dynamic DNS.
So, what was keeping me using the device? Nothing!
Back to the Sweex. It turned out that, while there is a bridge mode present, this is not what I need/ The big deal on this WiFi router is that has a WAN medium option which allows for wireless LAN.
Hence, I had to set my cable modem to allow bridge mode on WiFi and the Sweex WLAN router to wireless WAN mode. Both had to be set on the same channel And there we go.
The Sweex now offers its own WiFi and Ethernet LAN bridged from my cable modem.
Yep, that's what we want.
My old Sweex LW310V2 is back in service, after a break of many years. Glad I did not through it in the garbage, which I intended before.


Monday, May 25, 2020

FreeDOS I16GCC vs WATCOM-C

This post, referring to two very different C-compilers, feels a little unfair. However, we are not comparing a commercial product with a hobbyist product eihter.

On my low powered ACER Aspire ONE I compiled the program listed below with both compilers...
No, I am not writing about the result, I want to encourage you to find out yourself which compiler will suite your needs.

Here is the code of my test program:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
  unsigned long int i,h[20];
  int rnd;
  srand(43558);
  for (i=0;h[i]=0,i<19;i++);
  for (i=0; i<10000000; i++){
    rnd=rand()%20;
    h[rnd]++;
    if(i%10000==0)printf(".");
  }
  printf("\n");
  for(i=0;printf("count of [%02ld] is %ld\n",i,h[i]),i<19;i++);
  return 0;
}

As you see, this is very simple code...
Test the compilers yourself, and you will see which one wins...


Sunday, May 17, 2020

Open Source FORTRAN for DOS

As a physicist of trade, I mainly worked with FORTRAN during my science days. One of the most important factors for me in selecting an OS is therefore the availability of a FORTRAN compiler.
With DOS, or FreeDOS, we got lucky. The Waterloo Compilers are now available as Open Source under the Open Watcom Project.
On the download page, you will find that a C/C++ compiler, an ASSEMBLER and a FORTRAN compiler are now available as open source.
The FreeDOS project included the C/C++ compiler in the distribution. I figure, the ASSEMBLE is included too. However, the FORTRAN compiler is not. I got in contact with Jim Hall asking him to include Watcom FORTRAN in the next distribution of FreeDOS.
In the meanwhile, I installed Watcom FORTRAN to the same tree as Watcom C/C++ in FreeDOS.

Here is how to do it:
Download open-watcom-f77-dos-1.9.exe as provided by the Open Watcom webpage.
Run the installer and select "\DEVEL\OW\" as install directory. This will install the FORTRAN compiler into the same environment as the C/C++ compiler provided in the FreeDOS distribution.

To use the compiler, first run the BATCH-scrip "\DEVEL\OW\OWSETENC.BAT", which will set the correct PATH and LIBRARY variables. This script is part of the FreeDOS installation.
In order to compile a simple FORTRAN program, call "wfl".

When I was taught FORTRAN in University, a system called WATFOR-77 was used in the classroom. This was an integrated system having an editor and a compiler. Same origin as Open Watcom, however, WATFOR-77 is not available as open source by today. If the authors are reading, it would be great if you would turn the DOS version of WATFOR-77 including the editor into open source!

Saturday, May 16, 2020

FreeDOS - Linux-MINT dual boot

Transferring data from FreeDOS to the cloud is something I need, but not able to achieve over WiFi, mind you, my FreeDOS computer is a netbook.
So, I believe the easiest way would be to install a Linux distribution alongside FreeDOS. The 30GB HDD offers enough space for doing so.
With a Linux on the machine, it will be easy to boot into Linux when data-transfer is needed. Reading and writing from a DOS partition is something that Linux is able to do since a very long time.

I went for Linux MINT Tara i386, just because I had a USB thumb-drive with that particular distribution readily in my drawer.

Concerning the installation, nothing special to report. I decided to use 14GB for Linux and left 16GB for FreeDOS, plenty for both operation systems.

After installation, FreeDOS did not boot from GRUB. It turns out that one needs to boot FreeDOS from a thumb-drive and re-write the system files using the "sys" command.

What FreeDOS is concerned, that's it.

The native screen resolution of netbooks can be a low for your GUI on Linux.
However, resolution scaling works beautifully, should you need more real-estate on the screen.
Here are two tiny scripts I use to toggle scaling:

$ cat nb_scale1
#!/bin/bash
xrandr --output LVDS1 --scale 1x1 --panning 1024x600
 

$ cat nb_scale1_5
#!/bin/bash
xrandr --output LVDS1 --scale 1.5x1.5 --panning 1536x900


Enjoy toying with DOS and Linux on a small netbook.
 

Tuesday, May 12, 2020

As-Easy-As spreadsheet legally for free

One of the most popular office tools are certainly spreadsheet calculators.
Lotus 1-2-3 was certainly one of the most popular programs. Some versions of 1-2-3 are apparently available as abandonware, maybe I will some of those later.
There were, however, alternatives programs to Lotus 1-2-3. One of the shareware options was As-Easy-As.

The owner of As-Easy-As, TRIUS Inc., decided to release the DOS version of their spreadsheet by providing the necessary codes.
Here is a link to TRIUS Inc's very own forum post on their forum page, providing downloads for the program and the user manual, as well as license codes for the DOS version of As-Easy-As and the respective documentation for free!

Please note that the codes for the program and the manual are different.


Monday, May 11, 2020

MS WORD for DOS

Having a word processor on your FreeDOS machine is certainly a very important issue. Former DOS users might still have a box of floppies containing once purchased programs.

In case you are not so lucky, or you could not be bothered keeping obsolete stuff, sometimes on get lucky, very lucky indeed.

Searching the internet about ways to legally obtain old DOS programs, here is a gem: MS WORD directly from Microsoft:
http://download.microsoft.com/download/word97win/Wd55_be/97/WIN98/EN-US/Wd55_ben.exe

The file is a PKSFX archive which self-extracts to the active directory. It creates a bunch of EX$, CS$, PR$ and so forth files. Some of the printer driver files appear to have long names, since I am not running DOSLFN.COM, I got a few warnings.

SETUP.EXE lets you install Microsoft Word 5.5A for DOS on your HDD in a directory of your liking. Nothing to report about that process, other than to manually edit the PATH settings in FDAUTO.BAT yourself, since the installer modifies AUTOEXEC.BAT, which is not relevant in FreeDOS.

Text and VGA modes work perfectly fine. Playing with both, I settled on using the graphics mode with 30 lines and 80 columns. 34 lines looked still OK on the screen, so maybe I will switch to that later. 43 lines looks pretty painful and 60 lines, while still working fine, feels pretty squeezed and unnatural.

Concerning printing, I mentioned the problem with the long file names before. I no longer have any of those printers. In order to have something for WORD to think about concerning fonts, I chose the POSTSCRIPT driver.
However, printing is not my main objective using the netbook on FreeDOS. I will create files, e.g. DOC, which will then be transferred to the cloud and used as such. Another option would be to write Postscript files and convert those in PDF.



Sunday, May 10, 2020

Running FreeDOS in QEMU

As indicated before, I also have a Debian 8 latop, which is perfectly fine for my daily tasks, and hence, I do not have the desire to discard the Linux running on it, in particular since everything, including WLAN is running perfectly on this hardware.
This latop, a HP/Compaq nx6110, was also able to run the FreeDOS live-CD.

Anyway, I installed FreeDOS on a virtual drive on this particular computer. Again, the hardware, i.e. keyboard, is just perfect for my regular use under Linux.

When installing the FreeDOS image, I encountered some minor problems getting the networking to up and running. Finally, I ended up with a script as follows:

#!/bin/bash
qemu-system-i386 -m 32M -drive file=drivec.img,media=disk,format=raw -net nic,model=pcnet -net user


With this script, I am able to browse the internet using Lynx. I am pretty sure that I will be able to use other network services too.

Saturday, May 9, 2020

Hardware to run FreeDOS

In my earlier post, I stated that I intended to run FreeDOS directly on bare hardware, meaning, without virtualization.

Using the FreeDOS 1.3 Live CD, I tried a different systems at my disposal. Most modern ones failed, one way or the other.

An IBM 380Z laptop booted the CD fine, however, only the center of the screen was used. The system would work, however, the experience would be disappointing since the real estate of the screen is severely underused. The mouse-nipple, or however the red thing in the middle of the keyboard is called, worked find under FreeDOS.

My HP/Compaq nx6110 booted the live CD fine, screen fully used. The touchpad did what it was supposed to do, right away. This could be the perfect candidate for running FreeDOS on bare silicon. However, this laptop is my goto-PC for Debian/LINUX. So, for now. FreeDOS will live in qemu on this one.

Actually, the first hardware I tried FreeDOS on was one of my Acer ASPIRE ONE 110 netbooks. One that I had given an HDD years ago. Here is a link to a post on my RF related blog, concerning the HDD in the Aspire ONE netbook. To the time, I had not thought about an IT related blog, so, it was called "off-topic", seen the radio-frequency electronics content of my other blog.

Here is the netbook during the install of OpenWatcom FORTRAN on FreeDOS.
Acer ASPIRE ONE 110
The install files are on the USB thumb-drive on the right hand side of the netbook.
While the device is equipped with Ethernet, I had not set up or tested networking by the time of writing this post.
The touchpad on the Acer does not work with FreeDOS yet. I tried various options with the USB-mouse-driver, all of the attempts ended in crashes.

As a pure DOS computer, the netbook does a great job.
Several programming languages are available, through the FreeDOS-CD and also by installation using the USB thumb-drive and a USB floppy drive.
My old DOS version of Maple V runs just fine and so does a MathCAD student edition I happen to own.

Unfortunately, the Aspire ONE does is not fully supported in FreeDOS what APM is concerned. However, dictating processor speed does work fine.
I created the following aliases in fdauto.bat

alias slow=fdapm speed1
alias fast=fdapm speed8

Those commands set the processor speed to 1/8 and 8/8 (full) processor speed. In the case of the Aspire ONE, the native processor speed is 1.6GHz. Running the netbook at 1/8th of that, will still deliver a very decent 200MHz. This is plenty of fast for a DOS computer.

In fact, when editing code, I set my netbook to run at lowest speed. Only when I compile and run my programs, I will ramp the CPU up to max.

In conclusion, the Acer ASPIRE ONE 110 is the perfect DOS machine, I never was able to dream about.
In my nest post, I will compare the ASPIRE ONE to machines of that past, which I still own today.


Thursday, May 7, 2020

Taking every day computing a step back

Due to the present situation, a lot of my own professional use of computer is vastly reduced. Presently, there is not need and apparently no funds left for my clients to order polished illustrated reports nicely presented in PDF files.
So, that gives me the opportunity to reflect on how I did my personal computing in the eighties and nineties. At that time, computer mice were around, however, nobody really knew what to do with them, even CAD was done with console input. Many of the structures and devices designed that way are still standing and/or in operation.

Back in the day, I used an 8088 with two 5in floppy drives.
Later, I was able to buy a no-name 286/287 based PC with a 20MB hard-drive. OS of the time was MS-DOS, I believe it was version 4.01, not sure about that.
Remember those time? You switched the PC on and seconds later, you could start with your work.

Latest advances in the FreeDOS project got me back to those times. Jim Hall started the project in 1994 and still keeps improving this opensource MS-DOS compatible OS.
Some hardware support of modern hardware is present already.
While FreeDOS can run in a virtual machine, I am personally more interested in running a native DOS PC.

Why DOS, you might ask yourself. One reason I mentioned above already. But, there are additional reasons such as

  • easy administration and programming
  • tons of old freeware and shareware available
  • abandonware
  • some commercial software being turned into freeware, e.g. OpenWatcom and Borland compilers
  • one or the other software one has bought back in the day
In the next post, I will write about my first steps using mondern-ish hardware with FreeDOS.