How “Old School” Graphics Worked
Posted by Rampant Coyote on August 26, 2015
Oh, man. This brings up some memories. I worked with the Commodore 64 graphics for years. Never produced anything commercial, but I certainly struggled with these challenges.
There’s something he doesn’t bring up in the video about the Commodore 64’s sprite mode. Each sprite had its position dictated by two bytes – one for X position, one for Y position. Now, if you are a programmer, you can recognize that there’s a problem with 320 x 200 resolution… there’s more horizontal screenspace than can be represented by a single byte. So there was another value you’d have to tweak to set the “seam” bit which acted as an extra bit of information that set the value to 256+the X value. Basically it expanded the horizontal resolution to 512 instead of 256. It was kind of a pain in the butt to work with, especially in BASIC.
There’s a reason why old-school games were so driven by tech and programming. It took a lot of fancy code to get those graphics to work, and at speed.
Filed Under: Art, Programming, Retro - Comments: 3 Comments to Read
Maklak said,
Thanks. That was educational. I was wondering how it worked because today sprites are usually a bmp uncompressed from a png and they can eat up hundreds of MB of VRAM.
Rampant Coyote said,
Yeah, that’s the amazing thing… an entire game would have to fit inside memory that was smaller than a single screenshot of a 320 x 200 screen.
Maklak said,
And there’s more of them now.
https://www.youtube.com/watch?v=Tfh0ytz8S0k&list=PLfABUWdDse7bfBp4HvkN_RSKdXygMO71Z&index=1