|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6912 (0x1b00) Types: TextFileVerbose Names: »bsclcpenv«
└─⟦041268bb6⟧ Bits:30003098 SW2001/2/3.02 RC3502 Operating System └─⟦6fc3bf78b⟧ └─⟦this⟧ »bsclcpenv«
bsclcpenv; (*--------------------------------------------------------------- -- -- bsc lcp environment -- -- defines constants types and external procedures used -- by bscmaster and bscslave drivers lcp. -- ----------------------------------------------------------------- -- -- date init changes -- ------------------------------------------------ -- 84.02.01 jg first edition -- 84.03.09 hej fw_snoop_ev implemented. -- 84.03.19 hej set_driv_mask implemented. -- 84.04.04 jg line_surv_form changed. -- 84.04.13 jg device status implemented. -- 84.04.16 hej port,fwcom,param removed from lcp_formats. -- 84.05.24 hej new lcp_operation no for driver events. -- 84.06.04 hej new record for lcp reset of firmware. -- 84.06.12 jg result lcp_timeout. -- 84.06.14 hej sense_line_lcp_format changed. -- 84.06.20 hej sp_status_12 called fwerror. -- 84.07.03 jg sp_status_13 called not_defined. -- sp_status_14 called lcp_returned. -- sp_status_15 called lcp_forbidden. -- 84.10.16 hej bool16 -> eventnomask with 32 booleans. -- 85.11.27 hej emprocedures used. -- 86.07.21 hej em-break used. -- ------------------------------------------------------------------ *) const (* control modif values *) set_ev_mask = 1; reset_fw = 2; start_stat_lcp = 3; init_trace = 4; stop_trace = 5; begin_trace_lcp= 6; end_trace_lcp = 7; start_snoop = 8; stop_snoop = 9; start_isnoop = 10; stop_isnoop = 11; set_driv_mask = 12; \f (* sense modif values *) sense_ev_mask = 1; get_survey = 2; sense_all = 3; sense_line_lcp = 4; sense_ram = 5; sense_st_ram = 6; line_survey = 7; device_status = 8; (* answer streams ( u4 ) *) ncp_mess_str = 1; ncp_event_str = 2; lcp_conn_str = 3; lgt_set_ev_mask = 4; lgt_reset = 3; lgt_start_stat = 3; lgt_init_trace = 3; lgt_begin_trace = 3; lgt_end_trace = 1; lgt_setformat = 4; lgt_start_snoop = 6; lgt_start_isnoop = 2; lgt_sense_ev = 2; lgt_survey = 8*8; lgt_sense = 8*26; lgt_sense_line = 39; lgt_survey_sl = 8; lgt_line_survey = 8; \f const (* event mask : messages, interrupts, driver_events, trace , .. *) m_snoop_ev = #h8000; i_snoop_ev = #h4000; fw_snoop_ev= #h2000; driver_ev = #h1000; trace_ev = #h0800; def_event_mask = driver_ev; not_allowed = sp_status_10; lcp_timeout = sp_status_11; fwerror = sp_status_12; not_defined = sp_status_13; lcp_returned = sp_status_14; lcp_forbidden = sp_status_15; def_trace_speed = 7; (* 1200 bps *) def_trace_mode = #h79; (* for RC 822 even par 1 stop *) tracedata_evno = 11; driver_evno = 101; read_to_fw = 5; (* ev no 23 *) from_fw = 6; (* ev no 27 *) write_to_fw = 7; (* ev no 31 *) wr_from_fw = 8; (* ev no 35 *) \f type (* lcp message formats *) sp_header = record first,last, next : integer; sp_head : sp_head_type end; lcp_set_ev_mask = record ? : sp_header; update_mask, new_mask : integer end; lcp_reset = record (* for reset of firmware *) f, l, n : integer; head : sp_head_type; password: integer; func : byte; (* reset value *) data : array ( 0..15) of byte end; lcp_start_stat_format = record f,l,n : integer; head : sp_head_type; bscline, fcu , (* first cu *) lcu : byte (* last cu *) end; init_trace_format = record f,l,n : integer; head : sp_head_type; trcline , (* trace line *) mode , (* mode reg 1 to 2651 *) speed , (* line speed code 0..15 - 50 .. 19200 *) newcom : byte end; \f begin_trace_format = record ? : sp_header; bscline , trcline , mask : byte end; lcp_line_format = record ? : sp_header; bscline , trcline , new : byte end; get_ev_format = record ? : sp_header; ev_mask : integer end; start_snoop_format = record ? : sp_header; sn_low , sn_up , sn_c_m : integer end; \f eventnomask = packed array ( 1..32 ) of boolean; set_driv_format = record ? : sp_header; newmask : eventnomask; end; surv = record st : statetype; mb : bool8; cus: set of 0..31; que: byte; (* queue = 2 pending = 1 *) try: byte; (* retry *) end; survey_format = record ? : sp_header; data : array ( 0..7 ) of surv end; sense_format = record ? : sp_header; data : array ( 0..7 ) of senselinetype; end; surv_sl_form = record ? : sp_header; data: array(0..7) of byte end; line_surv_form = record ? : sp_header; ln,le,ls,lc,ccu,cdv: byte; bx: packed record b7,b6,b5,b4,b3,b2,b1,b0: boolean end; mo: bool08 end; \f sense_line_lcp_format = record ? : sp_header; bscline , data_comm, un : byte; data : array ( 1..10 ) of integer; data_state : byte; data_d : array ( 2..15 ) of byte; pend , qu : byte; end; req_ram = record ? : sp_header; addr : integer; bc : byte; end; get_stat_format = record f,l,n : integer; head : sp_head_type; bscline : byte; data : array ( 0..statlast ) of byte end; \f (*---------------------------------------------------- -- -- procedures -- ------------------------------------------------------ *) procedure note_msnoopev ( (* make message snoop event *) var lcp_zone : em_zone_type; var msg : reference; low, up, cm : integer ); external; procedure note_isnoopev ( (* make interrupt event *) var lcp_zone: em_zone_type; dir, line : byte; var ar : line_des_area; cm : integer ); external; procedure note_tracedata ( (* pack trace data as an lcp event *) var lcp_zone: em_zone_type; line : byte; var ims : bscformat ); external; procedure note_driver_ev ( (* pack user event as lcp event *) var lcp_zone: em_zone_type; line, cu, dev, no, cause, extra: byte ); external; procedure em_break ( (* disconnect lcp *) var lcp_zone: em_zone_type; cause : integer ); external; \f (*--------------------------------------------------- -- -- end of bsc lcp environment -- ----------------------------------------------------- *) . «eof»