Commander Keen's Adaptive Tile Refresh
(fabiensanglard.net)
from tedu@inks.tedunangst.com to inks@inks.tedunangst.com on 27 Jul 2023 21:53
https://inks.tedunangst.com/l/5014
from tedu@inks.tedunangst.com to inks@inks.tedunangst.com on 27 Jul 2023 21:53
https://inks.tedunangst.com/l/5014
I have been reading Doom Guy by John Romero. It is an excellent book which I highly recommend. In the ninth chapter, John describes being hit by lightning upon seeing Adaptive Tile Refresh (ATS). That made me realize I never took the time to understand how this crucial piece of tech powers the Commander Keen (CK) series.
At its heart the problem ATS solves is bandwidth. Writing 320x200 nibbles (32 KiB) per frame is too much for the ISA bus. There is no way to maintain a 60Hz framerate while refreshing the whole screen. If we were to run the following code, which simply fills all banks, it would run at 5 frames per seconds.
threaded - newest