3 ms·
I have fond memories of writing assembly for the 68000. It had many RISC-like properties (a large number of registers, few specialized instructions like the lo
by zackmorris 12y ago
I have fond memories of writing assembly for the 68000. It had many RISC-like properties (a large number of registers, few specialized instructions like the looping and string handling of the x86, not having to worry about memory segments, etc). I wrote some interesting B&W scrolling blitters after seeing the full screen labyrinth scrolling in Beyond Dark Castle. I can't remember if they used bit shifting or rolling, but I don't think I managed 30 fps because the Mac Plus had such a slow bus that only vertical scrolling at 30 or 60 fps was possible by reading from scan line offsets of the source image. I used Apple’s BlockMove(), which was like an even more optimized version of memcpy(). The horizontal scrolling jittered when it hit 8 bit multiples because I wrote an optimization that skipped the shifting. I actually commented that out just to get consistent speed (I later synced to the vertical refresh instead).
I often feel that Apple's jump to PowerPC was not worth it. Losing hand-written assembly was a major blow and took Apple out of gaming for years because no Mac port came even close to the optimized innermost loops of games like Descent. I remember running games on a friend’s 486 at full speed that only got 10 fps on my 60 MHz PowerPC. Those were bleak years. Luckily video cards eventually leveled the playing field (but brought their own issues, which we still struggle with until DSP instructions are brought on-chip the way the FPU was).