5

The arcade game MagMax by Nichibutsu came out in 1985 and features for its time an impressive 3D scrolling effect which, in my observation, is not widely discussed yet, although it should be noteworthy.

There are plenty of videos online if you want to have a quick lock.

It reminds me of the "Mode 7" of the Super Nintendo which came out many years later.

However, I could not find any information about the graphics chip/controller or if any special hardware is used in that arcade machine.

So I'm wondering if rather standard arcade hardware for that time is used and that effect is achieved by clever programming using raster interrupts or the like, or if a similar/predecessor/same chip as in the SNES is used.

7
  • 1
    It's a crude but good enough display hack in which a static background is drawn with perspective and each scanline of the background is scrolled at a different rate to give a parallax effect. This is a fairly standard sort of beam-chasing trick which the Amiga's copper made easy in 1985, and was probably quite doable on the earlier 8 bit Ataris which had similar display hardware.
    – pndc
    Sep 7, 2021 at 20:21
  • 2
    The youtube video "CODING SECRETS: How Toy Story's "Next-Gen" 3D Depth Effect Was Created" explains this technique with visual aids. While that game was done on the Sega Megadrive/Genesis the requirements are much lower. As @pndc says you really only need some sort of static background layer along with the ability to update that layer's scroll value on each scanline.
    – David
    Sep 7, 2021 at 20:39
  • There are even C64 games that do this in an albeit chunkier manner, for example Plekthora: youtube.com/watch?v=4zQDyaXHRKg
    – Alan B
    Sep 8, 2021 at 9:01
  • On Amiga this effect was called "parallax scrolling"
    – ufok
    Sep 9, 2021 at 7:20
  • usually and typically it seems parallax scrolling can be done with only a few layers (2-3), hence i thought this might be an entirely different thing Sep 13, 2021 at 19:58

1 Answer 1

3

https://github.com/mamedev/mame/blob/master/src/mame/drivers/magmax.cpp

A quick look through that file shows a hardware capable of both a tile background and Sprite foreground.

static const gfx_layout charlayout =
{
    8, 8,   // 8*8 characters
    256,    // 256 characters
    4,  // 4 bits per pixel
    { 0, 1, 2, 3 },
    { 4, 0, 12, 8, 20, 16, 28, 24 },
    { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
    32*8
};

static const gfx_layout spritelayout =
{
    16, 16, // 16*16 characters
    512,    // 512 characters
    4,  // 4 bits per pixel
    { 0, 1, 2, 3 },
    { 4, 0, 4+512*64*8, 0+512*64*8, 12, 8, 12+512*64*8, 8+512*64*8,
        20, 16, 20+512*64*8, 16+512*64*8, 28, 24, 28+512*64*8,         24+512*64*8 },
        { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
            8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
        64*8
};

Has a 68K for main game CPU and a Z80 as the sound CPU able to drive three AY sound chips.

Sure looks to me like it's programming. Not some esoteric arcade Hardware.

4
  • What is this code? Magic numbers everywhere and no explanation? It looks like some of the legacy stuff I've "inherited" at work Sep 9, 2021 at 11:24
  • 1
  • @OmarL explanations are found elsewhere in the Mame project. Emulations require givens. Definitions of things, hardware memory maps, types, etc... The file this code chunk came from describes the system at a basic level, and that is the source of the magic numbers.
    – Spud
    Sep 10, 2021 at 3:00
  • 1
    ah thanks, of course, haven't thought about that when i was looking for this information, as the saying in the industry often goes, "the documentation is the code", and that means MAME in cases like this. Sep 13, 2021 at 20:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .