]> git.sur5r.net Git - cc65/commitdiff
Simpler get_tv 624/head
authorStefan <stefan.haubenthal@gmail.com>
Tue, 10 Apr 2018 18:37:10 +0000 (18:37 +0000)
committerGitHub <noreply@github.com>
Tue, 10 Apr 2018 18:37:10 +0000 (18:37 +0000)
You don't have to count the beam, just check the KERNAL.

libsrc/vic20/get_tv.s

index 7182c0df770d6a3a832839e07074568db3b2dca3..9194a2c551ab836d122532a3884c5c104cf5ca1e 100644 (file)
@@ -1,12 +1,11 @@
 ;
-; Stefan Haubenthal, 2004-10-07
-; Based on code from Pu-239
+; Stefan Haubenthal, 2018-04-10
+; Based on code by Mike
 ;
 ; unsigned char get_tv (void);
 ; /* Return the video mode the machine is using */
 ;
 
-        .include        "vic20.inc"
         .include        "get_tv.inc"
 
 ;--------------------------------------------------------------------------
 
 .proc   _get_tv
 
-NTSC_LINES = 261
         ; detect the system
         lda     #TV::NTSC
         tax
-@L0:    ldy     VIC_HLINE
-        cpy     #1
-        bne     @L0             ; wait for line 1
-@L1:    ldy     VIC_HLINE
-        beq     @L2             ; line 0 reached -> NTSC
-        cpy     #NTSC_LINES/2+2
-        bne     @L1
+        ldy     $EDE4           ; VIC init table
+        cpy     #5
+        beq     @L0
         lda     #TV::PAL
-@L2:    rts                     ; system detected: 0 for NTSC, 1 for PAL
+@L0:    rts                     ; system detected: 0 for NTSC, 1 for PAL
 
 .endproc