Epic Darius tech demo for V9990

Por Grauw

Ascended (10623)

Imagen del Grauw

13-02-2022, 18:59

Tiny Yarou made another cool tech demo for the V9990:

MSX(Z80)+V9990 drawing test using PCG, sprites, and scrolling functions

Tiny Yarou wrote:

This is the verification of the V9990 cartridge PowerGraph Light for MSX.

The previous V9990 verification video was a bitmap mode demo, but this time I used the V9990's own "P1 mode" (256x212, 16-color PCG x 2 layers) and made full use of sprites and scrolling functions to create a so-called "game-like" demo.

I felt once again that even with a Z80 CPU, if you have a powerful VDP, you can (and will) make a great game.

The video was captured from the actual machine (the background music was added later).

Previous V9990 verification videos
Test of drawing everything on a bitmap screen without using PCG, sprites, or scrolling functions on MSX(Z80) + V9990.

Login sesión o register para postear comentarios

Por hamlet

Scribe (4105)

Imagen del hamlet

13-02-2022, 19:29

Yeah, this is really hot!

Por Grauw

Ascended (10623)

Imagen del Grauw

13-02-2022, 19:31

In-video text (using Google Translate camera):

Tiny Yarou wrote:

This demo used screen mode P1 with powerful BG functionality. This mode has two 512x512 (64x64 pattern) BG layers. Any 256x212 area can be displayed by scrolling.

The boss is drawn on BG layer A and moved by scrolling. The pattern change can be done by rewriting a few bytes. I used a VDP command to run it in the background.

BG layer B uses scan line interrupts 4 times. The score, the upper wall, the background, and the lower wall are controlled separately. Implemented palette switching and split scrolling for each area.

The size of the V9990 sprite is fixed at 16x16. Because there is a limit of 125 on screen (up to 16 side by side), it is difficult to draw all the huge characters with sprites. It also has the advantage that the entire VRAM can be used as a pattern area. This time, in addition to the bullets and the muzzle, the DARIUS logo was also implemented with sprites.

As for the number of colours, 4 palettes of 5 bits x 16 colours for each RGB can be used. The score, own machine, bullets, boss, background, and DARIUS logo are used properly.

Up to 120 boss bullets are displayed. I tried to push the limit of the number of sprites displayed in V9990.

Since the scan line interrupt is used, the processing omission is absolutely NG. This demo runs at a stable 60 fps in Z80 mode. MSX is pretty fast.

V9990 has limited materials and samples, and there are few compatible apps. Rich screen modes and large VRAM are a treasure trove of possibilities. It may be fun to get one if you want to touch it yourself.

Por wolf_

Ambassador_ (9994)

Imagen del wolf_

13-02-2022, 20:58

Fishy-boss is nice! Did spot disappearing sprites lines though, too much bullet-hell I guess.
And let's hope the level graphics get better (more variation, more imaginative) than this. BA-team

Por sdsnatcher73

Prophet (3551)

Imagen del sdsnatcher73

13-02-2022, 20:04

Who cares if V9990 is part of the standard, if we can get this level of ports with just Z80 CPU that is just great!

Por PingPong

Prophet (3922)

Imagen del PingPong

13-02-2022, 20:11


BG layer B uses scan line interrupts 4 times. The score, the upper wall, the background, and the lower wall are controlled separately. Implemented palette switching and split scrolling for each area.

i've heard that a palette split (via scanline int) is a source of trouble on v9990. Did it work correctly?

Por Grauw

Ascended (10623)

Imagen del Grauw

13-02-2022, 20:33

I heard the same, though I’ve never seen it in person nor in screenshots or a video. Maybe worth trying sometime, I also wonder if there is a way around it by e.g. blanking a line, double buffering the palette, or timing it carefully. But I guess Tiny Yarou only changes the palette selection (r#13) and not the palette itself?

Por msd

Paragon (1488)

Imagen del msd

13-02-2022, 21:48

White pixel noice appears when you change the palette values. Only way I found it to be less visible when I changed it with the screen in overscan mode and then during vertical retrace. I think this issue occurs during any time the Vdp is using the palette data . So also during drawing of the border .

Por GhostwriterP

Paladin (672)

Imagen del GhostwriterP

13-02-2022, 22:36

Palette selection with R#13 works fine without noise as far as I know. IIRC it is also possible changing at least 1 color in hblank on turbor without noise if timed correctly.

Por msd

Paragon (1488)

Imagen del msd

14-02-2022, 19:24

I think the noise is generated when the palette data is accessed by writing in the palette data register /port

Por Grauw

Ascended (10623)

Imagen del Grauw

14-02-2022, 20:45

Tiny Yarou added English subtitles for our convenience.