Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Productions > PAL/NTSC detect
2003-01-29 18:35
Dr. Jay
Account closed

Registered: Jan 2003
Posts: 32
PAL/NTSC detect

Just wanted to share a quick routine that detects PAL/NTSC WITHOUT using interrupts or latches.

;pal/NTSC detect - 0 = PAL, non-zero = NTSC

palntsc
sei ; disable interrupts
wait
lda $d012
bne wait ; wait for rasterline 0 or 256
wait1
lda $d011 ; Is rasterbeam in the area
bpl wait1 ; 0-255? if yes, wait
wait2
ldy #$00
synch1 lda $d012
cmp #$37 ; top PAL rasterline
bne synch1
lda $d012 ; if next is 0, then PAL
synch2 cmp $d012
beq synch2
lda $d012
cli ; enable interrupts
rts ; return
 
... 67 posts hidden. Click here to view all posts....
 
2009-02-15 17:16
tlr

Registered: Sep 2003
Posts: 1787
Quote:
l1 lda $d012
l2 cmp $d012
   beq l2
   bmi l1
   cmp #$20
   bcc ntsc




12 bytes. Very impressive!
2009-02-15 22:00
Devia

Registered: Oct 2004
Posts: 401
Quote:
l1 lda $d012
l2 cmp $d012
   beq l2
   bmi l1
   cmp #$20
   bcc ntsc




That's brilliant.
2009-02-16 09:02
Frantic

Registered: Mar 2003
Posts: 1647
I put it on codebase:

http://codebase64.org/doku.php?id=base:detect_pal_ntsc

I also wonder... does Ninja's older routine have any benefits over and above this short 12 byte routine? (Didn't have any time/energy to look into it myself now, sorry.) If not, I guess it could just as well be removed.

//FTC
2009-02-16 12:54
Devia

Registered: Oct 2004
Posts: 401
You still need to catch NMI and disable IRQ for it to be completely reliable - and the 12 bytes is without the bcc in the end, which may be obsolete depending on how you implement it.


2009-02-16 14:28
Ninja

Registered: Jan 2002
Posts: 411
Frantic:

Technically, my routine does not have an advantage. From an educational point of view, it has (it was supplement code to an article after all) :) If you don't know the topic, then it surely helps to read my routine first, before you use the other (probably with disabling interrupts there, too).
2009-02-16 20:32
Frantic

Registered: Mar 2003
Posts: 1647
Okok... Thanks for the information. In fact, I added the whole article to the page, since I guess it might add something of value to someone out there. (Just tell me if you mind...)
2009-02-16 20:49
Kickback

Registered: Apr 2004
Posts: 97
Actually this helps me BIGTIME. Because I always thought that the PAL/NTSC register was the way to go.

Thanks guys for the information, helps me with NTSc/PAL intros ;-)
2009-02-17 07:58
chatGPZ

Registered: Dec 2001
Posts: 11360
Quote:
PAL/NTSC register


hu? there is no such thing :) the kernal uses a similar (but buggy) routine to detect pal/ntsc =)
2009-04-27 19:53
Mix256
Account closed

Registered: Dec 2008
Posts: 26
But...but, there're two ntsc.
Any smart solution to this as well?

Or do I just wait for line 262, if the next is 263 strike old_ntsc. If the one after that one is 264, we got pal otherwise it's new_ntsc.
2009-04-27 20:18
chatGPZ

Registered: Dec 2001
Posts: 11360
dont bother about the 64 cycle vic. they are very rare, and nothing works right on them anyway. noone gives a damn really =)
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
GeirS
Codey/Second Dimension
psych
algorithm
Guinea_pig/Moonshine
Rebok/BOOM!/Tropyx
Honcho
Higgie/Kraze/Slackers
wacek/arise
Guests online: 97
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 The Demo Coder  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Graphicians
1 Mirage  (9.7)
2 Archmage  (9.7)
3 Mikael  (9.6)
4 Carrion  (9.6)
5 Sulevi  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.062 sec.