RDOSUPDAT5.11>BASIC REVISION 05.10 UPDATE 1 PAGE 1 04/26/78 078-000010-01 ------------------------------------------------------------------------------- TO INSTALL THIS UPDATE: 1. LOAD THE FILE NAMED "RDOSUPDAT5.11" CONTAINED IN THE UPDATE MATERIALS ACCOMPANYING THIS NOTICE. TO DO THIS, USE THE COMMANDS FROM THE SET BELOW WHICH MATCH THE MEDIUM YOU HAVE. FROM MAGNETIC TAPE 071-000246-01 INIT MTX LOAD/V MTX:0 RDOSUPDAT5.11 WHERE "X" IS THE UNIT NUMBER ON WHICH THE TAPE IS MOUNTED. FROM CASSETTE 070-000184-0x1 INIT CTX LOAD/V CTX:0 RDOSUPDAT5.11 WHERE "X" IS THE UNIT NUMBER ON WHICH THE CASSETTE IS MOUNTED. FROM PAPER TAPE 088-000346-01 AND 088-000387-01 LOAD/V $PTR RDOSUPDAT5.11 FROM DISKETTE 072-000279-01 INIT YYY DIR DPX MOVE/V YYY RDOSUPD]AT5.11 WHERE "YYY" IS THE DIRECTORY IN WHICH YOU DESIRE TO BUILD BASIC AND "X" IS THE UNIT NUMBER IN WHICH THE DISKETTE IS LOADED. 2. READ AND FOLLOW THE INSTRUCTIONS IN THE FILE "RDOSUPDAT5.11". TO DISPLAY THIS INFORMATION ON YOUR LINE PRINTER, USE THE COMMAND: PRINT RDOSUPDAT5.11 IF YOU DON'T HAVE A LINE PRINTER, DISPLAY THIS INFORMATION ON YOUR CONSOLE WITH THE COMMAND: TYPE RDOSUPDAT5.11 BASIC REVISION 05.10 UPDATE 1 PAGE 2 04/26/78 078-000010-01 --------------------------------------------:----------------------------------- 1. LOADING PROCEDURE -- ------- --------- THIS UPDATE CONSISTS OF 12 FILES: RDOSUPDAT5.11, BASIC0511.PF, ALMRM.RB, BYE.RB, CHAR.RB, INIT2.RB, MSCR.RB, OPER.RB, TIMER1.RB, TIMER2.RB, TIMER3.RB AND RTOS0511.PF. USE T+HE FOLLOWING PROCEDURE TO INSTALL THE UPDATE: 1. ON YOUR MASTER DIRECTORY DELETE ANY EXISTING BASICHELP.DR AND CREATE A NEW BASICHELP SUBPARTITION USING THE COMMAND: CPART BASICHELP 300 2. LOAD THE BASIC HELP FILES USING THE APPROPRIATE COMMAND: FROM MAGNETIC TAPE INIT MTX DIR BASICHELP LOAD/V/R/A MTX:0 -.HF WHERE "X" IS THE UNIT NUMBER ON WHICH THE TAPE IS MOUNTED. FROM CASSETE NUMBER 070-000208-00 INIT CTX DIR BASICHELP LOAD/V/R/A CTX:0 WHERE "X" IS THE UNIT NUMBER ON WHICH THE CASSETTE IS MOUNTED. FROM PAPER TAPE NUMBERS 088-000395-00, 088-000396-00 AND 088-000397-00 DIR BASICHELP LOAD/V/R/A $PTR FROM DISKETTE NUMBER 072-000355-00 INIT BASICHELP DIR DPX MOVE/V/R/A BASICHELP WHERE "X" IS THE UNIT NUMBER IN WHICH THE D(ISKETTE IS LOADED. 3. DIR TO THE DIRECTORY IN WHICH YOU WISH TO BUILD BASIC. 4. LOAD BASIC REVISION 05.10 FROM THE RELEASE TAPE, CASSETTE, PAPER TAPE OR DISKETTE. IF MAGNETIC TAPE IS USED, BE ADVISED THAT THE ENTIRE PRODUCT IS ON FILE 0 INCLUDING THE #NBASIC HELP FILES. TO PROHIBIT THE UNNECESSARY LOADING OF THE HELP FILES INTO THE DIRECTORY IN WHICH YOU WANT TO BUILD BASIC, EITHER OMIT THE GLOBAL /A SWITCH ON THE LOAD COMMAND OR USE THE TEMPLATE -.HF/N IN THE LOAD LIST: INIT MTX LOAD/V/R MTX:0 -.HF/N WHERE "X" IS THE UNIT NUMBER ON WHICH THE TAPE IS MOUNTED. BASIC REVISION 05.10 UPDATE 1 PAGE 3 04/26/78 078-000010-01 ------------------------------------------------------------------------------- 5. LOAD ALMRM.RB, BYE.RB, CHAR.RB, INIT2.RB, MSCIR.RB, OPER.RB, TIMER1.RB, TIMER2.RB, TIMER3.RB, BASIC0511.PF AND RTOS0511.PF USING THE APPROPRIATE COMMAND: FROM MAGNETIC TAPE INIT MTX LOAD/V/R MTX:0 WHERE "X" IS THE UNIT NUMBER ON WHICH THE TAPE IS MOUNTED. FROM CASSETTE INIT CTX LOAD/V/RN CTX:0 WHERE "X" IS THE UNIT NUMBER ON WHICH THE CASSETTE IS MOUNTED. FROM PAPER TAPE LOAD/V/R $PTR FROM DISKETTE DIR DPX MOVE/V/R YYY WHERE "YYY" IS THE DIRECTORY IN WHICH YOU DESIRE TO BUILD BASIC AND "X" IS THE UNIT NUMBER IN WHICH THE DISKETTE IS LOADED. 6. RUN BSG TO CREATE A TAILORED SAVE FILE X.SV AND ASSOCIATED LOAD MAP X.MP WHERE "X" IS THE SYSGENED SAVE FILE NAME. 7. IF RDOS IS THE INTENDED OPERATING SYSTEM FOR THE TAILORED BASIC SAVE FILE X.SV, RUN THE PATCH UTILITY BY EXECUTING THE COMMAND PATCH X.SV/S BASIC0511.PF/P X.MP/L WHERE AGAIN "X" IS THE SYSGENED SAVE FILE NAME. 8. IF RTOS IS THE INTENDED OPERATING SYSTEM FOR THE TAILORED BASIC SAVE FILE X.SV, RUN THE PATCH UTILITY BY EXECUTING THE COMMAND PATCH X.SV/S RTOS0511.PF/P X.MP/L WHERE AGAIN "X" IS THE SYSGENED SAVE FILE NAME. 9. BASIC REVISION 05.10 UPDATE 1 IS NOW INSTALLED. 2. PROBLEMS -- -------- BASIC REVISION 05.10 UPDATE 1 PAGE 4 04/26/78 078-000010-01 -------------------------------------------------4------------------------------- 3. PATCHES -- ------- THE PATCH FILE BASIC0511.PF REFERRED TO ABOVE IN THE LOADING PROCEDURE CONTAINS THE FOLLOWING PATCHES: SUPPRESS PATCH WARNING MODIFY REVISION NUMBER PROHIBIT EXCESSIVE CONTEXT SWITCHING PREVENT SPURIOUS OUTPUT WITH 'FILE' COMMAND IN HEAVY SWAPPING ENVIRONMENT PROHIBIT ERRONEOUS UPDATING OF PROGRAM BYTE POINTER AFTER SWAP IN EDIT MODE ALLOW 'READ FILE(N),A$' FROM TAPE, CASSETTE AND QTY FILES PROHIBIT SWAPPING HAVOC WHEN USING SHORT DELAY AND TIMED INPUTS DO NOT CALL SOFTWARE DIVIDE ROUTINE FROM NON-COMPILER TASK UPDATE LOCATION 401 THE PATCH FILE RTOS0511.PF REFERRED TO ABOVE IN THE LOADING PROCEDURE CONTAINS THE FOLLOWING PATCHES: SUPPRESS PATCH WARNING MODIFY REVISION NUMBER PROHIBIT EXCESSIVE CONT2EXT SWITCHING FIXUP SIGN-ON BYTE POINTER ALLOW 'READ FILE(N),A$' FROM TAPE, CASSETTE AND QTY FILES DO NOT CALL SOFTWARE DIVIDE ROUTINE FROM NON-COMPILER TASK UPDATE LOCATION 401 TIMER1.RB )T$I$I$Icfb\@N\L\ ]\:\Ogs\s@\`s\ W JSR$I IJƆ@]`P]@P] ]- \cTKTCLNll`ÔCs#vǣLǣCTZRݺD1ݺÞw\D$$LIEQEYJ 8 ;3 #X8= (  0:! *  *D'8U3! &*Z!$Y*! * JD8m*$!% *KY!D$$`l8 9 9 #P1D8F9@KD$$FK ))D`%Y X)0 @gDgI%AOG5UM|vQ'Ac _INIT2.RBWzt"I3syyВbВ@_zdlllquFf.c냒cc8c룔cxyCxlll۽ctCzzF#zcbǣR.[ǣ??qc=ǣCslll_cQYRc룙R^h\n\n\n R9RQQQlllPQuFݺt:c냀nWƣnnÎAcClll۶=ɳcLm#McpcCN_nCCCCc룏##Mazll`IVDcA飫OFcHFa:Ô냀KbGĒ0  9; m 3 8!,( 0 0!J G$r8#  .\ =y8#")D;$ t( -( mP @0Bl[<*(H @( -  ( ,E2ے$n8ZH613S GI NNO ,l[$۾FVXU 0#!P*(" (   "b[;غ/T @ P ! ( ! (1 [ؤb(   " H #  ( TMDb8>pD/HAX,0Q !0 @ 0 l['$~ VXU 0*J  1-bGfˌP+( T@ @K O aD;0f!G e! d 0h!8*C  8 Xb'y7+>  8<#8+ S SSO X8ND0N!B@05B0.  ?"7*B I0Gl;8D!'B&B>)P0B I0%J 0 8)59D';ҥ 1 8F3 $ FK/!@E3 b[b[aX$ 8EK9KKKK Dll (9 :84 ( N H)0G$lۋP P @!HS/RL2[ J _TIMER2.RB <t$I$I$Hczbp@NpLp qp:pO{sps@p`sp k Jgf$I$I@`@q`Pq@Pq q- p =d=eT[TC\NlllAÔCs#vǣLǣCTZRݺDݺÞÍcnXRwpD$$_\YUQUYJ 8 ;3 #X8,w(  83J1D$'A B! *  *;! *ZX'}v*,Y2! * J,!- *G$$ 8KY!! 99 D$$ |F#)/! D#TP19@[D$a[ d@fD$'Gf)) XDdt)0 @{DB6{I ]%AOW5U]|va'Achba _ALMRM.RB2(GH@clllOQ(Qc[RqǣQYRRQQ_ǣLNnS`ݺ\ݺÞDX6   (^Ii)  8D$'; RRD>S+ zCD$$Z FY+ 0 L9P@ @D$$*!011:I=)/! 8 G;$88 6) :  *" &! D;'8F? 1BJ!  #DĒ$!TPC +  + )!Db @e,[̒$ie*n  TQ:YXX?Q _TIMER3.RB ٴ$I$I$Cc~b@NL p:Oss@`s k Jgf$I$II3@ `P!@P \- hb@ =d=eT[TC\Nlll3i냃mZKÔCs#voǣCTZݺDݺÞlllDRǣLCnǣpCǣ]#c~cccíǣ~ǃlllínnQQRc룏c룔U<ccnXR2ZwD$$_\YUQUYJ 8 ;3 #X8 w (  , 83J1D$'= B! *  *;! *ZX'nv*,Y2! * J,!-  *G$$8KY!! 99 D$$|F#\)/!  D#TP19@[D$a[ +d@fD$8p[f))X D'At )0 @b[ۃX @ (*J% (  lG$51 X   .".X  [b[o X N 0 *& J X 0[b%l *& *"J 9  *#JD'$  ;#SD$$_ S;S# P D$$Ez! ) D DhipD)}@DĢ$:j1 "" *= vA f Db;<s  2$ ' ]%[--8BJD'$p J!P  1 J :Xl'8%( !" :+#"HI#"D"%`& 5! "C  19C kg!D$'M4 # 9) 3J 83 bG$b' B *& ! P  *& X$$ yTCFݺt#b}c냀ÀcNnCAcc룏l#z飭ݺÞDDD$$IYx9t4NAR8"I'@)) Hz P P! n 0[$أ! (*:! P -  ( 9&Xb'*J)0 - 0 D$;{8& + T Mi 8&N 18XR X$8|F") F [ A  P= 18X$b;TXA " )  PK X ! lGlJb/# X / P! ( H! b[b;$p P! ( H18 (3 e 3"D؜$~  (+" 11,8X;w&34** P0 X83 DĜ  (*"  X  XD88413+J++J/)J 0 *JXؒ$(.  823'! ? ! ? X$# ? /  ? ! ? 0, [l'J *J(   022:D;b;RFMO    "$ 8& D8$F "$    / !   b[ǜ$/ @ / 0 - *M-!dEĒ8" =f^  P b[V/ @  0 !0(J.1T GD'/&20(* 00,8&X' l[`4 " % (  _RTOS0511.PF{-; ;SUPPRESS PATCH WARNING S INIT+76 020516 000551 ; MODIFY REVISION NUMBER S 422 002412 002413 S REV 002412 002413 S RMSG+20 030040 030440 S RMSG+35 030460 030461 ; ;PROHIBIT EXCESSIVE CONTEXT SWITCHING S R.UTS-7 106414 000401 R.UTS ; ;FIXUP SIGN-ON BY"TE POINTER S INIT+2535 INIT+2535+12 (INIT+2535+1)<1 ; ;ALLOW 'READ FILE(N),A$' FROM TAPE, CASSETTE AND QTY FILES S FILES+272 030000+TR15 002000+ZMAX+1 S ZMAX+1 000000 PATCH+17 S PATCH+17 000000 030000+TR15 S PATCH+20 000000 034440 S PATCH+21 000000 1773414 S PATCH+22 000000 000403 S PATCH+23 000000 002401 S PATCH+24 000000 FILES+273 S PATCH+25 000000 006000+.PIIO S PATCH+26 000000 015477 S PATCH+27 000000 000403 S PATCH+30 000000 002401 S PATCH+31 000000 FILES+276 S PATCH+32 000000 034407 S PA'TCH+33 000000 156414 S PATCH+34 000000 000403 S PATCH+35 000000 002401 S PATCH+36 000000 FILES+276 S PATCH+37 000000 002401 S PATCH+40 000000 FILES+352 S PATCH+41 000000 000022 S OPN+236 102400 006000+ZMAX+2 S ZMAX+2 000000 PATCH+42 S PATCH+42 000X000 102620 S PATCH+43 000000 101220 S PATCH+44 000000 040000+TR5 S PATCH+45 000000 102400 S PATCH+46 000000 001400 S OPN+337 024000+TR4 002000+ZMAX+3 S ZMAX+3 000000 PATCH+47 S PATCH+47 000000 024000+TR5 S PATCH+50 000000 133000 S PATCH+51 000000 p024000+TR4 S PATCH+52 000000 002000+.REST S OPN+650 102000 006000+ZMAX+4 S ZMAX+4 000000 PATCH+53 S PATCH+53 000000 102620 S PATCH+54 000000 101220 S PATCH+55 000000 040000+TR5 S PATCH+56 000000 102000 S PATCH+57 000000 001400 S PATCH+60 00000 040000 S URDT-1 077400 037400  ; ;DO NOT CALL SOFTWARE DIVIDE ROUTINE FROM NON-COMPILER TASK S CARDS-16+1463 006000+.DVDI ZMAX+12 S ZMAX-16+12 000000 102400 S ZMAX-16+13 000000 142432 S ZMAX-16+14 000000 000412 S ZMAX-16+15 000000 034414 S ZMAX-16+16 00u0000 125120 S ZMAX-16+17 000000 101100 S ZMAX-16+20 000000 142412 S ZMAX-16+21 000000 142400 S ZMAX-16+22 000000 125100 S ZMAX-16+23 000000 175404 S ZMAX-16+24 000000 000773 S ZMAX-16+25 000000 176441 S ZMAX-16+26 000000 176420 S ZMAX-16+27 000000u8 002401 S ZMAX-16+30 000000 CARDS+1464 S ZMAX-16+31 000000 177760 ; ;UPDATE LOCATION 401 S 401-16 ZMAX ZMAX+32 ; BYE.RB @:aPI5N_KCKlllێgx CAQ(c냒c8c룔ݺDCzGzF#zlll{&cRǣC}ǣ=c}ǣ?cÓ?N=YIqc=|lllkݍQQc룙RYRR^5R RQQQ#TCFlllێݺt}mc냀.SWƣÎÀ#zBF#Cc#lllۄCCCCLHc#zӗDDcH7qJcJÔ냀i냃mZKG'8XS! R! 0L!* t%!0P @ bG;$d0  > P!*( ; , 8 Q!9) 8b[lے8UE#;+5 X1  - / 0( '  & DlےQ*F!') 88#+5  - / 0(l[ǜ$A8 '  (  8+?  C !JMXXl'KFL 8# KA. L$$p@TL GOEG DFO FYBO EPAROT RL$$bS GI NFO,FC UPU ES,D L$$3pI O/U ES,D x@3lI88~B (?8>3 & >K![<@W=3 X& 8=K4K KKKGl;k8EC;C8CCC!1;D$$~Ӑ*JGǒ$ ׶:07B)" n- B!)X;$" - R!((" - %/) *"X$/  ?%P# ? 0X$$t0 ?w% +!P" X$$o 8#  !  )8 Dd$!ABISC ITEM SERCAD$$| EH DIDERTCROEI SNITID'L MITID$$5 ,6UNBMREO FIDERTCROEI SD$;U&ERELSADE ,8C#0+ @l% D'b'-4?  8# I)PH  DlB?B( P " %  8L!bG$8ުPP#(  .$$$P#(  8#@Db; {^ +H %8 ((Gcl 8+0ύ1P6 83 D$'-z1P 8# G 8X$?C!)DCK9J P BX<8Gl;l;ٖ1 D39,HMXJ Dbb;W0#!P#(" (   " @ P bG;;*! ( ! (1 (   "[ĉ! H %  ( ID/D2Xb[8b*0F $0 @  MXL 0X$^*K - 1P+(>[(  0* lG;; MXL  / 0(  KA _CHAR.RBTD Z:Tlll۱Ô냀KTZQQQQ Rc[lll0Ҧǣ?ǣ=qy飫zy#bcRɳc룏c룔#c냀l} +Bctc=cc룙[;8U?  XO!(# K!! 0* L!(bG8a8;0 " : A!(# ;!! 0*Dbx ;!(8;0 " ) 8X X$$Z* H R HD$$N8r1* )*  "83Xؖ8iFw 8S ! (1  EdTRNM @  I1D$'Jb. (a) 83 Db'$[pX) ;V) + 0JK X'w~ 8#+   B1DؒąK 0 HX  @ H P25  b[8l (Nj 09 P2  (  0"Gؒ>P* 1 # " (J "X88ж ! " 1  0 (9dG$DR}"SNOFOFLe,   Ld$3 CNRSDPLDCOXD$$NNDFON MESBPOMDTDSSEC _BASIC0511.PF; ;SUPPRESS PATCH WARNING S INIT-16+76 020516 000551 ; ;MODIFY REVISION NUMBER S 422-16 002412 002413 S REV-16 002412 002413 S RMSG-16+20 030040 030440 S RMSG-16+35 030460 030461 ; ;PROHIBIT EXCESSIVE CONTEXT SWITCHING S R.UTS-16-7 106414 000401 R.UTSD ; ;PREVENT SPURIOUS OUTPUT WITH 'FILE' COMMAND IN HEAVY SWAPPING ENVIRONMENT S FILE-16+56 022000+.PEND 002000+ZMAX S ZMAX-16 000000 PATCH S PATCH-16 000000 030016 S PATCH-16+1 000000 020000+C10 S PATCH-16+2 000000 006000+.PISS S PATCH-16+3 000000 022000+.PEND S PATCH-16+4 000000 002401 S PATCH-16+5 000000 FILE+57 ; ;PROHIBIT ERRONEOUS UPDATING OF PROGRAM BYTE POINTER AFTER SWAP IN EDIT MODE S PI.IZ-16+25 133022 133000 S PI.IZ-16+26 000404 025400+U.S S PI.IZ-16+27 145220 125223 S PI.IZ-16+30 1664A33 000402 ; ;ALLOW 'READ FILE(N),A$' FROM TAPE, CASSETTE AND QTY FILES S FILES-16+272 030000+TR15 002000+ZMAX+1 S ZMAX-16+1 000000 PATCH+17 S PATCH-16+17 000000 030000+TR15 S PATCH-16+20 000000 034440 S PATCH-16+21 000000 173414 S PATCH-16+22 000000 -000403 S PATCH-16+23 000000 002401 S PATCH-16+24 000000 FILES+273 S PATCH-16+25 000000 006000+.PIIO S PATCH-16+26 000000 015477 S PATCH-16+27 000000 000403 S PATCH-16+30 000000 002401 S PATCH-16+31 000000 FILES+276 S PATCH-16+32 000000 034407 S PA' TCH-16+33 000000 156414 S PATCH-16+34 000000 000403 S PATCH-16+35 000000 002401 S PATCH-16+36 000000 FILES+276 S PATCH-16+37 000000 002401 S PATCH-16+40 000000 FILES+352 S PATCH-16+41 000000 000022 S OPN-16+236 102400 006000+ZMAX+2 S ZMAX-16+2 0000;"00 PATCH+42 S PATCH-16+42 000000 102620 S PATCH-16+43 000000 101220 S PATCH-16+44 000000 040000+TR5 S PATCH-16+45 000000 102400 S PATCH-16+46 000000 001400 S OPN-16+337 024000+TR4 002000+ZMAX+3 S ZMAX-16+3 000000 PATCH+47 S PATCH-16+47 000000 024000+TR5 S PATCH-16+50 000000 133000 S PATCH-16+51 000000 024000+TR4 S PATCH-16+52 000000 002000+.REST S OPN-16+650 102000 006000+ZMAX+4 S ZMAX-16+4 000000 PATCH+53 S PATCH-16+53 000000 102620 S PATCH-16+54 000000 101220 S PATCH-16+55 000000 040000+TRhA5 S PATCH-16+56 000000 102000 S PATCH-16+57 000000 001400 S PATCH-16+60 00000 040000 S URDT-16-1 077400 037400 ; ;PROHIBIT SWAPPING HAVOC WHEN USING SHORT DELAY AND TIMED INPUTS S DELAY-16+10 045000+U.TMO ZMAX+5 S DELAY-16+13 006000+.PICS 000401 S Z3MAX-16+5 000000 045000+U.TMO S ZMAX-16+6 000000 006000+.PICS S ZMAX-16+7 000000 030016 S ZMAX-16+10 000000 002401 S ZMAX-16+11 000000 DELAY+11 S PI-16+162 030016 004750 S PI-16+163 020476 030016 S PI-16+164 006000+.PISS 020475 S PI-16+165 155000 00r"6000+.PISS S PI-16+166 030474 155000 S PI-16+167 151014 030473 S PI-16+170 000406 151014 S PI-16+171 004741 000405 ; ;DO NOT CALL SOFTWARE DIVIDE ROUTINE FROM NON-COMPILER TASK S CARDS-16+1463 006000+.DVDI ZMAX+12 S ZMAX-16+12 000000 102400 S ZMAX-1O6+13 000000 142432 S ZMAX-16+14 000000 000412 S ZMAX-16+15 000000 034414 S ZMAX-16+16 000000 125120 S ZMAX-16+17 000000 101100 S ZMAX-16+20 000000 142412 S ZMAX-16+21 000000 142400 S ZMAX-16+22 000000 125100 S ZMAX-16+23 000000 175404 S ZMAX-16+24Lh 000000 000773 S ZMAX-16+25 000000 176441 S ZMAX-16+26 000000 176420 S ZMAX-16+27 000000 002401 S ZMAX-16+30 000000 CARDS+1464 S ZMAX-16+31 000000 177760 ; ;UPDATE LOCATION 401 S 401-16 ZMAX ZMAX+32 ; MSCR.RB2ZUD1uaDDlll8Q(c8ct`=Wǣ?N=lllswCK~KC?c_KXR R RRQLCCTZS{#b}l`3}mc냀`CCcUC['{1  @ @ @D  21D8' T 11R 01P 8 0r x! @1 8Du   Xe ! !)D;$?* #8#"3c= P ?  D$D=8    &-R%  8lGb4F   X! 8 08  (D$'dT83 <= 8#  29 [$$ebX P #  8# (D;'p 0P0 0 PHP @Xl;~  (    (Gl'$ 1# 6$&W-J0K1R2SD$$+<p@3T4L5M6O7P8Y9X&\-[0]1U2F3GD$$4^5E6N7Z8I9V&-,0Q1D234CD$5!6A789 _