navigation

you are here: gallery     select style: classic proton

fmain pointer fun

memory structure

Here you can see a first concept of memory management used inside the fast markow algorithm interpreter written by myself. This picture in special shows a structure designed to hold the character data the markow rules work on.

swap rules

All the rule data itself is saved inside a structure based on linked lists. The order in which these rules are applied on the character data is defined by their priority level. This means before using them some sorting work has to be done. A simple but effective bubble sort is used in our case.

delete from word

Calling the program a fast interpreter we have to use an efficient way of editing the character data a.k.a. word here. Working with markow rules means inserting or deleting characters all the time. In fact there is nothing else we are able to do using these rules. Having this situation we don't want to move around characters inside an array although this would be quite easy to implement. In the end linked lists have to do the job again.

insert into word

After having deleted a character in the last picture this one shows the insertion process. As you can see the free space from deleted chars is used. While this means a minimal loss of performance it also means having no unnecessary memory fragmentation.

delete and insert

A combination of the last two pictures is shown on the left. What has to be mentioned here is the possibility to reuse the slots of previously deleted chars without having to search for them over the whole list. The best part is that there is nearly no overhead to store the positions of these slots. Another linked list and a few additional lines of code is all we need.

puzze algorithm chart

puzzle alg. chart

The picture beside shows a tasty flow chart. I tried to write a program that was able to sort some kind of simple puzzle. The task is to attempt to place a set of squares having up to four differently colored edges in a way that only equally colored edges are neighbors. The puzzle field itself is always defined as one big square.

Some people will know the famous X11 screen saver called Polyominoes written by Stephen Montgomery-Smith. It works quite similar but seems to be a bit more complicated for it deals with irregularly-shaped puzzle pieces.

stunts terrain data

stunts terrain

Showing one of the oldest hacks done by my brother and me the scan needs to be called a historical document. Many years ago we extensively played this racing simulation called 4D Sports Driving a.k.a. Stunts. Although published by Mindscape in 1991 some people still know it for having a cool built-in track editor.

Creating a new track one had to select between five or so sets of terrain. Hills, lakes, hills and lakes on a singe terrain and so on. Running M$ DOS plus some kind of prehistoric hex editor we compared files, changed a byte here and tested behavior there. Some reboots later we were prepared to write our first custom terrain.

In the end there was no reason for hacking at all. The built-in track editor used a secret key combination for switching into terrain edit mode. We simply didn't know this. Nevertheless it was great fun.

computer created images

just a cool logo

This image is the result of my experiments to create some kind of cool logo. What you see on the left wasn't done last week or year. It was back in the good old days before M$ Windows 95. The tools beeing used to create this stuff listened to names like Fractint, Paint Shop Pro version 2 or 3, iPhoto Plus and a quite unstable Windows 3.1 running on top of an old M$ DOS. Although the image is only 800x600 pixels in size it looked really large at creation time.

two-family house

This one still tops the previous image. It was created by my brother and me many years ago as we explored the applications delivered with the brand new M$ Windows 3.1 we bought with an i80846-SX/25 equipped computer. The image might look somewhat childish to you. This is just normal because I must have been twelve or thirteen years back these days. My brother also was not much older.