]> git.sur5r.net Git - cc65/blobdiff - libsrc/tgi/tgi_init.s
Hold the maximum X and Y coordinate in variables instead of calculating them
[cc65] / libsrc / tgi / tgi_init.s
index 136f94f7ab5c6d33316eb60e5a96abe94c433f40..99a64ba7632347d89c9c9128f3d95842244584b7 100644 (file)
@@ -8,8 +8,13 @@
         .include        "tgi-kernel.inc"
         .include        "tgi-error.inc"
 
+        .import         pushax, pusha, decax1
         .importzp       ptr1
 
+
+;----------------------------------------------------------------------------
+
+.code
 .proc   _tgi_init
 
         jsr     _tgi_done               ; Switch off graphics if needed
 
         inc     _tgi_gmode              ; Remember that graph mode is active
 
-; Do driver initialization. First set the default palette.
+; Get the maximum X and Y coordinate
+
+        jsr     _tgi_getxres
+        jsr     decax1
+        sta     _tgi_xmax
+        stx     _tgi_xmax+1
+
+        jsr     _tgi_getyres
+        jsr     decax1
+        sta     _tgi_ymax
+        stx     _tgi_ymax+1
+
+; Do driver initialization. Set draw and view pages.
+
+       lda     #0
+       jsr     tgi_setviewpage
+       lda     #0
+       jsr     tgi_setdrawpage
+
+; Set the default palette.
 
         jsr     tgi_getdefpalette       ; Get the default palette into A/X
         sta     ptr1
         stx     ptr1+1                  ; Save it
-        jsr     tgi_geterror            ; Check for errors in getdefpalette
-        cmp     #TGI_ERR_OK
-        beq     @L1                     ; Jump if there is no default palette
-        jsr     tgi_setpalette          ; Set the default palette. Since we're
-                                        ; setting the default palette, we don't
-                                        ; expect errors here.
+        jsr     tgi_setpalette          ; Set the default palette.
+        jsr     tgi_geterror            ; Clear a possible error code
 
-; Set the drawing color to the maximum color
+; Set the drawing color to white
 
-@L1:    ldx     _tgi_colorcount
-        dex
-        txa
-        jsr     _tgi_setcolor           ; tgi_setcolor (tgi_getmaxcolor ());
+@L1:    lda     #TGI_COLOR_WHITE
+        jsr     _tgi_setcolor           ; tgi_setcolor (TGI_COLOR_WHITE);
 
 ; Set the text style
 
-        lda     #TGI_TEXT_HORIZONTAL
-        sta     _tgi_textdir
-        ldx     #1
-        stx     _tgi_textmagx
-        ldy     #1
-        sty     _tgi_textmagy
-        jsr     tgi_textstyle           ; Tell the driver about the text style
+        lda     #<$100
+        ldx     #>$100
+        jsr     pushax                  ; Width scale
+        jsr     pushax                  ; Heigh scale
+        jsr     pusha                   ; Text direction = TGI_TEXT_VERTICAL
+        jsr     _tgi_textstyle          ; A = Font = TGI_FONT_BITMAP
 
 ; Clear the screen