They didn't do it probably because these kind of operations needed a fast CPU like the 486 while it worked perfectly with a 7mhz 68k; Probably due to Amiga custom chips taking care of everything else. It's probably due to these custom chips why Amiga games (even some of the later conversions which looked bad and dated) felt and played better.LogicDeLuxe wrote:Eventhough, the Amiga hardware was more versatile, this kind of hardware accelerated soft-scrolling can be done with VGA graphics too (scrolling top part, fixed bottom part). Oddly enough, they didn't. Most VGA side-scrolling games were pretty smooth.
Amiga style scrolling for Lucas adventures
Moderator: ScummVM Team
-
- Posts: 22
- Joined: Mon Feb 23, 2009 2:59 am
Re: Amiga style scrolling for Lucas adventures
-
- ScummVM Developer
- Posts: 53
- Joined: Mon Apr 16, 2007 4:18 pm
- Location: Turku, Finland
- Contact:
Re: Amiga style scrolling for Lucas adventures
Untrue. Scrolling in an unchained (e.g. http://en.wikipedia.org/wiki/Mode_X) VGA video mode didn't require almost anything from the CPU, it was simply setting some VGA registers to scroll the screen.ancalimonungol wrote:They didn't do it probably because these kind of operations needed a fast CPU like the 486 while it worked perfectly with a 7mhz 68k;LogicDeLuxe wrote:Eventhough, the Amiga hardware was more versatile, this kind of hardware accelerated soft-scrolling can be done with VGA graphics too (scrolling top part, fixed bottom part). Oddly enough, they didn't.
Timing the whole thing with the vertical retrace and still being able to play music and do everything else was possibly more of a problem as VGA didn't have a vertical retrace interrupt (It can be worked around though with some countdown timer stuff like the DOS module player Midas did it but it's not very straightforward or easy).
Either the synchronization problems or the fact that coding for an unchained video mode was more undocumented and a bit harder than for the normal 320x200x256 chained video mode are my guesses why they didn't use it...
Re: Amiga style scrolling for Lucas adventures
Scrolling the whole screen was easy back in the old days, aye. But they had to scroll only parts of the screen, while another part (the verb area) stayed fixed. That's not possibly by only changing a few VGA registers -- or is it? It's been so long...
Anyway, the games also were ported to a wider variety of systems. Maybe they tried to adjust for the greatest common divisor, and thus left out smooth scrolling. Although then one has to wonder why they did it on the Amiga version, as people here claim. Odd.
Anyway, the games also were ported to a wider variety of systems. Maybe they tried to adjust for the greatest common divisor, and thus left out smooth scrolling. Although then one has to wonder why they did it on the Amiga version, as people here claim. Odd.
-
- ScummVM Developer
- Posts: 53
- Joined: Mon Apr 16, 2007 4:18 pm
- Location: Turku, Finland
- Contact:
Re: Amiga style scrolling for Lucas adventures
Split screen with vertical scrolling works, I know that for sure, but split screen with horizontal scrolling... I'm not sure, I remember that when I tried it (quite some years ago) I couldn't get the lower part of the screen to not jerk around horizontally by a few pixels as the top part scrolled. So maybe it does work but I couldn't get it to work back then... don't know for sure.fingolfin wrote:Scrolling the whole screen was easy back in the old days, aye. But they had to scroll only parts of the screen, while another part (the verb area) stayed fixed. That's not possibly by only changing a few VGA registers -- or is it? It's been so long...
-
- ScummVM Developer
- Posts: 53
- Joined: Mon Apr 16, 2007 4:18 pm
- Location: Turku, Finland
- Contact:
Re: Amiga style scrolling for Lucas adventures
Actually at least according to Michael Abrash this should work (i.e. having a top part of the screen scrolling horizontally and/or vertically and the bottom part staying completely still): See "Split Screen and Panning" in http://www.phatcode.net/res/224/files/h ... 30-04.htmlBuddha wrote:Split screen with vertical scrolling works, I know that for sure, but split screen with horizontal scrolling... I'm not surefingolfin wrote:Scrolling the whole screen was easy back in the old days, aye. But they had to scroll only parts of the screen, while another part (the verb area) stayed fixed. That's not possibly by only changing a few VGA registers -- or is it? It's been so long...
Yay Information after so many years. And nothing to do with it
- LogicDeLuxe
- Posts: 437
- Joined: Thu Nov 10, 2005 9:54 pm
Re: Amiga style scrolling for Lucas adventures
Actually, it doesn't work perfectly with a 7 mHz 68k (MI2 runs smooth with 14 mHz, but slow and still a bit jerky at 7 mHz)ancalimonungol wrote:They didn't do it probably because these kind of operations needed a fast CPU like the 486 while it worked perfectly with a 7mhz 68k
Softcrolling can be done on a 80286 with an ISA-VGA card the same quality the Amiga can, and with almost no CPU time. The only limitation is that the scrolling part must be at the top, and the fixed part at the bottom on the screen. The Amiga is more versatile in regards of screen devision, but this doesn't matter for SCUMM games.
Actually, VGA does have a vertical blank interrupt. For some odd reason, graphic card manufacturers decided not to connect it to the PC architecture. What a shame!Buddha wrote:Timing the whole thing with the vertical retrace and still being able to play music and do everything else was possibly more of a problem as VGA didn't have a vertical retrace interrupt
In case of SCUMM, using double buffer and just wait for the vertical blank (while wasting some CPU time) would be no great deal, since those games had rather low framerates anyway. This won't necessarily interfere with music playing, as that could be done with a timer interrupt, which can be increased to something more usable than the rather low default rate.
Re: Amiga style scrolling for Lucas adventures
This YouTube playlist has samples of the Maniac, Zak and MI1 Amiga versions. The scrolling seems similar to the PC versions, although it could be codec-related.
I actually remeber the Amiga versions of these games to be smoother than the ones I played on my PC, but it was a 8088 @ 8MHz, which probably explains the difference.
This James Pond video exhibits smooth scrossling, for comparison.
I actually remeber the Amiga versions of these games to be smoother than the ones I played on my PC, but it was a 8088 @ 8MHz, which probably explains the difference.
This James Pond video exhibits smooth scrossling, for comparison.
Re: Amiga style scrolling for Lucas adventures
I'm too lazy to take the A500 out of its box, but honestly I don't remember Monkey 1 being smooth on the Miggy. I'm pretty sure it was 8-pixel limited as the PC version. I will boot it up when I get the opportunity.
On the other hand, I checked my Sega CD copy and the scrolling is definitely smooth.
On the other hand, I checked my Sega CD copy and the scrolling is definitely smooth.
Re: Amiga style scrolling for Lucas adventures
What about the Windows versions based on Aaron Giles code? Were V5 and V6 games ported to Windows?
From Kaminari's report, I guess smooth scrolling could be safely implemented from MI1 onward...
From Kaminari's report, I guess smooth scrolling could be safely implemented from MI1 onward...
- LogicDeLuxe
- Posts: 437
- Joined: Thu Nov 10, 2005 9:54 pm
Re: Amiga style scrolling for Lucas adventures
No need to. It is. Actually, only the SCUMM V5 titles have softscrolling on the Amiga.Kaminari wrote:I'm pretty sure it was 8-pixel limited as the PC version. I will boot it up when I get the opportunity.
Re: Amiga style scrolling for Lucas adventures
I am still baffled as to how they did it. The engine is very much centered around the idea of scrolling in 8 pixels steps in many places. They must have used some kind of clever trick, I think.
Zorbid, maybe it is "safely" possible, but so far, nobody seems to have been able / willing to figure out how, so whether it's "safe" or not is a rather moot point
Zorbid, maybe it is "safely" possible, but so far, nobody seems to have been able / willing to figure out how, so whether it's "safe" or not is a rather moot point
Re: Amiga style scrolling for Lucas adventures
Is the Amiga engine really capable of scrolling single pixels, or does it smoothly scroll on 8 pixels steps?fingolfin wrote:I am still baffled as to how they did it. The engine is very much centered around the idea of scrolling in 8 pixels steps in many places.
The former would require (heavy?) engine modification, but the latter sounds like something you can do programming the graphics hardware.
- LogicDeLuxe
- Posts: 437
- Joined: Thu Nov 10, 2005 9:54 pm
Re: Amiga style scrolling for Lucas adventures
Apparently, the Amiga uses a hardware sprite for the mouse cursor, which for one completely eliminate any interfering with the scrolling. Also, the game opens 2 screens (similar to what could have been done with VGA), one for the scrolling graphics, and one for the verbs, inventory etc.. You can see the division because, there is one line between them where the mouse cursor is invisible. The dividing line can be shifted, which is necessary, since there are some scenes with full screen graphics (for example the FOA interactive intro).fingolfin wrote:I am still baffled as to how they did it. The engine is very much centered around the idea of scrolling in 8 pixels steps in many places. They must have used some kind of clever trick, I think.
And of course, the game logic still works at 8 pixel steps. The scrolling never stops inbetween them.
And there is no vertical softscrolling for some reason.
-
- Posts: 22
- Joined: Mon Feb 23, 2009 2:59 am
Re: Amiga style scrolling for Lucas adventures
http://www.creatorscast.com/video/4e426569f9
Since youtube always makes the videos 30fps, I uploaded to a proper site allowing higher frame rates. Here is the 50fps video showing how scrolling looks like on an Amiga. As you can see, it's not smooth as in "silky smooth". But it's pretty close.
Should I make a request for scrolling like this for Lucas adventures? Or do you think it's too much work?
Since youtube always makes the videos 30fps, I uploaded to a proper site allowing higher frame rates. Here is the 50fps video showing how scrolling looks like on an Amiga. As you can see, it's not smooth as in "silky smooth". But it's pretty close.
Should I make a request for scrolling like this for Lucas adventures? Or do you think it's too much work?
-
- Posts: 22
- Joined: Mon Feb 23, 2009 2:59 am
Re: Amiga style scrolling for Lucas adventures
I still would love to see Amiga style scrolling in ScummVM.
Here is how it looks like on my real Amiga. Started the game on NTSC 60hz screenmode so that I can capture it at 60hz using my Note4 phone. It's great that now Youtube supports 50hz and 60hz (too bad my phone only records at 60hz and not 50hz)
https://www.youtube.com/watch?v=kZl96ukIC6s
And below is how it scrolls on PC and ScummVM: (starts at 10:08)
https://youtu.be/LZZXJ3zCRDQ?t=10m8s
Here is how it looks like on my real Amiga. Started the game on NTSC 60hz screenmode so that I can capture it at 60hz using my Note4 phone. It's great that now Youtube supports 50hz and 60hz (too bad my phone only records at 60hz and not 50hz)
https://www.youtube.com/watch?v=kZl96ukIC6s
And below is how it scrolls on PC and ScummVM: (starts at 10:08)
https://youtu.be/LZZXJ3zCRDQ?t=10m8s