chibi akumas on v9938

By PingPong

Prophet (3184)

PingPong's picture

16-12-2018, 13:46

Is there a youtube video showing the game on a plain z80+v9938. on youtube i can only find v9990 videos

Login or register to post comments

By keith56

Master (149)

keith56's picture

16-12-2018, 22:26

Here's a video of the game running on Real Hardware!
While it's a 'beta test' this is the final released version!
https://youtu.be/ob4awCrxPnk

Also the first half of this video is on the regular MSX:
https://youtu.be/k15qjDvd29U

Note... look at the bullets... if they're just dots - then it's the 9938... if they are small sprites then it's the V9990... of course the V9990 has better backgrounds too - but that's harder to spot if you're not familiar with the game

By PingPong

Prophet (3184)

PingPong's picture

17-12-2018, 19:42

thx, the second link you post is very interesting... there is a lot of action on screen. how did you manage to get this speed with the vdp blitter ?

By keith56

Master (149)

keith56's picture

18-12-2018, 00:37

Well, the main thing is I use RAM access to draw the bullets and gradients not VDP commands... and I draw the background gradients with the Z80 while the VDP is filling the background clouds and mountains and the like.

I also never use the firmware for anything, so I'm probably saving some time there too, and I keep the vdp status register pointing at reg 2 so I can quickly check if the VDP is busy... rather than SR 0 which the firmware interrupt handler relies on being selected - that probably saves some time?

By PingPong

Prophet (3184)

PingPong's picture

19-12-2018, 00:16

keith56 wrote:

Well, the main thing is I use RAM access to draw the bullets and gradients not VDP commands... and I draw the background gradients with the Z80 while the VDP is filling the background clouds and mountains and the like.

To draw small bullets, effectively you can use direct vram access, less outs.
but i think to draw a straight horizontal line the vdp should be faster than z80 especially with hmmc or ymmc command.
Of course if you take advantage of both accesses (vdp+z80) the speed is greater

Quote:

I also never use the firmware for anything, so I'm probably saving some time there too, and I keep the vdp status register pointing at reg 2 so I can quickly check if the VDP is busy... rather than SR 0 which the firmware interrupt handler relies on being selected - that probably saves some time?

using the S2 reg as the default selected is the way to go, you gain a lot of time. but i think you use a custom ISR because the vdp require ack on every vblk interrupt by reading s0 so 50 / 60 times per second you need to switch back to s0 and you can do only with custom isr, right ?

Plus: disabling sprites let you gain some speed in vdp command speed. If do not use them, simply disable the sprites.
you can disable sprites even from one scanline to another say for example you do not need them on screen for screen y positions from 50 to y=180. to do this set a horz int handler to line 49 then disable the sprites and set int handler to scanline 180, that when fired re-enable the sprites and set int handler back to line 49.

in this way you can get some speed improvement for the time period the raster goes from line 50 to 180.

My MSX profile