X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=asminc%2Ftelestrat.inc;h=956d31be32b3de49f44661c0becf1b96f75f4017;hb=d602572bbec53fe9ca906029d7bac436f65d915f;hp=8a51e1c32a3894a97a31ff2c9dd0fe6753e9ec99;hpb=233dd5062a9bcc53992f1ae9cb09cf1ad76a43b5;p=cc65 diff --git a/asminc/telestrat.inc b/asminc/telestrat.inc index 8a51e1c32..956d31be3 100644 --- a/asminc/telestrat.inc +++ b/asminc/telestrat.inc @@ -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