$title(' config ') $subtitle(' module of sdt534 V1.0, 17 aug 82, v2.0 21 mar 83') /******************************************************************** * * TITLE: config * * DATE: [] * * ABSTRACT: This module provides the configurable publics * of SDT534. This module is recompiled to adjust to a * different set of default conditions. The values listed * in here are used by user$reset$hardware and user$reset$soft- * ware. * * LANGUAGE DEPENDENCIES: * * PLM86 config.p86 DATE([]) * ********************************************************************/ /*****************************************************************************\ * * * Copyright Intel Corporation 1982, 1983 * * All rights reserved. No part of this program or publication may be * * reproduced, transmitted, transcribed, stored in a retrieval system, or * * translated into any language or computer language, in any form or by any * * means, electronic, mechanical, magnetic, optical, chemical, manual or * * otherwise, without the prior written permission of Intel Corporation, * * 3065 Bowers Avenue, Santa Clara, California, 95051, Attention: Software * * License Administration. * * * \*****************************************************************************/ config: DO; /* * literals used throughout SDTMON tests */ declare cr literally '0DH', lf literally '0AH', null literally '0', true literally '0FFH', false literally '0', pass literally '0FFH', fail literally '0', boolean literally 'byte', hexform literally '11000011B'; /* format for td$display$number */ /* * External declarations relating to SDTMON */ td$start: procedure external; end td$start; td$set$tdt$ptr: procedure (tdt$ptr) external; declare tdt$ptr pointer; end td$set$tdt$ptr; td$this$is$demon: procedure word external; end td$this$is$demon; td$display: procedure (string$ptr) external; declare string$ptr pointer; end td$display; td$display$char: procedure (ch) external; declare ch word; end td$display$char; td$display$number: procedure (number, format) external; declare number word, format word; end td$display$number; td$masked$message: procedure (string$ptr, msg$type) external; declare string$ptr pointer, msg$type word; end td$masked$message; td$can$print: procedure (msg$type) word external; declare msg$type word; end td$can$print; td$new$line: procedure external; end td$new$line; td$read$line: procedure(buffer$ptr) external; declare buffer$ptr pointer; end td$read$line; td$detmon: procedure external; end td$detmon; declare td$version (4) byte external, td$debug word external, td$erronly word external, td$v (16) word external; sq$pit_init: procedure byte external; end sq$pit_init; sq$usart_init: procedure byte external; end sq$usart_init; sq$pic_init: procedure byte external; end sq$pic_init; sq$ppi_c: procedure byte external; end sq$ppi_c; sq$usart_irv: procedure byte external; end sq$usart_irv; sq$timer_irv: procedure byte external; end sq$timer_irv; sq$baud_rtv: procedure byte external; end sq$baud_rtv; sq$usart_load: procedure byte external; end sq$usart_load; sq$uct: procedure byte external; end sq$uct; sq$ucr: procedure byte external; end sq$ucr; declare user$number$of$tests word public data (10), user$tdt (10) structure ( flag byte, /* recognize/ignore */ overlay byte, /* not used */ addr pointer, /* addr of test routine */ name$ptr pointer, /* addr of test name string */ err$cnt word, /* error count (init to 0) */ exec$cnt word) /* execution count (init=0) */ public initial (0,0, @sq$pit_init, @pit_init_name, 0,0, 0,0, @sq$usart_init, @usart_init_name, 0,0, 0,0, @sq$pic_init, @pic_init_name, 0,0, 0,0, @sq$ppi_c, @ppi_c_name, 0,0, 0,0, @sq$usart_irv, @usart_irv_name, 0,0, 0,0, @sq$timer_irv, @timer_irv_name, 0,0, 0,0, @sq$baud_rtv, @baud_rtv_name, 0,0, 0,0, @sq$usart_load, @usart_load_name, 0,0, 1,0, @sq$uct, @uct_name, 0,0, 1,0, @sq$ucr, @ucr_name, 0,0), pit_init_name (*) byte data('TIMER INITIALIZATION', null), usart_init_name (*) byte data('USART INITIALIZATION', null), pic_init_name (*) byte data('PIC INITIALIZATION', null), ppi_c_name (*) byte data('PARALLEL PORT C', null), usart_irv_name (*) byte data('USART INTERRUPT VERIFY',null), timer_irv_name (*) byte data('TIMER 4 & 5 INTERRUPT VERIFY',null), baud_rtv_name (*) byte data('BAUD RATE VERIFY',null), usart_load_name (*) byte data('USART LOAD TEST',null), uct_name (*) byte data('USART CHARACTER TRANSMIT', null), ucr_name (*) byte data('USART CHARACTER RECEIVE', null); /* * declare configuration variables * * the defaults given here are set for an iSBC534 * jumpered for XENIX. * */ declare sq$inhibit_u byte public data(00000B), /* inhibit usart testing */ /* bit 0 = usart ... bit 3 = usart 3 */ /* bits 4-7 not used, 0=test 1=inhibit */ sq$un_init (4) structure( /* usart initialization data */ /* used for tests 8 and 9 */ mode byte, /* usart mode byte */ sync (2) byte, /* synch char(s) */ /* if in synch mode */ com_byte byte, /* command byte */ baud_cnt_l byte, /* timer init value LSB */ baud_cnt_h byte) /* timer init value MSB */ public data( 4EH,0,0,37H,8,0, 4EH,0,0,37H,8,0, 4EH,0,0,37H,8,0, 4EH,0,0,37H,8,0 ), sq$5_clof word public data(0), /* iSBC534 clock frequency */ /* 0 = 1.2288 MHz 1 = 2.4576 MHz */ sq$cpu_clof byte public data(1), /* cpu board clock frequency */ /* 0 = 153.6 KHz 1 = 1.23 MHz 2 = 2.46 MHz */ sq$cascaded byte public data(true), /* iSBC534 timers */ /* 4 and 5 cascaded */ sq$cpu_base_port word public data(0C0H), /* base port for cpu's 8259 */ sq$cpu_timer byte public data(0), /* cpu timer used for tests */ sq$cpu_timer_intr byte public data(2), /* interrupt level of cpu */ /* timer used for tests */ sq$cpu_308$309 byte public data(false), /* iSBC308 or iSBC309 on */ /* cpu board */ sq$u_t (4) byte public data( /* usart - timer match */ 0, /* timer jumpered to usart 0 (Rx and Tx) */ 1, /* timer jumpered to usart 1 (Rx and Tx) */ 2, /* timer jumpered to usart 2 (Rx and Tx) */ 3), /* timer jumpered to usart 3 (Rx and Tx) */ /* */ /* ***** WARNING ***** */ /* */ /* THE FOLLOWING INFORMATION MUST BE CORRECT */ /* SO THAT SDT534 CAN LOCATE ALL OF THE PICS */ /* ON THE iSBC534 BOARD IN ORDER TO SERVICE */ /* THE INTERRUPTS. */ /* */ sq$number_of_boards byte public data(1), /* number of iSBC534 boards */ /* in the system */ sq$board_in_test byte public data(0), /* the iSBC534 currently */ /* being tested */ sq$board_loc (5) structure( /* this structure describes the */ /* the iSBC534 boards in the system */ /* */ /* the array dimensions must not be */ /* changed. */ base_port byte, /* the base address of the iSBC534 */ int_level (2) byte) /* the interrupt level of the pics. */ /* int_level(0) = pic 0 */ /* int_level(1) = pic 1 */ /* an interrupt level greater than 7 */ /* indicates that the pic is not */ /* jumpered to an interrupt */ public data ( 030H, 3, 3, /* iSBC534 board number 0 */ 040H, 3, 3, /* iSBC534 board number 1 (if needed) */ 0FFH, 0FFH, 0FFH, /* iSBC534 board number 2 (if needed) */ 0FFH, 0FFH, 0FFH, /* iSBC534 board number 3 (if needed) */ 0FFH, 0FFH, 0FFH); /* iSBC534 board number 4 (if needed) */ end config;