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.
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.
W.E. Peterson: Almost perfect
April 25, 2024
Title | Almost Perfect |
Author | W.E. Pete Peterson |
Published | Prima Lifestyles (1993) |
Almost Perfect is a fascinating autobiographical tale about the rise and fall of the WordPerfect Corporation from the point of view of one of the board members. Petersen recounts how they initially built their word processor for Data General machines, then expanded to MS-DOS, the platform that would bring them their greatest success. Despite fierce competition from WordStar and later MS Word, they managed to become the market leader from version 4.0 onward, thanks to much greater functionality such as line numbers (important for lawyers) columns and footnotes that could continue on the next page. Despite this success, they continued to expand to other platforms such as Wang, Atari, and Amiga. During the rise of the GUIs, WordPerfect Corporation initially bet on the wrong horse, namely IBM’s OS/2. This wishful thinking was motivated by the concerns that expanding to MS Windows meant playing on the competitor’s platform. Peterson does not mention that this was also the case with MS-DOS.
One look at Word, however, erased all our worries. The product was no more innovative than its name. Microsoft had designed Word to work like its spreadsheet, Multiplan. It was clumsy to use, and came with no new or interesting features.
WordPerfect was the best word processor from the second half of the eighties. Everyone who went to school or to work in that period knew about it, and many worked with it. I wrote book reports, essays and other documents using primarily version 4.2 and later 5.1. What was so good about WordPerfect was that, apart from a few indicators in the lower-right corner, it was just you and your document. No rulers, ribbons, or pull down menu’s taking up space and brain energy while doing nothing. And because MS-DOS was a non-multitasking OS, nothing else demanded attention either. You were set up perfectly for productivity.
Peterson pits WordPerfect Corporation against Microsoft. Where the former is driven by selling and supporting the best possible product, the latter is driven by a desire for money and power. The secret behind WordPerfect’s success is its flat company structure. He imagines a company with only directors, advisors and managers. The directors set the direction, the advisors from the layer below and facilitate the managers who do the work.
I hoped for our sake that Excel was merely an accident.
Peterson occasionally discusses the many problems he has internally, despite his hard work and good intentions. The reader must see for himself how unpopular he is when seemingly a single disagreement makes the other two members of the board decide to throw him out. Employees are celebrating in the offices, and later Peterson receives an anonymous hate letter at home from an employee he never knew. Peterson just thinks it’s abnormal that this employee is using their employer’s time and resources to send him that letter.
We still seemed determined to try to release as many unsuccessful products as possible
The book concludes with a short piece about the decline of WordPerfect. First it is bought by Novell and later by Corel, for a fraction of the price it once was. Peterson expresses the hope that the reader learns from his biggest mistake, not taking enough time to convey his ideas about business to those around him.
My Mitsubishi ML-FX1
April 22, 2024
My first computer was an MSX, made by the Japanese giant Misubishi Electric (三菱電機株式会社, Mitsubishi Denki kabushikigaisha). It was a brilliant machine, especially since the only computer I had used before it was my father’s ZX Spectrum, a fine machine, but it looked like a very complicated little children’s toy. My MSX had a proper keyboard with a numerical island, an actual power switch at the back, an internal PSU, two Atari-standard joystick ports, a printer port, RCA audio and video out and two cartridge slots for games or hardware expansions, such as sound cards or disk drives. Rather standard for the time, you’d say, but the ZX Spectrum had exactly none of those.1
Like any MSX computer, the ML-FX1 had a Zilog Z80A equivalent NEC D780C-1 8-bits CPU clocked at 3.5Mhz. It had 64 kB RAM and 16 kB VRAM. A Yamaha S3527 chip integrated a General Instrument AY-3-8910 sound chip, controllers for joystick ports, cartridge selection, keyboard, printer and cassette interface and more. If the Z80 and the video had been integrated as well, it would have constituted a Sytem on a Chip (SoC) avant la lettre. The video controller was a Texas Instruments TMS9928ANL.
My Mitsubishi ML FX1 connected to a Philips VS0080 monitor and a Sony disk drive, playing Elite
I bought the Mitsubishi second-hand from my brother, who had bought it from a friend, who used the money to buy sneakers. My brother’s friend was actually the Mitsubishi’s first owner. He had bought the ML-FX1 on December 12, 1985, at least according to the handwritten date on the shop’s sticker that’s still on the underside of the case. The shop was from a chain called Funtronics, which was bought in 2003 by another Dutch computer manufacturer and shop chain, Paradigit. Until then, Functronics was the place to go for anything computer related, like floppies and magazines, in our sleepy border town Emmen.
On the back, from left to right, are the second cartridge slot, mostly used for hardware expansions such as the floppy drive unit seen above, a Centronics printer port, RCA audio and video output ports, an RF output, a power button and an integrated power cable.
The right-hand side of the ML-FX1 had the two standard Atari joystick ports and a cassette recorder port. Even the cassette experience of this computer was superior to Sinclair’s. The sound was muted, the tape deck’s motor could be controlled from the computer and the data transfer speed could be set to 1200 or 2400 baud.
RCA ports are by no means of RGB or SCART quality, but far better than an RF output that combined both video and audio into something that could be selected as a TV channel, much like a VHS video recorder. I didn’t own a monitor right away, but even the small CRT bedroom TV that I used at the time had RCA inputs, so the image quality was pretty close to that of an actual CRT monitor.
I also, sadly, didn’t own a disk drive right away (they were expensive), so I was forced to use cassette tapes for any game I didn’t have on cartridge. Those tapes were easily copied with double tape decks in those days. Each tape contained ROM dumps of a couple of games, prepended with a small BASIC program that would automatically run on being loaded. It would then proceed to load the next binary file on the tape, byte for byte, into one or more free memory segments as needed and when it was done, tell the CPU to start at the first memory address. The computer wouldn’t care whether the game was in ROM or RAM, as long as someone told it where the game resided.
With a black case, there hasn’t been any decolouring since 1985, like you see with so many PCs, Amigas, C64s and other beige machines. The keys, however, needed some cleaning not too long ago. Pulling them from the case was easy with a standard key puller.
Don’t let the domes fool you. Underneath is just a rubber membrane. But that didn’t matter. We hadn’t used a good keyboard ever, and that was not something we were going to be opinionated about. We used the internal BASIC editor to type in game listings from magazines and even let them inspire us to create our own games. MSX BASIC provided ways to control the audio and video chips without any machine code, like a command that would accept strings with the actual names of the notes we knew from our music lessons to play, for instance, Frère Jacques in canon:
PLAY "cdeccdec","efggefgg","l8gagfl4ecl8gagfl4ec"
The PLAY command was asynchronous and would end as soon as it had pushed those strings to the audio chip, so that the music and other sounds could play in the background while the rest of the program continued.
We used matrix paper to design 8 x 8 pixel sprites which we could give a single colour and put into one of 31 layers using:
PUT SPRITE layer,(x,y),colour,sprite
BASIC provided a simple hook to detect collisions and tell the program at what line in the program to continue when that happened. It was very convenient. And how did we know all this without an internet? Simple. Books. Books that told you in a few chapters how to use all the functions, but forgot to tell you how to program. It didn’t matter. Creating the games was an adventure in itself. It had to be. Our games were too slow to be playable. That wasn’t the fault of the machine. We were children. We didn’t know the first thing about programming.
But for the ROM dumps and other commercial games, we mostly didn’t need the keyboard. We used big joysticks (no controller pads) like this one:
The mighty QuikJoy JetFighter had an auto-fire switch that would, when holding the fire button, send a fast pulsed signal to the computer, instead of a continuous one, making games like Nemesis and Salamander a lot easier, if not actually playable.
I still own the ML-FX1 and I did finish Elite on it, although I had already owned several MSX2s at that point. Sometimes I feel like playing MSX1 games on an actual MSX1 instead of the Sony MSX2+ I normally use. That, after almost 40 years, I can still grab the ML-FX1 from its shelf and hook it up to a monitor and speakers for some gaming, without any maintenance, except for a single keyboard cleaning session, is a testament to its build quality.
Notes
- In fact, Sinclair’s corner-cutting went so far on their ZX Spectrum that instead of a female cartridge connector, they added the cheaper male part to the computer, making the computer cheaper and potential cartridges and hardware expansions more expensive.