English Amiga Board


Go Back   English Amiga Board > Coders > Coders. System

 
 
Thread Tools
Old 07 August 2024, 17:51   #1
dissident
Registered User
 
Join Date: Sep 2015
Location: Germany
Posts: 268
OS3.x - Open a screen with 1x bandwidth

Again something special.

Is there a smart way to open a screen on OS3.x with the 1x bandwidth?

The only solution I know is poking in the graphics base like this:

Code:
  move.l	_GraphicsBase,a6
  move.b	#BANDWIDTH_1X,gb_MemType(a6)
And after that open the screen. But you have to disable multitasking with Forbid() to be sure that the bandwidth won't be changed.

Not very system friendly. I did some investigations in the autodocs, but did not find a way to change the bandwidth, after the screen is opened or before with a special tag. Looking in the vieport/viewport extra structure didn't help.

Last edited by dissident; 07 August 2024 at 18:00.
dissident is offline  
Old 09 August 2024, 07:23   #2
dissident
Registered User
 
Join Date: Sep 2015
Location: Germany
Posts: 268
Do you have any hints for me, Thomas Richter?
dissident is offline  
Old 09 August 2024, 20:25   #3
Ernst Blofeld
<optimized out>
 
Ernst Blofeld's Avatar
 
Join Date: Sep 2020
Location: <optimized out>
Posts: 322
Quote:
Originally Posted by dissident View Post
Do you have any hints for me, Thomas Richter?
You need to say his name three times for him to appear.
Ernst Blofeld is offline  
Old Yesterday, 08:44   #4
aros-sg
Registered User
 
Join Date: Nov 2015
Location: Italy
Posts: 195
Maybe create your own screen bitmap with manually allocated planes that are misaligned (address multiple of 2, but not 4 or 8) such that only 1x is possible. And then open screen with custom bitmap (SA_Bitmap tag).
aros-sg is offline  
Old Yesterday, 14:31   #5
dissident
Registered User
 
Join Date: Sep 2015
Location: Germany
Posts: 268
Quote:
Originally Posted by aros-sg View Post
Maybe create your own screen bitmap with manually allocated planes that are misaligned (address multiple of 2, but not 4 or 8) such that only 1x is possible. And then open screen with custom bitmap (SA_Bitmap tag).
Not a bad idea. I guess I have to explain what should be the purpose of this screen. It‘s part of a display downgrader to get BPL1MOD / BPL2MOD to 0 values. I doubt that the system is smart enough to detect misaligned bitmaps. There must be a reason for the global entry in the graphics base for the bandwidth.

Last edited by dissident; Yesterday at 22:09.
dissident is offline  
Old Today, 00:14   #6
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,438
Quote:
Originally Posted by Ernst Blofeld View Post
You need to say his name three times for him to appear.
Not really, but I was busy with PCI workings and finish a driver for PCI-based S3 graphics cards...

No, the FMode is nothing the Os allows you to set or play with. Your best option is probably BestModeID() of graphics to request modes with certain properties. However, what exactly is the application here?
Thomas Richter is offline  
Old Today, 07:49   #7
aros-sg
Registered User
 
Join Date: Nov 2015
Location: Italy
Posts: 195
Quote:
Originally Posted by dissident View Post
Not a bad idea. I guess I have to explain what should be the purpose of this screen. It‘s part of a display downgrader to get BPL1MOD / BPL2MOD to 0 values.
Open screen with a width which is multiple of 64?

Quote:
I doubt that the system is smart enough to detect misaligned bitmaps. There must be a reason for the global entry in the graphics base for the bandwidth.
It needs to be smart enough, otherwise it would break old software. OpenScreenTagList (-> SA_Bitmap) exists since AOS 2.x but the AllocBitMap() only since 3.x. Before that everyone created bitmap and bitmap planes manually. Also in things like double buffering (animation player). AllocRaster() only does 16x alignment, not 32x or 64x as required by higher fetchmodes. It again would break things, if it did.
aros-sg is offline  
Old Today, 09:52   #8
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,438
Quote:
Originally Posted by dissident View Post
I doubt that the system is smart enough to detect misaligned bitmaps. There must be a reason for the global entry in the graphics base for the bandwidth.
Actually, graphics goes through multiple functions for computing what the best possible FMode could be, not only depending on alignment but also on the number of reserved sprites and adapts to the requirements. But the algorithm is opaque and undocumented.
Thomas Richter 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
Programatically open NTSC screen on PAL amiga dalton Coders. System 5 28 June 2022 04:37
OS3.2 Blank Screen torrind support.AmigaOS 8 06 November 2021 18:25
Why the screen does not open? TCH Coders. Asm / Hardware 23 23 July 2021 19:38
open chunky screen grond Coders. System 7 02 February 2016 16:31
Open Screen / Open Font AGS Coders. System 7 02 March 2014 05:08

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 12:17.

Top

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