Schrijver
| MSX2 VPD speed
|
jltursan msx professional Berichten: 873 | Geplaatst: 07 Maart 2007, 21:50   |
The same technique used by Cas Cremers in his Core Dump promo...  |
|
[D-Tail]
 msx guru Berichten: 3018 | Geplaatst: 07 Maart 2007, 22:03   |
Only there it's much more impressive!  |
|
ASK msx user Berichten: 38 | Geplaatst: 09 Maart 2007, 10:19   |
I have been looking the NYYRIKKI example, but that is not a good scroll and have some problems.
The screen is always unsquare. If you key: color 2,1,4, you can see this.
There is problems too, if the scrool is in a part of the screen. For example, scene where there is scroll, and score that it must be static.
The technique used, it must be using copy sentence, but it must be quick.
I have been testing with the numbers of pixels.
With 255x32, the scroll is smooth.
255x64, more or less.
255x96, it begin to be slowly.
255x128, .......
I am going to look the core dump, but it would be interesting a example code.
Thx, for your help!!!!!
|
|
jltursan msx professional Berichten: 873 | Geplaatst: 09 Maart 2007, 10:30   |
Basicaly, it's very hard or impossible at all to achieve a smooth scroll using only BASIC. If you really want a good result you'll need to switch to assembler.
|
|
ASK msx user Berichten: 38 | Geplaatst: 09 Maart 2007, 11:06   |
Well. I have implemented the same in assember and it is not quicker.
The problem is in the data movement en vram, they are so much.
For that, I think that the problem must be solved with some technique.
It is not a language programing problem. But I agree that assembler can be better in the program code, for example loops, etc.
Thx!!!!
|
|
PingPong msx professional Berichten: 988 | Geplaatst: 09 Maart 2007, 14:26   |
Quote:
| Well. I have implemented the same in assember and it is not quicker.
The problem is in the data movement en vram, they are so much.
For that, I think that the problem must be solved with some technique.
It is not a language programing problem. But I agree that assembler can be better in the program code, for example loops, etc.
Thx!!!!
|
The problems is basically this:
the msx2 DOES NOT HAVE horizontal scroll facilities in hardware. So you must achieve the scroll using brute force approach.
Now, the problem is this. the v9938 is however to much slow to do brute force scroll. a copy bitrate is roungly about 170-220 Kb/sec. Should be at least 3 times faster to achieve the brute force approach smootly.
some games/demos use the horizontal adj register, to achieve horz scrolling using reg 18 but it's not the purpose of the r18 reg. so results are bad.
If you want to know the best use of this register look at ARTRAG 'total parody demo' or a video of spmanbow2
at
http://www.youtube.com/watch?v=17yAK4E7i2Y
|
|
GhostwriterP msx addict Berichten: 312 | Geplaatst: 09 Maart 2007, 19:10   |
Quote:
| The screen is always unsquare. If you key: color 2,1,4, you can see this.
|
Simply solved with a bunch of sprites or drawing a line. (or is it a timing problem?)
Quote:
| There is problems too, if the scrool is in a part of the screen. For example, scene where there is scroll, and score that it must be static.
|
Easely solved with using sprites for score or a screen split creating a status window.
PS you could always go for a vertical scroll (put the monitor on it's side)
PPS my last post as an msx freak  |
|
[D-Tail]
 msx guru Berichten: 3018 | Geplaatst: 09 Maart 2007, 19:29   |
ASK: The trick is to don't copy pixel by pixel, but by blocks of 8x8. Saves you some copies. BTW - Coredump is not at all smooth. It's updating its screen every 2 or 4 ints or something.
|
|
Edwin msx professional Berichten: 620 | Geplaatst: 09 Maart 2007, 20:09   |
Any smooth horizontal scroll on MSX2 of more than 24 lines (at 60Hz anyway) is an R#18 scroll. So they must work pretty good since there are quite a few of them.
|
|
NYYRIKKI msx master Berichten: 1510 | Geplaatst: 09 Maart 2007, 20:43   |
Quote:
| I have been looking the NYYRIKKI example, but that is not a good scroll and have some problems.
The screen is always unsquare. If you key: color 2,1,4, you can see this.
|
That is why all the smoothly scrolling games have same backround color as edge color. If the "jumpy" edges are bothering you, you can use sprites to mask the edges. This method is used in many games.
Quote:
| There is problems too, if the scrool is in a part of the screen. For example, scene where there is scroll, and score that it must be static.
|
This is where you need to use line interrupts. With line interrupts you can scroll only part of the screen. The problem is, that this part needs to be whole screen wide. (Look for example the previously posted link about Space Manbow 2 graphics.)
Quote:
|
With 255x32, the scroll is smooth.
255x64, more or less.
255x96, it begin to be slowly.
255x128, .......
|
This is correct. There is not much, that you can do about this on MSX2 platform without moving to GFX9000 hardware. Only thing that you can do to speed up the copy process is to use HMMM copy or YMMM copy when ever it is possible. There is very good article about this here:
http://map.tni.nl/articles/vdp_commands_speed.php
|
|
manuel msx guru Berichten: 3450 | Geplaatst: 09 Maart 2007, 23:11   |
Or MSX2+ hardware. Then you can skip the masking sprites  |
|
norakomi msx professional Berichten: 861 | Geplaatst: 10 Maart 2007, 11:44   |
Quote:
| PS you could always go for a vertical scroll (put the monitor on it's side) 
|
Why did I never think of that !!!!  Quote:
| Or MSX2+ hardware. Then you can skip the masking sprites
|
Yeah, it's defenitely worth using MSX2+ hardware (the v9958 has a horizontal hardware scroll which kicks ass !!) |
|
PingPong msx professional Berichten: 988 | Geplaatst: 10 Maart 2007, 13:09   |
Quote:
| Quote:
| PS you could always go for a vertical scroll (put the monitor on it's side) 
|
Why did I never think of that !!!!  Quote:
| Or MSX2+ hardware. Then you can skip the masking sprites
|
Yeah, it's defenitely worth using MSX2+ hardware (the v9958 has a horizontal hardware scroll which kicks ass !!)
|
But not so challenging...
More easy is to develop on a modern PC .... too much easy.... |
|
manuel msx guru Berichten: 3450 | Geplaatst: 10 Maart 2007, 16:38   |
Quote:
| Quote:
| Or MSX2+ hardware. Then you can skip the masking sprites
|
Yeah, it's defenitely worth using MSX2+ hardware (the v9958 has a horizontal hardware scroll which kicks ass !!)
|
Do you use it in Manbow 2? If not: why not? |
|
PingPong msx professional Berichten: 988 | Geplaatst: 10 Maart 2007, 18:23   |
Quote:
| Quote:
| Quote:
| Or MSX2+ hardware. Then you can skip the masking sprites
|
Yeah, it's defenitely worth using MSX2+ hardware (the v9958 has a horizontal hardware scroll which kicks ass !!)
|
Do you use it in Manbow 2? If not: why not?
|
@Manuel: AFAIK spm2 run on a v9938.... |
|
|
|
|