English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 21 September 2021, 00:40   #1
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
Max OCS overscan on NTSC?

The question is only about the start and end scanline. Only vertical.

Black HRM falls short, and max values for DIW just say "$00-$ff". D'oh.

Looking to add a note to this.

In this, I need the help of US asm coders I think to make it right.

First valid scanline in NTSC is $13 as per my sprite programming article.

Last valid scanline should be 262 down from that, i.e. $119. (I.e. $118 is the last line where bitmap and sprite data can be displayed.)

Is this a valid Copper list for NTSC max vertical overscan and if not, why not? Cheers.

Code:
Copper:
Copper:
	dc.w $1307,$fffe	;CWAIT VPOS 19
	dc.w BPLCON0,$5200	;display bitmap
	dc.w $ffdf,$fffe	;go beyond $f4...
	dc.w $18e1,$fffe
	dc.w COLOR00,$fff	;this should show on a 
				;good enough CRT and
				;OCS/A1000 NTSC Denise?
	dc.w $ffff,$fffe	;end of copper list
It's time to embrace our US Amiga fans. They're more die-hard than we in Europe. The Amiga had a hell of a time in the US.
Photon is offline  
Old 21 September 2021, 11:50   #2
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Total number of scanlines in NTSC is 262 for short frames and 263 for long frames.
So in interlace you have a total of 525 lines.
In Amiga, long frames are normally used for progressive mode.

The lines start counting from 0.
The first visible is $14 (20), because $13 is used for first sprites DMA fetch (and it is still in vertical blank).
The last 'usable' is $105 (261), because $106 (262) can only contain COLOR00 (excluding, if I'm not wrong, A1000 Agnus which can display it).

This means that for a full vertical overscan you need to use:
Code:
Copper:
	dc.w $008e,$1481
	dc.w $0090,$06c1
	dc.w BPLCON0,$5200	;display bitmap
	dc.w $ffdf,$fffe
	dc.w $0607,$fffe
	dc.w COLOR00,$fff	;this show last line as white
	dc.w $ffff,$fffe	;end of copper list
ross is offline  
Old 21 September 2021, 20:02   #3
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
Thx Ross, articles updated. I guess I was in a hurry, or I would have seen the other pages where HRM had the answers.
Photon is offline  
Old 21 September 2021, 20:36   #4
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
@Photon

Just a small niggle regarding your article, it would read better if your copper list referenced the chip set registers.

For example:

Code:
dc.w $8e,$1b51
dc.w $90,$37d1
dc.w $92,$20
dc.w $94,$d8
dc.w $102,0
to...

Code:
dc.w DIWSTRT,$1b51
dc.w DIWSTOP,$37d1
dc.w DDFSTRT,$20
dc.w DDFSTOP,$d8
dc.w BPLCON1,0
In your article you make reference to DDFSTRT in the Copper footnote.

Great work and really nice site

Graeme
mcgeezer is offline  
Old 22 September 2021, 00:00   #5
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,211
Quote:
Originally Posted by mcgeezer View Post
@Photon

Just a small niggle regarding your article, it would read better if your copper list referenced the chip set registers.

For example:

Code:
dc.w $8e,$1b51
dc.w $90,$37d1
dc.w $92,$20
dc.w $94,$d8
dc.w $102,0
to...

Code:
dc.w DIWSTRT,$1b51
dc.w DIWSTOP,$37d1
dc.w DDFSTRT,$20
dc.w DDFSTOP,$d8
dc.w BPLCON1,0
In your article you make reference to DDFSTRT in the Copper footnote.

Great work and really nice site

Graeme
I'm tempted to say you should also pad out your word values (although that is just personal preference, but to me, it makes it easier to read the code)

Code:
dc.w DIWSTRT,$1b51
dc.w DIWSTOP,$37d1
dc.w DDFSTRT,$0020
dc.w DDFSTOP,$00d8
dc.w BPLCON1,$0000
DanScott is offline  
Old 22 September 2021, 11:01   #6
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Just some clarifications regarding the maximum overscan for PAL (the horizontal part is also valid for NTSC).

All the values that I report are seen from the Amiga side, that is the real pixels that it can actually emit as valid values outside the horizontal and vertical blanking.
These are values relating to the hardwired modes in ECS and AGA cases, the only ones possible in the OCS case.
The receiving device may or may not display them all, certainly no more.
I rewrite it the same way I wrote the one for NTSC, so I can copy/paste


Total number of scanlines in PAL is 312 for short frames and 313 for long frames.
So in interlace you have a total of 625 lines.
In Amiga, long frames are normally used for progressive mode.

The lines start counting from 0.
The first visible is $1a (26), because $19 (25) is used for first sprites DMA fetch (and it is still in vertical blank).
The last 'usable' is $137 (311), because $138 (312) can only contain COLOR00.
This allows a maximum of 286 vertical lines with valid data.

For a full vertical overscan you need to use:
Code:
	dc.w DIWSTRT,$1a5c
	dc.w DIWSTOP,$38c8 (*)
	dc.w BPLCON0,$5200	;display bitmap
	dc.w $ffdf,$fffe
	dc.w $3807,$fffe
	dc.w COLOR00,$fff	;this show last line as white
	dc.w $ffff,$fffe	;end of copper list
Regarding the horizontal resolution, the first visible pixel is at the position relative to hDIW_start=$5c and displays starting from this up to hDIW_stop=$1d3 in OCS case and $1d4 in ECS/AGA cases.
(*) this would imply using values for DIWSTOP=$38d4 and $38d5 respectively but the Denise/Lisa counter can only reach the position h_stop=$1c7 (as the last counter matched position).
This means that any greater value is valid because it does not 'close' the border; this is why I used the $38c8 value. Expect side effects regarding scrolling and sprites for those positions, to avoid them use a value of $xxc7.

If you have followed me up to here I summarize the maximum lo-res resolutions: 376x286 in OCS (377x286 in ECS/AGA).
ross 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
NTSC Compatible/f NTSC Version of Jimmy White's Whirlwind Snooker? tpgb12 request.Old Rare Games 1 05 August 2023 16:23
Damaged Mousepointer scrolling right on LowRes Overscan OCS PeterK support.WinUAE 3 15 October 2018 18:19
Issues running James Pond 2 OCS-ECS on NTSC A500 grhmhome support.Games 4 09 February 2015 07:26
Overscan john4p support.Hardware 17 15 April 2010 12:05
NTSC A500 Pal/NTSC mod pics kipper2k Hardware pics 2 29 March 2009 07:56

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 19:46.

Top

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