Projects

- what started out as an entry for the 2011 Retrochallenge Winter Warmup ended up becoming a full fledged game written in Turbo Pascal 7. With a liberal dose of assembly thrown in. The game is basically a Pac Man clone, and uses the undocument 160x100 16 color CGA mode as well as using several tricks to make said mode work on newer video cards like the EGA and VGA that were not designed for it. Audio support includes PC Speaker, Tandy, PCJr, Adlib, C/MS and MIDI {MT32, GM or custom patch bank!). Minimum spec for the game is a 4.77mhz 8088 with 256 megs of RAM. (It may theoretically be possible to run it under DOS 2.11 in only 128k, but this is untested). The game also runs well under DOSBOX, and on it's page you can even play it in a Java version of that DOS emulator. Leave it to me to release a new DOS game that runs on an original 1982 IBM 5150 in 2011...

- An OpenGL font unit, similar many other texture to font libraries like Brad Fish's glFont. It has it's own file format with an RLE type encoder, only stores the data as an alpha channel, and best of all, a kerning engine so that you are no longer restricted to monospace fonts.

- Creating textures on the fly as SDL surfaces. Right now it only does gradients (all four corners addressable) but I'm thinking on adding bricklining, gaussian blur, orange-peel, noise and motion-blur as options. Why waste disk space on giant bitmaps when you could just generate your textures on the fly in code?

After several years working on PHP, mySQL, HTML, CSS and Javascript, I needed a break. I've spent way too much time working on other people's stuff, and have been plodding along through complete burnout for the better part of three years. I'm on doctors orders not to work, and I'm starting to see why...

But I can't just sit around with my thumb wedged up my backside, so I decided to revisit the language I love - Pascal - and to work on it as a labor of love. Back in the 80's I wrote all sorts of silly little CGA graphics games in Turbo Pascal, some of them even using the turtle graphics unit - So I figured since my time is now my own, why not try re-doing those old simple games using modern graphics and a modern compiler.

I've been watching Free Pascal's progress the past decade and a half, but have never really been able to put together the pieces to do anything useful with it. Every time I'd start up a project, some library I'd chosen would go the way of the Dodo or stop working in newer versions of the compiler - but a lot of it was I just never had the time, or failed to grasp certain bits of the technology. Simple fact is, I have a wierd mental block, where I can still hand compile my own Z80 machine code, but cannot wrap my head around visual programming. (Making Delphi and Lazarus useless to me)

Coming back to FPC after this long hiatus I'm pleasantly suprised at just how far things have come. Where programming OpenGL or DirectX were a royal pain just a few years ago, the current implementation of SDL with it wrapping OpenGL has opened the door to so many possibilities - I've already in just a week churned out more useful code for building a game than I had in the two decades prior.

Said code being useful enough that I figured why not toss together a website and share. The above projects are, as noted elsewhere on the site released to the public domain. You are free to re-use them in any project so long as you at least give mention in your program credits or readme.txt

Featured Items

HTML 5 Canvas Demo
Just playing around with canvas. Was going to be a game, but I axed it given the current state of HTML audio.

glKernedFont
An OpenGL texture based font system featuring kerning and an optimized file format.

SDLTexture
Just playing around with generating textures inside Pascal for SDL.

jDOSBox Tutorial
How to create the files for the JAVA port of DOSBox, and then embed it in a website.

About Me

This site was created by Jason M. Knight, a retired software engineer with three decades experience in electronics, software development, and graphic arts - not to mention a wide range of hobbies including Saxophone, EWI, programming, carving, drawing, and just being a general pain in the ass on web development forums ripping new holes for the nimrods who think HTML 5, JQuery or Dreamweaver are actually good things.