My software history (part 3)

Welcome to the third part of this series of articles.

The second part was about my time at Adeline Software and Héliovisions Productions, now this entire article will cover the 1998-2005 period at Eden Studios (aka Eden Games).

Help wanted

I joined Eden Studios in October 1998 and immediately started to play with the Dreamcast development kit.

Soon I had my old ZBuffer house moving smoothly on the screen.

The result of the experimentation was really a mixed bag: Between the non ANSI compliant Hitachi C Compiler, the multiple redundant API (Direct X if you decided to go the WinCE way, the high level Shinobi, and the lower level Kamui), the documentation errors, and the quality of the tech support… it was difficult to judge of how easy or not it would be to port V-Rally to the Dreamcast.

V-Rally2 PlayStation

V-Rally2 PlayStation

As it happens, it was not really a problem I had to handle right now.

Eden had two teams, one working on the Nintendo 64 port of the first V-Rally, and the second one working on V-Rally 2 on the first PlayStation.

Both teams were having trouble finishing their products on time, so everybody had to come helping, which is what I did for a good part of the following year.

Year of the Moulinette1

When I first checked my archives for the year 1999, I found out that I had released nothing.

No games, no demos.

On closer examination, I found out that I actually spent that year writing command line tools, converters, filters, documentation generators and file integrity checkers, either used to fix the broken asset pipeline of the PlayStation team, or later to convert PlayStation assets to PC and Dreamcast compatible formats.

Here is a partial list of the tools I had to write:

  • Vahiné2 – Designed to pad files to specific sizes to improve the disk layout
  • Catalog – To generate HTML documentation so we could locate assets on the network
  • MakePak – Another HQR/BIG/BANK format, designed to be accessed by direct seeking at offsets in the file on disk
  • MakeZap – Like ZIP, but without the useless information and allowing decompression without intermediate buffers
  • ScriptCompiler – To compact the SCR files describing the menu sequences of the game so they are more efficient at run time
  • ScriptIntegrator – Used to extract things to localize from the UI scripts, and then to generated localized version of the menus
  • SplitDSC – No idea what it does, but it involves DSC, GRP and V2D files!
  • VagConv – To convert PlayStation audio files in VAG format to RAW audio so they can be used on PC and DreamCast)
  • Pcx2Tim – To batch convert images to the PlayStation format so they can be used in the menus
  • ReplayPaker – Test of AI drivers actions recording and replaying code

Menu hell

Slanted graphics…

For some reasons, the person who designed the menu system of V-Rally 2 thought it would be a good idea to have things slanted instead of being aligned on a grid:

That would make things a lot more dynamic and elegant.

V-Rally 2 Menus

V-Rally 2 Menus

At least that was the idea.

In practice, we had to use a mix of bitmaps for all the things such as icons, texts, numbers, rounded corners, background pictures, masks, and actual vectors for lines and progress bars.

In the real world the various consoles on different territories have different resolutions, and having slanted bitmaps meant we could not just rescale independently the layout on the horizontal or vertical dimensions: We had to keep a correct aspect ratio for the UI for 320×240 (PAL) and 320×256 (NTSC) on the PlayStation, 640×480 of the Dreamcast and for all the resolutions you can think of on the PC.

V-Rally Car Selection

V-Rally Car Selection

All these menu were composed in text files (the famous SCR files), describing both the layout, the list of resources they used, and the logical mapping from one entry in the menus to where it was linking to in another menu.

I do believe we spent weeks just on reexporting, converting, tweaking, adding +1 here and -2 there, changing two pixels on a corner bitmap so it looks less ugly when it joined a line before finding out it did not work on another menu screen because of some overlayed bitmap.

Anyway, in summary, all I did on the PlayStation version of V-Rally 2 was to write tools to improve the work-flow, and learn things not to do while working on the menus, and yeah implementing almost the entire menu support for the peripherals, including the ones you never heard of such as the NegCon.

Namco's Negcon

Namco’s Negcon

Next gen, here we come

Somewhat during the year 1999 we finally managed to get back to the PC and Dreamcast versions of the game.

Test Drive V-Rally

Test Drive V-Rally

The PlayStation version was still being worked on, but at least now there was one dedicated programmer for the PC version, and one (me) for the Dreamcast version.

We also got our own tool programmer, who basically spent his time tweaking the export format to accommodate our needs.

This project remains to this day one of the high points of my career: The amount of overtime was insane3, but I survived it and I’m as proud of the Dreamcast version as I’m sure Sammy is proud of his PC version.

Birthday Present

Birthday Present

What was special for me is that basically it was a one man port.

Sure it was a port of existing code made by the PlayStation team, but still I had to convert all the code of the game and libraries, and to write most of the assets conversion tools.

As a result I became probably one of the most all around knowledgeable Dreamcast programmer at the time.

The people at Sega on the support forums thought that I was posting questions on behalf of our team while it was really only me posing questions about audio, video, texture formats, state management, bugs in the api, questions about obscure points in the documentation, file handling, deployment tools, technical requirement checklists, movie codec licencing, and so on and so on…

Track Selection

Track Selection

In 2000 I attended the Sega Developer Conference in London.

When I gave my name at the entrance desk, two Sega support guys looked at me with raised eyebrows and asked “Oh, are you *the* Mickaël Pointier from Eden Studios?”

No comment.

Feature wise, the PC and Dreamcast versions of the game are pretty much identical.

Quality wise, the Dreamcast version is much better.

The time the PC team spent fixing PC specific issues caused by the different versions of Windows, drivers, sound and graphic cards, installation setups, etc… I spent profiling, tweaking and polishing the Dreamcast version.

2 Players Split Screen

2 Players Split Screen

4 Players Split Screen

4 Players Split Screen

Thanks to the added power we were able to improve quite a lot over the PlayStation version.

They load data much faster and there are no loading between menu pages, the switch to VGA resolution and higher really helped improving the visual quality, the game now ran at 60fps all the time4, and the track editor was now able to handle much longer tracks, it also had welcome additions on the game side such as a much more tolerant physics and dynamics engine, more forgiving track design with less violent collisions5, and some visual indication of the damages your car suffered.

Track Editor

Track Editor

Finally, because Infograme failed to give the complete credits in the game, I added a hidden scroll text with the full credits for the team6.

Demo-scene interlude

On the demo side, the year 2000 was my #codefr/#demofr/#pixelfr year.

We had weekly competitions organized on these IRC channels, with random topics announced on the Friday evening, the idea being that on the Sunday we had to release the entries and then everybody would vote.

This was a very good way to learn how to design something in very limited time, and I guess it’s more or less what people are doing nowadays with the Game Jams and other Ludum Dare.

There was two main kind of topics, the demos, and the games.

For the games I participated to only two, the first theme was “Elements”.

It was really eye opening for me: Despite having worked for 10 years as a professional software developer, I managed to concentrate on all the wrong things in the wrong order, and in the end I had all the fluff (credits, high scores, intros, menus) but no actual game.

Element Wars

Element Wars

The second theme was “The Supermarket”.

I changed the strategy and started by the code of the game, and only when it was working I added the fluff. The result is an absolutely ugly game that has the kind of addictive gameplay that would deserve a mobile phone port…

The concept is simple: You are a cashier, and you have to scan the products that pass on the rolling carpet in front of you. If the bar code is not visible you have to right click to turn the can until you see the code and then you scan it with the left click.

And it gets faster over time.

Sim Caissiere

Sim Caissiere

For the demos we had simple themes such as “Disco” or “Cracktro” and had to produce something based on the theme.

Here are mine:

Oldskool

Oldskool

Disco Party

Disco Party

Cracktro

Cracktro

Bumped

Bumped

The year 2000 was finished by an Oric demo, released in Holland at the ST News International Christmas Coding Convention (STNICCC 2000) in the C64 Revisited compo.



Based on the success of the STNICCC demo I managed to recruit other Oric enthusiasts and together we managed to build the first significant Oric demo, modestly titled Oric Giga Demo and to released it in July 2001 at the Very Important Party.



The demo was supposed to have a music, but unfortunately when we were on the party place it happened that our loading code was not working, so we had to use the standard DOS to load data: There was no room for the music anymore7.

Inter-projects

When V-Rally 2 was finally out of the box, in its various incarnation, came the time of the ‘what next’ question.

Some of the team members wanted to continue doing racing games, some other wanted to try something more creative.

V-Rally 3

V-Rally 3

Two teams were then created, one would work on what would become V-Rally 3, while the other team would be doing some brainstorming and try to came with some ideas (which would ultimately become Kya: Dark Lineage), both projects would be first developed for the PlayStation 2 and then eventually ported to the XBox and GameCube if necessary.

Kya: Dark Legacy

Kya: Dark Legacy

While the designers of both teams started their brainstorming, the programmers started working on what would be necessary to support the new platform, such as new libraries and new tools.

What I personally worked on was the libraries edFile and edText, and the tools Builder, ClickSafe, FontConv8, XlsXChange and TsdCompiler9. (All the ‘colorful’ logos coming up are from the original html documentations I wrote for the tools.)

ClickSafe was my answer to AlienBrain.

We needed an efficient way to handle revisions of our assets to avoid losing data, and our earlier attempts with AlienBrain were very not satisfying. The tool was slow to the point of being unusable10, so I designed my own asset versioning system.

ClickSafe Settings

ClickSafe Settings

It took some revisions before most of the quirks were ironed out, but at least it was a tool that everybody was able to use, because it was integrated in things that people were used to, such as as the windows explorer and the file dialogs.

The final version even had an external C API to hook it with our internal tools so they could directly check-out files.

Tsd Compiler

Tsd Compiler

The TsdCompiler was used to convert TSD files (Textual Scene Description) to a binary format optimized for the target platforms that could be loaded into memory as one single big bloc of data instead of requiring hundreds of small allocations.

Builder Logo

Builder Logo

The Builder started as a request from the V-Rally 3 team who wanted to start clean on their production pipeline.

Originally called MakeBank, it started as a simple parser for a text file format containing a list of resources to pack together in a big file called Bank.

Soon after, the feature requests were piling:
Would it be possible to have a list of optional files to add depending if we are in debug or release mode?
Could we have different alignment values for the data depending of the platform?
Could we have some automated tests to check that the file size does not get too large?
Could we have a command to chain the generation of multiple files so we can build all levels in one single call?
Would be nice to have a menu to select which level to build…
etc… etc… etc…

In the end the Builder ended up as a mix involving GFA Basic language syntax, BAT file type scoping, C preprocessor compatibility, binary file generation, registry reading and writing, speech synthesis, … basically a Turing complete languages with enough quirks to turn a Perl programmer dizzy!

XlsXchange was used for the game localization. All the text entries would be edited in Excel files, and the tool would then extract the data from the sheets11 and generate optimized binary files for each language, and some header files so the programmers could access directly some strings by using defines.

XlsXchange Schematics

XlsXchange Schematics

Localized Excel Sheet

Localized Excel Sheet

This tool was used for both V-Rally 3 and Kya.

So, in the end, I did not really code anything directly in V-Rally 3, the only contribution was what I did in the tool side and in the libraries I worked on.

On Kya on the other hand I started as one of the game programmers and wrote a good part of the menu system, text rendering, loading and saving code, and a significant part of the tech used for the asynchronous loading of levels.

Kya - The Village

Kya – The Village

I was also asked to work on a gameplay feature called The Cloud, but I refused: I said to my lead that I thought it was a stupid idea, that it looked good on paper but that it will be impossible to make it work with the multiple gameplay elements we already had in the game.

Saying that this impacted my relationship with the project lead would be an understatement, but in the end another programmer got the task, he implemented it as good as he could possibly had made it, and after a week of testing by the lead designer the whole code was thrown out.

Kya - Map

Kya – Map

I ended up in the Tech Team, working only on tools and libraries, which was fine with me: I had decided that I hated working with designers and other people who only know what they don’t want when you show them what they actually asked you.

Tech team

For years the game developers had complained about the Tech Team, that it was too slow to release new versions of Twilight II (Eden’s World Builder tool), or that their code was slow and inefficient, or that they did not tolerate criticism… so joining them was not as easy as just moving one’s desk.

Twilight II

Twilight II

Truth be told, retrospectively speaking, Twilight II is probably one of the best designed internal tools I’ve seen during my career in the video games. Sure it had issues, but the core was solid, it had many interesting ideas, it was very flexible too.

The worse part was the time it took to build and deploy a new version, and indeed some of the code was not as fast as it could have been; but if we had all worked together to address these issues instead of staying in our ivory towers12, perhaps a number of things would have turned differently.

And just to be clear: No I did not work on Twilight II, I’m just doing a public mea-culpa.

Infidelities

From 2000 to 2002, James Bond would have been proud of me.

Most people don’t know about what I’m now writing, so I will not tell who else was involved. Feel free to come out if you feel like it!

In 2000 I was asked to discretely work with Virtools to evaluate how feasible would be the port of their Nemo engine to the Dreamcast.

In 2001 I worked in the position of Technical Director when we were trying to build Chimæra Games13.

We negotiated a free commercial license of Renderware, and built a prototype of Flint O’Connor and the Jewel of Halin.

Flint O’Connor

Flint O’Connor

In the jungle

In the jungle

Of course we did all this work just in time to see the Internet Bubble to explode.

Suddenly all our contacts got scared of the video game industry.

We had to drop the project and join the ranks.

Arx Fatalis

Arx Fatalis

Another company in Lyon, Arkane Studio14, was busy working on their epic role playing game: Arx Fatalis.

At the time they were unfortunately under-staffed, so the progress was not as fast as they hoped.

Trivia: The ‘Special thanks to Mike Pointier’ in Arx Fatalis credits is not only for the week end I spent helping profiling and analyzing the code. It was also for ClickSafe.

So far ClickSafe had only been used inside Eden, but there was some talks to perhaps make it available for the other’s members of the Lyon Game association. The only problem was that we did not know if it would work on different set-ups.

I spent a number of weeks working on changes inside ClickSafe to make sure it would work on all types of servers, independently of the accuracy of the native time stamps, domain names, permissions, etc… and then tested from time to time at Arkane if the changes worked.

I’m not sure if they ultimately used it or not, but at least it was set-up correctly.

Back to paradize

V-Rally 3 was finally released in 2002, so we all concentrated on trying to get Kya finished, which for me involved destroying15 a significant number of PlayStation 2 TOOL devkits while working on the asynchronous loading code.

In 2002, the Defence-Force team was back at the VIP party, with an even larger Oric demo called Quintessential: More people, more graphics, and this time we finally had sound!



We were on the roll, so we decided to start a new demo immediately, with even more people.

Not surprisingly, what applies to video games also applies to demo making: More people means more organizational headaches, more human interactions and more bugs.

We presented our demo at the State of the Art demo party in December 2002: It crashed after 30 seconds, stuck on a ear piercing note.

After some talks and diplomacy we managed to present a remastered (and debugged) version of Barbitoric the next month at the Alternative Party 2003 in Helsinki.



Kya: Dark Lineage was finally released in 2003 on PlayStation 2, about at the same time as the GameCube, XBox and PC versions of V-Rally 3.

The two teams started to brainstorm on what would be their next games, and after quite many back-and-forth and other dead-ends involving deals with multiple publishers, discussions about original IPs and existing licenses, they finally started to work on Test Drive Unlimited and Alone in the Dark, both games to be released for PlayStation 3, XBox 360 and PC.

Test Drive Unlimited

Test Drive Unlimited

I basically spent the rest of my time at Eden Games working on the tech and tools used by these two games, such as porting the libraries to the new systems, upgrading the tools and adding new features.

Alone in the Dark

Alone in the Dark

With the next gen development budgets exploding, Eden did manage to work on some smaller projects reusing the older tech, so we helped them as well.

One such example is Titeuf Méga Compet released on PlayStation 2 and GameBoy.

Titeuf Méga Compet

Titeuf Méga Compet

I guess it’s all there is to say about the software I worked on at Eden Games.

All during 2003 and 2004 I continued releasing Oric productions, games, demos and tools.

UlaPaint is a painting program which was never officially released, but I had some artists beta-testing it.

Ula Paint

Ula Paint

4K Kong was my entry to the 2003 Minigame Compo, and ranked at the 8th position (on a total of 63 games).



Cyclotron was my entry to the 2004 Minigame Compo, and ranked at the 6th position (on a total of 42 games).



During the summer 2004, I visited some friends in Norway and finished there my Buggy Boy demo which I later presented in the compo at the Little Computer People party in Sweden.



And I guess that’s all I managed to dig out!

Both Test Drive Unlimited and Alone in The Dark were released years after I left the company16.

In may 2005 I moved to Norway and joined Funcom to work on the tools for Age of Conan: Hyborian Adventures.

But that is another story.

Conan

Conan


embed src=”http://www.youtube.com/v/4Miw2ImYBaU” type=”application/x-shockwave-flash” width=”425″ height=”350″

  1. French word used to describe all these small tools that process, mince, cut and slice data
  2. C’est gonflé!
  3. My girlfriend barely saw me, I was coming back home on a Saturday at midnight and was back to work on the Sunday after that
  4. Including in two and four players split screen.
  5. V-Rally is known for the syndrome of the iron daisy, the invisible flower that stops you as efficiently as a concrete wall.
  6. Content of the hidden scroll text: For avoiding procedural troubles, let’s start by the usual copyright stuff. In case you do not notice it, it’s exactly the same than the one on the copyright page, so I do not expect any problem from that side… Bruno Bonnel presents: V-Rally 2 Expert Edition (c) Infogrames 2000 All rights reserved. Game code & Design by Eden Studios. All Vehicles, company names, trademarks and logos are reproduced and used with the authorization of their respective owners. Please visit the official V-Rally web site at — http://www.v-rally.com — Original version was coded by David, Jyves, Excess, Sammy, Seb, Pal, Titi and Mike. With sounds by Tom and Manu, main soundtrack by Sin. Graphics by Vince, Master Lo, Jean Marc, ELB and co… Introduction movie by DigiMania. DreamCast port by Dbug, Sammy, Chicou, Excess, David, Jyves and Seb DreamCast graphics by Vince, Roberto, Phil, MitMit, BatMoskito, All tracks and ressource management by Bobby. Team management by Minka. Thanks to all the testing team (Fred, Nico, Jérome, Oliver and co), as well as the R&D team (thanks for the good laugh sessions) Special thanks to Brian that does very good job even if it was not supposed to be HIS job, to Malika and Virginie for beeing nice all the day long, Manu for keeping the network working, people at SOE and SOA (Serge, Gary, JWB, Wendy, Tamer, …), … Mike greetings to all demofr, codefr, pixelfr and codefr afficionados, Melisa and Arlene (be courageous please). Let’s be to the STNICC 2000 !!! Let’s wrap…
  7. If I was courageous, I could probably try to rebuild a version of the demo with the new loader and with a soundtrack
  8. Based on ConvFont by David R.
  9. Formerly known as BWitch Compiler
  10. Just opening the project containing the assets of V-Rally 2 PlayStation would take about two minutes before the UI allowed you to do anything at all, and even at this point everything was slow. I blame the ultra verbose XML format they used.
  11. Using COM automation to pilot Excel in the background.
  12. See what I did there?
  13. I guess the name was a good fit…
  14. Spawned by former colleagues from Héliovisions.
  15. You would not believe how flimsy their DVD drives were.
  16. TDU was released in 2007 and AITD in 2008

Time Commando: The Storyboard

And without further comments, here is the storyboard for the intro sequence.

For the fun, here is the ‘voiced’ version of the intro (the normal intro had a music track, but that one help explain things).



Hope you liked it!

My software history (part 2)

Welcome to the second part of this series of articles.

The first part was basically about what I did before working in videogames for a living.

This one was supposed to cover my first 10 years working in video games, 1, but I realized that already covering both Adeline and Héliovision was more than enough for one article.

That’s a shame because I love round numbers and symbolic dates!

I need to add an important disclaimer: All the things I’m writing here are based on a combination of memories, personal feelings about how things were at the time, which I tried to cross reference from other sources like my old backups or dates on websites such as Moby Games in order to get the dates right.

I may have done some errors, attributed some things to the wrong persons, or gotten a bad date. Don’t hesitate to point out errors or to comment if you have your own take on the story. As long as everybody stay civilized and honest I will not censor the messages.

Adeline Software: 1995-1997

Mit was already working at Adeline Software when I joined.

Tilt Micro Loisirs

Tilt Micro Loisirs

At the time I had a subscribtion to one of the most famous French videogame magazines, TILT2, which for various reasons ended up out of business.

Instead of a refund I got a subscription to Joystick, and in the first issue I received was a job offer from Adeline Software looking for programmers.

Adeline Software Logo

Adeline Software Logo

I was not really interested at the time because I wanted to get my Bachelor Degree. Instead I helped Mit collect materials for his resume and books, he took the train for Lyon and got the job.

One year later Adeline had grown and they needed more people, so Mit asked me if I was interested. I took the train for Lyon, and had my job interview with Frédérick Raynal3.

Ancel, Raynal & Miyamoto

Ancel, Raynal & Miyamoto

It turns out that I got hired mostly because of the Phaleon Demo.

Raynal was not interested by demos at all, but he reasoned that if somebody was able to spend two years of their life working on a demo, for free, and get it released… then probably the same person would be able to work on a video game until it’s actually done.

Which I guess makes perfect sense.

On January 1st 1995 I was in Lyon – recovering from an exhausting good bye party with my university mates -, and the day after I was in the office of Adeline Software having absolutely no idea about what I would be working on.

My work started by learning the Adeline Libraries: LibMenu, LibSVGA, Lib3D, … that was kind of a revelation for me because I never used any libs before. It’s nice to learn new and exciting things!

I also discovered the Watcom C Compiler and the DOS Protected Mode.

I converted my University ZBuffer house project as a way to learn the new development environment, and to my stupefaction the program was running twice as fast and at four time the resolution (SVGA vs MCGA) on the same machine.

I definitely considered PC as a serious machine after that.

Little Big Adventure

Little Big Adventure

Adeline Software had just released the PC version of Little Big Adventure, and was now working on two new projects: Little Big Adventure 2, and Time Commando.

Mit had evaluated the feasibility of porting Little Big Adventure on the 16 bit consoles and even had a prototype of a tile based software renderer on Megadrive, but it was clear that the machine was not fast enough for a full game port.

Fortunately, 32 bit consoles were one their way, and soon we had a Sega Saturn, Sony PlayStation and Atari Jaguar development kits.

Since we were limited in manpower we could only choose one, so we had to devise some scientific way to evaluate which one we will use.

The Jaguar devkit looked very amateurish and hacked together, with multicolored cables to connect a console to the host PC. The documentation was basically a random mess of floating pages. And there was floppies. Many floppies.

The Saturn devkit looked ok. There was decent documentation, and there was ok demos.

The PlayStation devkit was the most impressive: Large ISA cards, professionally printed CD Roms, thick glossy paper documentation in mean looking black binders with the PSX logo on each. And there was the dinosaur demo.

In the end we picked-up the PSX because it looked cool, shiny, and had a kick ass dinosaur demo.

PSX T-Rex demo

PSX T-Rex demo

There you go, professional testing for ya.

The work started by porting the PC libraries to the PlayStation. Mit did most of the low level ones (maths, rendering), while I did most of the system ones (menu, files).

When we were done with the libraries we actually started on the port4 of Time Commando.

Time Commando Title

Time Commando Title

The programmers working on the PC version were also the ones who had written most of the tools, and when the production pace increased, they were not able to work on both the game and the tools, so I basically was asked to take over and that’s how I started my career as tool programmer!

The first tool was the Scene Compiler, which basically was a command line program used to convert a textual description of a Time Commando level to either a HQR or BIG file containing all the resources used in the level5 and that could be directly be loaded in memory and used without any allocation.

Time Commando PSX

Time Commando PSX

Feature wise, the tool contained a script language compiler, texture page generator, LZ77 compressor and resource allocation for the final archive.

This tool is also indirectly responsible for killing our NT 3.51 server: One day we had to fix a bunch of bugs signaled by our partners at Activision, which involved doing a lot of small tweaks in various levels, and then rebuild the level to binary format so a new version could be built.

The way I solved that was to write UPDATED.EXE which basically took two file paths as input parameters and would then return an error code value based on which file was the most recent one.

Then one each of the available machines I ran a small BAT file similar to that one (each one with a different level being tested):

:LOOP
updated path_to_level_xx.sce path_to_level_xx.big
IF ERRORLEVEL 2 GOTO LOOP
compile path_to_level_xx.sce path_to_level_xx.big
GOTO LOOP

Basically all this script do, is to check if the scene has changed, and if yes rebuild the big file. This was enough to get Windows NT spend 100% of the CPU time in the kernel 6.

The second large tool I took over was the Time Commando Editor, aka TCED.

TCED

TCED

TCED was an interesting mix of things. Think of it as an integrated development environment from where you could load and save game levels, place enemies, bonus, define the camera rate of movement, position light sources, but also start your favorite text or bitmap editor or reset your Playstation development kit.

There was quite many other tools I worked on.

I had to write the PSX optimized version of the background movie streaming (because we could not use the built-in MDEC decompressor), which in turn had me write the PSX specific variants of the Adeline Compressed Format (ACF).

I also wrote the game end-credits sequence editor where each of the Adeline employee appears on a virtual stage as one of the game characters.



Most of the core of Time Commando PSX was written by Mit, but I still wrote some code:

  • All the menus and settings, including the pause menu
  • The script intepreter
  • The tunel traveling effect
  • The spline based shadow
  • All the 2d post processing effects (fade to grey, anti-aliasing)
World War I

World War I

After Time Commando was released, around the end of 1996, I discovered in a magazine that somebody had created Euphoric, an Oric emulator.

I downloaded it, and the magic was back!

There was even a way to program in C and assembler directly on the PC.

So I gave a shot and released a small preview of what Dungeon Master could look like on the Oric.

It was not particularly advanced, and I stopped mostly because I did not know how to use the floppy disk drive at the time, and realistically this game was not usable on a tape system.

I may finish it one day, but the game would be very different: Graphically speaking it would be redone to use the latest AIC advancements, and the whole game concept would be rewritten to be better fitting to a computer without a mouse.

Oric Dungeon Master

Oric Dungeon Master

The big boss wanted us to start the port of Little Big Adventure 2 on the PlayStation.

The problem as Mit and I saw it, was that the program was still being developed. It would be a lot easier and faster to port the original Little Big Adventure.

In the end we got an agreement: If we had two months to port LBA 1, and then we would work on LBA 2.

We said ok, and started crunching.

Little Big Adventure PSX

Little Big Adventure PSX

Long story short: We did not manage to do it in two months, it actually took four, but it’s also a game consistently praised for the quality of the port 7.

There are two versions of LBA for PSX. The Japanese version, and the European version.

The Japanese version was created from the PC version source code using an automatic code translator which converted x86 assembler to C.

The result was an absolute catastrophe, which ran at possibly 10 frames per second in 320×240.

LBA PlayStation

LBA PlayStation

The European version (written by Mit and I) on the other hand, also started from the PC version source code, but we rewrote everything that did not compile out of the box (mostly parts with a lot of assembler) or ended up running too slow (because it was designed for the way a PC renders).

Our version was certainly different it ran in 640×256 at a consistent frame rate, all the musics and cut-scenes are present as well as the three spoken languages and five written ones, and as a bonus it also loads fast and you can save at any time.

The biggest issue on the port of the game was the memory. The original game required 4 megabytes of memory and 8 megabytes on the hard-drive, while the PlayStation only has 2 megabytes of ram and a 2x CD-Rom drive.

LBA Loading Screen

LBA Loading Screen

My work on this project was mostly the data converter which loaded the original PC data and converted it for something more efficient. I also worked on the texture page generator used to pack all the small bitmaps used to generate the isometric background in the most memory efficient way 8

The project was mostly a success, but it also was the end of the console team at Adeline.

There was a number of issues in the company, both financial and structural. Mit wanted the console group to have a larger role and not just have it as a porting machine.

That was refused, so he decided to quit.

The way I was asked about what I would do next was far from being subtle or smart. Instead of asking me if I wanted to take the position, I was basically told that either I was following Mit or would stay at Adeline but that there would be no more console development.

To a brighter future?

To a brighter future?

Since Mit and I shared an apartment at the time, I was present when he signed his contract with the new company. The boss asked me if I would be interested to sign as well so we discussed the terms.

The answer was a no-brainer: I would get a better salary, and I would be working on our own console game written from scratch: Swifty!

Héliovision also had a PC game in the pipeline, with a never seen before voxel based technology, HExplore. That sounded intriguing and interesting.

Good bye Adeline, Hello Hélio!

Héliovisions Productions: 1997-1998

Heliovisions Productions

Heliovisions Productions

My work at Héliovisions started on a the 1st of April 1997. Retrospectively, that may have been a sign of things to come.

Hélio will probably stay in memories more for the epicness of the parties, the Star Craft and Quake sessions, the management decisions and global chaos… than for the games9.

Soon after I released my first attempt at demo making on the Oric, with the well named Big Scroll, which featured… well… a big scroll, an Atari ST music, and some volume meters.

Nothing incredible really, but one need to start somewhere.

Oric Big Scroll

Oric Big Scroll

At work, Mit and I were busy working on our own tech, the GLib10, inspired by what we were using at Adeline 11. Soon after we were able to start building our own tools, starting by the level editor for Swifty!

Swifty Level Editor

Swifty Level Editor

The rendering looks pretty primitive, but the reason is that it was actually a software reimplementation of the entire PlayStation 1 rendering hardware. The company could not afford to order more than one PlayStation dev kit, so we had to find a way for the artists to edit their assets and build their levels efficiently without having them to queue to access the only dev machine we had.

The resulting engine was definitely not as fast as it could have been, but it was accurate enough: It fully supported the ordered dithering, gouraud shading, transparency, 4 bit textures, texture wrapping rules, palettes, and even emulated the triangle ordering bugs and texture perspective errors.

Swifty Material Editor

Swifty Material Editor

Around Summer 1997 the company was bleeding cash and was in serious need of capital injection.

The solution was painful but necessary: We had to stop developing Swifty and instead accept to work on The Smurfs for Infogrames.

Hexplore logo

Hexplore logo

During all that time, the Hexplore team was struggling, trying to finish the game in time. The artists had to modelize 3D Voxel assets using Deluxe Paint, while the level designers had to use a world editing tool without any mass update feature: In order to tweak the balance of the game they had to manually select every single monster, treasure, door or trap, and set the parameters for each of them.

GripIni was their savior. This insane tool I hacked in few hours was basically a multi-criteria search and replace program which was able to recursively move down the list of data files to replace values by other when certain criteria were met.

Extract of the documentation:

At least 4 parameters are required:
1: The type of INI file (‘D’ for doors, ‘N’ for npcs, ‘S’ for stones
2: The reference string in the section
3: The string to search (with optional ‘*’ wildcard)
4: The replacement string

So with the following request:
GRIPINI D DOORTYPE=FOO FLAG=15,33*37,99,12 BAR

All the Doors of all the DOORLIST.INI files found in the current folder structure, which contain the string ‘DOORTYPE=FOO’
and have a line containing the substring ‘FLAG=15,33′ followed by ’37,99,12′ (with anything in between) will have he line replaced by the string ‘BAR’

In ENHANCED mode the first parameter is the number of matching strings to use.

Now try to imagine how scary this must have been to use that, knowing they were directly working on the files, and without any easy way to find out if they did a typo which actually destroyed all their data.

Hexplore gameplay

Hexplore gameplay

Looking in my archives, I discovered I also wrote CBCopy and UpdateVB; respectively being a “CB0 Copier for HExplore” which apparently copied games files are the correct location on the final server based on some naming convention involving Episode, Level and Map numbers in the file name, and the other one being a “VB1 Copier for HExplore” which apparently was doing some recursive file scan and copied stuff around.

I have absolutely zero memories of having written these, but they were probably some attempts at fixing a broken workflow.

No wonder the development of that game took longer than expected…

In February 1998 I attended the Volcanic 4 demo party, and presented the Just Oric demo.

As far as I know, it was the first time ever there was an Oric in a demo party, so people were a bit surprised – to say the least.

Just Oric - Distorter

Just Oric – Distorter

From the colors and style you can guess easily that it was pretty much based on the code of the Big Scroller, even the end tune happens to be the same one because it had already taken me a lot of time to find a tune that sounded decently at the time. Nothing was automated back then.

Just Oric - Polygons

Just Oric – Polygons

Still there was some new code: The sample player (using the Atari ST Replay volume tables), the distorted logo, and the triangle rasterizer.

The blood dripping animation was done by Greuu, one of the amazing artists we had in the company.

An ‘interesting’ development happened at the demo party: The management of Héliovision was present at the party when one particular prod was shown. They were very impressed and contacted the team who made it.

They eventually were hired as the third video game team inside the company, and the company itself changed its name from Héliovisions Productions to Doki Denki Studios.

Doki Denki Studio

Doki Denki Studio

They were young, they were ambitious, they programmed in C++ while we were still doing C, they thought we were old and unwilling to cooperate. The end result is kind of predictable: You can hardly have a positive work environment when the various teams are spending more time dissing each other than actually getting work done.

In a funny turn of events, they were supposed to work on a new game on Dreamcast… which did not have any decent C++ compiler at the time.

The Smurfs Box

The Smurfs Box

The PlayStation team was having hard times.

Without citing any name, let’s say that there was a mix of people wanting to to “become Caliph instead of the Caliph”, drug use, overtime burn-out, conflicts about how the projects should be developed, and finally somebody got heart broken for the first time.

At least, some of the projects were going forward.

The UI library was definitely looking much better, it has both support for software and hardware (3Dfx Voodo Glide) rendering with user selectable color schemes and texture skinning, full support of Hercules monitors for real time debugging and profiling, and many of the tools were getting quite advanced:

  • InterMat, a simple way to edit the interaction between different materials how they sound, type of damages
  • BigMak and MakeBank, basically a set of archive management tools to handle our BIG files.
  • LangageParser, a combined text editor, interpreter, compiler and debugger for our scripting system
  • TimeSync, a tool to edit complex bezier curves to defining trajectories of things like platforms or monsters at specific times.
Langage Parser

Langage Parser

Skinning Test

Skinning Test

Infogrames wanted us to present a plan on how we could make this Smurf game with a very aggressive schedule.

Disney had just released the game Hercules, which displayed 2.5D graphics with a very clever use of parallax on simple bitmaps. I thought that would work for the Smurfs and made a small prototype showing a gazilion of fast scrolling Smurf houses and trees with a fully animated character using the sprite sheets of the Megadrive Smurf game.

The Infogrames producer we had at the time was very happy and wanted me to come at their offices for a meeting with their brand manager to show the prototype.

Smurf Vilage

Smurf Vilage

The meeting did not go very well.

One of the things she said was “Well, I hope you have something exciting to show, I want to show Disney that not all games have to be crappy 2D shows like Hercules”. Oops…

I clearly said to my boss that there was no way we could do a full 3D platformer in 6 months, at least not without taking shortcuts all over the place.

I refused to take that responsibility and in the end I gave my resignation letter and accepted a position at a new studio, Eden Studios, as lead programmer for the Dreamcast version of V-Rally 2!

I finished some of the on-going work on the tools, and in October 1998 I started by new job, which will be the third article of this series.

And by the way, I was indeed correct for The Smurfs: The game was finally released in December 1999, more than one year after I had left.

On the Oric front, 1998 was not a sterile year either.

Motivated by the feedback I got from the Volcanic Party demo, I started to work on more serious effects, which I released during the year.

The first was my first actual real 3D code, a 3D Cube, and the second was a Textured Tunnel such as done in PC demos.

Oric Tunel

Oric Tunel

Oric 3D Cube

Oric 3D Cube


  1. Which also happens to be the period of time I worked in France, after that I moved to Norway
  2. You can learn about TILT at Abandonware Magazines
  3. The programmer and main designer of the first Alone in the Dark, he was made Knights of Arts and Literature together with Michel Ancel and Shigeru Miyamoto
  4. Which technically was more like a rewrite of the program, but that would deserve a full article by itself.
  5. The HQR (High Quality Resource) was for the PC, the BIG format was for the PSX.
  6. Just adding a one second delay between each check solved the problem.
  7. I just discovered on Hardcore Gaming that the Japanese port had actually been released, which is a shame really.
  8. The same thing was done for the font to optimize the reuse of characters with or without accents, using symmetry and clipping!
  9. Not that HExplore or The Smurfs are bad, they are just not in the same league
  10. Graphics Library
  11. That being said you could check the code and hardly find anything in common, we had some ethic

My software history (part 1)

Sometimes on IRC1 you find people you’ve not met in many, many years.

Inevitably at some point the discussion have to go round what you’ve been doing all these years, if you are still a programmer, where you are working, etc.. etc… and then of course younger participants start asking questions about our older stuff, probably because they are not used to interact with dinosaurs who actually programmed in COBOL, used black and white terminals, and even touched punch cards.

So, for the sake of my own declining memory I decided to do a walk in memory lane and write down an exhaustive (or at least as exhaustive as I can remember) list of the programs I wrote or participated in a way or another.

While I was writing this I quickly realized it would be a very long list, so to make it more edible I have split it in three parts which roughly correspond to three phases of my life:

  • This part covers what I did before I started programming for a living, so roughly from 1981 to 1995
  • The second part will cover the period of time from 1995 (when I started at Adeline Software) to 2005 (when I left France and move to Norway)
  • The third part obviously will cover what I did since 2005

I unfortunately lost most of the early works.

Back in the days me and my family were ruthlessly fighting over the audio-tapes: They wanted to record recipes or concerts broadcast on the radio while I needed them for saving my programs. Add to the mix the awesome reliability of magnetic medias over long period of time… the end result is that most of my stuff is lost. All I have are printed out screenshots and listings, notebooks with scriblings and my memory.

On the Atari the situation is much better because I knew quite a lot of people and most of what I did was released around, so many people happened to have copies of my programs and then ended-up on Pouet.net or other computer software archives. Source code wise I believe I still have about half of what I did.

University projects, I have all of it. BTS projects on the other hand I don’t have anything remaining, which honestly tells more about my interest about what I did there than in my ability to keep backups!

Time to start, I hope I have put enough screenshots to make the thing not too boring!

The Genesis: 1981-1983

In the early years I did not have my own computer so I had to go to the local microcomputer club and did learn BASIC on a ZX80 and then later on had access to slightly more advanced machines such as Louis XIV2.

As far as programming goes it was variants of Hello World, What’s your name, Guess the number and then later things like Snake or Scroll Racer.

In the mean time I was dreaming while reading the end pages of La Redoute and Les 3 Suisses3, where an endless list of micro-computers was displayed…

The Oric period: 1983-1987

I spent a good part of the summer of 1983 working in the fields in a farm helping in the corn fields, which allowed me to buy my first computer: A brand new Oric Atmos.4

Me and my Oric

Me and my Oric

I would keep this machine for almost 4 years, and in the process wrote quite many programs, first in BASIC and then in 6502 assembler5… mostly because I did not have much money to spend on software so it was easier to write my own.

My first programs were mostly typed from magazines such as Hebdogiciel and Theoric, but eventually I wrote my own, such as Oric Paint (inspired by MacPaint, 100% BASIC), Panic Miner Maze (an arcade game with about 30 hand made levels, highscores, scrolling text, 90% BASIC and 10% ASM) and Xanthenos (a role playing game, never finished it because it was too large, took too long to load from tape and ultimately got corrupted).

Xanthenos

Xanthenos

There was also a gazillion of small utilities (character set editor, sound designer, attempts at compressing data, disassembler, …) which I used for my other projects, and also many pages of sprites, animations, background graphics and pictures I did for a number of game projects which ultimately got nowhere.

I wish I had photos of my first public attempt at playing music on the Oric. It was pretty bad but also pretty cool in some awkward way: Me and a friend came on stage each with an acoustic guitar on which an Oric was fitted just under the strings. Each of the Oric was powered by a big pack of batteries stored inside the guitar frame, and preloaded with a simple Synthesizer program that played notes when pressing the keys.

In 1986 I bought an Oric MCP40 graphic printer and plotter and wrote my own hard-copy program able to print out color pictures much faster than what was otherwise available. I also used the printer to write a small newsletter for a high-school assignment and later used my Oric to resolve my maths questions and print out curves on the printer6

The Chevrolier News header

The Chevrolier News

Around this time I had a friend who had an Atari 800XL and we started to work on our own role playing game (inspired from our Stormbringer sessions), sharing the source code, until I realized why his code ran like crap on my machine while mine ran perfectly on his: The Atari had a 2mhz processor while the Oric was only 1mhz.

That was basically the end of the project, but TTZP Inc was born and at least one Cracktro would be released in the wild bearing this signature along with the Dbug II handle.

The TTZP Inc logo

The TTZP Inc logo

The Atari ST period: 1987-1993

In 1987 I unfortunately had to sell my Oric Atmos so I could buy an Atari ST7

I started slowly with the ST Basic provided with the machine, but then quickly got access to the GFA Basic[1- Which in my book is still one of the best languages I ever used]. I’m not quite sure how many things I wrote in GFA, but basically during all the time I used Atari ST machines I used GFA to build tools (editors, colors and gradient generators, text converters, data packers and encoders, …) it was really the equivalent of what people would use Python for now.

Interestingly enough, TTZP Inc survived the passage to the 16bit generation, and since my Atari XL friend (Dr Click) also moved to the Atari ST, we resumed the development of our role playing game.

Ultimately the game will never be released but would end up as being the basis for one of the Phaleon Demo menus.

Tiles

Tiles

I guess my first released GFA programs were a cracktro called Sea of Suns, I’ve lost the code but I was able to find the main picture (which honestly is the best part).

Sea of Sun

Sea of Sun

I was not particularly satisfied with the existing painting programs at the time, so I wrote my own, called Aquarel which had as an objective to be a kind of replacement simulating traditional tools and materials8.

View of the beach.

View of the beach.

Comes 1988, a big year for me because I got my Baccalauréat G2 (Accounting, with computer programming option) and proceeded to the university… to prepare a DEUG de droit (degree in law) a the local university.

Let’s just say that these three years could have been put in the ‘better forgotten’ category, but at least this helped dissipate the idea that the concepts of law, justice, morality and rightness were related. They are not.

Mission Elevator graphics

Mission Elevator graphics

That year I released the Mission Elevator cracktro (still written in GFA Basic) and my my first real 100% assembler code, the Double Scroller intro using an ugly font and a ripped music. The switch came thanks to K-Seka. I had earlier attempts at 68000 assembler using Profimat ST, which unfortunately was not able to survive things like resolution changes or playing with interrupts without dying horribly so should just be forgotten!

Ugly font

Ugly font

Then later I wrote the Dragon Slayer intro, still using K-Seka, inspired by some screenshots of an Amiga Game which was never released (as far as I know). That was my first intro involving very big sprites and sampled sound. It will end up as a cracktro for the game Lin Wu’s Challenge

Dragon's Slayer

Dragon’s Slayer

By the time 1989 came, Dr Click had already dropped out of sight.

He was also at the university and decided that his studies were more important than programming games and demos. At this point I continued alone on the game project and started to work on my own version of Dungeon Master. The first version was in GFA Basic but would later be converted to 68000 assembler.

I also decided to give a shot at 3D graphics and played with Vector Balls and Line Routines.

Dbug Vector Balls

Dbug Vector Balls

The first wireframe attempt was using the Line A, but I quickly realized that writing my own routines was the way to go. In short this means that I participated to the early contests of ‘who can draw the largest number of diagonal lines in a single frame’. I participated until it became obvious that the contest at changed to ‘who can waste the largest amount of memory to beat a stupid challenge’.

TTZP 3D logo

TTZP 3D logo

At the same time I was working on my Big Scroll, a mammoth scrolling demo using 160×200 letters9.

The code was not particularly efficient but it was how Mit became involved in the demo scene: He somewhat got hand of my scroller from his local disk swapper, realized I was living in the same city and contacted me.

I basically taught him all I knew about 68000 programming, he printed out the source code and asked me questions on the phone about what this or that was doing.

The High Scroll

The High Scroll

It happens that this was a good investment in my own time because soon after that the student was teaching the master: While I was busy wasting my time at university Mit was skipping school to learn assembler instead.

After a short while he was better than me and then returned the courtesy by pointing out where my code could be improved.

I have to admit that my ego took a hit, but on the long run it taught me a valuable lesson about keeping an open mind and accepting that sometimes other people know better and are worth listening to.

Dungeon's Intro

Dungeon’s Intro


This was the beginning of a cooperation who would endure until 1998, both in the demo and work environments.

By the time 1990 came we had started to work on our own overscan routines and released our first set of demo screens under the TTZP Inc label.

Shadow Preview

Shadow Preview

We got then contacted by Stan Mecury from Overlanders and St Wars from NeXT, both groups wishing us to join them. We ended up joining NeXT and almost immediately started to work on The Charts.

The Charts 2

The Charts 2

Since 3D seemed interesting but got kind of difficult to work with using only assembler statements I started to write my own 3D Editorof course in GFA Basic.

GFA 3D Editor

GFA 3D Editor

Still in the tools department, I had to fix some productivity issues caused by not having a hard drive: Loading everything from disk was slow, very slow, and after a crash and a reboot it would have to reload it all again, which when programming in assembler is a frequent occurrence.

I solved the problem thanks to RamBoot, a Frankenstein tool built from existing software (a reset resistant ram disk and a dead key handler) to which I added some boot sector checking and file copying code.

The end result was fabulous: My Atari ST had 2.5 megabytes of memory, and when switched on it would start the program which would then test if it was already running. If not running it would create a ram disk and then copy files from the floppy disk to the ram disk (from a user edited list). If it was already running it would just compute a checksum to verify that the ram disk content was not corrupted, and would then proceed to auto boot from the ram disk, loading the assembler, debugger, source code and assets, … all from the ramdisk.

As a result I was able to work much faster than if I ever had a real hard drive.

Additionally the tool had some fancy shortcuts to fix screen distortion and color palette, reset the YM sound, and was able to check that no virus was present on floppies while not annoying us with my own bootable floppies thanks to a white list I maintained of our own boot sector checksums.

On the side I started working on a vertical scrolling Shoot-Em Up using hardscroll and top+bottom border technics. The code was able to auto-detect the tolerances of the machine by trying to start the border triggering at various positions and detect if an IRQ managed to start up at some normally non visible scanline on screen.

Shoot em up

Shoot em up

Then came 1991 and a major shift in my life: I miserably failed at the university and decided to re-orient myself toward computing, so I moved to Laval and started a “BTS Informatique de Gestion” (Diploma in Computer Science applied to accounting) at the Douanier Rousseau.

Laval is probably one of the most boring places on earth (hint: A Mc Donald restaurant closed because it was not making enough money).

On the plus side I had interesting discussion with the boss of Parx Software and I met two brothers who would later give us screens for the Phaleon Demo under the group name The Nerve Center.

Expose Software Logo

Expose Software Logo


Mit and I started to work on Euphoria, a relatively advanced arcade game for Expose Software. Mit was coding the main game while I was doing the intro, menus and bonus levels.

Euphoria Intro

Euphoria Intro

The intro sequence had some a nice module and highcolor pictures and fonts made by Chromix, and both the main menu and high-score screens were rendered in full overscan with a digi-drum music playing the background.

Euphoria: Menu

Euphoria: Menu

The high-score also used hard-scrolling techniques and full palette changes each line, just because we could.

Euphoria: Scores

Euphoria: Scores

We learned some precious nuggets of wisdom in the process as well, such as these:
- A crappy game that get released is better than a perfect one that never get finished
- It’s more important to focus on the core of the game than on the fluff around

One has to learn the hard way sometimes…

Technically there was at least one actually working part of the game, the Fulltron, which as the name suggest is a Fullscreen version of the game of Tron. Calling the game difficult would be an understatement, but at least it was fully playable.

Euphoria :Fulltron

Euphoria :Fulltron

During the rest of the year 1991 we released a number of Charts, but I only participated as a graphic artist (I did the user interface element and animations in the Charts 5)

The 5th Charts

The 5th Charts

I later participated to the end of year Official Charts Compilation we did, by writing the the minimalistic loading screen (it had to fit in memory on a half meg machine while other intro were running).

Charts Compilation Loader

Charts Compilation Loader

The second contribution to the compilation was the intro screen, featuring a large picture by Bruno Bellamy with an overlaid vertical hardscroll.

Charts Compilation Intro

Charts Compilation Intro

The Charts adventure finished with the 6th Charts, my first ST/STe compatible intro (with additional digisounds on STe) featuring a game of Tic Tac Toe, font zoomer, and almost complete fullscreen rendering with a lot of scrollers moving all over the place.

The 6th Charts

The 6th Charts

I would close the page for 1991 with screenshots for what I did at school, but I doubt that the text mode based automated ticket delivery machine written in Turbo Pascal would look impressive. On the other hand I did that at home on my Atari ST using PC Ditto… yeah… the pain…

Of course, to create all these demos and games we also had to create tools, such as the Ultimate Gradient Maker.

Ultimate Gradient Maker

Ultimate Gradient Maker

1992 was our big year, after finally almost two years of hardwork we released the Phaleon Gigademo.

The Phaleon was a team effort, first started by The Replicants in 1989, it was finally NeXT who finished it, and I have to non-modestly say that it’s mostly the Angers Team who did it. Here is the list of my own personal contribution to the project.

I wrote the mini boot-intros present on three other disks, that tells you to insert the first disk, as well as all the graphics for the NeXT Step environment, and NeXT intro sequence.

Phaleon: Insert Disk

Phaleon: Insert Disk

Phaleon: Loading and Depacking

Phaleon: Loading and Depacking

Phaleon: Intro

Phaleon: Intro

Even if it does not look like it, this NeXT Step simulation code was quite difficult to write.

Since all the display was busy trying to display the overscan, it made it quite difficult to do things as simple as showing the opening of a new window or the launch of an application. In the end I had to interlace some rectangle blit-copy calls in each scanline to achieve a decent display performance.

Phaleon: Intro

Phaleon: Intro

Phaleon: Intro

Phaleon: Intro

I also wrote the Fullball screen, which as the name hints involves vectorballs in fullscreen.

The only part I did not do was the music, all the rest (including the eyes opening animation) were done by me. The picture was kind of difficult to do because at the time there was no software able to handle overscan formats, meaning that a lot of stitching and gluing had to be done.

In the end I used a combo of my own program (Rembrandt 2) and Degas Elite to get the final result.

Phaleon: Fullball

Phaleon: Fullball

I wrote in one afternoon a very lame ShadeBobs hidden screen (you need to press reset somewhat after the main intro)

Phaleon: Shadebobs

Phaleon: Shadebobs

The Phaleon Dungeon menu of course was there, finally released after many years in the work!

Dungeon Title

Dungeon Title

Despite not being a complete game, the Dungeon Menu features a number of gameplay elements suchs as an auto-filling of the map based on your movement, both invisible and fake walls, a roaming monster that teleports you back to the center area if it finds you.

Dungeon Monster

Dungeon Monster

Dungeon Map

Dungeon Map

If the player got lost, all he had was to press the HELP key to access the built-in help, and the texts were available in four languages and could be changed at any time using the /afunction keys.

Dungeon Help

Dungeon Help

Considering the art, there was a nice selection of high resolution graphic assets, and a nice and relaxing soundchip music to accompany.

Dungeon Fountain

Dungeon Fountain

Dungeon Door

Dungeon Door

Since this Dungeon menu started as a game engine, I had a complete Dungeon Map Editor for it, featuring multiple-level loading and saving, label/text editor, minimap display and even a printer-out mode.

Dungeon Map Editor

Dungeon Map Editor

Now of course, both the Shadow of the beast and Dungeon menus were a bit slow to use if you wanted to go directly to a particular screen, so ultimately we added a Fast Menu with a simple list of entries to select.

Fast Menu

Fast Menu

The Lamer Test was written by Mit, but it used localized data generated by a tool I wrote.

Lamer Test

Lamer Test

And of course there was also the Illusion STE screen.

This screen almost did not make it, some people said it was pointless to do STe specific code, that there was not enough STe machines on the market and that it would take some disk space that could better be used by other demo screens we had left over.

In the end I got it in by negotiating: If I could make it run on a normal 520 STe it would be ok, if it required a 1040 STe then it would be ditched. It took some time and effort, but in the end I managed to get it to fit in half a meg while keeping most of the features.

Illusion Logo

Illusion Logo

The distorted picture from Killer D.

Illusion Distorter

Illusion Distorter

The Flexi Scroll, of course inspired from Unlimited Matrix.

Illusion Flexiscroll

Illusion Flexiscroll

Illusion Credits

Illusion Credits

Illusion Plasma

Illusion Plasma

And the famous rotating rasters, copied from an Amiga demo who claimed that an Atari could not do that.

Illusion Rotating Rasters

Illusion Rotating Rasters

I did not code anything in the BudNext Screen, but I’ve drawn some of the graphics.

Budnext

Budnext

We also participated to Zuul‘s NTM Mega Demo with a guest screen coded by Mit, all I did was writing scroll texts, design some of the vector shape and draw the logo.

NTM Guest Screen

NTM Guest Screen

My last Atari production of 1992 was an intro for the Caledonia PDL Catalog.

What makes that one interesting is that it had to run on ST, STe, in color and in monochrom as well. That made for some interesting coding indeed.

Caledonia in Monochrom

Caledonia in Monochrom

Caledonia in Color

Caledonia in Color

On the serious front, I installed on the school computers some root level software written in QuickBasic to hide all my editors and tools so I did not have to use the horrendous IBM RS6000 text editor when writing C, COBOL or SQL Queries.

I never got caught, and even found out that the IBM team upgrading machines spent more than half of their time looking on machines for pirated/non licensed software, which kind of annoyed the lead teacher.

The Falcon period: 1993-1995

In 1993 I got myself an Atari Falcon 03010, and started programming on it my BTS end of year project: WIND-BUL.

Wind-Bul was supposed to be an advanced version of the Ambulance software used by my father. He had just bought a Falcon as well, and wanted to port his customer database and accounting software from his MS-DOS PC to something moder with icons and windows.

I did not manage to finish the project to a usable state but I got a prototype able to read all the data of his old software and display it on the Atari.

WindBul desktop

WindBul desktop

WindBul Customer Search

WindBul Customer Search

WindBul Rates

WindBul Rates

After the summer break I was on my way to Besancon to prepare a Licence Informatique (Bachelor Degree in Computer Science) at the UFR Sciences et techniques.

A combination of new technology, new place, lot of work at university… associated to many social events, parties and drinking, resulted in me not being as productive as I was before.

Rembrandt 3

Rembrandt 3

Nevertheless I still managed to release multiple beta versions of Rembrandt 3, while working remotely with Mit on a Falcon 030 demo which unfortunately did not go very far (The project was way too ambitious, and we spent a lot of time fighting with documentation, TOS and DMA bugs, learning the DSP, writing tools, … so basically all that remains is few true color pictures of the intro sequence)

Falcon Demo Alien Base

Falcon Demo Alien Base

Falcon Demo Animation

Falcon Demo Animation

At the end of the first university year (that would be the first half of 1994) we had to release our team projects.

Technically I will call them ‘my projects’ because realistically I was the only one in the team working on them thanks to an arrangement: They would do all the projects involving pure mathematics and abstract stuff, while on my hand I would do all the projects involving graphical stuff or low level programming.

ZBuffer Intro

ZBuffer Intro

I guess that was against the spirit of the rules, but the end result is that I got very good grades for things I sucked at, while they got even better grades for things they had zero interest in: I call that a win-win situation!

The first project was for the Computer Graphics course assignment, and since I already had done on the Atari ST all the things we were supposed to learn (Bresenham, bitmap-ed graphics, sprites, …) I decided to up the ante and write a complete 3D renderer with basic shading, textures and gouraud interpolation and Z-Buffering.

Thus the name of the executable: ZBUFFER.EXE.

The entire code was written in Borland C++, and had to use ‘far pointers’ because of the size of my buffers it would not fit in conventional segments. The end result is that it runs like crap because of horribly convoluted pointer generated code.

All the textures were drawn on the Atari with CrackArt, and the model and data were exported from a GFA Basic program.

ZBuffer House

ZBuffer House

The second project, called Solar System was written for the Projet d’Architecture des Systèmes Informatiques (Hardware/Assembler course basically) where we had to write something in 8086 assembler.

University Logos

University Logos

Coming from years practicing 680×0, asking me to write 8086 assembler was like asking me to hit my fingers with a hammer while screaming I LOVE IT!

It was not going to happen. On the other hand I did not want to get a null grade for this assignment.

After much reflexion I came to the conclusion that I would accept to write 80386 code, that would provide me with enough registers and advanced instructions to save my sanity.

I had to argue with the teacher, but in the end he got convinced that having 32 bit registers would indeed allow me to do high precisions computations for the trajectories of planets, and that doing that in 8086 would be much more painful.

So I got away with doing 80386 code while everybody else in the group had to do 8086

Intro Picture

Intro Picture

So in the end I got quite a lot of fun doing the project and learned a lot of things about the PC.

Technically this was more a demoscene production than a university thing:

  • The intro sequence shows each of the six symbols of the university (Recherche, Formation, Application, Sciences de la vie, Sciences de l’homme, Sciences et techniques) converted on the Atari to vector format and then displayed with faded-in gradient colors.
  • Then a 256 colors picture showing planets, stored in RLE format
  • The main part is using the 640×200 X-Graphics mode and exploits the screen split line feature to display a scrolling line at the bottom
  • When selecting one of the planets an information page appears, smooth scrolling from the bottom of the screen

Almost all the data was generated on the Falcon (Big Endian) and decoded on the PC (Little Endian), that generated some interesting results…

The About Page

The About Page

The Main Part

The Main Part

Jupiter Specs

Jupiter Specs

And that’s about it for this first decade.

In the second half of 1994 I started working on my Master Degree, but then I got a job offer from Adeline Software.

I tried to find a solution where I could try to finish my studies while working, but in the end it proved to be unpractical and I dropped the studies.

What happened from 1995 to 2005 will be the content of the second part, and as usual feedback is welcome.


  1. Internet Relay Chat, what people used before Facebook bought WhatsApp
  2. A beefed up ZX 81 in a plywood box, complete with 16k memory expansion, sound generator expansion, hires graphics expansion, … all tightly screwed to the box so it would not get disconnected and freeze when typing on the additional mechanical keyboard
  3. Mail order companies, yesterday’s equivalent of Amazon.
  4. Since I was a bit short on cash my grand father paid for a tape recorder and the IJK Software Chess game.
  5. Thanks to my uncle for offering me a 6502 programming book for my birthday.
  6. Until the math teacher picked on me and decided to send me to the blackboard because I was supposedly cheating.
  7. At this time I sold the Atmos with a printer, graphic tablet, joystick and interface, speech synthesizer, many books and magazines and quite many original games and utilities, all that for less than what the half meg, single sided drive Atari ST cost
  8. That was before I heard of ZZ-Rush or Degas Elite
  9. This code was then repackaged years later in what would be the What’s That Screen?, our contribution to the Bird Mad Girl Show demo by The Fraggles.
  10. This whole event would require an article by itself, but I would find difficult to not have to slander some of the Atari people community at the time.

Here comes the leet-mobile! (part 4)

After our first drive on the parking we were quite excited, but still there were some issues to deal with: the exhaust had to be fixed and we had to find out why the engine would die on idle.

Even more important, we had two months to fix all the issues before having to pass the EU Technical Control.

Trouble in paradise

After the car came back from an exhaust replacement line1 we started installing some parts we had ordered online, and fixed a lot of small things.

Some sound insulation work on the engine compartment helped reducing the noise and vibrations inside the cabin quite significantly.

IMG_5751

One of the things I fixed was the brake lights pressure switch, but unfortunately I did not tighten it enough so air came in system – seriously impacting our ability to stop the two tons monster.

We bought an air flushing kit, but we were not able to use it due to our inability to access the bleeding valves, so in the end we decided to send the car to a specialized shop.

Since the technical control had to be passed in the following next two weeks, we asked them to basically fix the brakes, fix the idle, and then pass the technical control.

I like the whooshing sound deadlines make as they fly by2

I’m not quite sure who I should blame, but what’s sure is that what should have taken two days actually took two weeks.

They found out that the master cylinder was leaking, so they had to fix it. Fair enough.

Then they thought there was something wrong with the lights. That was not good: Our lights were perfectly fine, the only problem was that 1960′s cars were using yellow lights instead of red for the brakes, so they basically made the car fit to the newer standard and this was not mandatory. But ok, let’s say that will solve the problem next time we pass the control.

The car got rejected at the control due to the corrosion on the brake lines, so they had to rebuild them, and then pass the car to the control a second time.

IMG_5770

That the brake lines were rusty and had to be changed is ok with me. That they did not do that *before* going to the control despite having been asked to fix brake problems in first place… facepalm.

Anyway, two weeks later, and lighter by kr 13000 we finally got the car back and approved.

Pfiuuu.

Details, details

At least now we knew that the car was good to go, so we could afford to do actual comfort changes.

The first thing we did is to replace all the handles by brand new shiny ones. Took a bit of hammering, WD40ing, sawing and cursing, but after few hours we were able to lock our doors :)

IMG_5779

Additionally we replaced the original seat belts by some modern one, fixed the side mirror, added a holder for the GPS, etc…

But still the engine was not behaving the way it should.

Carburettor hell

One of the things the garage was supposed to fix was the idle problem, and they miserably failed at that as well.

The result is that we had to run with the choke for way longer than we should, and we would have to keep revving up each we slowed down at an intersection to avoid the engine to die… the effect on the gas consumption was quite dramatic: About 30 liters of petrol for 100 kilometers driven3.

I decided to try to use a chemical solution, and applied some additives and cleaning products to the gas and oil tanks. This had an impact, and the consumption changed to about 20 liters for 100 kilometers driven.

Quite far of the supposedly 10 liters the Volvo L3314N was supposed to do!

And still, the car kept dying and we kept having to rev.

IMG_5854

I downloaded the Volvo service manual, with the detailed description of the Zenith carburettor, ordered a replacement K&N High-Flow Air Filter to give more breathing space to the engine, and bought a carburettor cleaning product.

I started cleaning the carburettor while trying to identify the various parts on the Volvo documentation when I noticed that there was a missing screw. Instead of the fast idle screw there was just a hole.

We started the engine with my finger pressed where the screw should have been, and miracle: The engine continued running in idle. When I removed my finger it immediately died.

So there you go: I screwed the engine, and now it’s happy again:



I do not know yet if this will have any impact on the fuel consumption, but we will keep trying.


  1. Oh the sound difference!
  2. Stolen from Douglas Adams
  3. My old 1976 2CV was using only 7.5 liters per 100km, and recent small cars are now under 5 liters

Here comes the leet-mobile! (part 3)

So the Valp was now parked on the parking: Time to get things going.

Is it dead?

The first thing we did of course is to try to start it. Nothing happened. The blinkers and windshield wipers worked so at least we knew there was electricity going on, but since starter engines are notoriously power hungry we decided to buy a battery charger, remove the batteries, and let them charge for quite a long while.

In the mean time we ordered some replacement spark plugs and a new set of distribution cables1 and additionally an original user manual for the vehicle.

After one day, one of the batteries was still not done charging; that’s not a good sign. The previous owner probably never changed them since he had the vehicle, and we were planning to change them anyway. Still we reinstalled them and tried to start the engine. Still no luck.

We decided to buy new batteries and wait for the new set of plugs

Patience is a virtue

Few days after we ordered the plugs we got a phone call from the company asking us if we wanted the military or civilian models. We answered we wanted the civilian ones, but I have to admit that I had this annoying nagging feeling telling me that we made the wrong choice.

The important thing here is to consider that this was a military vehicle originally equipped with a field radio transmitter. These things do not like interferences, specially not from the engine electrical system. To solve this issue they equipped the feltvogn with shielded covers for the distribution head, shielded spark plugs, and special shielded cables. These of course are totally non standard, which make them more expensive and harder to find on the market.

Shielded spark plugs

Shielded spark plugs

Of course, the added shielding made it impossible to use a standard spark plug removal tool because the head part was not deep enough. Fortunately we managed to find a tool that worked2.

Anyway, after carefully cleaning the top of the engine to remove the dirt and other organic mater we managed to remove each of the old plugs and replace them by the new ones, making sure we did that one by one to not get the cable order wrong.

We also decided to replace all the battery cables, and to upgrade the original batteries from 45 Ah to 62 Ah3.

New batteries and cables.

New batteries and cables.

While I was at it I spent some time cleaning the air filter4.

The moment had arrived: Will it work?

We turned the key, and pressed the start button.

All we heard was a clicking sound, accompanied by a little bit of smoke.

Oops.

Is it deader?

There was obviously something wrong, but after checking the lights and wipers it seemed at least that the main electric system was still there, and no fuse had blown up.

At least I knew what this clicking sound was: It’s the solenoid which is in charge of moving the starter’s gear in position so it can launch the main engine.

What it means is that the starter was correctly receiving the current when we tried to start the car, but only one half of it was working, the starter engine itself did not start rotating.

Using a small light torch we try to see if something was wrong with the electric cables leading to the starter engine, and this is when we got this “a-ha” moment: There was a short circuit, which explained both while the engine would not start and why there was some smoke.

What happened is that when the previous owner removed the shield casing of the distributor head, he did not fastened the metal rods used to screw the head, and as a consequence one of the rod decided to fall on the closest thing: The starter engine connections.

We managed to remove the rod, and tried to start the engine again.

YEAHHHHHHHHHHH, it’s alive !!!!!



As you can probably hear on the video, the thing is not particularly silent, but the main cause is that the exhaust is rusty and punctured.

Hopefully changing it will help a bit.


  1. it never hurt to have these changed because they tend to get porous over time and that leads to bad conductivity in wet weather
  2. Search at Biltema, they have long ones, make sure to pickup a 21mm model
  3. There was not much space left, but they fit and you can still close the engine box after that.
  4. A fancy system using oil in a basin to trap heavy particles.

Here comes the leet-mobile! (part 2)

Now that we knew we wanted one of these horribly cute off-road vehicles, I started to contact the various sellers to ask questions about their state1 and it quickly appear that you could classify the various available models in three categories based on their prices2.

  • the ones above 40000 kr come with hard top
  • between 20000 and 40000 kr they have soft top
  • under 20000 kr you find the ones that need a lot of repair work or are sold for parts
    • In the end we found a weird one, owned by a hunter.

      It was originally a soft top model, but the previous owner had imported from Sweden a hard top and installed it on the Norwegian vehicle.

      What made it special is that it has many side windows and came with a wood burning stove inside !

      That sounded like totally crazy, and also a perfect basis for a small RV:

      You never know when you are going to be blocked in the middle of nowhere in a snow storm, just go out, cut some wood, and there you go.

      A survivalist dream I guess…

      79_902422102_xl

      More seriously, that was the only hard top model in the 20000 kr range, so we decided to give it a go and called the owner. We got an appointment for the next Saturday; he would fetch us with the vehicle at Vestby’s train station with the Volvo so we could see it in action and he would explain us how to drive it3

      Comes Saturday, we are at Oslo S with our tickets waiting for the train to come, and the guy calls:

      I’m sorry, there’s been a problem. I was going up a hill and it suddenly stopped, I’m being towed back home right now, I will try to fix it, probably an electric problem, call you later.

      Grmmblblblb.

      Since we had the tickets, our afternoon was already lost and we wanted to see what they looked like, we decided to take the train anyway and go look at it.

      79_883164814_xl
      Long story short, we saw it, found it cool despite the rust, missing handles, broken spark plug head and cables, and negotiated a price reduction plus having it delivered to our place in Oslo.

      We made a bet that the failure was probably stupid, like some broken electric cable or flimsy connection, perhaps even a blown fuse.

      So there we go, with a non working Volvo 4×4 on the parking in front of the building.

      Now time to see if we are just stupid computer geeks or if we can get this thing running !


      1. were they sold for parts, or could they actually be driven and had a valid EU control certificate, did they have a trailer hook, etc…
      2. The euro to nok rate fluctuates, but as of today 1 euro gives you 7.5 norwegian kroners.
      3. It has four different driving modes, including 4×4 in low and high gear modes, plus back wheels only mode. It also has a gazillion of combat lights modes.

Here comes the leet-mobile!

Been few months since I posted something, not because I had nothing to do, but because of a number of projects I committed myself to help with1.

Today’s post is not computer related in any way, it’s about vehicles!

Commuting bliss

I moved to Norway about 8 years ago and have happily used the public transport system all that time.

Thanks to my job, I don’t have to commute during the rush hour, so I actually enjoy my twenty minutes spent in the metro; for me it’s the perfect time to go through my book list!

Three years ago I bought an apartment, which gave me opportunities to do some home improvement… but also made me realise how impractical it was to not have a vehicle: Having to pay a premium for deliveries of goods and materials that forces you to be at home a particular day ‘between this and that’ is not particularly practical.

Renting vehicles is expensive and not practical from a timing point of view, and being a member of a car pool comes with a whole bunch of issues as well.

So we decided to look for a vehicle to buy. I wanted something reliable, roomy, that would be ok to keep in the snow and cold when not being used, that would not be an obvious target for a thief, would not cost premiums in terms of insurance, and before all would not cost me a arm and a leg in buying price.

After looking at the prices of new vehicles on the Norwegian market, I had to admit that the prospects were grim: Due to the almost 80% import tax on vehicles the prices gets absolutely ridiculous. So we decided to look at second hand vehicles.

What do you mean by ‘old’?

The second hand market is much more affordable, and actually has interesting vehicles. Of course second hand means that the vehicle may have been mistreated and may cost you a lot in repairs and parts. This is when I heard of the Veteran cars benefits2!

Basically, in Norway any vehicle more than 30 years old is called ‘Veteran’.

Veteran cars benefit from a number of things, like cheaper yearly fees, cheaper insurances, a bit more leeway about following the regular technical control. An obvious issue is that it makes them more prone to failure, and it may be difficult to find parts for them. One has to be careful!

So I started to look on finn.no for vehicles in the Oslo area first registered in 1983 or earlier. There were some funny results, including some Citroen 2CV or DS, old American classics (Cadillac, Deville, Chevrolet El Camino and Corvette), Jeeps, Lotus Seven, Peugeot 404 station wagon, … but some of these cars were still in the 200 000 kroner price range!

So I decided to do a ridiculous search:

Show me all the vehicles of type station vagon/suv/pickup/other that are more than 30 years old and have a maximum price of 20 000 kroner.

That’s where all these military vehicles appeared! Have you ever dreamt of playing like Romel with a Half Track? You can find some on finn.

More seriously, after looking a bit more around, I kept coming back to these funny Norwegian field cars, thinking that this may actually be what I wanted.

Volvo L3314 blue prints.

Volvo L3314 blue prints.

L3314N

In the early 1950s Volvo received an order to develop a new utility vehicle for the Swedish Army. Full scale deliveries of the somewhat improved L3314 began in 19633.

The Norwegian Army adopted a version called the L3314N with a fold-down windscreen and 24 volt electrical system to comply with NATO regulations. About 2,000 vehicles were purchased and assembled at Raufoss in Norway4.

In summary, these vehicles were owned by the Norwegian army, and used to move soldiers around on the field. These had a soft top that could be folded and stored rolled under the front windshield. There was also hard top models, often used as field ambulances.

At some point the Norwegian army decommissioned the Volvo feltvogn and they were then sold as military surplus. They have amazing off-road abilities, so they have quite many users making it relatively easy to find documentation, parts, and help forums.

The interesting thing, is that this B18 engine was also used on a number of older Volvo cars which are considered as collector and relatively sought-after, which means that finding parts for the engine is actually not much of a problem.

So this was decided: It was the ultimate vehicle: Noisy, old, unforgettable, but also almost undestructible, easy to repair, cheap to buy, practical, can go everywhere and would make all your friends look at you and ask ‘Why, oh why !!!’.

Priceless.


  1. Like the Oric 30th birthday: http://oric30years.defence-force.org
  2. In France I was using a Citroën 2CV from 1976 as my main car, so I’m not particularly afraid in having this type of vehicle. You just need to know what you are doing, and have a toolbox close by.
  3. This section was almost totally copy-pasted from Wikipedia
  4. In Norway the L3314 is commonly known as “Felt”, meaning “field” from its Norwegian military designation; Vogn, felt, 1/2 tonn, 4×4, Volvo, modell L3314N. Saudi Arabia took delivery of some 200 L3314N Öken, complete with the Norwegian ski-racks on these desert-bound vehicles.

Minitel memories

What’s this Minitel thing anyway

Outside of France most people never heard of the Minitel.

Released in 1981, first as a small scale test in Bretagne and then extended to the rest of the country, the Minitel business plan was a stroke of genius from France Telecom: Give the choice between the regular printed White Pages and a small dumb black and white terminal allowing you to find the same thing faster; then use the large number of available terminals to allow the creation of commercial offers to make a profit of it.

An animation showing different Minitel servers

The ‘beauty’ of the monochrome teletext!

In just few years a large number of services were available. In was common in France to use it to order train tickets or check the bank account balance, and that long before anyone heard of Internet. Among other services you could also find the list of movies available at the local cinema, specialized services for doctors (like some kind of online versions of diagnosis and drugs lists), online multi user chats, x-rated services of course as well (the famous “minitel rose”).

Later the Minitel evolved, bringing higher resolution modes as well as color display. Unfortunately, most of the pages were designed using the various colors in a way to get nice shades of grey, resulting in some pretty horrific pages when seen later in their full 8 pure colors glory!

Pricing system

Some of these services were free, but for most you had to pay a fix amount per minute, the amount depending of the tarification grid used by this particular service. To access the free white pages you would use the 3611 phone number, the most common services like the french railways used the 3615 access, but some more exclusive services existed.

The way it worked is that you paid for the service through France Telecom based on how long you stayed connected, modulated by the price per minute used for the various services. Then France Telecom would pay back a percentage to the services owners.

Many servers had a front page using a certain billing grid, but would also be accessible using lower cost back-doors. These were mainly for the site operators themselves, but a number of VIP had accesses to these.

3614 RTEL

RTEL was one of these services, most people did not have access to the lower cost gate (3614) and used the main gate instead.

Many of the French demosceners at the time were using RTEL as their main communication channel, using the public and private discussion forums, but also the built-in mail system 1. I myself stopped using it around 1994 when I had to pay my own phone bills for the first time :)

File transfers

The Minitel was a pretty slow device, and the built-in modem was not particularly fast either: It was an asymmetrical 75/1200 bauds connection. The idea was that most services would involve a bit of typing but mostly a lot of receiving, thus the faster download rate.

Many people did not know it, but it was perfectly possible to dial the phone number of a friend who also had a Minitel, and instead of answering on the phone your friend could just press the CONNECT button of the Minitel and then you could both discuss using some very primitive terminal chat. A number of people with either voice or audition problems would use this feature regularly instead of using the phone.

Obviously when you put together two asymmetrical devices they will have to use the slowest speed, so this kind of dialog between two Minitels would run at 75 bauds. Fortunately the designers of the Minitel were very smart people, and in the communication protocol code they added a signal allowing any Minitel to reverse his modem: Instead of sending at 75 and receiving at 1200 it would send at 1200 and receive at 75 bauds. That was all we needed to transfer files electronically between computers!

Calling cards abuses

Putting all that together, some people found out it was possible to actually make money from piracy.

The concept was simple: If you have a Minitel service, you get money from France Telecom a part of the connection cost paid by the users of your service. The most expensive the service, the longest the connection, the more money you get. Putting two by two together, these people figured out that all they had to do was to have some Minitel based BBS system allowing the download of files using Minitels or modems. That would provide them with a way to distribute pirated software easily while making money from it. The only problem is that this would be very costly to anyone downloading or uploading software.

The solution was provided by AT&T and American travelers.

Once upon a time, all these restaurants, hotels, shops, etc… were handing out purchase tickets that had way too much information written on it. Like full card numbers or dates. And most people were very careless with these, they would generally threw them out in the trashcans or left them on the table when leaving a restaurant. On the other hand there was these people who would spend time collecting all these little paper, and then would resell lists with card numbers to whoever want them.

No there was no Internet at this time, and no you would not use these to order expensive goods on Amazon.com, so what you would do if you had a decently good English pronunciation is to call the toll free number of the AT&T on your phone, wait for an operator to answer, and when prompted say that you want to call some phone number using your card for billing. Then you would enumerate the number of the card you got from the list, the operator would then dial up the number and transfer your call to the new line. At this point all you have to do is to press the CONNECT button of your Minitel and you are ready for business: Uploading and downloading as much files as you want, with a small guilt feeling toward the person who was going to have to pay thousand of dollars of bills at the end of the month 2.

I myself did not participate, not because of some elevated moral, mostly because my English accent sucked so hard that there was no way an operator would accept me as a lawful owner of the card…

I hope you liked this small trip in the past!

In memory of the Minitel, definitely turned off in June 2012

Note: You can learn about Pinky (one of the sites featured on this animated picture) at http://www.troude.com/Pinky/Index.html-ssi


  1. Called BAL as in Boite Aux Lettres (mailbox in french).
  2. In practice there was some insurance associated to this, so most people did not really have the problem, it was AT&T who was annoyed.

Are Cheap Androids An Electric Dream?

Last Christmas was tough on my netbook. The travelling around, the trains and planes being cancelled or delayed, the packing and unpacking, the plugging and unplugging, and the occasional knocks finally killed my good old and trusty Asus eeePC 901.

More exactly, the screen decided to die 1.

Came the time to look for a replacement, dictated by the usual set of parameters to consider: cost, form factor, autonomy, ruggedness, planned usage, look.

2011 is a particularly rich year in this regard, due to the crossbreeding between the netbook, laptops, mobile phones, pda and tablets. It’s getting harder and harder to try to put these various devices in distinct categories, I’m not even going to try to do that so please bear with me: As far as I’m concerned, all these devices are potential candidates.

I guess the best way to find out what I need, is to look at what I used to have, and find out from there what was good and what was not good.

Gericom Webgine 1400

Gericom Webgine 1400

Fat and slow, but it has served well.

My first laptop was a 14 inch Gericom heavyweight. At least it was in the heavyweight category from a weight point of view because performance was not its forte: You can’t really expect a super cheap laptop that use a desktop version of an AMD processor to be super efficient at anything, or could you? So basically, it was “transportable”, the autonomy was pathetic due to the crappy battery and the desktop based processor, and it was freezing due to overheating during the summer so I had to buy one of these cooler support tablets ;)

There was at least one positive thing: It was possible to use the machine for real work, either document editing, programming, debugging.

Asus eeePC 901

The inside of a eeePC 901

It's still working.

The eeePC on the other hand was small, silent and sturdy (I had the SSD version), a very practical small machine to keep in your bag when travelling around, and the battery life was good enough to allow watching few full length films when travelling. That’s nice.

The negative things, well the machine was slow (mostly due to the Physon SSD 2), the keyboard too cramped (impossible to do long sessions of text writing, either using instant messaging, so forget about programming or writing a blog post), the Intel graphics being as usual unusable for anything other that displaying basic visual effects.

In the end, all I was using this machine for was browsing web pages, using IRC, talking with friend, and watching films.

Possible options

The market has now changed quite a lot. The traditional desktops and full-size laptops are still available and provide the same type of experience as before, the netbook category is well alive as well, but these days it’s the smartphones and the tablets that are on the front pages of most tech sites, and of course the multiplicity in terms of operating systems is larger than ever.

The easiest choice would have been to buy a new netbook. The prices have gone down, so basically for about two third of the original price I would have got a similar machine, but with a dual core Atom, twice the amount of memory, ample storage size… and still a shitty Intel graphic system.

On the next price range we find the basic full-size laptops, cheap but heavy as bricks.

Then come the tablets and smartphones. Light, good battery life, but can you really do anything useful with iOS and Android, on what is basically just an internet enable touch screen?

Finally comes the top of the range laptops from Apple, like the MacBook Pro and Air.

Difficult choices.

Tablets with keyboards?

As if we did not have enough options already, at the last CES the various hardware vendors decided to bring on the tables the (possibly) best of both worlds: Tablets with detachable keyboards.

Two models in particular seemed interesting, the Asus Transformer, and the Acer Iconia 500. The Asus had some pretty good reviews, very slick hardware, Android 3, super long battery life, flash support… and out of stock everywhere ! Damn’it !

Since these machines were not available, I searched a bit more about Android with keyboard, and I discovered this very intriguing machine from Toshiba, the AC100.

Toshiba AC100 seen from the side

Yeah, it's slim

Android netbook

The AC100 is a very special machine. Basically it fits in the same category as a normal 10 inch netbook, except that it does not run on Windows or Linux, and it does not use an Intel compatible processor. That means you can forget playing any windows game or generally speaking run anything that expect x86 compatibility.

I admit that it’s a bad start.

If you search for reviews on the web, written when the machine was introduced late 2010, you will find out that the grand majority are giving less than the average and some even less than that (The Register gave it 10%).

That looks even worse, isn’t it?

The interesting thing about these reviews, is that they basically all agree that the hardware is great, the machine is very snappy, the Tegra 2 chipset allows for very smooth display, the screen is great, it’s possible to watch 1080p videos (that you can watch on an external screen thanks to the hdmi connector).

The problem is that this machine was released with Android 2.1, does not have the Android Market, the unusual screen size and lack of touchscreen makes many application go hay-wire, and it did not even support flash. And the system was buggy too. And the web-browser did not always work.

I can understand the bad reviews, no hard feelings, too bad for Toshiba, and this probably hurt the possibilities that other companies try to do similar Android netbooks.

I guess at this point you are wondering why I spent so much time describing such a failure of machine. The answer is simple: I bought one, and I’m very happy :)

After market

When this machine was introduced, it was sold as a full price machine, at roughly the same price as normal Atom powered netbooks. Some people noticed this pretty nice and small machine, bought it, tried to use it, screamed, and brought it back to the shop for a full refund.

Then comes me, looking for the prices of various machines in the shop next door, and found out they had a pile of these machines, already used, with a big “slashed prices/must go” sticker. And indeed slashed it was, I paid it nearly half of the price it had the month before 3.

Of course, a turd is a turd, even if you got it for free.

When I plugged the machine, I indeed quickly realized that the default setup was sub-optimal, and that yes the machine was not very usable, but I gave a try.

That’s when the magic happened! After configuring the wifi and performing the registration sequence I was able to run the Toshiba Updater system which quickly decided to update itself. After this update phase I had the pleasure to discover a whole list of new available upgrades, including Android 2.2 (Yeah!), Adobe Flash support (Yeah!!), Multiple Keyboard Layout support – including norwegian -, updated Media Player, additional Market place software, Office document viewer, etc…

Post-upgrade feeling

Toshiba AC100 plugged to a HD tv set

1080p on external HDMI

After this upgrade, what was true about the hardware is still true: It’s a very light machine that feels comfortable to handle, with a very good screen and a perfectly usable keyboard. The touch pad is reactive and can be disabled by pressing one of the built in keys 4. The battery life is quite good and charges fast as well.

Basically for less than the price of the cheapest netbook I could find, I have a machine that can comfortably browse webpages – even when they have flash -, supports Skype, IRC, Remote Desktop, can play Angry Birds and a bunch of other games at full frame rate, supports an external mouse and usb card readers (it also has a built in SD card reader), can play all the movies I had (including multiple gigabyte MKV and AVI files). Google maps also works fine, and you can use DosBOX as well. (Apparently it can also access samba shares, use ssh, can play Spotify, but I did not try).

What it cannot do, is basically allow me to program on the fly, but this was not doable on the eeePC either, so all things considered it’s a choice I would do again.

State of Android

Now clearly for me it showed that the state of Android today is a bit like at the DOS far-west period when you had to make sure that each and every application would actually run on your particular system. You had to have to good type of video card, a compatible sound card, else the applications would misbehave to simply refuse to run at all.

For this machine it’s the same thing: A number of applications expect the screen to rotate freely, they expect a touch screen, some expect a particular screen size or aspect ratio, some expect a gps or 3g module, etc… so a significant number of applications will not work on this particular machine. But the one that work and can exploit the machine are really flying: All the recent 3d games are running perfectly smoothly in landscape format.

Hopefully developers will learn to stop assuming things and write correct code instead. The future will tell!


  1. Technically I guess we can call “showing the same scanline repeated all over the screen” as “not really usable anymore.
  2. If you have one of these machines, I can recommend the Renice mini PCie SSD cards, it’s like over-clocking the machine, you will not recognize it: Everything opens almost instantaneously.
  3. Which for the sake of comparison means I paid for it one tenth of the price of an Apple MacBook Air in the same shop.
  4. You also have keys to change the screen brightness, volume, bring the list of running applications, disable the wifi, play and pause medias…