Thefoggiest.dev

“Why yes, I do have the foggiest”

Using MSX Word processors in 2024

May 06, 2024

I was asking myself what would be the most niche and possibly useless post I could write, and reading Rubenerd’s Using an old computer for new writing, I came up with the idea to compare various MSX word processors. But when I started trying them by writing about them using them, I noticed these word processors vary from sloppy coded and well-meant but misguided to pragmatically thought-through. Trying to learn how to use them is nothing short of an adventure. Perhaps it’s fitting, then, to include an attempt at a word processor by a game publisher.

During the eighties of the last century, MSX computers were increasingly marketed as game machines, but since they all came with a passable keyboard, they were as capable of some word processing as any other computer not fitted with an IBM model M keyboard.

The eighties were the last decade of the dedicated word processor, a machine with a keyboard that was just a word processor and nothing else. Because of the way corporate offices worked in those times, these machines were primarily used by women, and in his autobiography, “Almost Perfect“, W.E. Peterson describes how he and his team relentlessly interviewed them to create the perfect word processor that in the end became WordPerfect. Wang Laboratories was the market leader before software word processing took over, but both Toshiba and Yamaha have created non-Japanese MSX based word-processing machines, such as the Yamaha STC-01 that had communication firmware as well, an indispensable feature in an office environment.

Philips NMS 8250 MSX2 desktop computer

A Philips NMS 8250

It would be nice to see if I could emulate one of these machines, since obtaining the hardware is out of the question. For the rest, I will write about TED, which I used extensively, EASE Word-Pro, the only WYSIWYG word-processor for MSX, the MSX port of Tasword Two and a word-processor called Aackotext, by Dutch video game developer and publisher Aackosoft.

Text, when saved as 8-bit ASCII characters, takes about two Kilobytes per page, so half a Megabyte is plenty for a complete novel. This is why my father, who was a teacher, could use Tasword Two on his 48K ZX Spectrum+ professionally at that time. Of course, he didn’t need to transfer his documents to other machines. Students only worked by reading from and writing on paper, and my father had a printer. Even as late as 1995, I was using my Philips NMS 8250 MSX2 to write essays for my history study, using TED, a word processor that was small, fast and especially good at finding every available byte of RAM in my machine. Of course, there was no parsing of bibtex files and I had to type all my references by hand, but printed on my Philips VW0030 printer, I didn’t need WordPerfect, or Word for that matter, to hand in my work.

Philips VW0030 dot matrix printer

A Philips VW0030 dot matrix printer, the type I used to use to hand in my essays.

After my first year, however, we started handing in work by email, so I bought a second hand PC. There was no networking, let alone email clients for MSX yet. But until then, I used TED.

So in theory, I could write texts like this post on my MSX, using a good enough word processor application. Given the total focus one gets with a non-multitasking machine, this could even be a productive idea. The MSX could save the text to a flash medium or even upload it to FTP over Ethernet, after which I could copy that file to this site. Said word processor would have to be reasonably fast, not get in the way with a badly thought out UI or difficult to remember function keys, and, of course, allow for lengthy texts. Nice-to-haves would be search and replace, word counting, spell checking and styling.

This will be fun.


Privacy policy

May 05, 2024

Looking at my logs today, I saw that someone had requested /privacy-policy/ and was disappointed by my server. There's a good reason for that. When you open your browser's developer console (F12 in Firefox) and navigate to the Storage tab, you see a small clickable list with entries like Cookies, Session Storage and such. When you click them, you will see my domain name. If you see any data there, delete it. It's there because you visited this site when it was still a WordPress blog. WordPress places all kind of data in your browser that it needs to function.

This site is a static site, which means it doesn't do that. The deal is simple: you request a file, if I have it, I send it to you. If it wants to download other stuff from my site, it's a style sheet and some pictures. All very inert stuff. No code will execute in your browser and nothing needs to store anything in the form of cookies or session data on your computer that will be there, taking up space and running the risk of being exposed to evil other sites.

And since I do not run or store those things, there is nothing I receive from you (except for the original request), and I therefore can't store anything that belongs to you. That is why I don't need a privacy policy. Or perhaps, that is my privacy policy. I don't want or need anything from you, except for you to enjoy what I post.

Two other things I've taken care of, based on what I noticed in my logs:

  • Numbers in dates from permalinks smaller than 10 now have a 0 prepended, but original links still work
  • Trailing slashes in request paths are allowed but ignored

If you want to respond or contact me, send an email to "hello" at this domain. I welcome feedback.


On migration, freedom and wokeism: is the right all that's left?

May 02, 2024

Throughout most of the twentieth century, season bound cross-border immigration by people looking for work was considered normal in Europe. People, usually men, would migrate, largely unhindered, into countries like the Netherlands who needed a greater working population for a few months. When the work was done, they would migrate back, certain that they could return the next season when they were needed again. In market economy theory, migration in this form is considered healthy, since it allows for a flexible labour market where companies can easily expand their workforce temporarily when needed.

In the seventies, socialist Dutch prime minister Joop den Uyl vocally regarded this phenomenon as an unequal form of workplace competition, since migrant workers would usually be paid lower wages than native Dutch workers. This was largely a populist stance, since native workers mostly had protected permanent positions and would normally apply for different, higher skilled, jobs. These native workers would also more indirectly benefit from their temporary colleagues because it allowed their employers to service the market in a flexible way without requiring that flexibility from their permanent workforce. Den Uyls policies to close borders for these workers also didn't have the intended effect. Knowing that once they migrated back, they wouldn't be able to return, most immigrant workers opted to remain in the Netherlands.

That is was the left, who originally took that position, does not surprise me. Socialist politicians are traditionally concerned with the fate of the worker. What does surprise me, is that it is the right, traditionally more indirectly concerned with the fate of workers, through the growth of companies and the unhindered functioning of the market economy, have taken over this position. This was nicely illustrated when Dutch chip machine maker and national pride ASML, heavily dependent on high skilled migrant workers, publicly considered moving to France after the radical right won the Dutch elections, last November.

Right-wing parties in the Netherlands tend to use the word freedom a lot. Current prime minister Mark Rutte's party Volkspartij voor Vrijheid en Democratie (People's party for Freedom and Democracy, VVD) is an example, as is incumbent prime minister Geert Wilder's party Partij voor de Vrijheid (Party for Freedom, PVV). While the PVV's vision of freedom has never been sufficiently explained, the VVD's idea of freedom refers to concepts from market liberties. This is why liberal in the Dutch political context refers to the right, not the left.

Ignoring this narrow definition of freedom, right-wing politicians usually maintain that freedom, individualism and personal self-determination are in good hands with them. In this regard, to find wokeness to be a left wing thing is at least as odd as finding measures to protect workers against immigrants at the right. Wokeness, which Wikipedia defines as a broader awareness of social inequalities such as racial injustice, sexism, and denial of LGBT rights, can be regarded as the ultimate expression of personal freedom.

The left is traditionally considered more collectively oriented. Think for example of labour unions, which exist to counter the power of capitalism by standing up against it collectively. One-person strikes are normally not successful. While traditional socialist parties, however, appear to have trouble retaining voters, the progressive left has reoriented itself to views such as wokeness, internationalism and nature and climate preservation, which are of less interest to people trying to make monthly ends meet. Still, this shift was to be expected. When at the beginning of the seventies, the Keynesian economy had successfully elevated the masses to middle-class citizenry, the left needed a new direction. Post-materialism formed the presumed outcome, and in such an economy this would not have been surprising.

The economic crises at the start of the eighties and the subsequent reorienting of the right towards neoliberal ideas, however, appeared to have put an abrupt stop to this. The crisis left countless young workers unemployed, and right-wing politicians catered to their chagrin. The ultimate fall of Eastern European communism had post-materialism replaced with a reinvigorated consumerism, and the left couldn't help but shift right. What was left of the left, was left with wokeness and nature preservation, which never delivered them the votes of the masses. Meanwhile, the current coalition forming process, at the precise moment that I'm writing this, seems to be talking about maximum speeds on motorways. To drive fast is to be free, I suppose.

Dutch people say they are living in a right-wing country. Based on what I observe here, they're really not. They want their government to look out for them and protect them against dangers. When media parrot politicians telling voters migrants or wokeness are dangerous, that's what they believe and what they want them to protect them from. When the four parties, currently negotiating about what to base their government on, finally start ruling, they will have to find a way to protect Dutch citizens from what really never was a danger to begin with.


My Philips VG-8235

April 29, 2024

The MSX2 standard (1985) differed from the original MSX standard (1983) on just a few points. MSX2 computers had at minimum of 64 kB RAM and 48 kB ROM with an updated BIOS and MSX-BASIC, a new backwards compatible video chip with at least 64 kB VRAM and a real-time clock. The CPU was still the 8-bits Zilog Z80 clocked at 3.5 MHz and the sound chip was still the three channel General Instrument AY-3-8910. Considering that in June of that year, Atari presented its ST line and in July that same year, Commodore presented its Amiga 1000 computer, one would have expected at least a 16-bit CPU, smooth scrolling in all directions and a sound chip with sample RAM.

Luckily, many MSX2 manufacturers, like Philips, produced computers with more than the minimum. 128 kB RAM and 128 kB VRAM was not uncommon, and the VG-8235, Philips’ second MSX2 computer, had a distinct Amiga/Atari ST form factor, with an internal disk drive, an RGB output port and two joystick ports on its right side. Combined with its 256 colours and multicolour sprites, it was a far cry from being an Amiga, but it really was a step-up from an already owned MSX1 computer. The VG-8235’s manual even calls the VG-8235 “the most versatile and most easy-to-use home computer existing today.” Quite a claim, considering it was launched in 1986, well after the Amiga 1000 and the Atari ST.

Philips VG8235 MSX2 computer, top side

My VG-8235. The wear and tear is the result of an ill-prepared cleaning project by me.

But it wasn’t only the computer manufacturers who had little patience with the meagre update of the MSX standard. Konami, who had established a name for themselves with titles such as Knightmare, The Maze of Galious, Penguin Adventure, the Nemesis (Gradius) series and its spin-off Salamander, upped the game so to speak by adding a sound chip in their game cartridges with a much more grim sound. One of those games was Salamander, of which I had a second hand cartridge. I had a switch installed in it that allowed me to skip the game during boot so that Konami ROMs, loaded from disk, would be able to use its sound chip.

I bought my VG-8235 at an MSX fair in Tilburg in the south of the Netherlands, around 2000, plus or minus 2 years, I think. Anyway, this was the time I already used PCs for more serious work, but I was still heavily invested in my MSX games library. To collect the money for this machine, I had to sell my beloved NMS-8250. The reason I wanted this machine that badly, was that it had received a few upgrades. Its RAM had been expanded from 128 kB to 1 MB, a switch on the back would accelerate its CPU from 3,5 MHz tot 7 MHz, its single-density 360 kB disk drive had been upgraded to a double-density 720 kB drive and two RCA output ports, one for audio and one for video, had been added as well.

Philips VG8235 MSX2 computer, back side

The picture above shows the backside of the VG-8235 with from left to right: the second cartridge port, the newly added CPU speed switch, an RF output port above the cassette tape interface, a Centronics printer port, a SCART output port left of a dedicated interface for a second disk drive, the two added RCA ports, above those an RGB output port. To the right of that is a power switch and an AC in. Including the RF output, the machine has four distinct ways to connect screens.

Philips VG8235 MSX2 computer, right side

The right side of the VG-8235 shows the new beige but heavily discoloured disk drive above the two standard Atari joystick ports. Below the keyboard, you can see a tilt adjusting mechanism and room for it to be put more horizontally. Left and right of the keyboard were two slider buttons that allowed the user to adjust the tilt. This was a very considerate thing for time. Ergonomics almost always took a back seat behind design and production cost in home computers.

Philips VG8235 MSX2 computer

My Philips VG-8235 playing Konami’s Space Manbow (1989) using the sound chip in a modified Salamander cartridge

The VG-8235 originally came with two disks, one containing MSX-DOS1 and the other with Philips Home Office, an office suite. Mine didn’t, but I didn’t mind. I bought this machine to play games. These games were stored on a PC IDE hard drive. Sunrise, an MSX hardware manufacturer at the time, had produced IDE cartridges that contained an MSX-DOS2 ROM, which was what I used to connect that drive to the VG-8235. If you look closely at the picture above, you can see the hard drive sitting on to of a Philips NMS 1510 data recorder and its flat ribbon cable disappearing behind the VG-8235 right where its second cartridge slot is. That Molex connector that is feeding the hard drive is one that I ripped from an old PC power supply. I’m unsure why the mouse is in the picture.

Visible in the top right of the picture is a Philips NMS 1205 Music Module, a sound cartridge with MIDI IN/OUT/THRU connectors, RCA audio output, an internal microphone and a Yamaha Y8950 sound chip with 9 channels of FM synthesis and a 16Khz ADPCM channel with 32kB Sample RAM. Still no Amiga sound, but certainly a step in the right direction.

The original period, in which four generations of MSX computers were created and sold, ended in the first half of the nineties. The last professional MSX magazine in my country lasted until 1997, a year after msx.org was started. Around that time, I expected the platform to silently die with no more games, and certainly no more hardware, but I was content with the collection I had.

I was wrong.


Counting visitors without WP Statistics

April 28, 2024

This blog has a few, mostly self-serving purposes. Still, it's nice to know if anybody is, in fact, reading what I'm writing, or, that the only thing this blog is used for is trying to break into my server. The line blow, for instance, looks like someone hasn't been paying attention to my writing, while still trying to get somewhere they're not supposed to be:

root@server ~# cat /path/to/access.log | grep "wp-login" | wc
 20337  436804 4026846i

Those are the number of times someone has requested the login page of my WordPress site. That's a lot more than the number of times someone requested the post announcing my new homebrew blogging engine:

root@server ~# cat /path/to/access.log | grep "homebrew" | wc
    135    2572   30118

Quick explainer: in unix (so also Linux) the |-symbol passes the output of the command to its left on to the command to its right. cat gets the content of the log, grep filters that, leaving out any line not containing the given string and wc will count how many lines are left.

Of course, next to (or before) the requests to my current blog, these access logs also include the requests to my old WordPress blog. This means they go a lot further back in time than that post in the line above. But I can also grep for "28/Apr/2024" and see that today, so far, three people requested that post and nine received a 404 Not found when trying to login to my no longer online WordPress instance.

On WordPress, I used, as one does, a growing number of plugins, one of which was called WP Statistics, a plugin that showed me nice aggregated graphs of visits, broken down into country, device, operating system, browser and such. It had a very nice look, but I hadn't the foggiest of what it did with requests that showed up in my logs like this one:

"\xAA\xAA\xAA\xAAUUUUUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\
xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA
\xAA\xAAUUUU\xAA\xAA\xAA\xAAUUUU\xAA\xAA\xAA\xAA" 400 157 "-" "-"

By the way, these are always a reminder to keep looking at your logs, in case you thought aggregator and plugins are all you need.

Anyway, I want to keep things quite simple but a few coloured graphs would be nice. Grepping through logs won't give me those, so I found goaccess.

goaccess

Goaccess is a command line web server log statistics aggregator. Below the three panels visible in the screenshot above, there are twelve more with data on geo location, status codes, referring sites and more. Each panel can be expanded. It also has some vim key bindings for navigation, so using it feels natural and easy.

Also, considering the number of requests for my none existing .env-file, I have half a mind of just creating one and make it a nefarious executable. That would serve them right, I presume.


CC-BY-SA 2006-2024 thefoggiest.dev