File: tgi_init.s

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (74 lines) | stat: -rw-r--r-- 2,046 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
;
; Ullrich von Bassewitz, 21.06.2002
;
; void tgi_init (void);
; /* Initialize the already loaded graphics driver */


        .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
        jsr     tgi_init                ; Go into graphics mode
        jsr     tgi_geterror            ; Get the error code
        sta     _tgi_error              ; Save for later reference
        cmp     #TGI_ERR_OK
        bne     @L9                     ; Jump on error

        inc     _tgi_gmode              ; Remember that graph mode is active

; 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_setpalette          ; Set the default palette.
        jsr     tgi_geterror            ; Clear a possible error code

; Set the drawing color to white

@L1:    lda     #tgi_color_white
        jsr     _tgi_setcolor           ; tgi_setcolor (TGI_COLOR_WHITE);

; Set the text style

        lda     #<$100
        ldx     #>$100
        jsr     pushax                  ; Width scale = 1.0
        jsr     pushax                  ; Heigh scale = 1.0
        jsr     pusha                   ; Text direction = TGI_TEXT_HORIZONTAL
        jmp     _tgi_settextstyle       ; A = Font = TGI_FONT_BITMAP

; Error exit

@L9:    rts

.endproc