X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Ftgi%2Ftgi_init.s;h=c8fd355d54c3dcccca5dd9c6f9ee1af8ee6a4989;hb=66ca781bb176cf316bb068d970fd7b3495d51e90;hp=a43bf9d04c8a9f7190bfe7e43faffdfa5c0b2397;hpb=f82ac8a91cdb71a17fd830745eb0ce2669afa6c8;p=cc65 diff --git a/libsrc/tgi/tgi_init.s b/libsrc/tgi/tgi_init.s index a43bf9d04..c8fd355d5 100644 --- a/libsrc/tgi/tgi_init.s +++ b/libsrc/tgi/tgi_init.s @@ -1,24 +1,74 @@ ; ; Ullrich von Bassewitz, 21.06.2002 ; -; void __fastcall__ tgi_init (unsigned char mode); -; /* Initialize the given graphics mode. */ +; void tgi_init (void); +; /* Initialize the already loaded graphics driver */ .include "tgi-kernel.inc" .include "tgi-error.inc" - .import _tgi_done - .export _tgi_init + .import pushax, pusha, decax1 + .importzp ptr1 + + +;---------------------------------------------------------------------------- + +.code +.proc _tgi_init -_tgi_init: - pha ; Save mode jsr _tgi_done ; Switch off graphics if needed - jsr tgi_init ; Initialize the mode - jsr tgi_fetch_error ; Get the error code - pla ; Restore the mode - ldx _tgi_error ; Did we have an error before? - bne @L1 ; Jump if yes - sta _tgi_mode ; Set the current mode if not -@L1: rts + 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