ScummVM logo Forum Index - ScummVM website - Contact us - Buy Supported Games: GOG.com Rules - Search - Register - Login curved edge
Folder Forum Index > General Discussion > Amiga style scrolling for Lucas adventures Goto page Previous  1, 2, 3  Next
Amiga style scrolling for Lucas adventures
  Author    Thread Reply to topic
ancalimonungol



Joined: 23 Feb 2009
Posts: 21
 

quote:
Originally posted by LogicDeLuxe
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.


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.
 Reply with quote  
Post Tue Dec 15, 2009 1:45 pm 
 View user's profile Send private message
Buddha
ScummVM Developer


Joined: 16 Apr 2007
Posts: 53
Location: Turku, Finland
 

quote:
Originally posted by ancalimonungol
quote:
Originally posted by LogicDeLuxe
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.


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;


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.
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...
 Reply with quote  
Post Tue Dec 15, 2009 5:30 pm 
 View user's profile Send private message Visit poster's website
fingolfin
Retired


Joined: 21 Sep 2005
Posts: 1466
 

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.

 Reply with quote  
Post Tue Dec 15, 2009 6:06 pm 
 View user's profile Send private message
Buddha
ScummVM Developer


Joined: 16 Apr 2007
Posts: 53
Location: Turku, Finland
 

quote:
Originally posted by fingolfin
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...


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.
 Reply with quote  
Post Tue Dec 15, 2009 6:42 pm 
 View user's profile Send private message Visit poster's website
Buddha
ScummVM Developer


Joined: 16 Apr 2007
Posts: 53
Location: Turku, Finland
 

quote:
Originally posted by Buddha
quote:
Originally posted by fingolfin
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...


Split screen with vertical scrolling works, I know that for sure, but split screen with horizontal scrolling... I'm not sure


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/html/ch30/30-04.html

Yay Smile Information after so many years. And nothing to do with it Razz
 Reply with quote  
Post Tue Dec 15, 2009 7:08 pm 
 View user's profile Send private message Visit poster's website
LogicDeLuxe



Joined: 10 Nov 2005
Posts: 363
 

quote:
Originally posted by ancalimonungol
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
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)

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.

quote:
Originally posted by Buddha
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
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!

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.
 Reply with quote  
Post Tue Dec 15, 2009 7:12 pm 
 View user's profile Send private message
zorbid



Joined: 27 Nov 2005
Posts: 66
 

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.

 Reply with quote  
Post Tue Dec 15, 2009 7:22 pm 
 View user's profile Send private message
Kaminari



Joined: 24 Oct 2005
Posts: 274
Location: Paris, France
 

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.

 Reply with quote  
Post Tue Dec 15, 2009 9:49 pm 
 View user's profile Send private message Visit poster's website
zorbid



Joined: 27 Nov 2005
Posts: 66
 

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...

 Reply with quote  
Post Tue Dec 15, 2009 10:05 pm 
 View user's profile Send private message
LogicDeLuxe



Joined: 10 Nov 2005
Posts: 363
 

quote:
Originally posted by Kaminari
I'm pretty sure it was 8-pixel limited as the PC version. I will boot it up when I get the opportunity.
No need to. It is. Actually, only the SCUMM V5 titles have softscrolling on the Amiga.
 Reply with quote  
Post Wed Dec 16, 2009 12:10 am 
 View user's profile Send private message
fingolfin
Retired


Joined: 21 Sep 2005
Posts: 1466
 

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 Smile

 Reply with quote  
Post Wed Dec 16, 2009 1:08 am 
 View user's profile Send private message
peres
ScummVM Developer


Joined: 21 Nov 2006
Posts: 22
 

quote:
Originally posted by fingolfin
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.


Is the Amiga engine really capable of scrolling single pixels, or does it smoothly scroll on 8 pixels steps?

The former would require (heavy?) engine modification, but the latter sounds like something you can do programming the graphics hardware.
 Reply with quote  
Post Wed Dec 16, 2009 4:18 am 
 View user's profile Send private message
LogicDeLuxe



Joined: 10 Nov 2005
Posts: 363
 

quote:
Originally posted by fingolfin
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.
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).
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.
 Reply with quote  
Post Wed Dec 16, 2009 9:52 am 
 View user's profile Send private message
ancalimonungol



Joined: 23 Feb 2009
Posts: 21
 

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?

 Reply with quote  
Post Sat Oct 05, 2013 9:26 pm 
 View user's profile Send private message
ancalimonungol



Joined: 23 Feb 2009
Posts: 21
 

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:0Cool
https://youtu.be/LZZXJ3zCRDQ?t=10m8s

 Reply with quote  
Post Fri Feb 17, 2017 12:01 am 
 View user's profile Send private message
  Display posts from previous:      
Reply to topic

Forum Jump:
 
Goto page Previous  1, 2, 3  Next


Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Powered by phpBB © 2001, 2006 phpBB Group
Forum design by ScummVM team, icons by raina
curved edge   curved edge