Old dog, old tricks
Thursday, August 14th, 2008Some discussions in the office about current issues on modern consoles curiously remind me of similar problems on the ST. A background loading thread that streams stuff from the DVD, where assets have to be carefully laid out to minimize seek times, is really the same as what people did in “trackmos” on ST and Amiga.
We didn’t use real “threads” with mutexes and everything, it was a lot simpler:
- the demo code was put in the VBL interrupt (One ASM line: move.l #callback_address, $70.W)
- the main code continued in the background, free to load, decompress or precompute the next effect, whatever was needed
No threads, but the end result was pretty much the same - although limited to one “main thread” and one “background thread”, granted.
We didn’t stream from the HD or the DVD, we streamed from the only thing we had: floppy disks. Properly storing your data in contiguous sectors on the disk was not only important to speed up loading times. It was also important to minimize the awful noise made by the floppy disk controller when seeking. With large seeks it sounded like the thing was about to break, so, yeah, we paid attention to those issues.
Those days I see some PC developers moving to consoles and rediscovering those problems, or cursing the next-gen consoles for those painful thorny new issues. But they’re nothing but new.