04 September 2018, 13:53 | #1 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Tutorial about zooming with BPLCON1 (102) : Looking for examples
Hi guys,
I'm finishing a little tutorial about horizontal hardware zooming using the famous BPLCON1 trick. I am looking for examples of this zoom in famous demos. I was a bit suprised to notice that it does not seem to have been used in Elysium by Sanity. I found it is used in Jesterday by Sanity for the rolling menu. If you know any demo that uses this trick, I may include some screenshots in my tutorial to point the reader to them. |
04 September 2018, 15:14 | #2 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
|
Rink-A-Dink Redux
Desert Dream and if you want to see a strange variation on this, disassemble my copper-list from the Star Wars scroller in "The Fall" |
04 September 2018, 17:16 | #3 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Thanks. Great demos. I will definitely pick the Star Wars scroller. I had a look at the Copper list for the Star Wars scroller (nice!). The Copper updates BPLCON1, as expected, and the low address pointers for bitplanes 1 and 2. It seems that this is a way to jump by 128 pixels every 64 pixels in the middle of a line because the text is drawn in a much wider bitplane than the screen ?
|
10 September 2018, 17:39 | #4 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Tutorial published
Well the tutorial is published here, width downloadable code :
http://www.stashofcode.fr/zoom-hardw...on1-sur-amiga/ In french but should translate well with Google. Will translate it one day... |
10 September 2018, 18:49 | #5 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,498
|
Another great tutorial
The ultimate usage for the (modulo/$102) effect is sure in the rotozoomer/wobbler of Brian the Lion: [ Show youtube player ] (an awesome piece of code by Kreator/Anarchy) Well, is not only $102 but also copper at best, blitter and sorcery |
10 September 2018, 19:32 | #6 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Yes I noticed it. Awesome.
Although I just checked the Copper list with the MK III, and it does not appear that this very talented guy did use the BPLCON1 trick (which makes the FX even more impressive!). The structure of the Copper list of the menu, with "Brian" rotating in the background, is, per line, just some MOVE along with NOPs : MOVE ?,BPLCON1 MOVE ?,BPL1MOD MOVE ?,BPL2MOD Most of the good zooms do not use the BPLCON1 trick for horizontal stretching, maybe because of its limitations, as explained in my tutorial... But all of them do use the BPLxMOD trick for vertical stretching. Last edited by Yragael; 10 September 2018 at 20:49. |
10 September 2018, 21:03 | #7 | |
Amigan
Join Date: Feb 2012
Location: London
Posts: 1,317
|
Quote:
|
|
10 September 2018, 21:50 | #8 |
Registered User
Join Date: May 2017
Location: AmigaLand
Posts: 459
|
Bravo.
|
11 September 2018, 08:49 | #9 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Some figures in the tutorial got fixed this morning: the scenario for the hardware horizontal zoom, and the matching "magic table". Not easy to translate this assembly code in Excel figures
|
11 September 2018, 10:24 | #10 | |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
|
Quote:
But there are some DMA glitches... so I used dual playfield, and hid the glitches with sprites (with strange priority values i seem to remember) |
|
11 September 2018, 14:10 | #11 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Well done. Hiding the problem if it cannot be solved easily, or cannot be solved at all, is definitely part of the art of demomaking.
|
14 September 2018, 14:46 | #12 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
|
Since blitter has a barrel schift, is it possible to do the same thing with it?
|
26 September 2018, 01:23 | #13 |
Registered User
Join Date: Sep 2008
Location: Farnborough
Posts: 148
|
I'm assuming scroll register zoom doesn't work with AGA fmode register set to 3 as you can only shrink at every 64 pixels?
|
26 September 2018, 10:58 | #14 | |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
|
Quote:
This $102 register trick is just making use of a hardware "feature" and is effectively free (less the copper instructions to move to the register) |
|
26 September 2018, 11:07 | #15 |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
|
26 September 2018, 11:13 | #16 | |
Registered User
Join Date: Jun 2017
Location: Paris
Posts: 51
|
Quote:
zoom3.s and zoom4.s contain the code to shrink horizontally the picture using the Blitter. Such code is required to shrink the picture horizontally when the possibilities of the hardware horizontal zoom are exhausted (ie: when BPLCON1 has reached 15). This kind of software horizontal zoom is done in real-time, but it should be run before the zoom to precompute intermediate pictures. Last edited by Yragael; 26 September 2018 at 11:18. |
|
26 September 2018, 21:36 | #17 |
Registered User
Join Date: Sep 2008
Location: Farnborough
Posts: 148
|
It's a shame AGA doesn't help this trick. Would be cool doing a full screen 8 bitplane zoomer.
If you increase scroll register between reads does it give you blank data? I still find it incredible how someone stumbled upon this. I'm sure Chaos said he got the trick from another Sanity coder before Jesterday. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Zooming on screenshots? | Decypher | support.FS-UAE | 4 | 24 August 2015 23:17 |
Zooming using BPLCON1 (horiz. shift) — am I doing it wrong? | losso | Coders. Asm / Hardware | 10 | 14 January 2014 17:00 |
Amiga Future issue 102 released | AndreasM | News | 0 | 02 May 2013 08:17 |
Matt Chat 102: Darkstar with Jeff Williams Part 1 | gilgamesh | Retrogaming General Discussion | 4 | 31 May 2011 13:19 |
WinUAE handling of ECS:BPLCON1:DOFF flag | RedskullDC | support.WinUAE | 1 | 26 December 2007 17:12 |
|
|