J. P. Lee BSc(Hons)
Programmer
Databases, graphics, audio, networks.
C, C++,C# Delphi, PHP, HTML, WML, Javascript, CG, HLSL, Unity3D
UK website
Established July 1999

Click here to contact me
Home Programming Internet General
Intro My CV Game programming
Game programming

Here's a collection of non -commercial game related stuff.


Playstation2 Homebrew

Look I'm the new Max Headroom!
Using a modified Playstation 2, Naplink and freely available compilers and libraries, cobbled together enough code to load a 3DS object of a face and put my face as a texture on it. As if that's not spooky enough, I've put a boobah onscreen just to test sprite rendering..
The object rendering is probably the least efficient possible- triangles not tristrips projected on the EE not the VU and rendered directly through the GIF.

Audio (Interrupt driven code)
In 1992 I developed a realtime digital effects program for the Atari ST and Replay16 DAC/ADC module
The program was written entirely in 68000 assembler and had a graphical interface.
The interface was designed in collaboration with a sound engineer so that the software would be more intuitive.
The finished program was submitted to "Atari ST Format" magazine.
The audio sampling and effects processing was interrupt driven.
Click here to see the 68000 assembler source code


In 1998 I wrote 'Shoot-a-tutor' in pascal and x86 assembler
The game consisted of a first person run(and jump) around a flat perspective correct texture mapped floor, shooting rockets at as many LJMU tutors heads as possible in under 2 minutes.
(It was just for fun) The heads made quacking sounds at random intervals, with the volume determined by their distance . Rockets went whoosh and exploding heads would make appropriate comments like "arg!"
Audio for the game was provided by an 8 channel interrupt driven stereo audio mixer which even included delay effects.
Click here to see the interrupt code


Level design tools

In 1996 I thought Doom was cool and I wanted to be able to make my own levels.
I didn't think the existing level editors were versatile enough so I wrote my own.
I wrote JDoomEd in Borland pascal in 1996, the source code spanned 9 files and totalled 212Kb.
Due to the sheer size of a DOOM level and that this was being run over DOS, it required the use of 'expanded memory'. I wrote a set of functions to deal with paging the required memory in and out.
JDoomEd was a fully functional level editor for Doom and Doom2.
Unfortunately, it won't run in Windows98 or above due to it's use of 'Expanded memory'.
You can Click here to download a WAD I made of the Southport Floral Hall

3D Graphics
I've had an interest in 3D graphics since I was about 14, at that time getting a wireframe box spinning on the screen of a 'Commodore plus 4' was quite an achievment.
Since then I've written several programs relating to 3D (mostly as test cases and experiments) .

On the Amiga using GFA basic and 68000 Assembler I wrote a program to project 3 walls, texture map them (perspective correct of course) and light them according to distance.
The lighting and texturing involved some clever work with the colour palette to make it work in 256 colours
I could not get the code running fast enough to be of much use as the Amiga was only 14Mhz and the bit-planed graphic memory was not really suited to the task.

While I was a Director of MegaHertz Computing Ltd, I wrote an affine texture mapping routine that would stretch a texture onto a triangle, there was no perspective correction but it did run fast enough to look impressive.
Screenshot shows woman in bikini mapped onto cubes bouncing about in an invisible room
I was also working on a 3D object designer using Borland Delphi (see Programming->delphi).

At Swiftlevel in 1998 I was employed to build a new 3D graphical interface for their computer controlled Lathe.
I wrote a demo version in Delphi and another using MS VC++, using OpenGL to project the lathe.
Parts of the lathe could be clicked on and settings could then be alterred.
I also looked into using DirectX for the graphics due to the slow speed of OpenGL on the embedded PCs.
Downloadable copies of the Lathe software are available within the programming>delphi section of this site.

Copyright 2002, J.P.Lee
Site design and content management system by J.P.Lee
Log in