Even without considering multi layering, a full-screen slab of magnified sprites is an interesting “screen mode” by itself. I wonder why nobody ever gave it a name… I propose SCREEN 3½.
Given the lower resolution (128x106) and the pattern based nature, it is fairly cheap to update (1696 bytes), fits in a single frame by a fair margin. You can also keep up to 63 frames in VRAM. If you also update the colour attributes it costs more (2544 bytes), too much for turboR. VRAM fits 42 frames then. Full screen scrolling requires 224 writes.
Like the pattern modes it does have attribute clash and doesn’t have the friendliest memory layout. But on the other hand the 32x32 blocks can be moved flexibly and overlap in different orders.
---
I recall a pretty impressive racing game for the TI-83 (Z80-based, monochrome 96x64 screen), with the road curving smoothly up and down hills, in day and night, rain and snow… Can’t find a video, but that’s the power of having to transfer just 768 bytes per frame. Something like that seems within the realm of possibilities here too, without being stuck to screen 3’s low resolution.
Impractical observation: Microsoft Talisman, one of its many abortive 1990s efforts at a 3d standard before DirectX, was predicated on a screen built of tiles and simply displacing or differentially zooming the tiles from one frame to approximate the next one or two. A bit like a real-time video codec, the key frames being generated and uploaded only every so often, but by knowing what the camera is doing rather than after-the-fact processing.
Composing a screen using the sprites as a layer would be a similar thing conceptually, and I agree that it would also open up a whole bunch of extra affine effects — zooming and rotating might look okay if you're providing a full reset at least every, say, third frame. Noisy and obviously an approximation, but possibly acceptable. Zooming would be moving sprite centres to where the centre of a zoomed tile would be, of course, not magically zooming the tiles themselves.
To make a full-screen parallax layer with sprites on MSX2;
- With 32 sprites and a limit of 8 sprites per line you can cover an 128x64 area of the screen.
- With x2 sprite magnification, this increases to 256x128 and covers the full width of the screen.
- With a sprite attribute table split you can exceed the 32 sprites limit and add a second sprite plane below the first for the remaining 84 lines.
Now you’ve covered the entire screen with a layer of fat-pixel sprites.
and also monochromatic :-(
You can specify the colour of every 32x2 line…
The mode-2 sprites on MSX VDP is the worst rarely I've seen anything worse designed.
The natural way says us the color data to be placed on tables like the pattern data, aligned, so 255 patterns, 255 color data in another place of VRAM. NOT!, they used a fixed 512 bytes location to be updated dinamically depending on the 32 sprites planes. How awful! Spending much CPU updating the sprite color data.
Also, the "multi-color" is not really multi-color. At the end you need to use 2 sprites per each real one, so you have the same 4 flickering-free per line, and adds extra work to graphics designed because the OR is not easy to handle by someone used to only draw. Also no mirroring, a very useful and basic feature of hardware sprites.
Also, at the end, you notice that sprites can't be used to decorate, you need them for the game itself. Using sprites for border maskering or fill scroll planes, limits much what you can put later on your gameplay, as takes a good ammount of the 32 sprites, and adds sprites to lines for flickering purposes.
The MSX-Video and its peculiar design gives great functionality for computer, with impressive video modes, scanning (V9958) in an age that was very rare and expensive to have this feature in a computer. But for gaming performance it is clear that was not their main purpose, you have this, and do what you can with that.
For gaming the Amstrad design is better, based on blittering you have multi-color sprites, hardware scroll in any direction. But at the cost (the die size is limited) of limited video modes and features.
For what I have seen, we have:
- The Commodore 64 was a game console with keyboard.
- The Amstrad was a mixed machine, good for work and gaming, with 3 gfx modes for working and gaming. The problem was the software not used the hardware because most games were simple ports from Spectrum that lacks video hardware, everything done using the CPU.
- The MSX was the real computer, indeed the intention was to create a cheap open architecture alternative to IBM PC. Their priority was always adding features to the computer, not the gaming console part. So the sprites are more really for adding OSD and independent planes, i.e. the mouse cursor, not bothering the other elements.
The TMS was originally designed for game applications, but in 1979. So I've always assumed it was picked for the MSX primarily because it was an off-the-shelf single IC video generator (well, nine chips, I guess, once you've added RAM) but mindful that it at least wouldn't be terrible for games. They must have realised that's what a huge proportion of cheap computers were being used for?
Pretty much agreed on the other two. CP/M was bundled with the CPC as soon as it had a disk drive so there was something of a professional play but after launching the CPC in 1984 as a tape-based machine, Amstrad launched the PCW in 1985 and the PC1512 in 1986 so it was never really pushed as a business computer. It would be solid for that purpose though — 80 column, decent full-size keyboard, all the same CP/M software that mostly works under MSX-DOS like Turbo Pascal, WordStar, etc. Games that are actually adapted to the Amstrad also tend to be pretty good: Chase HQ, Robocop, Gryzor, etc.
Commodore seems to have had no more ambition for the C64 than eating Atari's pie. Cheaper games with better graphics on a machine that can use the same joysticks and paddles. That's why the C128 is such an odd machine: which segment is that really aimed at?
To add to the list, I've always admired the BBC Micro and Electron as engineers' machines. Fantastic BASIC famously with an inline assembler, designed from the off for expansion with other ROM-based languages, and the BBC is brimming with ports intended for hobbyist home-engineers.
The mode-2 sprites on MSX VDP is the worst rarely I've seen anything worse designed.
...
For what I have seen, we have:
- The Commodore 64 was a game console with keyboard.
- The Amstrad was a mixed machine, good for work and gaming, with 3 gfx modes for working and gaming. The problem was the software not used the hardware because most games were simple ports from Spectrum that lacks video hardware, everything done using the CPU.
- The MSX was the real computer, indeed the intention was to create a cheap open architecture alternative to IBM PC. Their priority was always adding features to the computer, not the gaming console part. So the sprites are more really for adding OSD and independent planes, i.e. the mouse cursor, not bothering the other elements.
frankly I do not understand what the C64 has to do with this thread, let alone call it Console with keyboard.
In fact, this MSX1 vs C64 thread leaves very interesting data from both machines.
The C64 has a real, complete port of Shadow of the Beast if that helps as to relevancy. It might be cartridge only. It has quite a lot of parallax outdoors, including a couple of layers for the trees, but a lot is missing and it suffers a lot from the C64's sixteen-shades-of-brown palette. Indoors segments have no background.
So as far as the official 8-bit home computer ports go, it's better than the Spectrum but I think still at least partly a product of the budget that it made sense to expend on an 8-bit port circa 1990. A modern fan remake could do better. For both machines.
The TMS was originally designed for game applications, but in 1979. So I've always assumed it was picked for the MSX primarily because it was an off-the-shelf single IC video generator (well, nine chips, I guess, once you've added RAM) but mindful that it at least wouldn't be terrible for games. They must have realised that's what a huge proportion of cheap computers were being used for?
For MSX1 maybe, probably because there was not many options available, and the TMS allowed a good mix for text and graphics rendering, and it fits well with the Z80. But I think gaming was not even the priority in that case, look that it has no scroll at all. So it has limited gaming features due to the coincidence of the VDP selected, but IMO was not what they looked for specifically.
Look at the MSX2, the evolution was in the direction of pure computer. Sprite mode-2 not good for gaming as I exposed. Only vertical scroll for smotth document paging, bitmap modes priorizing image quality instead performance, no command engine for "game mode" AKA SC4, this latter one probably easily implemented, but they did not care at all.
Looking at this probably we can see the direction of the system (go to 3:20):
https://youtu.be/OX-LBPJxJE0?t=3m20s
The OS could implement a full-screen mode for apps to use vertical scroll for smooth paging as said (is not typical or trivial to use line interrupt under DOS, so a full-screen mode would be a better option), sprites for the mouse cursor and other OSD, HQ bitmap modes, etc.
In other words, what I see is a pure computer, a "cheap PC". Priorizing the computer features both for the application software (instead games) and the open expansion capabilities.
What we have is the software doing magic with what they had to release great games with the computer features. As always, if you think and design the software carefully, you can get great results, adapting the software wisely to the hardware available.
no command engine for "game mode" AKA SC4, this latter one probably easily implemented, but they did not care at all.
I don’t think the command engine would really be useful in the pattern modes. The V9958 supports it but I’ve never come up with a decent use for it.
Also, looks like this turned into another system vs system bitching thread. Haven’t we had enough of those recently already? Let’s talk about what awesome things you can do with screensplits and the palette and all that. And what we can do with the sprites, despite inconveniences. That’s ten times more interesting.