English Amiga Board


Go Back   English Amiga Board > Main > Nostalgia & memories

 
 
Thread Tools
Old 19 October 2016, 11:27   #1
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 485
Were there any Amiga games that were "racing the beam" the Atari2600 way?

The Atari2600 was known to "race the beam", because it had no memory for a video frame buffer (see for a nice explanation here: https://www.wired.com/2009/03/racing-the-beam/ )

It makes me wonder whether there were any Amiga games known to "race the beam" the Atari 2600 way, or did all Amiga games make use of a video frame buffer?

Hopefully someone with knowledge in this topic can share some insight?

I sort of came interested in this question after reading the Codetapper interview with Martin Pedersen (here: http://codetapper.com/amiga/interviews/martin-pedersen/). In the Battle Squadron section it is said:

Quote:
Are there any technical tricks you were especially proud of in this game over Hybris?
It was still necessary to be clever about the time required to print the bobs, so when the raster was about 1/3 down the CRT, enemies in the top part of the screen stared being erased and reprinted. Then when the raster was 2/3 down, more enemies could be erased/printed. When the raster was below the bottom of the screen all enemies could be deleted/printed.
This avoids having to use double buffering, while still having about 1.5 frames to delete/print the bobs. Overall this saves a lot of processor time... that in turn could be used to have more enemies on the screen :-)
Is there anyone who can explain in plain English what is going on technically? I'm a bit confused, does it make use of a buffer while also (still) writing to that buffer while it is scanned out by the CRT, or what is really going on
Dr.Venom is offline  
Old 19 October 2016, 13:55   #2
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,348
In case you mean "racing the beam" in the strictest Atari 2600 sense (only using sprites and copper), I know of no such cases. It doesn't make technical sense, even less so since the CPU speed is very variable on the Amiga.

What you see on every copper rainbow background is a similar phenomenon, though. The copper is tightly bound to screen positions and can do much the same things the 2600 could do by locking itself to the raster.

In case you mean locking screen updates (blitting) to various raster positions, that's not unusual, as stated by Martin Pedersen.
idrougge is offline  
Old 19 October 2016, 17:24   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
I only know some demos that "race the beam", for example vertical "copper" bar effect.
Toni Wilen is offline  
Old 20 October 2016, 10:39   #4
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 485
OK, thanks for the insights.
Dr.Venom is offline  
Old 20 October 2016, 10:51   #5
Master484
Registered User
 
Master484's Avatar
 
Join Date: Nov 2015
Location: Vaasa, Finland
Posts: 525
Quote:
Is there anyone who can explain in plain English what is going on technically? I'm a bit confused, does it make use of a buffer while also (still) writing to that buffer while it is scanned out by the CRT, or what is really going on
It means that the screen is divided into 3 parts, and it draws new enemies to one part at a time, and does this immediately AFTER the raster beam has progressed past that part. Because the beam has already drawn the previous ( = current frame ) graphics to that part of the screen, it's now safe to erase those graphics and start drawing the gfx of the next frame. The changes only become visible during the next frame, when the beam passes that screen part again.

So this method doesn't "race the beam" but rather waits for it in ambush in three different points of the screen, and when the beam passes those points, it then starts making screen changes behind it, hoping to finish those changes before the beam reaches that part of the screen again.

If the changes were made fast enough, then good, but if not then you would see graphics flickering becasue the Unbuffering/Redraw process was "caught on tape". It's like a train on a circular track, where you replace the tracks behind the train, rather than in front of it, so in a way it does "race the beam", but in a more relaxed way.
Master484 is offline  
Old 20 October 2016, 12:00   #6
lordofchaos
TinkerTailorContentMaker
 
lordofchaos's Avatar
 
Join Date: Nov 2009
Location: Bedfordshire
Age: 45
Posts: 1,205
Quote:
Originally Posted by Master484 View Post
If the changes were made fast enough, then good, but if not then you would see graphics flickering becasue the Unbuffering/Redraw process was "caught on tape". It's like a train on a circular track, where you replace the tracks behind the train, rather than in front of it, so in a way it does "race the beam", but in a more relaxed way.
Awesome analogy
lordofchaos is offline  
Old 20 October 2016, 15:47   #7
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,793
@Master484: Nice explanation of this trick. Thanks. Will maybe use it in future...
Tigerskunk is offline  
Old 04 November 2016, 12:36   #8
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 485
Quote:
Originally Posted by Master484 View Post
It means that the screen is divided into 3 parts, and it draws new enemies to one part at a time, and does this immediately AFTER the raster beam has progressed past that part. Because the beam has already drawn the previous ( = current frame ) graphics to that part of the screen, it's now safe to erase those graphics and start drawing the gfx of the next frame. The changes only become visible during the next frame, when the beam passes that screen part again.

So this method doesn't "race the beam" but rather waits for it in ambush in three different points of the screen, and when the beam passes those points, it then starts making screen changes behind it, hoping to finish those changes before the beam reaches that part of the screen again.

If the changes were made fast enough, then good, but if not then you would see graphics flickering becasue the Unbuffering/Redraw process was "caught on tape". It's like a train on a circular track, where you replace the tracks behind the train, rather than in front of it, so in a way it does "race the beam", but in a more relaxed way.
This what I was looking for, thanks for the great explanation.
Dr.Venom is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
"Voices8" 8 Channel Soundtracker "DemoSongI" song - "This is the Amiga with 8 Voices" DemosongIHunter request.Music 45 23 May 2022 20:07
"Laser Squad" games thread (eg. "Evil" ) nittamituaki support.Games 18 18 May 2018 19:38
Other games with "Darkmere"/"LotR" atmosphere? (may also be current-gen) dex Nostalgia & memories 20 27 January 2016 15:29
How "Brick Games" and "Game' n' Watches" works Leandro Jardim Retrogaming General Discussion 2 03 August 2013 17:48
"Reminder "Lincs Amiga User Group aka "LAG" Meet Sat 5th of January 2013" rockape News 4 30 January 2013 00:06

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:48.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07860 seconds with 13 queries