Merge pull request #504 from jedeoric/master
[Telestrat] TGI initialization, some bugs (clrscr) correction, cgetc optimization, irq management
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
;
|
||||
; Oric Telemon definition
|
||||
; Telemon 2.4 & Telemon 3.0
|
||||
; For telemon 3.0 check http://orix.oric.org
|
||||
; Telemon 2.4 & Telemon 3.x
|
||||
; For telemon 3.x check http://orix.oric.org
|
||||
;
|
||||
|
||||
|
||||
@@ -15,6 +15,15 @@ FUNCTKEY = $A5
|
||||
|
||||
FNAME_LEN = 11 ; maximum length of file-name
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; I/O Identifier
|
||||
; this identifers are used for channel management
|
||||
;
|
||||
|
||||
XKBD = $80 ; Keyboard
|
||||
XRSE = $83 ; RS232 in
|
||||
XSCR = $88 ; Screen
|
||||
XRSS = $90 ; RS232 out
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
@@ -34,10 +43,7 @@ TR5 := $11
|
||||
TR6 := $12
|
||||
TR7 := $13
|
||||
|
||||
|
||||
|
||||
|
||||
PTR_READ_DEST := $2C ; used for XFREAD and XWRITE only in telemon 3.0
|
||||
PTR_READ_DEST := $2C ; used for XFREAD and XWRITE only in telemon 3.x
|
||||
|
||||
HRSX := $46
|
||||
HRSY := $47
|
||||
@@ -48,11 +54,43 @@ HRS3 := $51
|
||||
HRS4 := $53
|
||||
HRS5 := $55
|
||||
|
||||
HRSFB := $57
|
||||
|
||||
; RS232T
|
||||
; b0-b3 : speed
|
||||
; 1111 => 19200 bps (please note that telestrat can't handle this speed without stopping all IRQ except ACIA's one)
|
||||
; 1100 => 9600 bps (default from telemon)
|
||||
; 1110 => 4800 bps
|
||||
; 1010 => 2400 bps
|
||||
; 1000 => 1200 bps
|
||||
; 0111 => 600 bps
|
||||
; 0110 => 300 bps
|
||||
; 0101 => 150 bps
|
||||
; 0010 => 75 bps
|
||||
|
||||
; b4 : 0 external clock, 1 internal clock
|
||||
; b6-b5 : 00 8 bits
|
||||
; 01 7 bits
|
||||
; 10 6 bits
|
||||
; 11 5 bits
|
||||
; b7 : 0 a stop
|
||||
|
||||
RS232T := $59
|
||||
|
||||
; RS232C
|
||||
; b0-b3 : 0
|
||||
; b4 : 1 if echo
|
||||
; b5 : 1 if parity
|
||||
; b7-b6 : 00 in/out parity odd
|
||||
; : 01 on/out parity even
|
||||
; : 10 parity sent, answer not tested
|
||||
; : 11 SPACE SENT, reception not tested
|
||||
|
||||
RS232C := $5A
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Low memory
|
||||
|
||||
IRQVec := $02FB ; "fast" interrupt vector
|
||||
|
||||
|
||||
|
||||
@@ -78,7 +116,7 @@ PRA2 .byte ; Port Register A without handshaking
|
||||
.endstruct
|
||||
|
||||
|
||||
.struct VIA2 ; Versatile Interface Adapter
|
||||
.struct VIA2 ; Versatile Interface Adapter
|
||||
.res $0320
|
||||
PRB .byte ; Port Register B
|
||||
PRA .byte ; Port Register A
|
||||
@@ -110,7 +148,7 @@ SCREEN := $BB80
|
||||
; ---------------------------------------------------------------------------
|
||||
; ROM entries
|
||||
|
||||
; primitives telemon 2.4
|
||||
; telemon primitives (2.4 & 3.x)
|
||||
XRD0 = $08
|
||||
XRDW0 = $0C
|
||||
XWR0 = $10
|
||||
@@ -119,13 +157,13 @@ XTEXT = $19
|
||||
XHIRES = $1A
|
||||
XFILLM = $1C
|
||||
XMINMA = $1F
|
||||
XVARS = $24 ; only in TELEMON 3.0, in telemon 2.4, it's XNOMFI ($24)
|
||||
XFREAD = $27 ; only in TELEMON 3.0
|
||||
XOPEN = $30 ; only in TELEMON 3.0
|
||||
XVARS = $24 ; only in TELEMON 3.x, in telemon 2.4, it's XNOMFI ($24)
|
||||
XFREAD = $27 ; only in TELEMON 3.x
|
||||
XOPEN = $30 ; only in TELEMON 3.x
|
||||
XCOSCR = $34 ; switch off cursor
|
||||
XCSSCR = $35 ; switch on cursor
|
||||
XCLOSE = $3A ; only in TELEMON 3.0 Close file
|
||||
XFWRITE = $3B ; only in TELEMON 3.0 write file
|
||||
XCLOSE = $3A ; only in TELEMON 3.x Close file
|
||||
XFWRITE = $3B ; only in TELEMON 3.x write file
|
||||
XSONPS = $40
|
||||
XOUPS = $42
|
||||
XPLAY = $43
|
||||
@@ -133,10 +171,20 @@ 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
|
||||
XCIRCL = $8F
|
||||
XCURSE = $90
|
||||
XCURMO = $91
|
||||
XPAPER = $92
|
||||
XINK = $93
|
||||
XBOX = $94
|
||||
XABOX = $95
|
||||
XFILL = $96
|
||||
XCHAR = $97
|
||||
XSCHAR = $98 ; Draw a string
|
||||
XEXPLO = $9C
|
||||
XPING = $9D
|
||||
|
||||
@@ -151,6 +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
|
||||
IRQVECTOR := $2FA
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user