IMD 1.17: 23/10/2016 22:06:04 File generated by the HxC Floppy Emulator software v2.8.9.4  X- ؋FFFv3Pvv^FFFF= rߌȎ.program_version_number=V4.0program_name=iAPX 86, 88 Bootstrap Loader(C) INTEL CORP 1980, 1981, 1982XP.vǹ4^&W&g&_&/RMX86SYSTEMUFMs1PP^&7Y:u.^GFF ^GFFM뺀>Ms ^&?t F]UDiag2cZiRMX 86F02 VOL1 N 2 05 1 >uP,.,&NO,.H ]U88]U4&F4F~t^F44&F4 t~t:N4&w>0Y4&04@4N뜉]UF  FFF t&t t u FN^&?/u G:< :<6Q1PP P1 t0߹FY&G&G>&G 1&w&wQ6>P@1@;w߉&8t[:P@PsE:<@&>:&?/uG :&?uF:<m@tzh6>TH"B>BuBpO >OuBl>OpuG> v^G$PQ>Pus$m"ր>P@u^(X&P*빀>Ou@t :$4"B>Ou+ 20> v0&G02>Ouc20I46> v4&G464DFI464D^;u;s> tCQ>Ht"PF Pk]UQQz xus>btfu FFF F^66V6TFP PTVTVfubZ\^6^6\6\^66^6\FP P\^\^9duf`@`6Z抌;uMZ@Z`Ƌ\^6^6\6e\^Z;ubd;u XddRƋ;Xu=R@RXbƋTV6V6T6T%!`"%<  %P&( %}E##F %@%]UFf‹]UF3vFv،]UFVv]0123456789ABCDEF U6P6L]UQFF<w:sFF]UF tr+9Fv6FPvR68vNFYF.; Z A ]%R**T%24%@%%0% P%00%@@%P%% %V9zu9xwxxz+ףxz]U~u666fP PUAPv6FVR&PrFV9Vu9FvN~+N~Rvv&PgXRƋTV6V6T6TV6X6TVTV6X&PN~+N~9Vu9Fv!PNV+׉NVP+FVs6Pv0fVFRTV6V6T6TVXb`d]UFf؋ʋFf‹%P% p%%Q)) R%`PF$$HP+,P-%.%%fl77n%_@% <`8>'TEDR?SPACEMAPR?FNODEMAPR?BADBLOCKMAPsdtdirSDT534.DIRSDT351.DIRSDT544.DIRX̢V̪VĴX̹VX͠~.0UQFPvFsNF~wD0PvSPF.&0N.&Fu]H=XXV#2X7V?VDXIVWX]#kXР.0UQQFUPvFrFF<vF.&FFskyPvPFPPPF<vPvPFFF.&Fti]TSXXV#@XTXYVaVfXkV}ĉX̎V̖VěX̠VķX\XaVlVqXvVH2U@PFPMPF.&@PPPPFX.&@<vgPFPP]q>X VVXV.X?QX\XaVlVqXvVHUQQ.&8u FFFFrP.&PPPF<r .&8sPvPP.&?v(F.&:FrPvFuܸ P^F.&]MBRAMPLM86 V2.15/19/83 09:08:52ɠ y VERSION1P0BCODE??SEGCGROUPSTACKMEMORYDATA MBRAM_CODE MBRAM_DATA JMPOUT_CODE JMPOUT_DATA DPRAM_CODE DPRAM_DATA BRDIRV_CODE BRDIRV_DATA FMWVFY_CODE FMWVFY_DATA INITT_CODE INITT_DATA INITU_CODE INITU_DATA INITP_CODE INITP_DATA PPIA_CODE PPIA_DATA URTIRV_CODE URTIRV_DATA BDRTV_CODE BDRTV_DATAUCT_CODEUCT_DATAUCR_CODEUCR_DATA%hH"@s@ T cD@g @ @X @" @T@@ @,ܘ@@@ str܎ , trَ   tr ֎  4 tr"Վ ю tr$Ԏ w댄ERROR PQBOARD_LOCPQBOARD_IN_TEST PQBASE_ADDRPQWAIT_FOR_TIMEOUTPQPARAM SQRESET_BOARD SQSEND_MSG SQINCREMENT_PTR SQCR_ONLYTDDEBUG SQSTARTTIMERSQCLEARTIMEOUT SQSETTIMEOUT MY_LOADER PQBAUD_RATE PQINT_ON_PICPQPORT_IN_TEST SQINTR_SET SQINTR_UNSETPQINHIBIT_PORT PQLOOP_BACK PQCASCADED SQTIMER_START!PQU_T SQPORT_READ# SQPORT_WRITE# SQCHIP_INIT%TDV& PVVV VVVV œ]4#Copyright1983 Intel Corporation^ERROR: MULTIBUS RAM ACCESS. LOCATION = >>:>>, VALUE READ = >, VALUE EXPECTED = > ۠.U.&P.y&s6&G &G &W‰F&W &O щVFSP&&G&W‰F.&'.}&9rPsFPSv FF&GF&G&>&G &G0&G&G&G&Gv&G&&G.GF&GF&GFv&&O&GP.y&.&rFFFHF^Ȱ]Ŝ4*X/V6X?XfV vXĨX̭VĴXĽXV lJMPOUTPLM86 V2.15/19/83 09:09:37Š+VVV VVV.))]0#Copyright1983 Intel CorporationܠERROR: JUMPOUT FAILED. iRMX86//XENIX FIRMWARE STATUS = > MULTIBUS ADDRESS = >>:>>, 8085 ADDRESS = >> VALUE READ = >, VALUE EXPECTED = > abERROR: BOARD RESET FAILED. sdt534cnf.p86& P.&r.y&.&ȱ.}&HF.&^FHFȰZFFF;FvFr^v&8ZthSV^FF.&FZXXYYV%X3Y, STATUS BYTE = >. +.)U.&P.&s'&.6%&&G&DP.&s&G &G &W‰F&W &O щVFSP&&G&W‰F.&'.&9rPsFPSv FF&GF&G&>&G&G2&G&G&G&GZ&&G.&.!&P.!&s6&|u.&.!&՚VV  z ].# Copyright1983 Intel Corporation̠ -ERROR: DUAL PORT RAM TEST. MULTIBUS: EXPECTED = >, READ = >, ADDRESS = >>:>> 8085: EXPECTED = >, READ = >, ADDRESS = >> :k ERROR: TIMEOUT OCCURRED WHILE TESTING DUAL PORT RAM FIRMWARE: COMMAND BYTE = >, STATUS BYTE = > n ERROR: BOARD RESET FAILED. DUAL PORT RAM TEST ABORTED FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >  7 89*&5? ~>0!6~U">6~>Z6 XXYYY Y%V,X7Y?XGYSXXV_XmYvYċYğY̨V ĮYIJYXXY XX-Y3Y8XCV IYMYaXgYxY{XŀXŋY͐VŕYřYŠYŤYūYŴYżYYYYXV> .&s6&|7tF.&ښFs0&.6&&G&D.&P:.&P.&rFtc]̜OV XY$X,V 9YAXIYWX^XcVmXxV}V ĄX̎V ̛V d kU.&sm&G.6%&SP^FFXXYYV%X0Y8X@YLXQVXXfYoY̠V ĦYĪYIJYXXYV YY YYY$Y-Y6Y?YHYQYZYbYnXvX̀VͅV ŌXŗYťXŭX͵V żXYXYV S.%&GF&GF&GF&G&G&G6&D&G&GP]zX+Y, STATUS BYTE = >. z ERROR: UNEXPECTED INTERRUPT OCCURRED FROM BOARD. BOARD INTERRUPT LEVEL = ! FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. b ERROR: BOARD RESET FAILED. TE**************************************/ 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$td$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%Y9YBYQX[V`V gXrYăX̋V ĘYĠXĨYĴX̹VXYYYV XY5YDYTYaXfVoXwXŏYŞXͨVͭV ŴXſYXV YX' Z&&G&DP.&Fs&8uv&8ZuSv^F.&Zv&&ON&OF&GF&GF&G&G6&D8&GS&G:_^&D&G9&D -P.&.&rFFJ&G7U]ޜXYXVX0Y;YKYSV `XiYĝYĬYļYinto 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. * * * \***************************************ST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. N4 qSEND INTERRUPT NOT CONNECTED, NO TESTING DONE P .U .&.&.&ȱ.&@F<v1.&F&qPF.&.&sS.&s'&.6&&G&DP.&sBvFF<w.&Fu&G &W‰F&W &O щVFSP&G&O &O.&&O.&O&O&&G.&Pt$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$, 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), l, 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; e 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 l (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)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 externa 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 mod 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 initiaMHz */ 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$ /* 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 */ / 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; 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 */  /* */ /* 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 *=F.&6&&GS&G_[&GP.&v]zhX VXX8XGYOYWY`XkVpV wX́V ĘXķXĿYYXVXVV FMWVFYPLM86 V2.15/19/83 09:12:01Ԡ cVVV VVV a]*# Copyright1983 Intel Corporation֠ ERROR: WRONG OUTPUT BUFFER POINTERS FOR PORT ! EXPECTED: BUFFER PTR = >>, FREE BYTES = >> ACTUAL: BUFFER PTR = >>, FREE BYTES = >> NUMBER OF CHARSD. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. * .UQ.&.&SFs0&.6&&G&DcP.&&G &W &GЉ&G &O FFrF<sPsFF]˕Z X XYYX$Y)V6Y>XFYRXWV^XhYpYĆYęY̿V  UFF&FSPF&G&G&G%&&GF.&P.&s06&|u&G:F.&rFFF<w.&FFu~u=F.&6&&GS&G_[+ XXYYX'X5XGXUXZVdXlXwY|VăXĎYĖXĞYĪX̯VĶXVXYV Y$Y*Y4Y> ERROR: WRONG INPUT BUFFER POINTERS FOR PORT ! EXPECTED: BUFFER PTR = >>, BYTES IN BUFFER = >> ACTUAL: BUFFER PTR = >>, BYTES IN BUFFER = >> NUMBER OF CHARS OUTPUT = >> P ERROR: BAD STATUS ON PARAMETER COMMAND FOR PORT ! FIRMWARE STATUS = > ٠M ERROR: BAD STATUS ON OUTPUT COMMAND FOR PORT ! FIRMWARE STATUS = > @L ERROR: BAD STATUS ON INPUT COMMAND FOR PORT ! FIRMWARE STATUS = > Xs cERROR: BOARD RESET FAILED. FIRMWARE VERIFICATION ABORTEuF.&&GĚFs'F.&6&D&GPFFrvPmFFrvPP< FFr.F&sp&G&OFSP &FF1w&*Fu&G2&G&&GF.&PFFF.&sb&Gt;&O:Nu):YYY"V (Y,Y3Y;YDYMYUYdXnVsV zXąYġXĪY̴V XYXVX XX2YKYQV WY[Y_YvYŃYP2P< FFs/ YY'YBXJV [XcYoXtV̋XĜX̳XXYYV YY XVV !X+V 7XAVFV MXXYvYŋX͓V ŤXŬYŸXͽVXYԠ &G2&G&&GF.&P.&s06&|u&G:FuF.&&GĚFs'F.&6&D&GPFFrv2PP< FFs .&F]4R YYY'X1V6V =XHYdXmYwV ĈXĐYĜX̡V̼X sdt534.csdŎYŖYŞYŬXͶVͻV XY( uN&uF&uF&G~t~vF.&뒚Fs'F.&6&D&GPFFrv2PmFFr!.F&rPPP< FFs.F&r&G &OFSP.&2P.&rF.&P.&s<&Gt&O:Nu <uF&G~tǰF.&븚Fs'F.&6&D&GPFFrvXu m.U*&G&W£&W&GЉ &G&O"9Vu H;"tjF .&F&GN&OIQ&OY&O &O &O"&O"&O&G F&G P**]ZX YY%Y9YLYTYYYcXzYċYĕYĝYħYĹX̾VYY< < .U+&G &W £$&G &W £&&W&Oщ(9F u9VtiF .&F &GF &GF&GN&O&&O&&O(&O(&O&G F&G P+ L3= '%1 ; DMJ uS0>0>U>>2=>>>>og"> ߙ ޟ 6&7'Ԡ @@5 fff''J.U.&.&Ss'&.6&&G&DPFF<sLrEvSPPs'&.6&&G&DPF뭠sU&G &G &W£&W &O щFSP&&G&W‰F.&'.PFF<sr v8Fs .&&GLU.&,P.&r]DGXYXV/Y9XCYLXTY^XiVnV uXV ̄V Ѡ8.UQQ^.&G"^.&G,^.&G*^.&G>^.&GAFslF<rb.^. &G4^.&G6Pvr2Ft<u'&G4^.&G6Pvr.^.&G &GM&GNPvr<^.^.  0+]KX YY%Y8YLY^XąYďYėYġYijX̸VľYYINITTPLM86 V2.15/19/83 09:13:05Ϡ VVV VVVV٠](# Copyright1983 Intel Corporation.?ERROR: TIMER ! DID NOT COUNT, MODE = ! MgiERROR: TIMEOUT OCCURRED WHILE TESTING TIMER !. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. 8hERROR: BOARD RESET FAILED. TIMER TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. &9rPsFPSv F0QQPOPS&G&G&&G.&,P.&s6&|Lu.&ښs'UXXYYX&Y+V0Y8Y@XHYTXYViYtY}VĂYĊYĒXĚYĦX̫VĵYYYYYV YY Y(X2XEYMV SYWY`YcXhXtVyY}YńYňYŐYŘYŢYŧXͱVͶV ŽXYYXV YY&.6&&G&Di &G4^.&G6PvIr Pv6r[&GN&OMF~vPF^.G;Fu%F.&F&G?P.&Fr2^.XXY%X)Y7X;YIXMY[X_YjYĄXĎXĒYĠXĤYĴYYXYYYXY YYY"Y0X:X@YNXRYbYeYuYxYŀYXźXXVXYX<~( &G4^.&G6PvrD~u.&s &G4 &G4^.ze (2) ; ;--------------------------------------------------; ; ; Link the object files ; ; ;--------------------------------------------------; LINK86 & monitor/sdtmon.lnk, & ** the test monitor, of course ** sdt534.dir/obj/mline.lnk, & ** the main and utility procedures ** sdt534.dir/obj/sdt534cnf.obj, & ** the configuration module ** sdt534.dir/obj/tests.lnk, & ** and the tests thems]&#lCopyright1983 Intel CorporationfVERROR: ASYNC USART !: STATUS = >, PARITY = !,!, LEN = ! BAUD = >>> SB = !.! ǠQERROR: SYNC USART !: STATUS = > ,PARITY = !,!, LEN = ! SYNC CHARS = ! $*CHAR TRANSMITTED = > ACHAR RECEIVED = > ;gXERROR: TIMEOUT OCCURRED WHILE TESTING USART !. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. 8hERROR: BOARD RESET FAILED. USART TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. NJFB^~ONˠ) & ** directly beneath /sdtdir in the ** PRINT (sdt534.dir/lst/sdt534.mp2) & ** directory ** RESERVE(00h to 0100FH) ; ;--------------------------------------------------; ; ; sdt534.csd completed ; ; ; The reconfigured sdt534 can now be invoked by ; ; ; booting /sdtdir/sdt534 ; ; ;--------------------------------------------------; ;-=-=-=-=-=-=-;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ; ;--------------------------------------------------; ; ; sdt534.csd ; ; ; Generates the reconfigured sdt534 ; ; ;--------------------------------------------------; ; ; compile the user configuration module PLM86 sdt534.dir/src/sdt534cnf.p86 & PRINT (sdt534.dir/lst/sdt534cnf.lst) & OBJECT (sdt534.dir/obj/sdt534cnf.obj) large optimi&G6PvJ]v8YXY&Y)Y8XCYNY]XaYqY}DUQQFF~w#FFF NFFu׋F]頦UQF.&F&GL,P.&s6&|LuF.&ښFs=F.&6&&GS&G_[&GiP.&F]C XY!V&V -X8YIXQV bXjYxYćX̌VēXINITUPLM86 V2.15/19/83 09:14:04ϠOVVV VVVMelves ** monitor/sdtlrg.lib & ** the monitor library ** & TO sdt534.dir/obj/sdt534.lnk & PRINT (sdt534.dir/lst/sdt534.mp1) INITCODE ; ;--------------------------------------------------; ; ; Locate the linked files ; ; ;--------------------------------------------------; LOC86 sdt534.dir/obj/sdt534.lnk & ** the bootable test will be found ** TO sdt534 # 3o ;h Ca KZ SN [E cĠ k: s( {$,3;CKS[cks{5XXX XXXXX X$X < (ߜ$XXX XXXX,D3XXX XXXX =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- VaXmYvV}XĈYĐXĘYĤX̩VĵXYXVXYXYXVXX5V 7X:U~ ^.F츋.6&FF< v.t.^Y^.FFF.&0S^.)Ps3&.6&D&G&DXP.&vFP^.DWfFtEF.&0SPPs1&.6&D&G&DXP.&]X X&X)Y-Y2XPXUXnXĀXćYv=F.&GSFF.&*PF .&F릊Fs~ YVY$X-Y9X>VsXwÝVċYēXĜYĨXĽXYVXYVYX YXVHXLYVV`YhXqY}X͂VŨXŰY͵VXXVX|.F &r.SFPs.&.6&D&G&DXPFDF$:<t;F.&GSFF.&*PF .&Fs^ .SFPs*&.6&D&G&DX X$X0ADa*@wPp+0ADa*@wPp+$&0?+*3%-7  ֠+#s @@7B.UQ.&P.&s'&.6&&G&DPFF<wT.&rCPSPP.&s'&.6&&G&DPFu.&rFPSP.&s'&.6&&G&DP.&r$FF<w.&rPFu]ҜX XYYV#X.Y6X>YJXOēX̙VģYīXĴYXVXXXYVY"X+Y7XERROR: PIC INITIALIZATION. MASK SET = >, MASK READ = > ]YERROR: TIMEOUT OCCURRED IN PIC TEST. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. fERROR: BOARD RESET FAILED. PIC TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. B"%.#UQQ.&P?YKXPVWXeYjXoVyYāXĉYĕX̚VġXĪXĸYĽXVYXYXVX X%Y/V9YAXIYUXZVaXjXxY͂VŌYŔXŜYŨXͭVŴXŽXXXVXF ]˝V ,PPIALPLM86 V2.15/19/83 09:15:41͠Z VVVڠfޜ]"#Copyright1983 Intel CorporationΠvERROR: PPI PORT A VERIFICATION FAILED. PATTERN: WRITTEN TO PORT A = >, READ FROM PORT A = >. iER Ps1&.6b&D&G&DP.Z&.Z&r*N.W:t.b&&OP.Z&.Z&rHPSXPs1&.6b&D&G&DP.Z&.Z&rHPSFPX XYYV#X.Y6X>YJXOVVX`XfYkVuY}XĆYĒX̗VĞXħXĵYĺX̿VYXYXVXX YVY%X.Y:X?VFXOX]XfXpXuV|XŅXœYŘX͝VŧYůXŸYXVXXYpWERROR: WRONG NUMBER OF TRANSMIT INTERRUPTS ON USART !, NUMBER OF INTERUPTS: EXPECTED = >, ACTUAL = >. xoERROR: WRONG NUMBER OF RECEIVE INTERRUPTS ON USART !, NUMBER OF INTERUPTS: EXPECTED = >, ACTUAL = >. |>.ERROR: EXTRA INTERRUPTS OCCURRED WHILE TESTING USART !, .h USART ! RECEIVE CAUSED > INTERRUPTS / USART ! TRANSMIT CAUSED > INTERRUPTS pERROR: TIMEOUT OCCURRED. USART INTERRUPT TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. rROR: TIMEOUT OCCURRED DURING PPI VERIFICATION. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. ,bERROR: BOARD RESET FAILED. TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. bTAĠWUXCYh.fUQ.^&P.Z&s'&.6b&&G&DP.Z&rETPSs1&.6b&D&G&DP.Z&.Z&rHPSWPs1&.6b&D&G&DP.Z&.Z&rHPSFXs1&.6b&D&G&DP.Z&.Z&r*N.X:t.b&&OP.Z&PSYPs=.Z&r1&.6b&D&G&DP.Z&]ˉsV YXY(X-V4X=XKXTX^XcVjXuYzXVĊXĕYĝXĦYIJX̷VľXV JURTIRVPLM86 V2.15/19/83 09:16:18Ƞ(I՜%VVV VVVVV V$mӜ] #8Copyright1983 Intel Corporation )ERROR: BOARD RESET FAILED. USART INTERRUPT TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. 7- !+ 5 <>0>U>*>>>9.\@ ] T^E_T"`%J*a-T2b5O:c=TCTHTMTRT1h!!!!!!!!4> 3׻72ؠ87Ҡ9ֹ=> @N@N o.mU .a&Ps'&.6i&&G&D)Ps3{ ?ueZ tr͎ w K2MODESYNCCOM_BYTE BAUD_CNT_L BAUD_CNT_H- y0 ww OurQ trގu h t rЎN tr tr tr"  tr$  tr&Ў tr(Ž t rώ w tr+ t rt trČTDSTARTSQNUMBER_OF_BOARDS SQBOARD_LOC TDDISPLAYTDDEBUG TDV SQINHIBIT_U SYV YYYXXV YYYYDYLV RYVYYX^XlV{ÝV ŇYŋYŒYŬXųY;VYXYXVY\r_>~ ^.3FFPSs,&.6i&&G&DPF3rKF$ FPSFPs'&.6i&&G&DPrGFFPSFPs'&.6i&&G&DPs&&G.e&,P.e&s6&|7uNUMBER SQRECEIVE' SQSEND_MSG@ SQTIMER_START, SQTRANSMITm% SQYES_OR_NO#c SQCLEARTIMEOUTt SQREADTIMER@- SQRESETTIMER. SQSETTIMEOUT- SQSTARTTIMER SQSTOPTIMEROSQINTR SQINTR_SET. VERSION2P0.iRMX 86 8086/8087/8088 MACRO ASSEMBLER V1.1Copyright INTEL CORP 1983MAINQPLM86 V2.15/19/83 08:47:40J? VV W]4$Copyright1983 Intel Corporationݠ"!Software Program # 145408.020}k?&Ȋ: VERSION2P0CODE??SEGCGROUPSTACKMEMORYDATA MAIN_CODE MAIN_DATA PBLIX_CODE PBLIX_DATA RESET_CODE RESET_DATA UTIL_CODE UTIL_DATA TIMER_CODE TIMER_DATA GINTH_CODE GINTH_DATAhH@i@K ŘT|D@ @ v@ @  @7՘@@/ݘ@@Z@)ݎ trd{|mw_ BASE_PORT INT_LEVELB yƎwx wxr w@w@/ wl{|e w bz&G &G &W£&W &O щFSP&G&W‰F.U&'.Q&9rPsFPSv FQQP8PS&G&GF8F?t %@FFFSvPPvdPSF\FSPFsF<r.]&0SPPs,&.6i&&G&DPXXYYV#Y+Y3X;YGXLVQY\YeYzYĎY̗V ĝYġYļXXQUN_INIT SQCASCADEDSQCPU_BASE_PORT SQU_TSQBOARD_IN_TEST TDDISPLAYCHAR TDDISPLAYNUMBER! TDREADLINETDDETMON SQCPU_CLOF SQCPU_TIMERSQCPU_TIMER_INTR_]SQBANK_AFTER_INTR SQBASE_PORT  SQCPU_INTR SQEOI  SQFIRST_TIME  SQINTR_LEVEL SQINT_ON_PIC SQPARAM SQPARAM_W SQPIC_INTR_ADDR SQSECRETSQWAIT_FOR_TIMEOUT USERCOPYRIGHTp USERSIGNON!- USERRESETHARDWAREUSERRESETSOFTWARE SQCHIP_INIT# SQCR_ONLYW SQGET_NUMBERm* SQINCREMENT_P@)SQPROMPT_.e&ښs'&.6i&&G&DP.I&Fr F<s.M&rP(F&G7Us .I&dYY X&X2Y7VAYIXQY]XbVhYrYćY̑VĖYĞYĦXĮYĺX̿VYYVYYXYX VYY%Y/Y4X>VCV JXUYaYfXnV sY{YŃXŋYŗX͜VťXŮYžXYYXI]˚V 2SUQ.8&G.^.3&G0^.3&G^.9&G& rAC&RZR ZR Z uG&Ӝ#Y YY#YVY\YcVPBLIXPLM86 V2.15/19/83 08:48:37àS]0S!SYSTEM DIAGNOSTIC TEST - 534, V2.0 COPYRIGHT 1982, 1983, INTEL CORPORPORATIONQ,pCOPYRIGHT 1982, 1983, INTEL CORPORATIONRESETPLM86 V2.15/19/83 08:48:598 P>VVV VV V V V V $V( , 0 Q ]. , @FF&@FvPFFN&HF&@FtF&]ߜYY @Y* ;YBYG @VYd uY|Ý @ĐY̞ IJYĹY̾ @YY YYoz .UQ&F&Z&&&&r&RZ&F&].X YY)Y2Y9YGYaYlY\ UQ P&PP&&<wu&&OPF&ȊN:sUSART ! %  ENTER TIMER COUNT FOR USART ! 3 ENTER NUMBER OF iSBC 534 BOARDS IN THE SYSTEM * O INVALID NUMBER OF BOARDS; RE-ENTER ^* u ENTER BASE PORT ADDRESS FOR BOARD ! a)  > NOT A VALID BASE PORT; RE-ENTER *  ENTER BOARD ! PIC ! INTERRUPT LEVEL !  PIC ! NOT CONNECTED ( ENTER NUMBER OF THE BOARD TO CHECK (% " NO BOARD ! TO CHECK; RE-ENTER h' CCHANGE USART--TIMER CONFIGURATION 5 f ENTER TIMER NO. FOR USART ! TRANSMIT/ RECEIVE s  ! NOT A T[ @mYrVxYͅ ŋYŒYśYŦYŬYͱ @Ԡ OUQFCPvF&GrFF<wv&fPF&PPN&F&v%>& L&P^GFuP&7&]Ãw YV !Y;YAYF @SY` mYtYćYYđYėY̜ @YİY̵VĻY Ym UQ&F&ȊN:r@&RZR ZR Z Fu]ÜF&PPPFX XYYY#Y)Y-Y3Y:YAYHYLYRYeYnYuY|YăŸVĎYĞYĮY̳V̻ YYV YYY1Y6 @> RYdYtY{YŅY͊V͒ ŰYŶYͻ @Y @Y - &PF&@PPPFX&@PF&@PPPFX&@PF&@PP%PFX&@PF& *** WARNING *** ANSWER ALL QUESTIONS CAREFULLY THIS TEST SUITE CANNOT CONTROL RESULTS IF IMPROPER VALUES ARE GIVEN FOR INITIALIZATIONS OR PORT NUMBERS ܠ' SET GLOBAL V VARIABLES TO DEFAULT I" INHIBIT USART USAGE IN TESTS I 3 INHIBIT USART ! USAGE 1 LCHANGE USART CONFIGURATION FOR TEST 8 AND 9 ` yENTER VALUES FOR USART ! A#  ENTER MODE BYTE FOR USART ! 0  ENTER SYNC CHAR 0   ENTER SYNC CHAR 1 &  ENTER COMMAND BYTE FOR &uPF&PPPFX&F&RX:t>&PF؊GFF<wwF&F&GPFN؋@PPPFVЋZ&Pv&@F&PFuFtP&PP&&&:s6& "Pŋ]_Y VY #Y*Y9Y@YFYK @PYZYmYsYx @ćY̔ ĥYĵYYY @YYY @Y# ;YPYVYIMER; RE-ENTER l TIMERS 4 AND 5 CASCADED  .U &sk&&&&G&G&G&FF<w#&L&HL&HLFuָ,P&F&&s`FPvFs&&G&GFPvF&GsoFF<wt&&sȰuFF3PvFsN&N& Fu&&FLPvFrjFF<v\&yPP YY/YUTIL8PLM86 V2.15/19/83 08:50:00Ԡ ZVV O ],* USART ! STAYING UNREADY ON TRANSMIT Ѡ o 0123456789ABCDEF: , | yY͠ ([y] or n)` (y or [n])U  6v6v o .UQ^ &?uJF^ F&8r;FS&_[&WF&F~wFuFu]D XV4Y m.UQQFF~vHP]jw %:- û% û X> W.UP]EX YV٠ m.UQQFPG$u+JVsYBYMYUY^YbYfYpYxY~YĊY\pPAP) O.U && ]X YY٠Y t.U &R& ZR&QP VXаX @Z]{X YY*YOYJ YQPQRSVW.Us;v& & ]_^[ZYX)$XYY Y&Y,Y4Y" YQPQRSVW.U]_^[ZYXϛX3 -.UF &6&  s &R&P &_Z& û &&O&.rF 1&P@]X*YkYqYvX3V .UQF V&¶^&^&tF V&FF]XY=Y @.U&rFF^F&uN>uF&P6~@uF&P~!uF&PPQ~%u9F&VFʴ&ЉVFRP"Ft]{XXXX X"X$X&X(X*X-X5X=XGXOX\XiXvXĊYđYġYĿYYYYYYYY YYQPQRSVW.U& !& t!$ !& & 8r؊W  u%& & ]_^[ZYXQXY&Y2Y5YPv v]Pv mF ]XV V"V *Xv .U F & F^FFNFF FFFFPv FPv ]:$XY/Y6Y@YZXgXTIMERPLM86 V2.15/19/83 08:50:52͠2VV V Vq M]*I0`0 .Us &&"]ˇ X YYY ..U]5 X Y @.U]R X Y ĞYĦXĮYĺX̿VYYYYYX!Y-V2V 9XDYPYUX]V bYjYrXzYņX͋VŖYŢXͭVͲV ŹXV XYYXYE@ .e&s6&|7u.e&ښs'&.6i&&G&DPsF&8@t1F.>i&&E&@&E.I&WPF.YF&s8&8t:.6i&&D&&D.I&QF&8tEF.i&.I&F.PF&.iCXHV#BDRTVPLM86 V2.15/19/83 09:17:30͠ VVV VVVV۠]#Copyright1983 Intel CorporationO=ERROR: WRONG BAUD RATE ON USART !, BAUD RATE: SET = >>, ACTUAL = >>. rERROR: TIMEOUT OCCURRED WHILE TESTING USART ! BAUD RATES. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. lERROR: BOARD RESET FAILED. BAUD RATE TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. ̠ n` %  h.e&&G7,P.e&s6&|7u.e&ښs'&.6i&&G&DPr:FF<w&&F&@FuFs~r.e&&G7,P.e&s6&|7u.e&ښs'&.6i&&G&DPFjs.e&P.e&r.7&G..e&&G7,Pm X YXY*X.YYFXNYZX_VdYxYĈXĕYģXĪX̯VĺXYXYXX YX%X.X3V@YJXQXVVwYʼnXœX͘VşXūXŸYXVY͠^/ .i&F.P.I&F.i&S&@_[&GPFt]'X XVX%X2Y   (. $(/5^>0!6~>*~"6w3}.U.&P.&s'&.6&&G&DP.&rFPSP.&s'&.6&&G&DP.&s&G &G &W£&W &O щFSP&&G&W‰F.&'.&9rPsFPSv F^QQP2PP&G&G.&{ Iuod tr׎us  tr ю trw P ֎ trώ  E tr̎  H tr{|eu`U trȎ trlw`ˎ BASE_PORT INT_LEVELB ywxݎw@0 a tr wَ92MODESYNCCOM_BYTE BAUD_CNT_L BAUD_CNT_H- y0"#o w$ s SQCASCADEDSQBOARD_IN_TEST SQBASE_PORTSQPARAM SQCR_ONLY SQSENDF.&ښFs8F.&6&&GS&G_[&GPFFrQFPSPFs4F.&6&&GS&G_[&GPFsFF1w؊O&Fu&G&G&&Gs8F.&6& YYY#Y)V /Y3YJYPYwXzYXčYĕYĝYĬX̶V̻V XYXV XY YX!V8Y=XBVSX[YiYxX}VYšYŬYŰYŷYŻYYYXYal`&GSNITTPLM86 V2.15/19/83 08:51:31ϠɜVVV VY]62 ERROR: TIMER ! DID NOT INITIALIZE, MODE = ! @-:ERROR: TIMER ! DID NOT COUNT, MODE = ! cӠ i٠ o6&7' u@@_ {ff۠f''k.U F&RZ FF<wP&7PPFuF~vwFF:v_:u &sP&7PP&^cȈNiFu^ o 0VFFFvPINITTSTACKMEMORYCODEDATA INITT_CODE INITT_DATA INITU_CODE INITU_DATA INITP_CODE INITP_DATAPPI_CODEPPI_DATA URTIRV_CODE URTIRV_DATA TMRIRV_CODE TMRIRV_DATA BDRTV_CODE BDRTV_DATA URTLDT_CODE URTLDT_DATAUCT_CODEUCT_DATAUCR_CODEUCR_DATA@@TvD@o@Z @ @7 Ԙ@ @K @u@h@/՘@@*@r@A@i@e@?@@X{|m wm trdzr$FF<w.&rPFu]}XXYYV%X0Y8X@YLXQVXXfYkXpVwXĂYĊXĒYĞX̣VĪXĸYYYYV YYY X*X=YEV KYOYXY[X`XjYoVtYxYYŃYŌXţXͺV sUF&GF&FSP&FF)F4FFFsF<r.G&G^.G&G&&GF.&P.&s6&|u_MSG SQTIMER_START SQINHIBIT_USQU_T SQWAIT_FOR_TIMEOUT SQCHIP_INIT SQTRANSMIT SQRECEIVE SQSTARTTIMERSQCLEARTIMEOUT SQSETTIMEOUTSQCPU_BASE_PORT SQBOARD_LOC SQINTR_LEVEL SQINT_ON_PICSQPIC_INTR_ADDRSQBANK_AFTER_INTR SQINTR_SET SQSTOPTIMERTDV! SQUN_INIT% TDDISPLAYCHAR TDNEWLINE% SQPIT_INIT " SQUSART_INIT x SQPIC_INIT - CLEAR_AXSQPPI_C  SQUSART_IRV  SQTIMER_IRV Ð SQBAUD_RTV  SQUSART_LOAD SQUCT SQUCR I&G_[&GPFFsF.&,P.&s6&|.tF.&ښFs4F.&6&&GS&G_[&GPFs&G0&O/F^.O;s+^.G+FF^.G ;FsDF FF.6&.GP&DX&DF&DF&D=PFFFs F.&]sYXV6X@VEV LXWYhXpV āXĉYėYĦX̫VĻYXXXXX=XBV]XUQF.&P. F^o^ uVFt<uV^{VF~2wFu^uV^ o 0VFFFvPqFF;FuF&F&G PF^㋇;FuF&F&G:PFFtFtF]{X VY:YDVpY~Y̊VĐYĜYĥYĬYĺYYYY3YBYxYŅY͊VśYŧYŴY͹VDUQQFF~w#FFF NFFu׋F]ÀINITUPLM86 V2.15/19/83 08:52:51̠BFF:Fu F8uFr(FV&GF&GF&GSFFF] 5YY"V QY`YgVpVuVāYďYĠYĮY̳V̸VYV YYVVV YY)Y7Y ACTUAL = > .U /&RZ FFFF<vFFFFP+&7FFFBFP+&7F3YYY YYYYY Y$Y <~vql ,l$YYY YYYY,H3YYY YYYYY Y$Y 0ADa*@wPp+0ADa*@wPp+$&0?+*3%-7   @N@N7 @@@7@ @@@@7TRANSMIT FAILED ՠ1RECEIVE FAILED 3F.& F:tC&&OPF?& F]^ X VY,Y2Y8V >YLXUYkYuYzVĄY̒XěYıYĻYVY .U]ˠX>URTIRVPLM86 V2.15/19/83 08:54:51ʠ4 81VVV VVVVV V$V(V ,V O ],G ERROR: BOARD !, PIC !: CANNOT SET MASK, ACTUAL = >, EXPECTED = > iC KERROR: CANNOT SET ONBOARD PIC MASK, ACTUAL = >, EXPECTED = > uS Y Y6Y9Y=YDYbYgYYĐYėYģY̩VYYYYYYYVY!Y9YOY_YmYwY|YŗY1UN& ^SJ&7FFFsF< rg^&FV N&¶FR&dPFuR&sV N&¶FR&rFPFs$v J&7vV N&¶FR&dPFuR&sV N&¶FR&rF1PFsv J&7FPVV V VV VU]2zpERROR: ASYNC USART !: STATUS = > ACTUAL = > EXPECTED = > PARITY = !,! LEN = ! BAUD = >>> SB = !.! tERROR: SYNC USART !: STATUS = > ACTUAL = > EXPECTED = > PARITY = !,! LEN = ! SYNC CHARS = ! VNJFB^~ON`}* jD r= z6 / #     ,jrzF~wJV/&жFFN:t#F3&&OF&GPFFFuFtWV/&F] ;X VYVY\V sYyV ĒYįYYVY&PPIPLM86 V2.15/19/83 08:54:17Ƞ ? VVVܠ Q ].@ ERROR: PPI PORT C FAILURE: ACTUAL = > EXPECTED = > f < t .UQQF?&RZ <PG&7?& UF?& FU:tC&&OPF?& F?UQFFF<wB&uP FFu݊F]؜X V YDUFFN&~ FFpFV&FFF< wwĴV^Y^VFFFF&0J&7^`PvFP^ĿHW FFu~FF&0J&7PPFF<wLĴ,V^Y^FFvFPĿHWT FFu~FF6DV^YvFP`S "FF]ERROR: WRONG INTERRUPT OCCURED, USART = !, BAUD = >>>, WRONG INTERRUPT = @ +` ERROR: RECEIVE INTERRUPT DID NOT OCCUR, USART = !, BAUD = >>>, USART RECEIVE STATUS = > b 5ERROR: TRANSMIT INTERRUPT DID NOT OCCUR, USART = !, BAUD = >>>, USART TRANSMIT STATUS = > ib ERROR: EXTRA RECEIVE INTERRUPT OCCURRED, USART = !, BAUD = >>>, USART RECEIVE STATUS = > Lc ERROR: EXTRA TRANSMIT INTERRUPT OCCURRED, USART = !, BAUD = >>>, USART TRANSMIT STATUS = > /t PERROR: RECEIVE FAILEDVYYY &GPFFFBF"FFFFtT& F@&0D&7PPT& ƆbƆc2[PD&7F]+Y V3YIYPY\VbYāẎV l UQFFP&xuT&¶FFF8tFP&@ȊNP&@FP&xt@>tA"r+Fd&GPFFP&@Fd&GPFF]EY!YIY^YoY}YĐYěYĢY̧Vĺ&Nt vG"FFFFt<&T& T& F]f_ XVY#Y-Y4Y:V@YJYQY[YjYzYĩY̯V YYY#Y+ :UT&FF~vFFd&^d&G^d&G^d&GF@&0D&7^PT& -[ F@\^b^d[PD&7T&T& T& F~u?D&d&d&Gd&M]*GERROR: BOARD !, PIC !: CANNOT SET MASK, ACTUAL = >, EXPECTED = > oCCERROR: CANNOT SET ONBOARD PIC MASK, ACTUAL = >, EXPECTED = > {7ERROR: TIMER !: EXPECTED INTERRUPT DID NOT OCCUR ;ERROR: TIMER !: INTERRUPT OCCURRED WHEN NOT EXPECTED 2 .UF&&@&P&P  &X &FsFF<w P6 FFu&&R Z F]8 X VY"Y,Y3V9YCYMYrYYX U*^ FFPD&7v`&dP`&r5v FFvvn FF"r`&F~vjFN;u@NAV;ʱuA"r-FP&8uFd&GPFFFt>t+T&¶Fd&G5PF>t+T&¶FdLVYV,YnYuV~ṼVĐYğY̨V ̭VijYĸYĽYVVVYYYYVdYtY{ỲVŗYšYŶYŽY, USART = !, BAUD = >>>, USART RECEIVE STATUS = >, CHAR ACTUAL = >, CHAR EXPECTED = > )O ERROR: TRANSMIT FAILED, USART = !, BAUD = >>>, USART TRANSMIT STATUS = > ͠ TESTING  ONNL y 0   C " @@2H - @@7T< .UFD&H&@L&L&7T& \&T&X&nH& "u F~v+F@vuPD&7FFtFr:F~v-8YYYV UQQFFP&8uFPD&7FPFF8u@N:NuA r/Fd&GFd&GFd&GPPFFP&ȊNP&FP&8t@>tA"rFd&GPFF]NY)Y4V aYlYwY~ỸVĔYĨYĸYYYYYVTMRIRVPLM86 V2.15/19/83 08:55:58 06-VVV VVVVV V$V (V\ GFd&GP]D&H&H<R&Y"F<&F<&FF:Fu'Fd&Fd&GKP]`&dP Y0Y>00, USART RECEIVE STATUS = >, CHAR ACTUAL = >, CHAR EXPECTED = > ҠRERROR: TRANSMIT FAILED, USART = !, BAUD = >>00, USART TRANSMIT STATUS = > s &TESTING ۠. i $ 12 @N@N7.UFE&I&@M&M&7U& ]&U&Y&+"FF=&U& F]˪BXVY#Y-Y4Y:V@YJYQY[YkYyYqU2U&KHMn` o \ Zڠ%O @@7F.UQFFF<wZ&uP FFu݊F]˸X V Y:DUf&RFXPNXȈFF<vF^&0b&7^KPf& O~ F@FFPb&7F^㋇FN;v+ȉN F+FF^㋇;FsCF FF6n&F&DF&DP&DX&DPFFt F]{WY,Y3YLYjYĖY̜V įYľYYYYYY YYV#Y.YAYPYmYwY~Y̓VŏY͖V͟VͤVŪYͺVYv-^G^GFBFFta&PFa&rFFv"FFv^"FF^G^"GrB^G^GFB@NBFPE&7*PFFma&dPFa&rnFFv`"FFv"FF^G^"Gr+^G^GFB@ND = > _TERROR: WRONG INTERRUPT OCCURED, USART = !, BAUD = >>00, WRONG INTERRUPT = @ aERROR: RECEIVE INTERRUPT DID NOT OCCUR, USART = !, BAUD = >>00, USART RECEIVE STATUS = > lcGERROR: TRANSMIT INTERRUPT DID NOT OCCUR, USART = !, BAUD = >>00, USART TRANSMIT STATUS = > .cERROR: EXTRA RECEIVE INTERRUPT OCCURRED, USART = !, BAUD = >>00, USART RECEIVE STATUS = > dERROR: EXTRA TRANSMIT INTERRUPT OCCURRED, USART = !, BAUD = >>00, USART TRANSMIT STATUS = > weERRĄYčYĠYĦYıYĿYYYVY YV,YPYŒY͙V͢VͧVŭYſYYVY &tFPF밚FrPFFF~2sFFF FP&7PP&&R Z FtF]Z/YYV V,Y1V\YfVlYyYBDRTVPLM86 V2.15/19/83 08:56:46ĠZڜVV V VV VK](=ERROR: BAUD RATE ON USART ! : ACTUAL = % EXPECTED = % FF~v3FA&0E&7^.PFFtU& 2~ι F~v)F@FύFPE&7FFtU&U& U& F~u=E&e&e&Ge&GFe&GP]M&=R&Y"F=&F=&FF:Fu%Fe&Fe&G[P]a&dPa&rF~vFQ&FFtF~ Y0Y7YCYIV\YSY_YeVkYyYĘY̞V ̩VĶYYY YYVwdzUQQFj&dPj&s$*Fuj&rњF]* YVV!V'Y2Y>YIYUVTURTLDTPLM86 V2.15/19/83 08:57:27Ġ0=ޜ-VV V VVVVV V$V (VTI]&GERROR: BOARD !, PIC !: CANNOT SET MASK, ACTUAL = >, EXPECTED = > SC[ERROR: CANNOT SET ONBOARD PIC MASK, ACTUAL = >, EXPECTEBFFF~vVU&BFFe&^㋇e&G^㋇e&GFe&G^_ YY4Y;VDVIVSYYYYYYV VVYVVVYCYKYZYcY͊VŤYŷYYYYYY頞otPFFtGPF^tGPFFuPFFFt,=&U& F]x9Y YV&Y+V:YBYGV\YaVxYĆYR UQFROR: IMPROPER USART #! SPECIFIED 6WERROR: NO CHARACTER RECEIVED; USART STATUS = > H.U&?u&v 6&1c&RZ 6&<&1&7ǹ&p&p& ~&N&S&PS&PS&@C&.F FFFP&7&F& P~u&r&P&7FPFFu &r&rF&WFF8u@~*uA r]Fe&^㋇e&G^㋇e&GFe&GFe&Ge&G*ePFFQ&ȊNQ&FQ&8t@^tA"r ^GIFe&^㋇e&G^㋇e&GFe&GPFF]=Y)Y4V _YmYqYĀYĄYďYĚYĢYĪY̯VYYYY YY%Y)Y8YX VYY#Y/Y5Y, STATUS BYTE = >. kbERROR: BOARD RESET FAILED. TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. Q.ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 abcdefghijklmnopqrstuvwxyz_!"#$%&*() ݠ.UQ.&P.{&s'&.6&&G&DP.{&rF.{&rcF.&.&ȱ.&pFF<w.&Fu&Gv&vFF<w.&Fu.{&rPvF^&G &G&G&GF.&&GF.&@&G]jAYCV IYMYTY^YfYpYxYĈXđYģXīYV U&.{&.&P.&s .6&|r.{&.&Ԛ.{&s4F.&6&&GS&G_[&GgP]MYXX"V'V .X:XHXPXXV _XnXvYĄYēX̘VMgUQ&G&OFSP &G&W£&G&O ]&s6&|.tF.&ښFr:.&dP&G..&r&G.F]ÛA XVV "X-Y>XFV TX_VdV jYtXẎV UCTPLM86 V2.15/19/83 09:19:36Š,{)VVV VVVVV V$VΠ]#Copyright1983 Intel CorporationȠ ERROR: NO PORT SPECIFIED =0;ERROR: ILLEGAL PORT NUMBER (!) SPECIFIED 9mgERROR: TIMEOUT ON PORT ! CHARACTER TRANSMITTER TEST..t6&F@16 ԊF&G&Gv1&G .&ȱ.&p]X XYYV#X.Y6X>YJXOVVXhXwXXďX̖VĬXĹYYXXXYY$Y+Y/Y8Y@YOYYXiXpVuV J#U.&?u.&v.6&;P.{&.&]B(XXX$X*X/V6X?X/iU&G &W‰F&W &O щVFFFSPF&G(YY%V +Y/Y3YHY[Y̠#U&.{&.&P.&s/.6&|r&|r&D&D.{&.&Ś.{&s4F.&6&&GS&G_[&GgP]MYXX"V'V .X:XWX_XgV nX}XąYēYĢX̧VƀUCRPLM86 V2.15/19/83 09:18:27Ơ,)VVV VVVVV V$VΠ]#Copyright1983 Intel CorporationƠ ERROR: NO PORT&.&ȱ.&pFFw.&Fuv.&Gs&v@.&rv.&GsvƆ.&rsv_.&rvPF.&rFF;Fs!rvu ƆvF.&Gs4F.&r#NF;s+FvQPjF.&Gs FF;Fr0F&G XXYYV&X1Y9XAYMXRVYXkXzXĂXĒX̙VįXXYXXX%X@XzXŌXŻXSRCCSDOBJLST SPECIFIED ;0;ERROR: ILLEGAL PORT NUMBER (!) SPECIFIED 7igERROR: NO CHARACTER RECEIVED FOR THIRTY SECONDS, FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. jERROR: TIMEOUT ON PORT ! CHARACTER RECEIVER TEST. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. b2ERROR: BOARD RESET FAILED. TEST ABORTED. FIRMWARE: COMMAND BYTE = >, STATUS BYTE = >. .U.&P.&s'&.6&&G&D2P.&rF.&rgF.VYF,.&ȱ.&p]XXVV hJU.&?u.&v.6&;P.&.&]*(XXX$X*X/V6X?X/U&G &W‰F&W &O щVFFFSPF&G&G &O&G&O&OF.&&GF.&@&G]FYCV IYMYTY^YhYpYxYĀYĐXęYīXijYU&.&.&P.&.& P.&s$.6&|r&D.&.&К.&s4F.&6&&GS&G_[&GgP]OHXXVV &X2XDXLXTV [XjXrYĀYďX̔VȠ?UQQ&G&OFN;sN&G&OFF;Fs&^&6&F@16ҋF&GF&G&.&.&P.&s/.6&|r&|r&D&D.&.&Ś.&s4F .&6&&|YćXďX̙V̞V ĥXıXXXV XXYYXVt.&s .6&|r.&.&Ԛ.&s4F.&6&&GS&G_[&GP]NMYXX"V'V .X:XHXPXXV _XnXvYĄYēX̘VMguUQ&G &OFSP &G &W £&G &O  ](YY%V +Y/Y3YHY[Y̠gUQ&G&OFSP&G&W£&G&O]G(YY%V +Y/Y3YHY[Y̠;UGS&G_[&GPF]0Y*Y?YXY\YeYlYpYyYĄYČYėXğX̩V̮V ĵXXXXV XX YY)X.V$UQQ&G &W £&G&OFFF;Fs&6&^&F@16 ҋF&GF&G&.&.&P.&s$.6&|r&D.&.&К.&s4F.&6&&GS&G_[&GPF]zYY@YDYUY\Y`YiYtYsdt351cnf.p86HXxest for SDTMON. This module * has been designed to facilitate the porting * of diagnostic software from GPCP support to * SDTMON. * * Additional user-supplied tests may be added to * sdt-351 by filling in the appropriate header * block in the test$def$block and linking the new * test modules to sdt-351. * * The default parameters given in the LITERAL * constants section are all reconfig*******************************************/ /*****************************************************************************\ * * * 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 $title ('CONFIGURATION module of SDT-351 v1.0') $subtitle ('Identification Section') /*************************************************************** * TITLE: Configuration * * DATE: December 13, 1982 * * ABSTRACT: This is the configuration module for the * iSBX-351 System Turable to * meet specific installation environments (unless * otherwise noted). Default values for the J3 * and J4 iSBX connectors of the iSBC 86/30 cpu * board have been provided. * * LANGUAGE DEPENDENCIES: * * PLM/86 [sdt351cnf.p86] * ********************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. * * * \*****************************************************************************/  */ name$ptr POINTER /* Address of test description */ ) PUBLIC DATA ( REC, @sq$pit_init$br, @sq$pit_init$desc, REC, @sq$u_init$br, @sq$u_init$desc, REC, @sq$u_intrv$br, @sq$u_intrv$desc, REC, @sq$baudrtv$br, @sq$baudrtv$desc, IGN, @sq$u_chtx$br, @sq$u_chtx$desc,LITERALLY '0Dh', lf LITERALLY '0Ah', null LITERALLY '0', true LITERALLY '0FFH', false LITERALLY '0', pass LITERALLY '0FFH', fail LITERALLY '0', /***** GPCP oriented literals *****/ /***** SDTMON oriented literals *****/ hexform LITERALLY '0C3h'; DECLARE IGN LITERALLY '1', REC LITERALLY '',cr,lf, 'COPYRIGHT 1983 INTEL CORPORATION',cr,lf,null); DECLARE sq$pit_init$desc (*)BYTE DATA( ' PIT INITIALIZATION TEST ',null), sq$u_init$desc (*)BYTE DATA( ' USART INITIALIZATION TEST ',null), sq$u_intrv$desc (*)BYTE DATA( ' USART INTERRUPTS TEST ',null), sq$baudrtv$desc (*)BYTE DATA( ' BAUD RATE VERIFICATION TEST',null), sq$u_chtx$desc (*)BYTE DATA( ' CHARACTER TRANSMITTER TEST ',null), sq$u_chrx$desc (*)BYTE DATA( ' CHARACTER RECEInal and $br description * 5) link new test modules to sdt-351 * ***************************************************************/ DECLARE num$ts LITERALLY ' 6', /* Total number of optional */ /* and mandatory tests */ test$def$block (num$ts)STRUCTURE ( flag BYTE, /* RECoginze / IGNore test */ addr POINTER, /* Address of the test  Configuration: DO; $subtitle('Data Declaration Section') /*************************************************************** * * * Data Declarations Section * * * ***************************************************************/ /***** Generic literals *****/ DECLARE boolean LITERALLY 'BYTE', cr  IGN, @sq$u_chrx$br, @sq$u_chrx$desc ); $EJECT /*************************************************************** * * * Sign-on Message and Subtest Titles * * * ***************************************************************/ DECLARE user$signon (*)BYTE PUBLIC DATA( 'SYSTEM DIAGNOSTIC TEST - 351, V1.00'; DECLARE error boolean EXTERNAL; $subtitle ('SDT-351 Test Definition Configuration Section') /*************************************************************** * * SDT-351 Test Definition Configuration Section * * Additional user-supplied tests may be entered here. * 1) increment num$ts * 2) fill in test$def$block DATA * 3) supply test description message * 4) supply procedure exterVER TEST ',null); /*************************************************************** * * * Mandatory Subroutines * * * ***************************************************************/ Initialize$GPCP$flags: /* Initialize GPCP variables */ PROCEDURE EXTERNAL; /* not normally used in SDACTER RECEIVER TEST */ PROCEDURE EXTERNAL; END sq$u_chrx; sq$u_chrx$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$u_chrx; RETURN NOT error; END sq$u_chrx$br; $subtitle ('Installation-Specific Configurable Defaults') /*************************************************************** * * Board-Specific Configuration Information * * Defaults given here are for a no PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$pit_init; RETURN NOT error; END sq$pit_init$br; sq$u_init: /* USART INITIALIZATION TEST */ PROCEDURE EXTERNAL; END sq$u_init; sq$u_init$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$u_init; RETURN NOT error; END sq$u_init$br; sq$u_intrv: /* USART INTERRUPTS VERIFY TEST */ PROCEDURE EXTERNAL; END sq$u_intrv; sq$u_intrv$br:nn_select LITERALLY '0', /* [0..1] J3=0, J4=1 */ /*** *** INITIALIZATION DEFAULTS *** for isbx0 (J3) *** and isbx1 (J4) ***/ /* * timers 0 & 1 cascaded ? */ isbx0$timers_cascaded LITERALLY 'false', isbx1$timers_cascaded LITERALLY 'false', /* * init timer for mode 3, 2 byte count, no timer # specified */ isbx0$u_tim_mode LITERALLY '036h', /* J3 */ isbx1$u_tim_mode LITERALLY '036h', /* J4 */ /* * specify baud rate for each isbx using the * * Optional Tests * * * ***************************************************************/ sq$u_chtx: /* CHARACTER TRANSMITTER TEST */ PROCEDURE EXTERNAL; END sq$u_chtx; sq$u_chtx$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$u_chtx; RETURN NOT error; END sq$u_chtx$br; sq$u_chrx: /* CHARTMON */ END Initialize$GPCP$flags; $EJECT /*************************************************************** * * * Mandatory Tests * * * ***************************************************************/ sq$pit_init: /* PIT INITALIZATION TEST */ PROCEDURE EXTERNAL; END sq$pit_init; sq$pit_init$br: rmal iSBC 86/30 * with interrupts not configured. * * Installation-specific variations from these defaults * may be reconfigured here so that the tests will * automatically default to your specific configuration * ***************************************************************/ DECLARE /* * size of scratch area provided for user's future use */ scratch LITERALLY '6000h', /* * which isbx connector to default * to in tests? */ isbx_co PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$u_intrv; RETURN NOT error; END sq$u_intrv$br; sq$baudrtv: /* BAUD RATE VERIFICATION TEST */ PROCEDURE EXTERNAL; END sq$baudrtv; sq$baudrtv$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$baudrtv; RETURN NOT error; END sq$baudrtv$br; $EJECT /*************************************************************** *  index below: * 0= 75 baud * 1= 110 baud * 2= 150 baud * 3= 300 baud * 4= 600 baud * 5= 1200 baud * 6= 2400 baud * 7= 4800 baud * 8= 9600 baud * 9=19200 baud */ isbx0$user_baud_index LITERALLY '8', /* J3 */ isbx1$user_baud_index LITERALLY '8', /* J4 */ /* * specify usart mode using the index below: * 0= async mode, 1.0 stop bits * 1= async mode, 1.5 stop bits * 2= async mode, 2.0 stop bits */ isbx0$user_mode_index LITERAY '3', /* J3 */ isbx0$send_intr_rx LITERALLY '3', /* J3 */ isbx1$send_intr_tx LITERALLY '3', /* J4 */ isbx1$send_intr_rx LITERALLY '3', /* J4 */ /* * LOOPBACK CONNECTORS * required for all receive testing except * for character receiver test (which requires user to inspect * displayed chars visually) */ isbx0$loopback_conn LITERALLY 'FALSE', /* J3 */ isbx1$loopback_conn LITERALLY 'FALSE', /* J4 */ /* * USART TIMER CLOCK FREQUENCY SELECT  /* J4 */ /* * specify usart command using the index below * 0= tx disabled, rx disabled * 1= tx enabled, rx disabled * 2= tx disabled, rx enabled * 3= tx enabled, rx enabled */ isbx0$command_index LITERALLY '3', /* J3 */ isbx1$command_index LITERALLY '3', /* J4 */ /* * isbx port addresses * included here in case of change in isbx bus * address utilization. * * ******************************************************* * *!*!* NOTE, the addressir to a timer on the host CPU board */ Sys_clk_freq LITERALLY '1', /* Onboard timer frequency: */ /* 0 = 153.6 KHz */ /* 1 = 1.23 MHz */ /* 2 = 2.46 MHz */ Sys_timer LITERALLY '0', /* Onboard timer to be used */ /* for the fail/safe timer */ Sys_timer_intr LITERALLY '2', /* Interrupt connected to */ /* timer specified in */ /* cpu_timer */ Sys_base_port LITERALL '0B2h', /* J3 */ isbx0$ceb_tim2_data LITERALLY '0B4h', /* J3 */ isbx0$ceb_PIT_cntr LITERALLY '0B6h', /* J3 */ isbx1$ceb_tim0_data LITERALLY '090h', /* J4 */ isbx1$ceb_tim1_data LITERALLY '092h', /* J4 */ isbx1$ceb_tim2_data LITERALLY '094h', /* J4 */ isbx1$ceb_PIT_cntr LITERALLY '096h', /* J4 */ /* * CPU INTERRUPTS * send interrupt levels as referred to by the CPU PIC * (a value > 07 means that the interrupt is not connected) */ isbx0$send_intr_tx LITERALLLLY '0', /* J3 */ isbx1$user_mode_index LITERALLY '0', /* J4 */ /* * specify character length using the index below * 0= 5 bits * 1= 6 bits * 2= 7 bits * 3= 8 bits */ isbx0$char_length_index LITERALLY '3', /* J3 */ isbx1$char_length_index LITERALLY '3', /* J4 */ /* * specify parity using the index below * 0= parity disabled * 1= parity odd * 2= parity even */ isbx0$parity_index LITERALLY '0', /* J3 */ isbx1$parity_index LITERALLY '0', * 0=153.6 KHz * 1=1.23 MHz * 2=2.46 MHz * (factory jumpered to 1.23 MHz) */ isbx0$clock_freq LITERALLY '01h', /* J3 */ isbx1$clock_freq LITERALLY '01h', /* J4 */ /* * USART BAUD RATE TIMER SELECT * timers 0..2 on PIT are available via jumpers, * timer #2 is factory wired default */ isbx0$baud_timer LITERALLY '02h', /* J3 */ isbx1$baud_timer LITERALLY '02h', /* J4 */ /* * FAIL / SAFE CPU TIMER * used in all tests * values here refeng in the isbx-351 *!*!* * *!*!* manual is not correct for an iSBC 86/30 *!*!* * *!*!* cpu board *!*!* * ******************************************************* */ isbx0$ceb_USART_data LITERALLY '0A0h', /* J3 */ isbx1$ceb_USART_data LITERALLY '080H' , /* J4 */ isbx0$ceb_USART_cntr LITERALLY '0A2h', /* J3 */ isbx1$ceb_USART_cntr LITERALLY '082h', /* J4 */ isbx0$ceb_tim0_data LITERALLY '0B0h', /* J3 */ isbx0$ceb_tim1_data LITERALLYY '0C0h'; /* System processor board */ /* base port */ $subtitle ('NON-CONFIGURABLE DATA AREA') /*********************************************************** * * Non-Configurable Data Area * ***********************************************************/ DECLARE user$tdt (num$ts) STRUCTURE ( flag BYTPUBLIC DATA ( Sys_timer ), pq$sys_timer_intr$init BYTE PUBLIC DATA ( Sys_timer_intr ), pq$sys_base_port$init BYTE PUBLIC DATA ( Sys_base_port ); $subtitle('sdtcnf$pq$control$init ') /***************************************************************** * * TITLE: sdtcnf$pq$control$init * * CALLING SEQUENCE: * * CALL sdtcnf$pq$control$init * * INTERFACE VARIABLES: * pq$control$init * * ABSTRACT: * This configuration procedure is requT *** most of them are reconfigurable at run-time *** by user$reset$software and user$reset$hardware ***/ pq$port$init (2) STRUCTURE ( USART_data BYTE, USART_cntr BYTE, tim_data (3) BYTE, PIT_cntr BYTE, tx_intr_level BYTE, rx_intr_level BYTE ) PUBLIC DATA ( isbx0$ceb_USART_data, /* J3 DATA */ isbx0$ceb_USART_cntr, isbx0$ceb_tim0_data, isbx0$ceb_tim1_data, isbx0$ceb_tim2_data, /* * * INITIALIZE PQ$CONTROL$INIT ( J3 ) * */ pq$control$init(0).clock_freq = isbx0$clock_freq; pq$control$init(0).baud_timer = isbx0$baud_timer; pq$control$init(0).u_tim_mode = isbx0$u_tim_mode; pq$control$init(0).baud_count = 0; pq$control$init(0).u_mode = 0; do CASE isbx0$user_mode_index; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0100$0010B; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 1000$0010B; pq$control$init(0).u_mode = pq$control$init(0).u_moRE pq$isbx$init BYTE PUBLIC DATA ( isbx_conn_select), pq$timers_cascaded$init (2) BYTE PUBLIC DATA ( isbx0$timers_cascaded, isbx1$timers_cascaded ), pq$user_baud_rate$init (2) BYTE PUBLIC DATA ( isbx0$user_baud_index, isbx1$user_baud_index ), pq$loopback_conn$init (2) BYTE PUBLIC DATA ( isbx0$loopback_conn, isbx1$loopback_conn ), pq$sys_clk_freq$init BYTE PUBLIC DATA ( Sys_clk_freq ), pq$sys_timer$init BYTE E, overlay BYTE, addr POINTER, name$ptr POINTER, err$cnt WORD, exec$cnt WORD ) PUBLIC, user$number$of$tests WORD PUBLIC DATA(num$ts); DECLARE /* * reserved scratch area for user's use */ user$scratch (scratch) BYTE PUBLIC, user$scratch$size WORD PUBLIC DATA (scratch); DECLARE /*** *** $INIT VARIABLES *** these will be copied up into RAM *** by procedure INITIALIZE_SDired to support user- * variations to iSBX-351 onboard clock and timer jumpers. * * This procedure is called only by the mainline and only * immediately before calling Initialize$SDT. * * Uses isbx?_user_ literals from above to generate usart mode * bytes. Initializes all fields of pq$control$init for each * iSBX connector on the iSBC 86/30 cpu board. * *****************************************************************/ sdtcnf$pq$control$init: procedure reentrant public;  isbx0$ceb_PIT_cntr, isbx0$send_intr_tx, isbx0$send_intr_rx, isbx1$ceb_USART_data, /* J4 DATA */ isbx1$ceb_USART_cntr, isbx1$ceb_tim0_data, isbx1$ceb_tim1_data, isbx1$ceb_tim2_data, isbx1$ceb_PIT_cntr, isbx1$send_intr_tx, isbx1$send_intr_rx ), pq$control$init (2) STRUCTURE ( clock_freq BYTE, baud_timer BYTE, u_tim_mode BYTE, baud_count WORD, u_mode BYTE, u_comm BYTE ) PUBLIC; DECLAde OR 1100$0010B; end; do CASE isbx0$char_length_index; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0000$0000B; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0000$0100B; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0000$1000B; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0000$1100B; end; do CASE isbx0$parity_index; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0000$0000B; pq$control$init(0).u_mode = pq$control$init(0).u_mod ) * */ pq$control$init(1).clock_freq = isbx1$clock_freq; pq$control$init(1).baud_timer = isbx1$baud_timer; pq$control$init(1).u_tim_mode = isbx1$u_tim_mode; pq$control$init(1).baud_count = 0; pq$control$init(1).u_mode = 0; do CASE isbx1$user_mode_index; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0100$0010B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 1000$0010B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 1100$0010B; end; do CASE isbx1$ce = pq$control$init(1).u_mode OR 0011$0000B; end; pq$control$init(1).u_comm = 0011$0010B; do CASE isbx1$command_index; pq$control$init(1).u_comm = pq$control$init(1).u_comm OR 0000$0000B; pq$control$init(1).u_comm = pq$control$init(1).u_comm OR 0000$0001B; pq$control$init(1).u_comm = pq$control$init(1).u_comm OR 0000$0100B; pq$control$init(1).u_comm = pq$control$init(1).u_comm OR 0000$0101B; end; end sdtcnf$pq$control$init; END Configuration; e OR 0001$0000B; pq$control$init(0).u_mode = pq$control$init(0).u_mode OR 0011$0000B; end; pq$control$init(0).u_comm = 0011$0010B; do CASE isbx0$command_index; pq$control$init(0).u_comm = pq$control$init(0).u_comm OR 0000$0000B; pq$control$init(0).u_comm = pq$control$init(0).u_comm OR 0000$0001B; pq$control$init(0).u_comm = pq$control$init(0).u_comm OR 0000$0100B; pq$control$init(0).u_comm = pq$control$init(0).u_comm OR 0000$0101B; end; /* * * INITIALIZE PQ$CONTROL$INIT ( J4har_length_index; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0000$0000B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0000$0100B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0000$1000B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0000$1100B; end; do CASE isbx1$parity_index; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0000$0000B; pq$control$init(1).u_mode = pq$control$init(1).u_mode OR 0001$0000B; pq$control$init(1).u_modsdt351.csd ; ;--------------------------------------------------; ; ; Link the object files ; ; ;--------------------------------------------------; LINK86 & monitor/sdtmon.lnk, & ** the test monitor, of course ** monitor/cmnlrg.lib, & ** the GPCP-SDTMON interface ** sdt351.dir/obj/mline.lnk, & ** the main and utility procedures ** sdt351.dir/obj/sdt351cnf.obj, & ** the configuration module ** O SDT351 & PRINT(sdt351.dir/lst/sdt351.mp2) RESERVE(00h to 0100FH) ; ;--------------------------------------------------; ; ; sdt351.csd completed ; ; ; The reconfigured sdt351 can now be invoked by ; ; ; booting /sdtdir/sdt351 ; ; ;--------------------------------------------------; ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ; ;--------------------------------------------------; ; ; SDT 351. CSD ; ; ; [ creates the reconfigured SDT 351 ] ; ; ;--------------------------------------------------; ; ; compile the user configuration module PLM86 sdt351.dir/src/sdt351cnf.p86 LARGE & PRINT (sdt351.dir/lst/sdt351cnf.lst) & OBJECT(sdt351.dir/obj/sdt351cnf.obj)  sdt351.dir/obj/tests.lnk, & ** and THE TESTS THEMSELVES ** monitor/sdtlrg.lib & ** and the monitor library ** & TO sdt351.dir/obj/sdt351.lnk & PRINT(sdt351.dir/lst/sdt351.mp1) INITCODE ; ;--------------------------------------------------; ; ; Locate the linked files ; ; ;--------------------------------------------------; LOC86 sdt351.dir/obj/sdt351.lnk & Tmline.lnktests.lnk5{|e 3FLAGOVERLAYADDRNAMEPTRERRCNTEXECCNTK yp \ w ? trd wmwXN USART_DATA USART_CNTRTIM_DATAPIT_CNTR TX_INTR_LEVEL RX_INTR_LEVEL y@~ wZ ŽD CLOCK_FREQ BAUD_TIMER U_TIM_MODE BAUD_COUNTU_MODEU_COMM y8~wpw`u jO trŽusL truo!I tr" w! tPRINT_DEC_BYTE PRINT_DEC_NIB PRINT_DEC_WORDPRINT_HEX_BYTE PRINT_HEX_NIB PRINT_HEX_WORD PRINT_STRING#TDDEBUG LINEBUFFER$TEST_RXTX_READYRX_READYVALID_TXTX_COUNT RX_COUNT GOTTDV2p COPYRIGHT_MSGUSERSPN! USERCOPYRIGHTPr BAUD_COUNT BAUD_TIMERY CLOCK_FREQXPITU PQCONTROLB PQFIRST_TIMEPQINIT1#PQISBXAPQLOOPBACK_CONN`PQPARAMPQPORTPQSYS_BASE_PORTePQSYS_CLK_FREQb PQSYS_TIMERcPQSYS_TIMER_INTRdPQTIMERS_CASCADED]PQUSER_BAUD_RATE_MAINOSTACKMEMORYCODEDATA MAIN_CODE MAIN_DATA PUBLICS_CODE PUBLICS_DATA SDT_INIT_CODE SDT_INIT_DATA TIMER_CODE TIMER_DATA UTIL_CODE UTIL_DATAGENERIC_INTERRUPT_HANDLER_CODEGENERIC_INTERRUPT_HANDLER_DATA RESET_CODE RESET_DATA@U@ TrD@#@g @/ ۘ@  @ @ @ %@@p@@@{|m w wz{ I UFLAGADDRNAMEPTR yH wr%!! tr'ю! tr)ˎ t rԎ trڎ tr-ˎ  tr/ t r-Ž w tr TESTDEFBLOCK USERTDTUSERNUMBEROFTESTS TDSTARTSDTCNFPQCONTROLINIT PQPORTINIT PQCONTROLINIT PQISBXINITPQTIMERS_CASCADEDINITPQUSER_BAUD_RATEINITPQLOOPBACK_CONNINITPQSYS_CLK_FREQINITPQSYS_TIMERINITPQSYS_TIMER_INTRINITPQSYS_BASE_PORTINITERROR INPUT_LINEPRINT_BIN_BYTE PRINT_BIN_NIB PRINT_BIN_WORD PRINT_CHAR PQWAIT_FOR_TIMEOUTfRX_LEVELWTIMRTX_LEVELV USART_CNTRQ USART_DATAPU_COMM\U_MODE[ U_TIM_MODEZŐ INITIALIZESDTR D SQCLEARTIMEOUT SQSETTIMEOUTu SQSTARTTIMER SQSTOPTIMER\" SQCHIP_INIT_# SQCR_ONLY SQGET_NUMBER+ SQINCREMENT_P*SQINITIALIZEPORTINFOeSQPROMPT_NUMBER. SQRECEIVE=( SQSEND_MSGy#SQSTART_U_TIMERc SQTIMER_START0 SQTRANSMIT& SQYES_OR_NO,TESTLOOKUP_BAUD_COUNT# 1e SQINTR_MASKK SQINTR_SET: SQINTR_UNMASK  SQRX_INTR_ONLYFSQTX_.$&]ZqX$X-X;XBXUX[bXlXyXāXĉXĐXģXīXijXĻXXXXXXGTIMERPLM86 V2.15/19/83 08:39:03ʠ <$bcd ef : ]. 0`G .Ur,.&.R&. &"Z]ǜ X YX$X3X5< \.U.&.R&. & Z]JX XX(XA .U.&.R&. &.C&@ P.?^&H.C&HZ&P P.?^&H.C&HZ&P.C&@ .C&@ @tfV RXYX'Y0Y:YDXOXVYbXkYuYXČXęYģYĭXĺXYXYXYYV PUBLICS^PLM86 V2.15/19/83 08:37:00Ϡ!4]2%COPYRIGHT 1983 INTEL CORPORATION| SDT_INITPLM86 V2.15/19/83 08:36:23ˠT&&Oyû &&Od û&&OO û&&O: û&&O% û &&O!6K]rF]LX XX(X7YEXRXbXoX}XXĊXĞXĪXĭXXXXXX(X=XQXSXUXWXYX[X]X_XcYkYoYUTIL8PLM86 V2.15/19/83 08:37:26ǠT V# ABPPF.,^&H.&HFPF.,^&H.&HFPF.,^&H.&HFPF.,^&H.&H.<FOX*X5XLXXXĊXėXļXXXXXXX/XFXQXhXtXŌXŘXŰXżXXXX}B&N.&FFt.&.&?v>.8S.&_[&.&.&.&t.0&.&.8S.&_[&.&.@&.&.D&.&.H&. &.L&INTR_ONLY SQTX_RX_INTR@SQRESCHAR_LENGTHSQRESDISPLAY_CONDITIONSSQRESGET_USER_BAUD_RATE3SQRESHAR_DEFAULTS SQRESLOOKUP_BAUD_COUNT SQRESPARITYSQRESSOF_DEFAULTS USERRESETHARDWAREUSERRESETSOFTWARE ?MAINQPLM86 V2.15/19/83 08:35:08I? VVV O ]6%Copyright1983 Intel Corporation "!Software Program # 173244.010Q.K&.G&H;s P.?^&.C& Z]=X XX(X7Y5 YQPQRSVW.U;w@.& B.& .&.R&. & Z.&]_^[ZYXc8XYY#Y(Y-X=XJXWXfXvX" WYQPQRSVW.U]_^[ZYX@X3| u.U.&.R&. & Zr$.&.&&.&.&.&.G[ û &&O. &.û&&Oû&&OoAB ]_`bc d$e(V,V0V4V 8V ^&W^F&FēXĜX̡X  e.]U.&.&@.)&.&.&.%&.&.&@.-&.&.&@.-&G.&.&@.-&G.&.&@.1&.&.&@.5&.&.&@.9&.&.!&.=&.&.!&@.A&.&.!&@.E&.&.!&@.I&.&.!&@.M&.&.!&@.Q&]X XX#X+X7XAXIXN&FFFv8~/tFFv~|t FFvFF]<XXZX`VĂẌVĪX̰VXX V)VHV .]UFF F ^ ]X> .]U P]9 X V .]UQQF.Y&8 t .Y&u+JV~rQ~rDFFF.Y&u+JVFFF](KXYVY%X2Y8Y@X  & / 8 A J S \ e .&.!&. 1 ]7XXX!X9X@XEXdXhYqYzYăYČYĕYĞYħYİYĹYXXXXXXXXXXXYYYYY Y)Y2Y;YDYKXMXOXQXSXUXWXYX[X]XbXnX|XŀYŋYŒYŖYŝYţYŨXŪXŬXŰYlGENERIC_INTERRUPT_HANDLERƈPLM86 V2.15/19/83 08:38:20̠< F PF F ]iX VX!V,V:VEVPV^ViVtV̂VĉXċXčXďXđXēXĕXėXęX̟V̪XР\ c.]U.&.!&p.&.!&@P.&.!&@P]X)X XX#X1X;XIXQX .]U.&.&.&@.&GF 6.&G.S_.&.&N .&@.&GF .&GF.&G.S_]ʜQX XX!X,X?XHXMXTX]XpX{XćX~v FFtFFt] XXXh .]UQF~w0^ &Wu^ &FFFHF~t XPy]\XTXYXG@ =.]UQ^ &W^&^&u ^ &FF]X>b y.]U.U&r;FFF^&8u ^F&F~>tF.&0FF~@tF.&0FF~!tF.&0FF~%tL.F&FFFF.UX`XhXtXXĈXĔXğXĨXĴXĿXXXXXXXXXX#X/X:XBXNXYXaXmXxXŀXŌXŗXşXūXŶX͠ # .]UF t. &|Py7F t. &PyF t}^. @e+\ SJA8/&@ F tz^.n e\SJA@8 /&DYQXĊYĐYĕXęYĦX .]UQQFr P &P.Y&8 t+>ys.Y& .Y&u+JV~r FF~rFFF]5SXXV#X(V.Y2V8YAXNYXYaXlYrYzX~YċX .]U[P^.3v sv hF PZv Ov DF P6v +v F P%]PNAPQ VW`eV V $V!(V",V#0V$4V% 8]* :.8U.S.&_[&r .&. &.&:t. &?r. &.Mû&&Oû&&O&&Oyû &&Od û&&OO û&&O: û&&O% û &&O#8. &?r. &.$û&&Oû&&O 7 bits s 8 bits h PARITY = bDISABLED > ODD EVEN ; BAUD RATE = 75 110 150 300 600 1200 q 2400 f  4800 Y 9600 O 19200 4 RESTORE SOFTWARE VARIABLES TO DEFAULTS ? DqOENTER NUMBER OF STOP BITS USING INDEX BELOW : 0= 1 stop bit 1= 1.5 stop bits 2= 2.0 stop bits 3 *** ERROR: *** USE INDEX RANGE [0..2] *** ֠8ECHO CHARS TO PERIPHEû&&O%K û &&OSh}]GyXXXXX XX'X*X?XTXfX{XĐXĥXĺXXXXXXXXXD .8UQ.&FNF.&F"F]bX X(XǠD K.8UQ.&FNF.&F F]7X X(XǠ YQPQRSVW.8U.,&@.,&.&w@.(&"r. &.&6.(&.&w@.&"r 9= 19200 baud }D *** ERROR: *** BAUD RATE INDEX MUST BE IN RANGE [0..9] *** JJ,ERROR: CAN NOT LOOK UP BAUD COUNT SYNC MODE NOT SUPPORTED JOrERROR: CAN NOT LOOK UP BAUD COUNT x64 USART MODE NOT SUPPORTED 4 RESTORE HARDWARE VARIABLES TO DEFAULTS ? 2CONTINUE TESTING [ iSBX J! ] ? S& NOW TESTING [ iSBX J! ] : 2=LOOPBACK CONNECTOR INSTALLED ? Ƞ2kALTER INTERRUPTS CONFIGURATION ? LXX-XXMXVXcXlXāXĔXğXħX9 FYQPQRSVW.8U.0&@.0&.&u .&6.&u.$&.&.4&.& ]_^[ZYXʜ3XX!X)XXJXSX_XlXwXV .U.&r%.&G.&G.&].&F.&FPvFFr ].&.&@.P&X.&@.&.&@.P&X.&@.&.&@FFȈFFFr5OPvPF~rF P.&.&@PbPUPHP; P`-X XVXV!X-XIXNV_XdVlXqVvX{VĂXĎXĪXĭX̲VĺX̿VXVXVXXXXXVXXX"V,X8XTXWX\VdXiVpXrXuXzVŁXōXŐX͕VŝX͢VŪXͯVŷXͼVXVXVXVXǠ? .P!Pq ~ ]3IV XVXV"X$X&X(X*X,X.X0X2X4X .&GF.&]Ĝ XX"X0X@XIXKXMXPXUXZXaXgXnXxX} y̅ ĎXėXġX̦ y̮ ķXX.UQQ.&.&@ FFFFFr5SPvPF~rF P.&.&@FF FF.&F.&@]˾@XXXCXH yS kXpVzXĆXĤXĵX!.UQ.&.&@FPvF.&..P&.^&H.&H.&.P&.^&H.&H.&.P&.^&H.&H.&.P&.^&H.&H.S.&_[&.&.&.&4X XXX#X6XBXJXVXcXoXxXĄXđXĝXĦXIJXĿXXXXXXX XX%X.X:XGXSX\XhXuXŁXŊXŖXţXůXŸXſXXXX3 .P&.^&H.&H.&.** ?=cWARNING: BAUD RATE RESET TO 4800(MAX) WITH SLOW CLOCK Š.UQPP.&.&@F~t *P ~t @P VPlP.&.&@ F^.|P/P"PPP.&.&@F~t PK.&.&@ F^.R PP8 E P.&. PP|Po?.P&X.&@^.W.&.&@@.P&X.&@r.&.&@Ȁ.P&9XXX*X5XDXOX[X` yh zXĆXĒXĠXİXĹXXXXXX#X( y3 KXPVZXfXtXńXŔXřXťXųXXXXXX.&@<.&.&@.P&X.&@!.&.&GFPv.&G.&GFPv.U.&.P&.^&H.&H.&.P&.^&H.&H.S.&_[&.&.&G.&G]nLX XX%X1X:XFXSX_XhXoXĂẌXďXĚX .U.&.&.S.&_[&.&.&.&.P&.^&H.&H.&.P&.^&H.&H.&.P&.^&.&.&.P&.^&H.&H.&&@FF FF.&F.&@Fr]}.&.&@ FPvF.&.&@߈FF FF.&F.&@]hX XX,X1 y9 CXOXpXāXĞXĪXĽX y XXXXg.UQQ.&FFFr5PvPF~ rF PF]˳'XX'X, y7 OXTVb.UQQF.&.&@XXXV+X0 y7XEXN nXXňX͍VŗXťXųXXXX yXXm &]pPQAP0XXXXXXWXYX[X]X_XaXcXeXgXiXnXzXňXŮXŰXŲXŷXX.U .&F.&FPvFFr .&].&.o.&.&WcFPvFFrJ.&..&.&.&.&P.S.&_[&F=Pv.&.&FkPvFFrP.&.&p&_[&r%.&.&@!P|FFrldP.&.&pPF~w@r!F.&F.&@ PFFrjP.&.&0PF~w@r F.&F.& #P.&.&8t@.&?wA"r.&cP.&F. y "X' y.X:X@ GXSX[XbX|XĊXĒX̗VįX̴ yĻXX F.&F~t.&,P~t.&rP~ts^.F@\F+TF LFDF<F4F,F$FF@y~tp^.rF\FTFLFDF<F@4F ,F$FF"*2:BJRZbj.&.&.F1FFFFF.&F.&@]ٜXXX0XDXKXP ycXjXo yĉXXXXXXP.P&X.&@P.&.&pP.P&X.&@F&XXX'X, y4 FXMX[XgXlXxXāXăXĊX̏ y̗ ĮXĺXĿXXXXXXX yXXX y 'X3X=XB yJ aXf ymX{Xͅ ŌXŜXţXͨ yůXŽX XX :X}PvFFrP.&.&0.&.&.S.BAUD_TIMER U_TIM_MODE BAUD_COUNTU_MODEU_COMM y8wp ώ trӎ׎ trÎ _ trŽ trrɎN USART_DATA USART_CNTRTIM_DATAPIT_CNTR TX_INTR_LEVEL RX_INTR_LEVEL y@ d w!M wߎ ӎ tr$ERRORPQPARAMPQISBXTIMPITPQTIMERS_CASCADEDPQWAIT_FOR_TIMEOUT SQSEND_MSG SQCR_ONLY SQTIMER_START SQINITIALIZEPORTINFO SQSTARTTIMER SQCLEARTIMEOUT SQSETTIMEOUTPQINIT1 PQCOINITTPLM86 V2.15/19/83 08:40:58Ƞ {ĜVVV VVVVœ]64 ERROR: TIMER ! DID NOT INITIALIZE, MODE = > 4<ERROR: TIMER ! DID NOT COUNT, MODE = > { l6&7'r@& ufff''l.U.{&F~vvPPFFtF~vhF~vN~t@.&.&"rPPP.&^.r^.Gl^. r0.&.FINITTꖋSTACKMEMORYCODEDATA INITT_CODE INITT_DATA INITU_CODE INITU_DATA UINTRV_CODE UINTRV_DATA BDRTV_CODE BDRTV_DATA CHTXRX_CODE CHTXRX_DATAi@b@TxD@@ @ @ @ @ @ @{|m wmwXw`z{ Hunc tr֎ trdus  ? tr Ў{|euf[ trΎ tr܎ wD CLOCK_FREQ NTROL USART_DATA USART_CNTR BAUD_TIMERPQLOOPBACK_CONN SQCHIP_INIT TESTLOOKUP_BAUD_COUNT SQSTOPTIMER TX_LEVELRX_LEVEL CLOCK_FREQPQSYS_BASE_PORT SQINTR_UNMASKPQPORT"U_MODEU_COMM PRINT_CHARTDDEBUGTDV# SQTRANSMIT%SQSTART_U_TIMER W DEC_TO_BIN[ SQPIT_INIT BURNzSQU_INIT* dGOTRX_COUNTRX_READY SENT TEST_RXTEST_TXTX_COUNTTX_READYVALID_TX  SQU_INTRV2 & RUN_TEST? SQBAUDRTV , SQCHTXRX_INIT SQU_CHRX] SQU_CHTX &F.F&FF~w v[F^.Gl^. r.&~t@~tA r.F&.F&^.u.&P.&r.&^.r^.Gl^. r0.&.FXXV V 7V nXzX̐V ėXĦXXĺXXXX XX$X)XOXcXyXX͆V ͏V͔V śXͫV ŲXXXXXXt&F.F&FF~w v&PFu@.$&"r.&FFuF.&FF:FuF.&t.$& P.$&r.&F򀜥XVFXTX[V dViV ~XčX̜V̡V ĶXXXXVXXXXV 'V,V AXPX_VdV }XŝXųX;VV XVV X#h.&GF.&GF.&.&.&FF.&GF.&GPF.&F.&GF.&EN=! PARITY=!,! USART STATUS=> BAUD=!>> 'TRANSMIT FAILED: USART STATUS=> /RECEIVE FAILED: CHAR SENT=> RECEIVED=> sERROR: UNEXPECTED CHAR RECEIVED WITHOUT LOOPBACK CONNECTOR USART STATUS=> CHAR SENT=> RECEIVED=> __ iNNNJFB^~ s |5 ) !      ,s|5, ACTUAL=> R9ERROR: RECEIVE INTERRUPT DID NOT OCCUR, USART STATUS=> BAUD=!>> ~SERROR: TRANSMIT INTERRUPT DID NOT OCCUR, USART STATUS=> BAUD=!>> gERROR: EXTRA RECEIVE INTERRUPT(S): EXPECTED=00>, ACTUAL=>> USART STATUS=> BAUD=!>> Ƞg9ERROR: EXTRA TRANSMIT INTERRUPT(S): EXPECTED=00>, ACTUAL=>> USART STATUS=> BAUD=!>> eERROR: UNEXPECTED CHAR RECEIVED WITH NO LOOPBACK CONNECTOR: CHAR SENT=> RECEIVED=> [ERRORG^.i.&G .S^.(WzFFt]NXXV V .X2Y6YDXIXZXhXvXĀXĊXęX̟VıXĻX̾VXV XXXXX XXX&X6X:Xz.(U^ SFFFЀ~ "r^F&F.&F.$&2PFu@.$&"r.&FFt.&F/F.&FF.&PF.&. S. &_[&r.$[FF;Ft0F.&^.Gl.&G P.{&^.G;Ft'F.&^.Gl.&G<PFFtFFt]EX8XPX]XaXhXmVtXXēXXĤXīX̰V*V[.UQQFF~v+FFF NFFFtF]œX>INITUPLM86 V2.15/19/83 08:41:38ɠ,-)VVV VVVVV V$V(+]2VPERROR: ASYNC MODE: SB=!.! LGFF8uFFra.&.&GS. S. &_[&r!F.&F.&GPF.& .&FF]>vXXX&X.X?XKXRXWVaXlXxXĜXħXįY̴VĻXXXXXVXXMUINTRVPLM86 V2.15/19/83 08:42:24͠8#5VVV VVVVV V$V(V,V0Vq0 ]0=ERROR: CANNOT SET CPU PIC MASK: EXPECTED=>XXX XXXXX X$XINITUSART-initusart@R6543210&%$ Ҡ,(3XXX XXXXX X$X @@7T*.(U.&F~ vP^.w.> ^Y. &.&8r6.&G.&GH.&G^.iPF^.i^._F.&7FPFP.> .&.&G^.i.&: RECEIVE FAILED: CHAR EXPECTED=> ACTUAL=> USART STATUS=> BAUD=!>> ȠRTERROR: USART STAYING UNREADY ON TRANSMIT USART STATUS=> BAUD=!>> ;ERROR: BAD STATUS USART STATUS=> BAUD=!>> 9TESTING INTERRUPTS - NNNx @@62.0U .&.(&FFF.&?r.&7.&?.&.$&"r.&7.(&Fr.&"FFr.ʼnX͎VŔYřXŠYťXŮXŹXYXYXYXY P>wr .& .&.&G.&G.&.&G.&G.&G.&G9P.$S.&_[&.&Pt@Y"r6. & .&.&GPF>wr .& .&.&G.&G.&.&G.&G.&G.&GPЊ   >Y"H"Y^.\DLT^.nv~. &7FPFP.> .&.&G^..&G^..&G .SFFFЁ~"rrr  F1. .,&2P.&FFu@.,&"r.&FFu[.&F.&.&G.&Gl!VVVZ  ].5 ERROR: WRONG BAUD RATE: ACTUAL=% EXPECTED=% \1 =ERROR: USART STAYING UNREADY ON TRANSMIT: ? n` x  P . j @O@O7 .U.u& > vz . .&.##1.&7PPj.>} .&.}&G.}S? .G;w+ + .G;rc . &  :u@ "r .&.&.&G.&G.&Gr P r 9P r P .&.&G.&.&G.&G.&G.&G r3X XVX,X5Y;XGYMXTV ]VbV iXwY|YĆYČYĕYęỴV ĪX̴V ĻXYYXYYYYYYYX#X*Y/X7YXXXZX\XkXŅXŇXʼnXŘXŲXŴXŶXŻXŽXſXXYXYwA >wA rFF.& .&~rF@X VYY&X2X:Y?XGYLXUX`XhYmXuYzXĂYćXĎX̓VĚXġXĶXXYYXYXXV YY#X/X7YXJXNYVY^YdXfXhXlYrX̀V ąXĊXęXġXįXĴXXXXVYY YYY$Y)Y/YBXFYJYPXWV `VeV lXňXŗXͦVͫV XXYXYXY.&GTP.(&F]. & .&7 .,&P.,&r>>vt" r.,&.&FF8u  .y&.y&G .G.y&G .G.y&G P.u&  t|]"L X XV V Y#Y-Y6X:YCYJXLXQX]XaYjYqYuY|YćYČXĎXĐXĕXĜYġY̥V ĪXįXľXXXVXYV YXYYYY Y YYYY Y)X,Y5Y>YBYGXNYSX[YdXhXpYyX}XńX͉VŐXŘYŞY ?.U.&dP.&rv.YXcV#jX{V őXtTO QUIT * = dERROR: TIMEOUT WAITING FOR FIRST CHAR, USART STATUS=> @ TIMED OUT AFTER CHAR(S) RECEIVED, CTRL Z INSERTED & ERROR: BAD STATUS ON USART = > I J @@qS ABCDEFGHIJKLMNOPQRSTUVWXYZ_!"#$ %*() abcdefghijklmnopqrstuvwxyz0123456789 w .UJ.>] .m&.]&G.q&.]&G.q&.]&G .u&.]&G .]S]G X V$XX#X+X4X"r.u&=P].&Z@{]ˋdX YXV "V'V .X=XSXeXnYĀXćX̌VĒYĚXĦYīY̱V̶V ļYCHTXRXPLM86 V2.15/19/83 08:43:54ɠ8 Uǜ5VVV VVVVV V$V(V,V!0V"M Ŝ ],. ERROR: TRANSMIT FAILED, USART STATUS=> {> * * READY TO RECEIVE CHARS, SEND CTRL Z F^.u@.U&"r.}&P.m&FFu@.}&"r.m&FFt@r!.U&F.Y&P.i&^.FF.yS.a&_[&r.i&F.m&FF8u.U&F.Y&P]˂X XV V &X1XDXOVTV [XwXĆX̕V̚V ĸXXXVXXXXX%X 7 means that the */ /* interrupt is not connected). */ /* note that the information about board 2 will */ /* only be used if number_of_boards is 2 or greater */ board_2_offset LITERALLY '00000H', /* Board 2: offset portion of */ /* the base address. */  /* Used for tests 11 and 12. */ baud_rate_port_0 LITERALLY '9600', /* Baud rate for port 0. */ baud_rate_port_1 LITERALLY '9600', /* Baud rate for port 1. */ baud_rate_port_2 LITERALLY '9600', /* Baud rate for port 2. */ baud_rate_port_3 LITERALLY '9600', /* Baud rate for port 3. */ /* ALL of the board data literals must be left here eve  /* (a value > 7 means that the */ /* interrupt is not connected). */ /* note that the information about board 3 will */ /* only be used if number_of_boards is 3 or greater */ board_3_offset LITERALLY '00000H', /* Board 3: offset portion of */ /* the base addr /* the following literals. */ loop_back_port_0 LITERALLY 'FALSE', /* No loop back connector */ /* installed on port 0. */ loop_back_port_1 LITERALLY 'FALSE', /* No loop back connector */ /* installed on port 1. */ loop_back_port_2 LITERALLY 'FALSE', /* Loop back connector is */ d. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ /* note that the information about board 4 will */ /* only be used if number_of_boards is 4 or greater */ board_4_offset LITERALLY '00000H', /* Board 4: offset portion of */ **********************************/ $EJECT /*************************************************************** * * * Mandatory Subroutines * * * ***************************************************************/ Initialize$GPCP$flags: /* Initialize GPCP variables */ PROCEDURE EXTERNAL; /*  /* PIC on the processer board. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ board_in_test LITERALLY '1', /* Number of the board to be */ /* tested. This number refers */ /* to the boards specified in */ ess. */ board_3_segment LITERALLY '0E800H', /* Board 3: segment portion of */ /* the base address. */ board_3_send_intr LITERALLY '3', /* Board 3: send interrupt */ /* level as referred to by the */ /* PIC on the processer boar /* installed on port 2. */ loop_back_port_3 LITERALLY 'FALSE'; /* No loop back connector */ /* installed on port 3. */ $EJECT /*************************************************************** * * * Test-Specific Configuration Information * * * ***************************** /* the base address. */ board_4_segment LITERALLY '0EC00H', /* Board 4: segment portion of */ /* the base address. */ board_4_send_intr LITERALLY '3', /* Board 4: send interrupt */ /* level as referred to by the */ !not normally used in SDTMON */ END Initialize$GPCP$flags; $EJECT /*************************************************************** * * * Mandatory Tests * * * ***************************************************************/ sq$mb_ram: /* MULTIBUS RAM TEST */ PROCEDURE EXTERNAL; ENs; CALL sq$pic_init; RETURN NOT error; END sq$pic_init$br; sq$ppi_a: /* PPI PORT A INITIALIZATION */ PROCEDURE EXTERNAL; END sq$ppi_a; sq$ppi_a$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$ppi_a; RETURN NOT error; END sq$ppi_a$br; sq$urtirv: /* USART INTERRUPT VERIFICATION */ PROCEDURE EXTERNAL; END sq$urtirv; sq$urtirv$br: PROCEDURE boolean PUBLIC; CALL In PROCEDURE EXTERNAL; END sq$dual_port_ram; sq$dual_port_ram$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$dual_port_ram; RETURN NOT error; END sq$dual_port_ram$br; sq$board_irv: /* iSBC 544 BOARD INTERRUPT VERIFICATION */ PROCEDURE EXTERNAL; END sq$board_irv; sq$board_irv$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$board_irv; RETURN NOT error; END sq$board_irv$br; sq$firmware_vrfy:  * * * ***************************************************************/ sq$uct: /* CHARACTER TRANSMIT TEST */ PROCEDURE EXTERNAL; END sq$uct; sq$uct$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$uct; RETURN NOT error; END sq$uct$br; sq$ucr: /* CHARACTER RECEIVER TEST */ error; END sq$pit_init$br; sq$usart_init: /* USART INITIALIZATION */ PROCEDURE EXTERNAL; END sq$usart_init; sq$usart_init$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$usart_init; RETURN NOT error; END sq$usart_init$br; sq$pic_init: /* PIC INITIALIZATION */ PROCEDURE EXTERNAL; END sq$pic_init; sq$pic_init$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flagD sq$mb_ram; sq$mb_ram$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$mb_ram; RETURN NOT error; END sq$mb_ram$br; sq$jump_out: /* iRMX86/XENIX FIRMWARE JUMPOUT COMMAND TEST */ PROCEDURE EXTERNAL; END sq$jump_out; sq$jump_out$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$jump_out; RETURN NOT error; END sq$jump_out$br; sq$dual_port_ram: /* DUAL PORT RAM TEST */ itialize$GPCP$flags; CALL sq$urtirv; RETURN NOT error; END sq$urtirv$br; sq$bdrtv: /* BAUD RATE VERIFICATION */ PROCEDURE EXTERNAL; END sq$bdrtv; sq$bdrtv$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$bdrtv; RETURN NOT error; END sq$bdrtv$br; $EJECT /*************************************************************** * * * Optional Tests  /* iRMX86/XENIX FIRMWARE VERIFICATION */ PROCEDURE EXTERNAL; END sq$firmware_vrfy; sq$firmware_vrfy$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$firmware_vrfy; RETURN NOT error; END sq$firmware_vrfy$br; sq$pit_init: /* PIT INITIALIZATION */ PROCEDURE EXTERNAL; END sq$pit_init; sq$pit_init$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$pit_init; RETURN NOT ! PROCEDURE EXTERNAL; END sq$ucr; sq$ucr$br: PROCEDURE boolean PUBLIC; CALL Initialize$GPCP$flags; CALL sq$ucr; RETURN NOT error; END sq$ucr$br; $EJECT /*********************************************************** * * * Non-Configurable Data Area * * * ***********************************************************/ DECLARE u, /* Board 2: receive interrupt */ /* level as referred to by the */ /* PIC on the processer board. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ board_3_rec_intr LITERALLY '0FFH', /* Board 3: receive interrupt */ /* levelh$size WORD PUBLIC DATA(scratch); /* *!*!* THE FOLLOWING LITERALS ARE PUT HERE *!*!* */ /* *!*!* SINCE CURRENTLY THEY ARE IN NO WAY *!*!* */ /* *!*!* TO BE CHANGED. THEY ARE PUT IN TO *!*!* */ /* *!*!* ALLOW FOR FUTURE CHANGES. *!*!* */ DECLARE board_1_ram_size LITERALLY '04000H', /* Board 1: size of the dual */ /* port RAM. er board. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ USART_timer_0 LITERALLY '0', /* Usart 0 transmit and receive */ /* connected to timer 0 */ USART_timer_1 LITERALLY '1', /* Usart 1 transmit and receive */ /* connected to timer 1 */  */ board_1_rec_intr LITERALLY '0FFH', /* Board 1: receive interrupt */ /* level as referred to by the */ /* PIC on the processer board. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ board_2_rec_intr LITERALLY '0FFH'ser$tdt (num$ts)STRUCTURE ( flag BYTE, overlay BYTE, addr POINTER, name$ptr POINTER, err$cnt WORD, exec$cnt WORD) PUBLIC, user$number$of$tests WORD PUBLIC DATA(num$ts); DECLARE user$scratch (scratch) BYTE PUBLIC, /* User scratch area */ user$scratc as referred to by the */ /* PIC on the processer board. */ /* (a value > 7 means that the */ /* interrupt is not connected). */ board_4_rec_intr LITERALLY '0FFH', /* Board 4: receive interrupt */ /* level as referred to by the */ /* PIC on the process */ board_2_ram_size LITERALLY '04000H', /* Board 2: size of the dual */ /* port RAM. */ board_3_ram_size LITERALLY '04000H', /* Board 3: size of the dual */ /* port RAM. */ board_4_ram_size LITERALLY '04000H', /* Board 4: size of the dual */ /* port RAM. " USART_timer_2 LITERALLY '2', /* Usart 2 transmit and receive */ /* connected to timer 2 */ USART_timer_3 LITERALLY '3', /* Usart 3 transmit and receive */ /* connected to timer 3 */ cascaded LITERALLY 'TRUE', /* Timers 4 and 5 cascaded */ system_clof LITERALLY '1', /* Onboard timer frequency: */ _1_rec_intr, board_2_ram_size, board_2_offset , board_2_segment, /* Board 2: base addr,int level */ board_2_send_intr, board_2_rec_intr, board_3_ram_size, board_3_offset , board_3_segment, /* Board 3: base addr,int level */ board_3_send_intr, board_3_rec_intr, board_4_ram_size, board_4_offtimer */ /* specified in cpu_timer. */ system_base_port LITERALLY '0C0H'; /* System processer board */ /* base port. */ /* And finally the configuration variables */ DECLARE /* USART inhibit. */ pq$inhibit_port$init (4) BOOLEAN PUBLIC DATA( inhibit_port_0, inhibit_port_1 DATA( loop_back_port_0, loop_back_port_1, loop_back_port_2, loop_back_port_3 ), /* USART to timer flags. */ pq$u_t$init (4) BYTE PUBLIC DATA( USART_timer_0, USART_timer_1, USART_timer_2, USART_timer_3 ), /* Timers 4 and 5 cascaded flag */ pq$cascaded$init BOOLEAN PUBLIC DATA( cascaded ),  /* Data about iSBC 544 boards */ pq$board_loc$init (4) STRUCTURE ( ram_size WORD, base_offset WORD, base_segment WORD, send_int_level BYTE, receive_int_level BYTE ) PUBLIC DATA( board_1_ram_size, board_1_offset , board_1_segment, /* Board 1: base addr,int level */ board_1_send_intr, board /* 0 = 153.6 KHz. */ /* 1 = 1.23 MHz. */ /* 2 = 2.46 MHz. */ system_timer LITERALLY '0', /* Onboard timer to be used for */ /* the fail/safe timer. */ system_timer_intr LITERALLY '2', /* Interrupt connected to set , board_4_segment, /* Board 4: base addr,int level */ board_4_send_intr, board_4_rec_intr ), /* Number of the board that is */ /* currently being tested. */ pq$board_in_test$init BYTE PUBLIC DATA( board_in_test ), /* Loop back connector flags. */ pq$loop_back$init(4) BOOLEAN PUBLIC , inhibit_port_2, inhibit_port_3 ), /* Test 11 and 12 baud rates. */ pq$baud_rate$init (4) WORD PUBLIC DATA( baud_rate_port_0, baud_rate_port_1, baud_rate_port_2, baud_rate_port_3 ), /* Number of iSBC 544 boards in */ /* the system. */ pq$number_of_boards$init BYTE PUBLIC DATA( number_of_boards ), " /* system clock frequency for */ /* fail/safe timer. */ pq$system_clof$init BYTE PUBLIC DATA( system_clof ), /* System timer to be used for */ /* fail/safe timer. */ pq$system_timer$init BYTE PUBLIC DATA( system_timer ), /* Interrupt connected to timer * * ***********************************************************/ END Configuration; / /* used for fail/safe timer. */ pq$system_timer_intr$init BYTE PUBLIC DATA( system_timer_intr ), /* System processer board */ /* base port. */ pq$system_base_port$init WORD PUBLIC DATA( system_base_port ); /*********************************************************** * End of Configuration Module #sdt544.csd#$ & ** the configuration module ** sdt544.dir/obj/tests.lnk, & ** and the various tests ** monitor/sdtlrg.lib & TO sdt544.dir/obj/sdt544.lnk INITCODE & PRINT(sdt544.dir/lst/sdt544.mp1) LOC86 sdt544.dir/obj/sdt544.lnk & TO sdt544 RESERVE(00h to 0100FH) & PRINT(sdt544.dir/lst/sdt544.mp2) ; ; compile the user configuration module ; PLM86 sdt544.dir/src/sdt544cnf.p86 & PRINT (sdt544.dir/lst/sdt544cnf.lst) & OBJECT (sdt544.dir/obj/sdt544cnf.obj) & LARGE OPTIMIZE(2) ROM ; ; link the object files ; LINK86 & monitor/sdtmon.lnk, & ** the test monitor, of course ** monitor/cmnlrg.lib, & ** the GPCP-SDTMON interface ** sdt544.dir/obj/mline.lnk, & ** the main and utility procedures ** sdt544.dir/obj/sdt544cnf.obj, $% mline.lnk!tests.lnk%&yH w;{|e 3FLAGOVERLAYADDRNAMEPTRERRCNTEXECCNTK yp \ w , trdw Pw@ ' 6LRAM_SIZE BASE_OFFSET BASE_SEGMENTSEND_INT_LEVELRECEIVE_INT_LEVEL( y@ wَw@0 wm t rvu jQ trĎusN truoK tr w tr َ  tr$ӎ tr&Ҏ tr(̎T_DEC_NIBPRINT_DEC_WORDPRINT_HEX_BYTE PRINT_HEX_NIBPRINT_HEX_WORD PRINT_STRING!TDDEBUG LINEBUFFER"TDV3] USERCOPYRIGHTUSERSPN&J PQBASE_ADDR, PQBAUD_RATEPQBOARD_IN_TEST5 PQBOARD_LOC PQCASCADED>PQFIRMWARE_VERSION* PQFIRST_TIME\PQINHIBIT_PORT0 PQINT_ON_PICB PQLOOP_BACK6PQNUMBER_OF_BOARDS4PQPARAMLPQPORT_IN_TESTJPQSYSTEM_BASE_PORT( PQSYSTEM_CLOF?PQSYSTEM_TIMER@PQSYSTEM_TIMER_INTRAPQU_T:PQWAIT_FOR_TIMEOUTKL INITIALIZESDTؐ VERSION1P0CODE??SEGCGROUPSTACKMEMORYDATA MAIN_CODE MAIN_DATA ??INITCODE PUBLICS_CODE PUBLICS_DATA SDT_INIT_CODE SDT_INIT_DATA TIMER_CODE TIMER_DATA UTIL_CODE UTIL_DATA GINTH_CODE GINTH_DATA RESET_CODE RESET_DATAژhH"@)@ TTDH @6 ݘ@] @ %@ @_@@E@@@@4@{|m w0 wz{ I UFLAGADDRNAMEPTR  t r*Ŏ tr܎  t r- h tr/ǎǎ tr1 w  TESTDEFBLOCK USERTDTUSERNUMBEROFTESTS TDSTARTPQINHIBIT_PORTINITPQBAUD_RATEINITPQNUMBER_OF_BOARDSINITPQBOARD_LOCINITPQBOARD_IN_TESTINITPQLOOP_BACKINIT PQU_TINITPQCASCADEDINITPQSYSTEM_CLOFINITPQSYSTEM_TIMERINITPQSYSTEM_TIMER_INTRINITPQSYSTEM_BASE_PORTINIT INPUT_LINEPRINT_BIN_BYTE PRINT_BIN_NIBPRINT_BIN_WORD PRINT_CHARPRINT_DEC_BYTE PRIN&c SQCLEARTIMEOUT SQREADTIMERx SQRESETTIMERf SQSETTIMEOUTW SQSTARTTIMER8 SQSTOPTIMER MY_LOADER2 SQCHIP_INIT)' SQCR_ONLY~ SQGET_NUMBER+SQINCREMENT_PTRg) SQPORT_READ)% SQPORT_WRITE)%SQPROMPT_NUMBER. SQRESET_BOARD{# SQSEND_MSGq! SQTIMER_START\0 SQYES_OR_NO#,h+SQINTR SQINTR_SET1 SQINTR_UNSETSGET_USART_TIMERLOOP_BACK_FLAGSUSERRESETHARDWARE USERRESETSOFTWARE2ʀ VERSION1P0.iRMX 86 8086/8087/8088 MACRO ASSEMBLER V1.1&COPYRIGHT 198[ZYXʜ)XYYY$X1X@XOX" 9YQPQRSVW.6U]_^[ZYX<X3  W.6U..&.6*&  s..&R.&&P &_Z."&.G= û &&O.*&.*7 %:- û% û û û &&OF]mX XX%Y1X=XXXbXeXyXąXćXĉXċXčXďXđXēXĕXĘXĠXĨXIJXĺXXXXYLICS^PLM86 V2.15/19/83 09:04:26̠4 ]/#Copyright1983 Intel Corporation۠((C) Intel Corp 1982 SDT_INITPLM86 V2.15/19/83 09:04:48Ƞd ӜVVV VV V V V V $V(V,V0 04 8 4< @ 5D 6H :L >P ?T @X A\ (ڠ Ѡ# Copyright1983 Intel Corporation٠n .UQFFw).&.O&.#&.F](DX% W* 81XLXc qX| Ẃ 8ĈX̒ NUQ^&G^&G^&^&G.i&,P.i&r.i&FP.i&s(v&|u F.i&F~wFu̚Fr(.i&dP.i&rF]j# *X5 W: 8AXK TXa Wf 8mXĈX̟ ĭX̸ W̽ 8X ;).yUQQ^ &G F&G F^ &G^ &^ &GF.i&P.i&$ ? @ A ( K 6 ]+# Copyright1983 Intel Corporationנ 0`2 8.6Us..&.*&"]˄ X YXX f.6U]Ȝ X Y x.6U] X Y+ .6U..&.*& ] X XXؠ0 .6U..&.*& ]X XX&Yc YQPQRSVW.6U;v..& '..& .*& .2&]_^3 INTEL CORPORATION>MAINQPLM86 V2.15/19/83 09:03:28KDVVV \T]4*Copyright 1982,1983 Intel Corporation"&Software Program # 173243.010|V.P&.L&H;rj P.D^&.H& &AS.D&HZ[&IX&AS.D&@[&A^&q&A &A u@  XYX"Y1Y;XFXVXnXĎY̓V..'P PPPV@ PUBYYUTIL8PLM86 V2.15/19/83 09:05:52̠e՜ * K L VVDyӠ#Copyright1983 Intel Corporationՠ0123456789ABCDEF: , ڠ 5 yY+L([y] or n)W(y or [n])۠b] l : @6v6vD F8{.yUQ.e&? v ^S^SFF]H X XUQ^&^&G.i&FP.i&s(v&|u F.i&F~wFu̚Fr(.i&,P.i&rS&Fu.'&.W&FFw`.+&.[&S.+&H_[&HS.+&H[&HS.+&H[&H.+&D&@Fu./&._&FFw.3&.c&FuFFw.7&.g&Fu.;&.k&.?&.o&.C&.s&.G&.w&.K&.{&]ˮ XX$X.X6XCXKXeXoXyXċXĜXĬXXXXXX XX X(X0X8X@XHXPXXX`XTIMERPLM86 V2.15/19/83 09:05:18ʠ "'sPv &DF<uF.i&^ &G~u .i&~v^ &GF~wFu뤚Fr(.i&P.i&r^ &G^&F^ &G F] NX \$ *( ,,V0V4V8V~.yU P]ˌ X V.yUFF.uv&$u+JV9Vv>FN;v:fFF@F.u&$u+JV‹F FF]ǜXVX(X_XiX`#.yUFsLWPF.uv&8 uyr& F.uv&$5u+JVsFF~sFFF]Z'XXXV(V/XMXXX٠.yU[P^ .#-7v Nv Dv N DEFAULT VALUES A% iRMX86/XENIX FIRMWARE VERSION    *** WARNING: THIS TEST SUITE MAY NOT OPERATE CORRECTLY *** *** ON ANY VERSION OF THE iRMX86/XENIX FIRMWARE *** *** PRIOR TO VERSION 1.2 *** 3ENTER NUMBER OF iSBC 544 BOARDS IN THE SYSTEM HILLEGAL NUMBER OF BOARDS: Q() LEGAL VALUES ARE: 1, 2, 3, 4 @3MENTER NUMBER OF iSBC 544 BOARDS IN THE SYSTEM ٠|ENTER BOARD  DUAL PORT RAM SIZE BAD RA86 V2.15/19/83 09:08:20Π ( B J ,נ/]'#Copyright1983 Intel CorporationӠ1./UQF<wv.M]emw %:- û% û û  û &&OF<w.&FN"؈^]bXXXX X"X$X&X(X*X-X5X=XGXOX\XiXvXđX:./UQF<w.&FN ؈^]d XX lYQPQRSNXIXS WX 8_X~XēX̹ X W 8X 'L).yUQF^ F&8r&&w^S^ P)sFuϰ]i X.Xq.yU.q&rFF^F&uN>uF.m&0~@uF.m&0k~!uF.m&0O~%u6.mF&VFʴ&ЉVFR FGINTHPLM'M SIZE:  LEGAL SIZES ARE: (  ( = T ) à ]0ENTER DUAL PORT RAM BASE ADDRESS FOR BOARD  . ENTER SEGMENT  ENTER OFFSET נ*ILLEGAL BASE ADDRESS: /(B MUST BE ON A 1000 HEX BOUNDRY d1f** WARNING ** WITH A DUAL PORT RAM SIZE OF - AND A BASE ADDRESS OF 3 THE SYSTEM WILL NOT BE ABLE TO ACCESS BOARD ݠ  (ENTER BOARD # SEND INTERRUPT LEVEL CSEND INTERRUPT ON XXX XX!X2XUX_XfXtX}YłXŎXŗYśYšXXXVXVuMw .& 1RP.&? w P.&]Ԝ*VXVX"V)X2X7V>Xg UQP.&PP PFF<r<v!Pv)PM볊F.&]|6X VX!4X9VAVFXKVPXZXĠ# UQQFFr|PFPPF.&0QPFFF<w.G;FuFGAL TIMER NUMBER * VALID TIMER NUMBERS ARE: 0 TO 5 82.0U .&r]F7P:PvFs9FFw). &.&.&.&FuFPvFs.,&&G&GFPvFsGF~w<PvP.v&0.v&FuFPvFr F~vFFrPvPv.&'1FPv.&'1VRPv.&ЉVF.&%F;safPF.&0Pv:PvPFPPFF.&@F&@]XV)V.X3V8X=VMXYaXfVvX̂ġX̦V̮V̶V̾VXVXXVXV"X'V/V7V?VDXIVTVYX^VtXUPFPPF.&@PPPPFX.&@<vPFP-P]=>X VVXV.X?QX&.&FF<w_.&.&S.&H_[&HS.&H[&HS.&H[&H.&D&@Fu.&.&FF<w. &.&FuFF<w.$&.&Fu.(&.&; F.&ȊN:rQ_vFu.&r.&ȱ.&@.&.&@.&Z&W؎&G&L.&P.& 1P.PƜXXVX&X+V3#GXOXfXpXzXČXĝXĭXXXBOARD - NOT CONNECTED @ENTER BOARD ҠM RECEIVE INTERRUPT LEVEL  gRECEIVE INTERRUPT ON BOARD m NOT CONNECTED ,ENTER THE NUMBER OF THE BOARD TO CHECK THERE IS NO BOARD ۠ SPECIFIED IN THE SYSTEM ٠LEGAL BOARD NUMBERS ARE: 1,   %CHANGE LOOPBACK CONNECTOR FLAGS '0LOOPBACK CONNECTOR ON SERIAL PORT S Ϡ(UCHANGE USART - TIMER CONFIGURATION pyTIMER NUMBER FOR USART s TRANSMIT/RECEIVE ILLEFuFsPvPPFF<w8.wP^.wPFuPFF.&]yXV$V)X.V>XIdX{X̀V̈VčX̒VėX̜VX̶VĻXVXVXVXVX- U FFrQFPFPPPF.&pQPFPF.&pQPFF#FFt0*Pv:PvBPFF# +0 PFFFw.G;FuFFuFSX X"X'V,X1V9#TX^XhXpXĂẊV̏#ĠXĴX̹V#XVVXVX#XXV%#PXUV]VbXgVsẌ́VŐX͡VŦXͫVŷXXРl" sF"PF'1FPF'1VR6PgPvF.&Ft]+)XVV.V3X8V=XBVSX  .0UQQFP.&rPvFFr.