Archive for August 14th, 2008

Old dog, old tricks

Thursday, August 14th, 2008

Some 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.

shopfr.org cialis