]> git.sur5r.net Git - cc65/blobdiff - asminc/telestrat.inc
TAB to space conversion
[cc65] / asminc / telestrat.inc
index 8a51e1c32a3894a97a31ff2c9dd0fe6753e9ec99..956d31be32b3de49f44661c0becf1b96f75f4017 100644 (file)
@@ -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,16 @@ FUNCTKEY        = $A5
 
 FNAME_LEN       = 11            ; maximum length of file-name
 
+; ---------------------------------------------------------------------------
+; I/O Identifier
+; theses identifers are used for channel management
+; 
+
+XKBD            = $80           ; keyboard
+XRSE            = $83           ; RS232 in
+XSCR            = $88           ; screen
+XRSS            = $90           ; RS232 out
+
 
 ; ---------------------------------------------------------------------------
 ; Zero page
@@ -26,8 +36,14 @@ RESB            := $02
 
 TR0             := $0C
 TR1             := $0D
+TR2             := $0E
+TR3             := $0F
+TR4             := $10
+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
@@ -38,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
 
 
 
@@ -68,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
@@ -100,41 +148,61 @@ SCREEN          := $BB80
 ; ---------------------------------------------------------------------------
 ; ROM entries
 
-; primitives telemon 2.4 
+; telemon primitives (2.4 & 3.x)
 XRD0             = $08
 XRDW0            = $0C
 XWR0             = $10 
-XWSTR0           = $14 
+XWSTR0           = $14          ; write a string in text mode
 XTEXT            = $19
 XHIRES           = $1A
 XFILLM           = $1C
 XMINMA           = $1F
-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
+XOUPS            = $42          ; send Oups sound into PSG
 XPLAY            = $43
 XSOUND           = $44 
 XMUSIC           = $45 
 XZAP             = $46
 XSHOOT           = $47
+XMKDIR           = $4B          ; create a folder. Only available in telemon 3.x
+XRM              = $4D          ; remove a folder or a file. Only available in telemon 3.x
+XSOUT            = $67          ; send accumulator value (A) to RS232, available in telemon 2.4 & 3.x : if RS232 buffer is full, the Oric Telestrat freezes
+XHRSSE           = $8C          ; set hires position cursor
+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 in hires
 XEXPLO           = $9C 
 XPING            = $9D
 
+; ---------------------------------------------------------------------------
+; ROM entries variables
+
+PWD_PTR          = $00
+
 ; ---------------------------------------------------------------------------
 ; Page $200
 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
 
 
 ; ---------------------------------------------------------------------------
@@ -146,8 +214,8 @@ BUFEDT           := $590
 MAX_BUFEDT_LENGTH=110
 
 ; Hardware
-CH376_DATA       :=$340
-CH376_COMMAND    :=$341
+CH376_DATA       := $340
+CH376_COMMAND    := $341
 
 ; MACRO