Oops… I did it before!

Oops! I did actually have a piece written to post about reading the Kempston joystick, as a precursor to reading the keyboard, but just noticed that some months ago I did post exactly that. Promise I’ll wake up shortly and do that keyboard piece 🙂

M/C SCREEN$?

Back in June Peter Jones (Hi Peter, hope you’re still reading?) asked after a machine-code version of the BASIC SCREEN$ command, to help him convert a BASIC program.  At the time I briefly replied that it wasn’t the best way to do things in m/c, and now I’ll explain why, and what a better alternative is.

Continue reading

Smoothly Horizontal – Part 3 – Shifting as we go

So pre-shifted graphics are great to use in certain circumstances – objects which are constantly moving horizontally whilst animating, for example (think Manic Miner) – and are fast,  but they also have their drawbacks – not the best use of memory for one.  We could fix the memory issue by not having all those individual graphics, and just shift one copy into the required position when we need to. Continue reading

Smoothly Horizontal – Part 1

Drawing graphics at horizontal pixel, rather than character, positions isn’t quite as straightforward as doing it vertically.  Vertically, as each pixel row has it’s own address on the screen, we just had to find the correct address to start from, and work down from there.  Horizontally however, groups of 8 pixels are held within a single byte, using a single bit each, which makes things more complicated to know which bits to set. Continue reading