I was looking at videos of 8 bit versions of outrun (and Amiga and ST), and it is amazing how sh1t they all are... All nothing like the arcade version or too slow. I actually owned the MSX2 version at the time and I remember it being playable, but it could be done better. I used to think the Sega Mster system version is exactly the same game as MSX2, but now I checked again looks better, is it not a port of each other? If you are doing an Outrun remake it is worth doing. I would say it is impossible to do an arcade port on MSX2 or any 8 bit machines, with v9990 may be something close.
Alleluia!
This is the usual story that is always mentioned by spectrum coders that only know spectrum and try to code msx as a spectrum. Obviously changing each occourence of :
ld a, 20
ld hl, somevramaddr
Ld (HL),a
with
ld a, 20
ld hl, somevramaddr
call WRTVRAM
Does not give of course the same performances!
But as grauw said, bitblitting operations tend to be block oriented and a out(0x99),a is not soooooooo slow than a ld (hl),a for sequential access. a sw sprite is a good example of contiguos vram access as it is a scroll routine.
Plus some games need to implement a sw tiled mode in spectrum while on msx one can take advantage of hw tiled mode (nametable).
not to mention sprites.
the only thing where performances clearly suffer is when you do a lot of single byte vram access in non sequential way.
like this:
(in basic)
PSET (RND(1)*256, RND(1)*192)
of course, because each time the VRAM PTR need to be set an msx is about 8 times slower than a spectrum.
But if you move 32 contiguos bytes of vram the situation will be a lot different and the overhead of setting vram ptr is not so heavy.
There are also some situations where one can take advantage of autoincrement feature resulting in better performances that a standard RAM move loop on z80 main memory.
The real brake is the vdp delay only in active area and only on msx1.
The msx2 outrun (oficial)
Outrun msx2
I don't like Full Throttle at all. It is the precursor of Chase HQ.
I was looking at videos of outrun ports for reference, SMS version is much better than MSX2 ver, MSX2 could have done that though. Then pc engine and slightly better mega drive versions are definitely what's expected from a v9990 port. There's no way to achieve Saturn quality, and then there is a Sega classic collection PS2 polygon remake... I think in terms of game play, modern outrun like outrun 2 / coast to coast's drifting driving is more fun to play, so if you are making a outrun-esque game, I want drift!
It would be too easy, no achievement to create something better than a simple z80 @ 4Mhz with a relatively limited video hw does, if you have a V9990 under the cover. To much easy:
You have scroll registers
Fast Blitter
Tiled Mode
Powerful Hw Sprites
Two layer mode....
No delay in VRAM I/O.....
the vespertino achievement was to get this result with the std CPC hw. Even if you succeed in something better on V9990 the result is in some aspect inferior to what the vespertino team got, if you consider the hw difference.
Those are harsh words ... I'm not quite sure diplomacy is your forte
But I can somehow understand them, as I was the first to voice them, about a week ago.
Anyhow, there are 3 things to consider :
- I do this for my own pleasure. Coding and having a game that I like and is up to what I had dreamed.
- I'm alone. I don't have a team like Vespertino's. Coding takes a lot of time, and we all know life does not give us a lot of that. So if the V9990 helps me to get to the game faster and with better results, I'm all up for it.
- The hardest part of that game is the road rendering engine. And I have proved it can be done on an MSX2. The rest is "just" managing sprites on screen and add some music. The difference, however, is in the result.
how about making it for both MSX2 and MSX3
on the 9990 one makes the cars and trees with sprites and sorts them by z. and the MSX2 version goes by simply doing the same.
the topic of "sprite budget" has disappeared. with z sort, the 33rd sprite is the tree down the road that pops up later - very natural!
It is not a matter of harsh words.
Today one can got better version than the arcade with a modern PC using a high level language.
But obviuosly what's the fun? you can code this game even in javascript.
About your osservations:
1) If it is for your pleaure i suggest you to code for V9990 (if it is a pleasure for you). Instead it would be interesting comparing V9938 and V9990 to see what is the difference in the end result due to the different hw.
I clearly suspect that the V9938 will not get any development instead.
2) You are alone, but i think no one had pushed you. And i think no one had ever pushed anyone in any projects. There are a lot of unfinished projects here due to various reasons but i think no one on MRC complained directly to the developer(s)
3) You have already used the full power for the road rendering engine and very little power is for "just" doing others things. Would be interesting adding those features and see how this impact on the road rendering engine fps.
maybe it is playable enough.
meanwhile on c64 https://youtu.be/qhO881r_itQ
Very interesting, he seems to be using lots of raster tricks
I guess that the road stripes are a bunch of multiplexed sprites
https://www.youtube.com/watch?v=0vakiHsLylk