mirror of
https://github.com/cc65/cc65.git
synced 2025-02-03 22:32:24 +00:00
Merge pull request #507 from jedeoric/master
[telestrat] tgi_line & tgi_outtext are available, toascii.s added, doc updated
This commit is contained in:
commit
15d9373ad7
@ -17,12 +17,12 @@ FNAME_LEN = 11 ; maximum length of file-name
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O Identifier
|
||||
; this identifers are used for channel management
|
||||
; theses identifers are used for channel management
|
||||
;
|
||||
|
||||
XKBD = $80 ; Keyboard
|
||||
XKBD = $80 ; keyboard
|
||||
XRSE = $83 ; RS232 in
|
||||
XSCR = $88 ; Screen
|
||||
XSCR = $88 ; screen
|
||||
XRSS = $90 ; RS232 out
|
||||
|
||||
|
||||
@ -152,7 +152,7 @@ SCREEN := $BB80
|
||||
XRD0 = $08
|
||||
XRDW0 = $0C
|
||||
XWR0 = $10
|
||||
XWSTR0 = $14
|
||||
XWSTR0 = $14 ; write a string in text mode
|
||||
XTEXT = $19
|
||||
XHIRES = $1A
|
||||
XFILLM = $1C
|
||||
@ -165,16 +165,16 @@ XCSSCR = $35 ; switch on cursor
|
||||
XCLOSE = $3A ; only in TELEMON 3.x Close file
|
||||
XFWRITE = $3B ; only in TELEMON 3.x write file
|
||||
XSONPS = $40
|
||||
XOUPS = $42
|
||||
XOUPS = $42 ; send Oups sound into PSG
|
||||
XPLAY = $43
|
||||
XSOUND = $44
|
||||
XMUSIC = $45
|
||||
XZAP = $46
|
||||
XSHOOT = $47
|
||||
XSOUT = $67 ; Send A register to RS232, available in telemon 2.4 & 3.x
|
||||
XHRSSE = $8C ; Put in X and Y
|
||||
XDRAWA = $8D ; Draw a line
|
||||
XDRAWR = $8E ; Draw a line
|
||||
XSOUT = $67 ; send A register to RS232, available in telemon 2.4 & 3.x
|
||||
XHRSSE = $8C ; set hires position cursor
|
||||
XDRAWA = $8D ; draw a line
|
||||
XDRAWR = $8E ; draw a line
|
||||
XCIRCL = $8F
|
||||
XCURSE = $90
|
||||
XCURMO = $91
|
||||
@ -184,7 +184,7 @@ XBOX = $94
|
||||
XABOX = $95
|
||||
XFILL = $96
|
||||
XCHAR = $97
|
||||
XSCHAR = $98 ; Draw a string
|
||||
XSCHAR = $98 ; draw a string in hires
|
||||
XEXPLO = $9C
|
||||
XPING = $9D
|
||||
|
||||
@ -199,7 +199,7 @@ SCRX := $220
|
||||
SCRY := $224
|
||||
ADSCRL := $218
|
||||
ADSCRH := $21C
|
||||
HRSPAT := $2AA ; Hires pattern : it's used to draw pattern for a line or a circle
|
||||
HRSPAT := $2AA ; hires pattern : it's used to draw pattern for a line or a circle
|
||||
IRQVECTOR := $2FA
|
||||
|
||||
|
||||
|
@ -9,9 +9,10 @@
|
||||
<date>2017-01-22
|
||||
|
||||
<abstract>
|
||||
An overview over the Telestrat (<url name="Telemon 3.0"
|
||||
url="http://orix.oric.org">) runtime system as it is implemented for the
|
||||
cc65 C compiler.
|
||||
|
||||
An overview over the Telestrat (Telemon 2.4 & Telemon 3.x : http://orix.oric.org) runtime system as it is implemented for the cc65 C
|
||||
compiler.)
|
||||
|
||||
</abstract>
|
||||
|
||||
<!-- Table of contents -->
|
||||
@ -117,6 +118,21 @@ structures; accessing the struct fields will access the chip registers.
|
||||
|
||||
<sect>Loadable drivers<p>
|
||||
|
||||
<sect1>TGI<p>
|
||||
|
||||
TGI drivers is available on Oric Telestrat with some functions :
|
||||
|
||||
<itemize>
|
||||
<item>
|
||||
<item>tgi_install
|
||||
<item>tgi_init
|
||||
<item>tgi_clear
|
||||
<item>tgi_setpixel
|
||||
<item>tgi_getmaxx
|
||||
<item>tgi_getmaxy
|
||||
</itemize>
|
||||
|
||||
|
||||
<sect1>Extended memory drivers<p>
|
||||
|
||||
No extended memory drivers are currently available for the Telestrat.
|
||||
@ -143,7 +159,7 @@ Telestrat manages also mouse, but it had been no handled yet in this version.
|
||||
|
||||
<descrip>
|
||||
|
||||
Telestrat has a RS232 port, but it's not used
|
||||
Telestrat has a RS232 port, but it's not usable in cc65.
|
||||
|
||||
</descrip>
|
||||
|
||||
|
@ -255,14 +255,16 @@ GETDEFPALETTE:
|
||||
;
|
||||
|
||||
SETPIXEL:
|
||||
lda #$80
|
||||
|
||||
SETPIXELSETMODE:
|
||||
sta HRSFB
|
||||
lda X1
|
||||
sta HRS1
|
||||
lda Y1
|
||||
sta HRS2
|
||||
|
||||
lda #$80
|
||||
sta HRSFB
|
||||
|
||||
|
||||
BRK_TELEMON(XCURSE)
|
||||
|
||||
@ -286,8 +288,24 @@ GETPIXEL:
|
||||
|
||||
LINE:
|
||||
; not done yet
|
||||
lda X1
|
||||
sta HRS1
|
||||
lda Y1
|
||||
sta HRS2
|
||||
|
||||
lda X2
|
||||
sta HRS3
|
||||
lda Y2
|
||||
sta HRS4
|
||||
|
||||
lda #$ff
|
||||
sta HRSPAT
|
||||
|
||||
BRK_TELEMON(XDRAWA)
|
||||
rts
|
||||
|
||||
|
||||
|
||||
CIRCLE:
|
||||
; not done yet
|
||||
rts
|
||||
@ -332,5 +350,25 @@ TEXTSTYLE:
|
||||
;
|
||||
|
||||
OUTTEXT:
|
||||
; not done yet
|
||||
; put hires cursor in X & Y
|
||||
lda #$00
|
||||
jsr SETPIXELSETMODE
|
||||
|
||||
|
||||
; count the length of the string
|
||||
ldy #$00
|
||||
loop:
|
||||
lda (ptr3),y
|
||||
beq out
|
||||
iny
|
||||
bne loop
|
||||
out:
|
||||
; XSCHAR routine from telemon needs to have the length of the string in X register
|
||||
; copy Y register to X register. It could be optimized in 65C02 with TYX
|
||||
tya
|
||||
tax
|
||||
|
||||
lda ptr3 ; XSCHAR needs in A and Y the adress of the string
|
||||
ldy ptr3+1
|
||||
BRK_TELEMON(XSCHAR)
|
||||
rts
|
||||
|
@ -125,7 +125,7 @@ INIT:
|
||||
; Switch into graphics mode
|
||||
|
||||
BRK_TELEMON(XHIRES)
|
||||
|
||||
|
||||
; Done, reset the error code
|
||||
|
||||
lda #TGI_ERR_OK
|
||||
@ -248,14 +248,16 @@ GETDEFPALETTE:
|
||||
;
|
||||
|
||||
SETPIXEL:
|
||||
lda #$80 ; curset on
|
||||
SETPIXELSETMODE:
|
||||
sta HRSFB
|
||||
|
||||
lda X1
|
||||
sta HRS1
|
||||
lda Y1
|
||||
sta HRS2
|
||||
|
||||
lda #$80 ; curset on
|
||||
sta HRSFB
|
||||
|
||||
|
||||
BRK_TELEMON(XCURSE)
|
||||
|
||||
@ -278,9 +280,24 @@ GETPIXEL:
|
||||
;
|
||||
|
||||
LINE:
|
||||
; not done yet
|
||||
rts
|
||||
|
||||
lda X1
|
||||
sta HRS1
|
||||
lda Y1
|
||||
sta HRS2
|
||||
|
||||
lda X2
|
||||
sta HRS3
|
||||
lda Y2
|
||||
sta HRS4
|
||||
|
||||
lda #$ff
|
||||
sta HRSPAT
|
||||
|
||||
BRK_TELEMON(XDRAWA)
|
||||
|
||||
rts
|
||||
|
||||
CIRCLE:
|
||||
; not done yet
|
||||
rts
|
||||
@ -325,5 +342,25 @@ TEXTSTYLE:
|
||||
;
|
||||
|
||||
OUTTEXT:
|
||||
; Not done yet
|
||||
; put hires cursor in X & Y
|
||||
lda #$00
|
||||
jsr SETPIXELSETMODE
|
||||
|
||||
|
||||
; count the length of the string
|
||||
ldy #$00
|
||||
loop:
|
||||
lda (ptr3),y
|
||||
beq out
|
||||
iny
|
||||
bne loop
|
||||
out:
|
||||
; XSCHAR routine from telemon needs to have the length of the string in X register
|
||||
; copy Y register to X register. It could be optimized in 65C02 with TYX
|
||||
tya
|
||||
tax
|
||||
|
||||
lda ptr3 ; XSCHAR needs in A and Y the adress of the string
|
||||
ldy ptr3+1
|
||||
BRK_TELEMON(XSCHAR)
|
||||
rts
|
||||
|
Loading…
x
Reference in New Issue
Block a user