It was all about the assembler in those days, I don't think I wrote a single game in 'C'.
The lost art of assembler coding... Often challenging, often frustrating, often rewarding... and strangely addictive. I remember writing a few little games and routines in assembler but my more ambitious projects nearly always were C based. Back in those days (DOS, Mode X) I would still use assembler for the likes of memory copies, sprite rendering / blitting and similar. I enjoyed being able to extract as much performance as possible from the target platform - whether using assembler, or optimisation methods such as unrolling loops (or various other tricks that were needed). Compiler optimisations weren't so good in those days.
Although saying that, while everybody else at college was struggling to write a simple "database" program in pascal (single line read then move to the next field), mine featured a full graphical GUI with movable windows! lol
LOL - I like your style! I really struggled, whilst at Uni, to muster enthusiasm for anything other than programming-based modules on my course. Even some of those modules were a bit of a chore as they assumed little to no experience of programming (the language in this case being C++) whereas I'd been programming from quite a young age. Implementing string classes, container classes (the typical lists, queues, dequeues, stacks, etc. that you will be all too familiar with), and so forth... At least they were easy to get through and didn't require much effort.
However, I did enjoy the graphics programming module strangely enough. The brief was simple; write a software rasteriser (DOS, 0xA000 13h) that would render simple 3D graphics. The starting point given was a skeleton framework for a triangle / trapezoid rasteriser and we had to go from there. My first task was to ditch that framework and I wrote my own (you'd have done the same!) The idea was to develop the renderer and add lighting, flat shading, Gouraud shading (extra points!) and so forth. As this was an area I was interested in I went a step or two further and wrote a software renderer that supported various lighting/shading models, performed affine or perspective correct texture mapping, ASE model loading support, simplified volume rendering (which ran dog slow), virtual camera system, particle effects(!), post process effects and a few other things.
My Abrash book was the Zen of graphics programming.
Oh yes, I can't believe I forgot about that one! Mr Abrash seems to be doing ok these days as I see he's now working on the Occulus Rift platform.
I remember writing stuff on the BBC using hardware scrolling, scroll screen, draw new line, erase objects that shouldn't have moved, redraw them....etc.
I think everybody should learn to code on an 8-bitter (Speccy, C64, BBC etc) because it's a real accomplishment. There were some really talented programmers back in the day that did some amazing things. Only the other day did I get a cross assembler for the BBC and wrote a pointless sideways ROM for it, was bored, but there's something physical about writing something that's "bare metal"...an accomplishment.
Yeah, I couldn't agree more. Truly talented (younger) programmers are few and far between these days. I won't get on my soapbox but my vision of programming, compared to the visions of new generation coders, don't often align! Trying to find decent software engineers is a pain these days; there is definitely a significant skills gap. It's scary how many so-called expert programmers don't have a clue how to debug or understand what's actually going on with their code at a lower level.
Now where's my gold star.
Mine or STRBramley's? LOL! STRBramley's work is awesome.
If you were referring to mine then many thanks for the kind words
Apologies for the (possibly) messy and incoherent reply. I'm currently in a meeting and attempting to look interested whilst writing this...