All functions written in Dyalog APL v11.0.1 appendcrlf {delta}fno #AV[4]#NAPPEND {neg}1,82 #AV[3]#NAPPEND {neg}1,82 r{<-}bintohex n r{<-}#AV[1+(2 2 2 2 2 2 2 2{basevalue}n)] r{<-}bin6todec n r{<-}2 2 2 2 2 2{basevalue}n r{<-}bin8todec n r{<-}2 2 2 2 2 2 2 2{basevalue}n z{<-}ci fnam z{<-}{iota}lastrec{<-}recmark{<-}0 {delta}cilist{<-}fnam fpos{<-}0 {->}init start:{->}loop{times}{iota}{delta}cilist[fpos]=56 {->}loop{times}{iota}lastrec{<-}{delta}cilist[fpos]=24 loop:reclen{<-}104 fpos{<-}fpos+3 {execute}(lastrec)/'reclen{<-}{delta}cilist[fpos]' record{<-}{delta}cilist[fpos+{iota}reclen] fpos{<-}fpos+reclen binlist{<-}record z{<-}z,uncompre binlist {->}0{times}{iota}lastrec=1 fpos{<-}fpos+9 {->}0{times}{iota}fpos>{rho}{delta}cilist {->}start init:fpos{<-}fpos+9 {->}start cifileparse i{<-}1 {delta}pb{<-}#NREAD tno,83,210 {delta}bindx{<-}((3 0 0 0 1 0 0 108){find}{delta}pb)/{iota}{rho}210 {->}0{times}{iota}0={rho}{delta}bindx {->}pcir{times}{iota}{or}/{delta}pb[(1{take}{delta}bindx)]=56 24 {->}0 pcir:{delta}fstrtbuf{<-}({neg}1+1{take}{delta}bindx){drop}{delta}pb closeallfiles 0{rho}#NUNTIE {neg}1 0{rho}#NUNTIE {neg}2 closefile tno{<-}#NUNTIE tno decomp1 file {delta}rpos{<-}0 inp:'Enter Command - dump, unco, ubuf, cbuf, cibk, quit.' {delta}dcmd{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}dcmd {->}bufn{times}{iota}{and}/(4{take}{delta}dcmd)='ubuf' {->}dump{times}{iota}{and}/(4{take}{delta}dcmd)='dump' {->}uncomp{times}{iota}{and}/(4{take}{delta}dcmd)='unco' {->}cibfr{times}{iota}{and}/'cbuf'=4{take}{delta}dcmd {->}ciblk{times}{iota}{and}/'cibk'=4{take}{delta}dcmd {->}inp dump:'Enter starting address in 5 hex digits -' {delta}dumpst{<-}5{take}{quotequad} {delta}dump{<-}file[({delta}decpos{<-}hextodec {delta}dumpst)+{iota}256] {delta}dumpst,cr {delta}decpos,cr,cr #{<-}{delta}lastdump{<-}{delta}decpos dumpprint {delta}dump {->}inp uncomp:'Enter starting address in 5 hex digits -' {delta}uposst{<-}5{take}{quotequad} {delta}rpos{<-}hextodec {delta}uposst 'Enter record length in decimal -' {delta}rlen{<-}# #{<-}tbuf{<-}uncompre file[{delta}rpos+{iota}{delta}rlen] shkeep:'Keep entry? Y=yes or N=no?' {delta}k{delta}yn{<-}{quotequad} {->}keep{times}{iota}'Y'=1{take}{delta}k{delta}yn {->}nokeep{times}{iota}'N'=1{take}{delta}k{delta}yn {->}shkeep keep:{execute}{delta}inbuffnam,'{<-}tbuf' {->}inp nokeep:{->}inp {execute}{delta}inbuffnam,'{<-}',{delta}inbuffnam,',uncompre file[{delta}rpos+{iota}{delta}rlen]' {->}inp bufn:'Enter variable name for file buffer, or ''quit''. ' {delta}inbuffnam{<-}{quotequad} {->}inp{times}{iota}{and}/'quit'=4{take}{delta}inbuffnam {->}bufn{times}{iota}0={rho}{delta}inbuffnam {execute}{delta}inbuffnam,'{<-}{iota}0' {->}inp ciblk:'Enter starting address in 5 hex digits, or ''quit''. ' {delta}ublkst{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}ublkst {delta}ublk{<-}hextodec {delta}ublkst 'Enter ending address in 5 hex digits, or ''quit''. ' {delta}ublkend{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}ublkend {delta}ueblk{<-}hextodec {delta}ublkend {delta}unblklen{<-}{delta}ueblk-{delta}ublk #{<-}tcibuf{<-},ci file[{delta}ublk+{iota}{delta}unblklen+1] cikeep:'Keep entry? Y=yes, or N=no?' {delta}cekeep{<-}{quotequad} {->}ckeep{times}{iota}{and}/'Y'=1{take}{delta}cekeep {->}inp{times}{iota}{and}/'N'=1{take}{delta}cekeep {->}cikeep ckeep:{execute}{delta}inunbuff,'{<-}tcibuf' {->}inp {->}inp cibfr:'Enter name for uncompress buffer, or ''quit''. ' {delta}inunbuff{<-}{quotequad} {->}inp{times}{iota}{and}/'quit'=4{take}{delta}inunbuff {->}cibfr{times}{iota}0={rho}{delta}inunbuff {execute}{delta}inunbuff,'{<-}{iota}0' {->}inp r{<-}dectobin n r{<-}2 2 2 2 2 2 2 2{represent}n z{<-}dectohex decn z{<-}16 16 16 16 16{represent}decn z{<-}'0123456789ABCDEF'[z+1] dtb{<-}{leftbrace} @ Drop Trailing Blanks. {alpha}{<-}' ' & 1<{residue}{depth}{omega}:({enclose}{alpha}){del}{each}{omega} @ nested? 2<{rho}{rho}{omega}:({neg}1{drop}{rho}{omega}){leftbrace}({alpha},1{drop}{rho}{omega}){rho}{omega}{rightbrace}{alpha} {del},[{neg}1{drop}{iota}{rho}{rho}{omega}]{omega} @ array 1{>=}{rho}{rho}{omega}:(-+/{and}\{reverse}{omega}{enlist}{alpha}){drop}{omega} @ vector (~{reverse}{and}\{reverse}{and}{slashbar}{omega}{enlist}{alpha})/{omega} @ matrix {rightbrace} dump file {delta}rpos{<-}0 inp:'Enter Command - dump, unco, ubuf, cbuf, cibk, quit.' {delta}dcmd{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}dcmd {->}bufn{times}{iota}{and}/(4{take}{delta}dcmd)='ubuf' {->}{delta}dump{times}{iota}{and}/(4{take}{delta}dcmd)='dump' {->}uncomp{times}{iota}{and}/(4{take}{delta}dcmd)='unco' {->}cibfr{times}{iota}{and}/'cbuf'=4{take}{delta}dcmd {->}ciblk{times}{iota}{and}/'cibk'=4{take}{delta}dcmd {->}inp {delta}dump:'Enter starting address in 5 hex digits -' {delta}dumpst{<-}5{take}{quotequad} {delta}dump{<-}file[({delta}decpos{<-}hextodec {delta}dumpst)+{iota}256] {delta}dumpst,cr {delta}decpos,cr,cr #{<-}{delta}lastdump{<-}{delta}decpos dumpprint {delta}dump {->}inp uncomp:'Enter starting address in 5 hex digits -' {delta}uposst{<-}5{take}{quotequad} {delta}rpos{<-}hextodec {delta}uposst 'Enter record length in decimal -' {delta}rlen{<-}# #{<-}tbuf{<-}uncompress,{transpose}dectobin file[{neg}1+{delta}rpos+{iota}{delta}rlen+1] shkeep:'Keep entry? Y=yes or N=no?' {delta}k{delta}yn{<-}{quotequad} {->}keep{times}{iota}'Y'=1{take}{delta}k{delta}yn {->}nokeep{times}{iota}'N'=1{take}{delta}k{delta}yn {->}shkeep keep:{execute}{delta}inbuffnam,'{<-}tbuf' {->}inp nokeep:{->}inp {execute}{delta}inbuffnam,'{<-}',{delta}inbuffnam,',uncompress,{transpose}dectobin file[{delta}rpos+{iota}{delta}rlen]' {->}inp bufn:'Enter variable name for file buffer, or ''quit''. ' {delta}inbuffnam{<-}{quotequad} {->}inp{times}{iota}{and}/'quit'=4{take}{delta}inbuffnam {->}bufn{times}{iota}0={rho}{delta}inbuffnam {execute}{delta}inbuffnam,'{<-}{iota}0' {->}inp ciblk:Enter starting address in 5 hex digits, or ''quit''. ' {delta}ublkst{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}ublkst {delta}ublk{<-}hextodec {delta}ublkst 'Enter ending address in 5 hex digits, or ''quit''. ' {delta}ublkend{<-}{quotequad} {->}0{times}{iota}{and}/'quit'=4{take}{delta}ublkend {delta}ueblk{<-}hextodec {delta}ublkend {delta}unblklen{<-}{delta}ueblk-{delta}ublk #{<-}tcibuf{<-},ci file[{delta}ublk+{iota}{delta}unblklen+1] cikeep:'Keep entry? Y=yes, or N=no?' {delta}cekeep{<-}{quotequad} {->}ckeep{times}{iota}{and}/'Y'=1{take}{delta}cekeep {->}inp{times}{iota}{and}/'N'=1{take}{delta}cekeep {->}cikeep ckeep:{execute}{delta}inunbuff,'{<-}tcibuf' {->}inp {->}inp cibfr:'Enter name for uncompress buffer, or ''quit''. ' {delta}inunbuff{<-}{quotequad} {->}inp{times}{iota}{and}/'quit'=4{take}{delta}inunbuff {->}cibfr{times}{iota}0={rho}{delta}inunbuff {execute}{delta}inunbuff,'{<-}{iota}0' {->}inp z{<-}dumplocs fp z{<-}{neg}32+32{times}{iota}8 z{<-}fp+z z{<-}16 16 16 16 16{represent}z z{<-}{transpose}z z{<-}'0123456789ABCDEF'[1+z] z{<-}z,8 5{rho}': ' z{<-}fp dumpprint {delta}dump;colon;hyph;z2 z{<-},({transpose}16 16{represent}{delta}dump),16 z{<-}'0123456789ABCDEF '[1+z] z{<-}8 96{rho}z colon{<-}8 2{rho}': ' hyph{<-}8 4{rho}' - ' z2{<-}(8 24{take}z),colon z2{<-}z2,8 {neg}24{take}8 48{take}z z2{<-}z2,hyph z2{<-}z2,8 {neg}24{take}8 72{take}z z2{<-}z2,colon z2{<-}z2,8 {neg}24{take}z z{<-}(dumplocs fp),z2 edittool fname;{delta}i;{delta}dmplfl;{delta}dmpst;{delta}cf;{delta}hf;{delta}hdmplc fname{<-}fname,256{rho}0 begin:'Enter ''D''-dump, ''X''-execute, ''Q'' -quit.' {->}{delta}dmp{times}{iota}'D'={delta}i{<-}1{take}{quotequad} {->}{delta}exe{times}{iota}'X'={delta}i {->}0{times}{iota}'Q'={delta}i {->}begin {delta}dmp:'Enter starting address in' '5-digit hex value not more than '',({format}{neg}256+{rho}fname),'','' 'or enter ''X'' to exit.' {delta}dmpst{<-}5{take}{quotequad} {->}begin{times}{iota}'X'=1{take}{delta}dmpst {->}{delta}dmp2{times}{iota}{delta}dmplfl{<-}{and}/{delta}dmpst{epsilon}'0123456789abcdefABCDEF' {->}{delta}dmp,0{rho}#{<-}Not a legal 5-digit hex value. {delta}dmp2:{delta}hdmplc{<-}'abcdef'{iota}{delta}dmpst {->}{delta}dmp3{times}{iota}{and}/7={delta}hdmplc {delta}d2l:{delta}cf{<-}1 {delta}l3:{delta}hf{<-}{delta}dmpst[{delta}cf]='abcdef' {->}{delta}d2l2{times}{iota}0={or}/{delta}hf {delta}dmpst[{delta}cf]{<-}{delta}hf/'ABCDEF' {->}{delta}l3{times}{iota}6>{delta}cf{<-}{delta}cf+1 {delta}dmp3:{delta}dmsp{<-}hextodec {delta}dmpst {->}eof{times}{iota}{delta}dmsp>{rho}(fname-256) {->}{delta}dmpf eof:'Attempt to dump past end-of-file.' {->}{delta}dmp {delta}dmpf:{delta}dmsp dumpprint fname[{delta}dmsp+{iota}256] {->}begin {delta}exe:'''xxx'' to exit.' {delta}exe2:{drop} {->}begin{times}{iota}{and}/(3{take}{delta}ei{<-}{quotequad})='xxx' {execute}{delta}ei {->}{delta}exe2 {delta}fnlist filelistprint {delta}nam;jjj;i;j;{delta}nf;{delta}n;{delta}nc;crf;outb 0{rho}{delta}nam #NCREATE {neg}1 0{rho}{delta}nam #NTIE {neg}1,1 {delta}n{<-}1 jjj{<-}{rho}{quotequad}{<-}'Enter how many filenames across each line ->' jjj{<-}{execute}jjj{drop}i{<-}{quotequad} j{<-}{rho}{delta}fnlist {delta}nf{<-}{delta}nc{<-}20{times}jjj l1:{->}clsf{times}{iota}{delta}n>j outb{<-}{delta}fnlist[{delta}n] outb #NAPPEND {neg}1,82 {delta}n{<-}{delta}n+1 {->}crlf{times}{iota}{delta}n>{delta}nf {->}l1 l2:{->}l3{times}{iota}j{<=}{delta}nf+{delta}nc {delta}nf{<-}{delta}nc+{delta}nf {->}l1 l3:{->}clsf{times}{iota}{delta}n>j outb{<-}{delta}fnlist[{delta}n] outb #NAPPEND {neg}1,82 {delta}n{<-}{delta}n+1 {->}l3 clsf:appendcrlf {neg}1 0{rho}#NUNTIE {neg}1 {->}0 crlf:appendcrlf {neg}1 {->}l2 z{<-}findmarks fil z{<-}{iota}0 fil{<-}fil,60{rho}0 {delta}num{<-}3 0 0 0 {delta}pos{<-}0 main:{delta}x1{<-}{delta}num{find}fil[{delta}pos+{iota}64] {delta}x1{<-}1{take}{delta}x1/{iota}{rho}{delta}x1 {delta}pos{<-}{delta}pos+{neg}1+{delta}x1 {delta}rtyp{<-}fil[{delta}pos+5] {delta}rln{<-}fil[{delta}pos+(8,12)[1+{delta}rtyp=1]] {delta}rln{<-}{delta}rln-((0,4)[1+{or}/{delta}rtyp=1 3]) z{<-}z,{delta}num,{delta}pos,{delta}rtyp,{delta}rln {->}end{times}{iota}({or}/{delta}rtyp=1 3){and}fil[{delta}pos+9]=24 {->}next{times}{iota}{delta}rtyp=3 {->}l2{times}{iota}{delta}num[4]=255 {delta}num[4]{<-}{delta}num[4]+1 {->}next l2:{->}l3{times}{iota}{delta}num[3]=255 {delta}num[3]{<-}{delta}num[3]+1+{delta}num[4]{<-}0 {->}next l3:{delta}num[2]{<-}{delta}num[2]+1+{delta}num[3 4]{<-}0 {->}next next:{delta}pos{<-}{delta}pos+{delta}rln+4 {->}main end:z{<-}((({rho}z){divide}7),7){rho}z z{<-}ftrim {delta}f i{<-}{rho}{delta}f {delta}outfil{<-}{delta}outdir,(({neg}4+i){take}{delta}f),'.txt' {delta}junk{<-}{delta}outfil #NCREATE {neg}2 {delta}junk{<-}{delta}outfil #NTIE {neg}2,1 {delta}fil{<-}(readdocfile {delta}f),#AV[4] {delta}crindx{<-}({delta}fil=#AV[4])/{iota}{rho}{delta}fil main:{->}end{times}{iota}0={rho}{delta}crindx {delta}buf1{<-}(1{take}{delta}crindx){take}{delta}fil {delta}fil{<-}(1{take}{delta}crindx){drop}{delta}fil {delta}buf1{<-}dtb({neg}1+{rho}{delta}buf1){take}{delta}buf1 wrrec {delta}buf1 {delta}crindx{<-}{delta}crindx-1{take}{delta}crindx {delta}crindx{<-}1{drop}{delta}crindx {->}main end:{delta}junk{<-}#NUNTIE {neg}2 z{<-}hexchar{delta}to{delta}dec hx z{<-}+/(65536 4096 256 16 1){times}{neg}1+'0123456789ABCDEF'{iota}hx r{<-}hextobin n r{<-},{transpose}2 2 2 2 2 2 2 2{represent}({neg}1+#AV{iota}n) z{<-}hextodec hx z{<-}+/(65536 4096 256 16 1){times}{neg}1+'0123456789ABCDEF'{iota}hx {delta}op listfiles tapfile;#IO;{delta}tapbuf;{delta}chr;{delta}bofbuf;{delta}nl;{delta}fname;{delta}ln;{delta}nof {delta}fposmarks{<-}{iota}0 {delta}tappos{<-}0 {delta}fnamelist{<-}0{rho}'' #IO{<-}1+{delta}ln{<-}{delta}nof{<-}0 0{rho}#TRAP 1005 'E' '{->}{delta}EOF' tno{<-}tapfile #NTIE {neg}1 {->}{delta}ml{times}{iota}7>{delta}op[2] {delta}op[2]{<-}6 {delta}ml:{delta}tapbuf{<-}#NREAD tno,83,1 {delta}tappos{<-}{delta}tappos+1 i{<-}{neg}1={signum}{delta}tapbuf {delta}chr{<-}{delta}tapbuf+i\256 {->}{delta}pbof{times}{iota}{delta}chr=122 {->}{delta}ml {delta}pbof:{delta}bofbuf{<-}#NREAD tno,83,7 {delta}tappos{<-}{delta}tappos+7 {->}{delta}EOF{times}{iota}7{/=}{rho}{delta}bofbuf {->}{delta}pfn{times}{iota}{and}/{delta}bofbuf={neg}62 {neg}42 {neg}58 1 0 8 8 {->}{delta}ml {delta}pfn:{delta}fposmarks{<-}{delta}fposmarks,({neg}8+{delta}tappos) {delta}nl{<-}#NREAD tno,83,1 {delta}fname{<-}#NREAD tno,83,{delta}nl {delta}addfname {delta}fname {execute}({delta}op[1]=3)/'cifileparse' {delta}nof{<-}{delta}nof+1 {->}op1{times}{iota}{delta}nof={delta}op[2] {->}{delta}ml op1:{execute}{delta}op[1]/'#{<-},{delta}fnamelist[{delta}ln+{iota}20{times}{delta}op[2]]' {delta}ln{<-}{delta}ln+20{times}{delta}op[2] {delta}nof{<-}0 {->}{delta}ml {delta}EOF:{->}clsf{times}{iota}{delta}nof=0 {execute}{delta}op[1]/'#{<-},{delta}fnamelist[{delta}ln+{iota}20{times}{delta}nof]' clsf:0{rho}#NUNTIE {neg}1 outqav i{<-}1 #AV[i]#NAPPEND {neg}3 i{<-}i+1 {->}6{times}{iota}i=257 {->}2 #NUNTIE {neg}3 file printfile fnam fnam #NCREATE {neg}1 fnam #NTIE {neg}1,1 i{<-}1 l0:ind{<-}1 j{<-}{rho}fil{<-}{execute}file[i;] l1:outbyte{<-}fil[ind] outbyte #NAPPEND {neg}1,82 ind{<-}ind+1 {->}l2{times}{iota}ind>j {->}l1 l2:i{<-}i+1 {->}l3{times}{iota}i{backslashbar}1{take}{rho}file {->}l0 l3:closefile z{<-}readdocfile fnam;i z{<-}{iota}0 tno{<-}({delta}indir,fnam)#NTIE {neg}1 fsize{<-}#NSIZE {neg}1 z{<-}#NREAD {neg}1,82,fsize,0 0{rho}#NUNTIE {neg}1 z{<-}readfile fnam;i z{<-}{iota}0 tno{<-}fnam #NTIE {neg}1 fsize{<-}#NSIZE {neg}1 z{<-}#NREAD tno,83,fsize,0 0{rho}#NUNTIE tno i{<-}(({neg}1={signum}z)/{iota}{rho}z) z[i]{<-}z[i]+256 trimfiles {delta}tape {delta}indf{<-}1{take}{rho}{delta}tape {delta}idxf{<-}1 main:{->}0{times}{iota}{delta}idxf>{delta}indf {delta}of{<-}dtb {delta}of{<-},{delta}tape[{delta}idxf;] ftrim {delta}of {delta}idxf{<-}{delta}idxf+1 {->}main unb {delta}n 0{rho}{delta}n #NTIE {neg}1 {delta}if{<-}0 {delta}filsz{<-}#NSIZE {neg}1 {delta}filb{<-}#NREAD {neg}1,82,{delta}filsz 0{rho}#NUNTIE {neg}1 {delta}outfil{<-}(({neg}4+{rho}{delta}n){take}{delta}n),'.txt' 0{rho}{delta}outfil #NCREATE {neg}2 0{rho}{delta}outfil #NTIE {neg}2,1 main:{delta}if{<-}{delta}if+1 {->}end{times}{iota}{delta}if>{delta}filsz ({delta}ib{<-}{delta}filb[{delta}if])#NAPPEND {neg}2,82 {->}add0A{times}{iota}#AV[4]={delta}ib {->}main add0A:(#AV[3])#NAPPEND {neg}2,82 {->}main end:0{rho}#NUNTIE {neg}2 unci fil {delta}next8{<-}{delta}nblnk5{<-}{delta}nblnk6{<-}0 fil{<-}fil,104{rho}0 {delta}mklist{<-}findmarks fil {delta}buffer{<-}{iota}0 {delta}indx{<-}1 start:{->}0{times}{iota}{delta}indx>1{take}{rho}{delta}mklist {delta}r{<-}{delta}mklist[{delta}indx;] {->}x03{times}{iota}{delta}r[6]=3 {->}x01 x01:{delta}buffer{<-}{delta}buffer,uncmpr fil[(12+{delta}r[5])+{iota}{delta}r[7]] {->}0{times}{iota}fil[9+{delta}r[5]]=24 {delta}indx{<-}{delta}indx+1 {->}start x03:{delta}tbuff{<-}fil[(12+{delta}r[5])+{iota}{delta}r[7]] {->}x03end{times}{iota}fil[9+{delta}r[5]]=24 {delta}r{<-}{delta}mklist[({delta}indx+1);] {delta}tbuff2{<-}fil[(8+{delta}r[5])+{iota}{delta}r[7]] {delta}r{<-}{delta}mklist[({delta}indx+2);] {delta}tbuff3{<-}fil[(12+{delta}r[5])+{iota}{delta}r[7]] {delta}buffer{<-}{delta}buffer,uncmpr {delta}tbuff,{delta}tbuff2,{delta}tbuff3 {delta}indx{<-}{delta}indx+3 {->}start x03end:{delta}buffer{<-}{delta}buffer,uncmpr {delta}tbuff unco fil {delta}next8{<-}{delta}nblnk5{<-}{delta}nblnk6{<-}0 fil{<-}fil,104{rho}0 {delta}mklist{<-}findmarks fil {delta}buffer{<-}{iota}0 {delta}indx{<-}1 start:{->}0{times}{iota}{delta}indx>1{take}{rho}{delta}mklist {delta}r{<-}{delta}mklist[{delta}indx;] {->}x03{times}{iota}{delta}r[6]=3 {->}x01 x01:{delta}buffer{<-}{delta}buffer,uncmpr fil[(12+{delta}r[5])+{iota}{delta}r[7]] {->}0{times}{iota}fil[9+{delta}r[5]]=24 {delta}indx{<-}{delta}indx+1 {->}start x03:{delta}tbuff{<-}fil[(12+{delta}r[5])+{iota}{delta}r[7]] {->}x03end{times}{iota}fil[9+{delta}r[5]]=24 {delta}r{<-}{delta}mklist[({delta}indx+1);] {delta}tbuff2{<-}fil[(8+{delta}r[5])+{iota}{delta}r[7]] {delta}buffer{<-}{delta}buffer,uncmpr {delta}tbuff,{delta}tbuff2 {delta}indx{<-}{delta}indx+2 {->}start x03end:{delta}buffer{<-}{delta}buffer,uncmpr {delta}tbuff r{<-}uncmpr dat dat{<-},{transpose}dectobin dat recend{<-}0 r{<-}{iota}0 l{<-}{rho}dat start:{->}end{times}{iota}recend>{neg}6+l {->}ln8{times}{iota}1={delta}next8 {->}ln5{delta}6{times}{iota}{or}/1=({delta}nblnk5,{delta}nblnk6) b{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 {->}l5{delta}6{times}{iota}{or}/b=5 6 {->}start{times}{iota}{or}/(0 1)=b {->}start{times}{iota}b=3 {->}l2{times}{iota}2=b {->}l8{times}{iota}4=b r{<-}r,x6bcl[{neg}6+b] {->}start l2:r{<-}r,cr {->}start l8:{->}no8{times}{iota}l<8+recend e{<-}bin8todec dat[recend+{iota}8] recend{<-}recend+8 r{<-}r,ebcdic[1+e] {delta}next8{<-}0 {->}start l5{delta}6:{->}no5{delta}6{times}{iota}l<6+recend c{<-}b b{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 l5{delta}6c:r{<-}r,(b+(c=5 6)/1 65){rho}' ' {->}start end:{->}0 no8:{delta}next8{<-}1 {->}0 no5{delta}6:{delta}nblnk5{<-}b=5 {delta}nblnk6{<-}6=b {->}0 ln8:e{<-}bin8todec dat[recend+{iota}8] recend{<-}recend+8 r{<-}r,ebcdic[1+e] {delta}next8{<-}0 {->}start ln5{delta}6:b{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 r{<-}r,(b+(({delta}nblnk5,{delta}nblnk6)/1 65)){rho}' ' {delta}nblnk5{<-}{delta}nblnk6{<-}0 {->}start r{<-}uncompre dat dat{<-},{transpose}dectobin dat recend{<-}0 r{<-}{iota}0 l{<-}{rho}dat start:{->}end{times}{iota}recend>{neg}6+l f{<-}dat[recend+{iota}6] recend{<-}recend+6 {->}start{times}{iota}{or}/(0 1)=b{<-}bin6todec f {->}start{times}{iota}b=3 {->}l2{times}{iota}2=b {->}l5{delta}6{times}{iota}{or}/c{<-}(5 6)=b {->}l8{times}{iota}4=b r{<-}r,x6bcl[{neg}6+b] {->}start l2:r{<-}r,cr {->}start l8:{->}0{times}{iota}l<8+recend e{<-}bin8todec dat[recend+{iota}8] recend{<-}recend+8 r{<-}r,ebcdic[1+e] {->}start l5{delta}6:{->}end{times}{iota}l<6+recend c{<-}c/1 65 e{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 r{<-}r,(e+c){rho}' ' {->}start badrec:{->}0,0{rho}#{<-}'Attempt to access past end of record!' end:{delta}tm{<-}{iota}0 r{<-}uncompress dat dat{<-},{transpose}dectobin dat recend{<-}0 r{<-}{iota}0 l{<-}{rho}dat start:{->}end{times}{iota}recend>{neg}6+l b{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 {->}l5{delta}6c{times}{iota}{or}/1={delta}nblnk5,{delta}nblnk6 c{<-}((5 6)=b)/1 65 {->}l8{times}{iota}1={delta}next8 {->}start{times}{iota}{or}/(0 1)=b {->}start{times}{iota}b=3 {->}l2{times}{iota}2=b {->}l5{delta}6{times}{iota}c{/=}0 {->}l8{times}{iota}4=b r{<-}r,x6bcl[{neg}6+b] {->}start l2:r{<-}r,cr {->}start l8:{->}no8{times}{iota}l<8+recend e{<-}bin8todec dat[recend+{iota}8] recend{<-}recend+8 r{<-}r,ebcdic[1+e] {delta}next8{<-}0 {->}start l5{delta}6:{->}no5{delta}6{times}{iota}l<6+recend b{<-}bin6todec dat[recend+{iota}6] recend{<-}recend+6 l5{delta}6c:r{<-}r,(b+c){rho}' ' {delta}nblnk{<-}0 {->}start badrec:{->}0,0{rho}#{<-}'Attempt to access past end of record!' end:{->}0 no8:{delta}next8{<-}1 {->}0 no5{delta}6:{delta}nblnk5{<-}b=5 {delta}nblnk6{<-}6=b {->}0 wrrec {delta}bf {->}end{times}{iota}0={rho}{delta}bf {delta}junk{<-}{delta}bf #NAPPEND {neg}2,82 end:{delta}junk{<-}(#AV[4])#NAPPEND {neg}2 {delta}junk{<-}(#AV[3])#NAPPEND {neg}2 {->}0