It would be great if it ended up in a complet game.
What frame rate are you getting with the current version?
I don't know for the current version ... I think the last time I checked it was around 10 fps.
The result looks good, that's all I know.
Would a g9k give any observable boost in framerate, or is this mostly the Z80 at work?
It's a joint work between the V9938 and the Z80.
The VDP provides the blitter engine for main rectangle areas.
The Z80 calculates and outs the rest.
It would be great if it ended up in a complet game.
That is my intention.
But I'm cautious, and for 2 reasons :
- The framerate is OK for now, but there's only the road rendering engine and it's already making intensive use of CPU and VDP. If I add multiple sprites (and I will need all 32 of them, maybe even use spritesplit to add some more), score, music, background, it might slow down things too much to be playable. That's why I'm going one step at a time.
- I know myself. I tend not to finish things. So far, I must say that it's been the MSX project on which I have worked the longest (5 months), but I know life tends to interfere at some point ...
This would certainly be a unique game on the MSX platform. I don't think a racing game with such graphics exists yet. So there's your motivation :-)
Your method seems quite complex... How about something like:
Awesome! I think back in 1996 i could lift such optimization myself (i remember i was hunting each CPU cycle), and now i see i was too linear with my routine and therefore dumb, maybe decades of not programming assembler made those skills quite rusty. Thanks, i'm gonna use your snippet, it have a nice low overhead
Awesome! I think back in 1996 i could lift such optimization myself (i remember i was hunting each CPU cycle), and now i see i was too linear with my routine and therefore dumb, maybe decades of not programming assembler made those skills quite rusty. Thanks, i'm gonna use your snippet, it have a nice low overhead
Ok... Now thinking again, you need to add something like JR Z,OVER_OTIR after AND 15 but I think it has still relatively small overheard.
The framerate is OK for now, but there's only the road rendering engine and it's already making intensive use of CPU and VDP. If I add multiple sprites (and I will need all 32 of them, maybe even use spritesplit to add some more), score, music, background, it might slow down things too much to be playable. That's why I'm going one step at a time.
Can't your engine skip frames?,if so you can leave free a lot of time and increase the speed feeling.
I know myself. I tend not to finish things. So far, I must say that it's been the MSX project on which I have worked the longest (5 months), but I know life tends to interfere at some point ...
What works for me to actually finish projects is not to get too ambitious. Gigantic projects never get finished in my experience If I were you, I would target a minigame using this engine. Something simple but playable that is doable in a couple of months. Otherwise, as you say, life gets in the way
Would a g9k give any observable boost in framerate, or is this mostly the Z80 at work?
It's a joint work between the V9938 and the Z80.
The VDP provides the blitter engine for main rectangle areas.
The Z80 calculates and outs the rest.
Obviously, but how much of the current FPS is due to the VDP? Would things get much smoother with a fast VDP such as the G9k? I'm just trying to find out if there's an MSX configuration that would run this smoothly, with music, sprites and perhaps some objects passing by, background mountains etc. What would e.g. the performance be with a tR/R800 + g9k?
The VDP is used for filling that is the fastest operation. Probably the CPU access is slowering more. What probably miss more from the 9990 is the interrupt for command finished.
how much of the current FPS is due to the VDP?
If I disable the part of the rendering done by the Z80, I gain 25% of the total cycles needed to built a full frame. But you have to keep in mind that the Z80 is rendering during the VDP HMMV commands. Therefore, a big part of the Z80 cycles are absorbed.