A Tribute to Turbo Pascal: Mr M.'s Pascal Miscellany
by Herr M. (05 Dec 2012)Ladies and gentleman! I present to you something very special, something you won’t find anywhere else! A look back to the times when text interfaces without any of those graphical knick-knacks was deemed adequate, when fast fingers danced determined over the keyboard and a simple short-cut executed all critical commands in no time at all, when development environment often enough was equal to compiler. Artefacts of a primitive but yet savagely efficient programming language, the manifested creativity of a young programmer, naivete at its best, source code beyond any kind of quality control, whose compiling and execution will not let you believe your very own eyes and ears (especially the ears!). For days you will sit in front of your calculator, unbelieving, unable to break away from the wonder I am about to reveal to you: The best of my Turbo Pascal programs!
Alas! Those were the days, back in the mid to late 90ies, when I advanced into the wonderful world of programming. At last I could order the know-nothing number cruncher around! A sandbox of possibilities, infinite ideas in my head, the ideal conditions to create something great! My first humble steps were simplistic games, which at their core where nothing more than a bunch of variables, read in at a prompt, checked by an IF for a semi-humorous comment.
Turbo Pascal 6.0 was certainly not the worst choice, for having a comparatively mighty syntax and offering a range of very handy functions (the simple ANSI-C for example could only dream of such variety). From coloured, blinking text, that could be placed anywhere you liked, to sound (back than our computer science teacher conditioned us to the use of NoSound() real fast), to windows (meaning the definition of subsections of the screen), up to a high-performance graphics-unit (those 640x480 EGA graphics were a real treat), all inclusive. Let alone the development enviroment: Lightning fast switching between the windows, even faster compiling, my very own color scheme (I still use today), a lot of easy to remember short-cuts and last but not least: A perfect index, with really good entries to all functions (including excellent examples), which screamed for search and try. Here you got everything you could ever need for your first programming steps.
At that time I started roughly one hundred programs, of which a few dozens reached a halfway executable stage, and of these I now chose my personal favorites. A few of them circled around various school computers, but back then I always dreamed of publishing them to a broader public. Which I shall do hereby… with a substantial delay. Naturally you shouldn’t expect anything groundbreaking, but if you ever tried programming yourself or care a little bit for the amateur scene, I promise you will get your moneys worth. :D
A short remark concerning the included source code: A halfway decent programmer would rate those as a fairly serious disaster. Subroutines spanning over pages, non-descript variable names, uncommented babbling of endlessly convoluted loops etc. You might wonder why I even dare to throw them into the package. Well, everyone started small and I want to offer the opportunity to recollect those simple times when the product was the ultimate goal, and design and planning would have taken a lot more time than fiercely writing away. Besides: The heartwarming dilettantism might just force you to smile. Really adventurous souls might even try to make some improvements. ;) And almost every one of those programs has the one or the other cheat smuggled in there…
All programs should run in DOS and may be started by executing the respective EXE file. Most of them are self-explanatory… that is if you speak at least a little bit German. I thought about translating them, but then I would also have to improve some other things, I would get carried away and before you know it, their distinct nostalgic flavour would be lost. I invite you to be daring and try them as they are, laugh at the silly German language (all consonants and little dots above the few vocals) and master the extra difficulty.
On modern systems I would recommend DOSBox with 3000 CPU-cycles. Normally I wouldn’t be that explicit about it, but it has a significant relevance: One often used function of Pascal is the Delay, which depends on your CPU speed. On my old 386 those programs ran as they run with configuration above, while on later Pentium chips they didn’t delay at all, and on todays machines… well almost all of them don’t run native DOS anyway.
So without much further ado, I will start them up, one after the other, and write whatever comes to my mind. I invite you to do the same: Feel free to post any comments or even some programs of your own in the forum!
BOMBE
It’s raining bombs! By pressing the space bar you can make them jump through time and space, up to the top of the screen. But be careful: Every jump increases the explosive’s falling speed. The lower they get, the more points you will cash in at the end of the game.
A very basic “game”, in 16 colour ASCII-textmode, a lot of bugs (e.g. at the beginning you have to enter a name for the bombs and for the explosions, both should be 4 letters long… nothing is stopping you from entering more) and a concept that loses interest very fast. The first programming steps of my brother (with my assistance of course).
BSCHON
Not that much to do, just let yourself be hypnotized by all that colour patterns. As a translation of the name (something like SCRNSVR) would imply, this should have been a screen saver. My attempt to imitate such giants as Idle Wild or After Dark. Lots of colours dash across the screen, make angular “patterns” (manifested For loops) and can be stopped by pressing Return. Lazy design doesn’t clean up the prompt, but rather changes the background to the colour which was just used to paint the pattern.
DUNEQUIZ
A quiz about Dune, yes the desert planet full of religious fanatics. Written by a younger self, that didn’t even read the books but relied on superficial knowledge from the movie and the computer games. It’s probably for the best if you don’t understand a word of it. :) If you are a Dune crack you might try to guess the one or the other answer. There are some nice touches, like choosing a name and a house and you are promoted to certain military ranks, if you answer the questions correctly. Mind the ads for my other games at the end.
FELDHERR
War is calling! Your rich aunt has bequeathed a lot of gold to you and now is the time to spend it profitable on the mercenary market vis-a-vis. So choose a level of difficulty (from a) = easy to c) = hard plus the noob mode d) included by someone with a lack of respect for intellectual property :) ). Gather some Landsteicher (tramps) and equip them with Armbrusten (crossbows) and let them storm to the battle. Never ending hordes of the dark lord are waiting to be vanquised by minimal use of strategy.
With 16 colour text mode and sound this game offers some nifty technical stuff. And at least there is a primitive, if somewhat weakly elaborated, game concept.
GIGATRUM
If you grew up in the 80s or 90s there is a really good chance, that sooner or later you held one of those deck of cards with the speedy cards, unsinkable ships or stoneaged dinos in your hand and proudly proclaimed to your opponents, how fast your racer did 0–60, only to be beat by them, broadly grinning, with a better time. We called them Super- or Megatrumpf and this program was my attempt to implement it on a computer.
Well at least you can enter you name, choose how many cards you want, how many are necessary to win and it almost does what it says on the packaging. With slight flaws: Firstly the cards are shuffled after every turn (or to get a little bit more technical: Lazy and ignorant like I was, I determined the cards you get each round at random), secondly there are some cars which are a little bit… unbalanced. But simply take a look for yourself.
Side Note: As far as I can remember this is the very first program I wrote on my own. Keeping that in mind, I think it is relatively load- and playable.
GRAFIK1
Just some simple gimmicks to test the graph unit that came with Turbo Pascal. Since it was a powerful and foolproof tool, those first steps into the 16 colour worlds of (back then) high resolution EGA-graphics aren’t the worst thing you could do to your screen.
KOCH1
Draws exactly what the name already implies: a Koch snowflake. So you take a equilateral triangle, put smaller equilateral triangles, with a lateral length of 1/3 of the original triangle, on it’s sides, and on those new triangles you put yet further triangles with again a third of the lateral length of the previous triangles and so on. Best would be, you start up the program and take a look for yourself. Not necessarily the best implementation (since then I implemented it on far more modern systems in a tad bit more aesthetic way), also a little bit slow… but it works.
MAGICS
“Hohle des magischen Schwertes” or “Cavern of the magic sword”. Awesome! My first selfmade computer roleplaying game! A feast for the eye! But the undisputed highlight must be the sound. Whoever endures every one of the one hundred rounds with the sound on, has to have nerves of steel. So whether you understand the first question or not: say n (for “Nein” or no) and enjoy a joyful romp through a random dungeon. As Mensch (human), Zwerg (dwarf), Elf (well… elf) or Gnom(e) you will have to defeat various gold bleeding monsters (ranging from Killergorillas to Nashorner (rhinos)), unwillingly collect three pieces of the sword, be overcharged by greedy merchants and ultimately overthrow the evil tyrant Klumpfuss (Chunkfoot?). Alright? Then of you go adventuring!
MTEST
A test program for random number generators, I wrote for school back then. You choose a random number generator and the computer will start from the center of the screen, moving pixel per pixel in random directions. Very handy to search for repeating periods of the generator (with too fast loops the pattern soon begins to run in circles) and to create some awesome background pictures. Actually pretty ingenious…
STARTREK
Space: the final void. These are the voyages of the starship (With Schiff1 DO WriteLn(‘NamS’);). Its never ending mission: to explore always the same worlds, to seek out always the same klingon battlecruiser and star base, to boldly go where no code has gone before.
A comparatively advanced game (if you, as always, ignore the messy source code). With high score list, save function and a GUI (gadgety user interface). Too bad, that there is no long time motivation to keep you playing after pushing Captain Kirk from the top. But for a short time it might entertain you.
That is if you can guess what the german labels say! Well if you want to give this a try, I have got some hints for you: At the start it asks you if you want to load an old game. Then it asks for your name, the name of your ship, a name for your main weapon and a name for your torpedos. At the main menu you can choose to reload at a star base (A), scan for enemy ships (B), repair your ship (C) or save, look at the high score and rest (D). Some useful vocabulary:
j means ja = yes
n means nein = no
Schiff = ship
Raumbasis = star base
Rumpf = hull
Schilde = shield
Feuer! = fire!
Ruckzug = retreat
Ausweichen = evasive action
Speichern = save
Laden = load
TEXTAD
“Akwalonte” is far too good a name for this sorry effort. Well it’s a German only text adventure with limited vocabulary, no story (to speak of), taciturn texts, strange humor and thousands of orthographic crimes. Think Anti-Monkey-Island. Well not quite right, since, like in the genre classic, at least you cannot die and the strict linearity makes it impossible to do anything wrong. For extreme-hardcore-adventure-experts only! I dare you to beat it without looking at the source code… or without speaking even a single German word… or without a German keyboard (which you will need for those unavoidable dotty letters)!
TOLKIEN
Strangely enough this quiz is actually a decent job, despite my initial fears that it might be a similar flop like the Dune quiz. You can choose a theme and a difficulty and the questions are OK (some of them are really challenging, some even accept more than one answer). Even the title sound has some melodic merit. For me it’s the best game in the collection… too bad it is also German only. ;)
TREPPE
Choose an object, and shortly thereafter it begins to jump up a stair, while starting an aural examination. One day this should have got a lot more interactivity, but it never rose above this demonstration of the Turbo Pascal graph unit.