Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1317 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -66,6 +66,8 @@ TGI_HDR_JUMPCOUNT = 12 ; Number of jump vectors
|
|||||||
.global _tgi_drv ; Pointer to driver
|
.global _tgi_drv ; Pointer to driver
|
||||||
.global _tgi_error ; Last error code
|
.global _tgi_error ; Last error code
|
||||||
.global _tgi_mode ; Graphics mode or zero
|
.global _tgi_mode ; Graphics mode or zero
|
||||||
|
.global _tgi_xres ; X resolution of the current mode
|
||||||
|
.global _tgi_yres ; Y resolution of the current mode
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; Driver entry points
|
; Driver entry points
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ typedef struct {
|
|||||||
extern tgi_drv_header* tgi_drv; /* Pointer to driver */
|
extern tgi_drv_header* tgi_drv; /* Pointer to driver */
|
||||||
extern unsigned char tgi_error; /* Last error code */
|
extern unsigned char tgi_error; /* Last error code */
|
||||||
extern unsigned char tgi_mode; /* Graphics mode or zero */
|
extern unsigned char tgi_mode; /* Graphics mode or zero */
|
||||||
|
extern unsigned tgi_xres; /* X resolution of the current mode */
|
||||||
|
extern unsigned tgi_yres; /* Y resolution of the current mode */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -91,7 +93,7 @@ extern unsigned char tgi_mode; /* Graphics mode or zero */
|
|||||||
|
|
||||||
const char* __fastcall__ tgi_map_mode (unsigned char mode);
|
const char* __fastcall__ tgi_map_mode (unsigned char mode);
|
||||||
/* Map a tgi mode to a driver name. Returns NULL if no driver available. */
|
/* Map a tgi mode to a driver name. Returns NULL if no driver available. */
|
||||||
|
|
||||||
void __fastcall__ tgi_setup (void);
|
void __fastcall__ tgi_setup (void);
|
||||||
/* Setup the driver and graphics kernel once the driver is loaded */
|
/* Setup the driver and graphics kernel once the driver is loaded */
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,9 @@
|
|||||||
_tgi_drv: .res 2 ; Pointer to driver
|
_tgi_drv: .res 2 ; Pointer to driver
|
||||||
_tgi_error: .res 1 ; Last error code
|
_tgi_error: .res 1 ; Last error code
|
||||||
_tgi_mode: .res 1 ; Graphics mode or zero
|
_tgi_mode: .res 1 ; Graphics mode or zero
|
||||||
|
_tgi_xres: .res 2 ; X resolution of the current mode
|
||||||
|
_tgi_yres: .res 2 ; Y resolution of the current mode
|
||||||
|
|
||||||
|
|
||||||
.data
|
.data
|
||||||
|
|
||||||
@@ -51,17 +53,33 @@ copy: lda (ptr1),y
|
|||||||
|
|
||||||
|
|
||||||
_tgi_setup:
|
_tgi_setup:
|
||||||
jsr tgi_set_ptr
|
jsr tgi_set_ptr ; load _tgi_drv into ptr1
|
||||||
|
|
||||||
|
; Copy the jump vectors
|
||||||
|
|
||||||
ldy #TGI_HDR_JUMPTAB
|
ldy #TGI_HDR_JUMPTAB
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
@L1: inx ; Skip JMP opcode
|
@L1: inx ; Skip JMP opcode
|
||||||
jsr copy ; Copy one byte
|
jsr copy ; Copy one byte
|
||||||
jsr copy ; Copy one byte
|
jsr copy ; Copy one byte
|
||||||
cpx #(TGI_HDR_JUMPCOUNT*3)
|
cpx #(TGI_HDR_JUMPCOUNT*3)
|
||||||
bne @L1
|
bne @L1
|
||||||
|
|
||||||
|
; Copy the screen dimensions
|
||||||
|
|
||||||
|
ldy #TGI_HDR_XRES
|
||||||
|
lda (ptr1),y
|
||||||
|
sta _tgi_xres
|
||||||
|
iny
|
||||||
|
lda (ptr1),y
|
||||||
|
sta _tgi_xres+1
|
||||||
|
ldy #TGI_HDR_YRES
|
||||||
|
lda (ptr1),y
|
||||||
|
sta _tgi_yres
|
||||||
|
iny
|
||||||
|
lda (ptr1),y
|
||||||
|
sta _tgi_yres+1
|
||||||
|
|
||||||
; Initialize variables
|
; Initialize variables
|
||||||
|
|
||||||
lda #$00
|
lda #$00
|
||||||
|
|||||||
@@ -7,13 +7,11 @@
|
|||||||
|
|
||||||
.include "tgi-kernel.inc"
|
.include "tgi-kernel.inc"
|
||||||
.export _tgi_getxres
|
.export _tgi_getxres
|
||||||
.import ldaxidx
|
|
||||||
|
|
||||||
|
|
||||||
_tgi_getxres:
|
_tgi_getxres:
|
||||||
lda _tgi_drv
|
lda _tgi_xres
|
||||||
ldx _tgi_drv+1
|
ldx _tgi_xres+1
|
||||||
ldy #TGI_HDR_XRES+1
|
rts
|
||||||
jmp ldaxidx
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,8 @@
|
|||||||
|
|
||||||
|
|
||||||
_tgi_getyres:
|
_tgi_getyres:
|
||||||
lda _tgi_drv
|
lda _tgi_yres
|
||||||
ldx _tgi_drv+1
|
ldx _tgi_yres+1
|
||||||
ldy #TGI_HDR_YRES+1
|
rts
|
||||||
jmp ldaxidx
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user