Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator) (02/01/90)
Submitted-by: Werner Guenther <G35%DHDURZ1.BITNET@CUNYVM.CUNY.EDU> Posting-number: Volume 90, Issue 037 Archive-name: kernel/xoper-2.2/part02 #!/bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 4)." # Contents: Xoper.a.ac # Wrapped by tadguy@xanth on Wed Jan 31 22:31:32 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'Xoper.a.ac' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Xoper.a.ac'\" else echo shar: Extracting \"'Xoper.a.ac'\" \(40356 characters\) sed "s/^X//" >'Xoper.a.ac' <<'END_OF_FILE' X beq got_enter X X cmp.b #27,0(a2,d3) ;esc X bne 799$ X tst.w getanswer X bne 100$ X clr.b insmode X clr.w ibufferlen X move.w #200,curpos X bsr UpdateIArea X clr.w curpos X tst.w bottomin X bne.s 700$ X move.w #1,bottomin X bsr getcurpos X cmp.b #5,timerstate X bne.s 765$ X bsr starttimer X765$ bra 100$ X X700$ move.b timerio+8,timerstate X bsr stoptimer X move.w edline(PC),d0 X move.l firstline(PC),d4 X cmp.w d4,d0 X bmi.s 701$ X move.w d4,d5 X add.w rows(PC),d5 X cmp.w d5,d0 X bmi.s 702$ X701$ move.w rows(PC),d0 X lsr.w #1,d0 X add.w d4,d0 X702$ move.l numlines(PC),d3 X subq #1,d3 X cmp.w d3,d0 X ble.s 703$ X move.w d3,d0 X703$ move.w d0,edline X sub.w d4,d0 X lsl.w #3,d0 X add.w #18,d0 X move.w d0,cposy X clr.w bottomin X tst.w loffset X beq.s 704$ X clr.w loffset X bsr blastout X704$ bra 100$ X X799$ cmp.b #8,0(a2,d3) ;Backspace X bne.s 114$ X tst.w d4 X beq 102$ X bsr delchar X subq #1,d4 X move.w d4,curpos X bra 102$ X X114$ cmp.b #127,0(a2,d3) ;del X bne.s 150$ X178$ cmp.w ibufferlen(PC),d4 X bge 102$ X addq #1,d4 X bsr delchar X bra 102$ X X150$ cmp.b #9,0(a2,d3) ;tab X bne 197$ X move.w cmdcompflag(PC),d0 X bpl.s 151$ X move.w curpos(PC),cmdcomplen X151$ move.w #1,cmdcompflag X155$ move.w cmdcompnr(PC),d0 X bsr getcmdptr X move.l d0,a0 X move.w cmdcomplen(PC),d4 X lea inputbuffer,a1 X subq #1,d4 X152$ tst.b 0(a0) X beq.s 153$ X cmp.b (a0)+,(a1)+ X bne.s 153$ X dbf d4,152$ X move.l d0,a1 X lea inputbuffer,a0 X154$ move.b (a1)+,(a0)+ X dbeq.s d4,154$ X neg.w d4 X subq #1,d4 X move.w d4,curpos X move.w d4,ibufferlen X add.w #1,cmdcompnr X cmp.w #cmdnum,cmdcompnr X beq.s 156$ X bra 100$ X153$ move.w cmdcompnr(PC),d0 X addq #1,d0 X move.w d0,cmdcompnr X cmp.w #cmdnum,d0 X bmi.s 155$ X156$ clr.w cmdcompnr X bra 100$ X X197$ cmp.b #3,0(a2,d3) ;ctrl c X bne.s 104$ X move.b #1,cbreak X X104$ tst.b addlines X bne processnxtmsg X cmp.b #$18,0(a2,d3) ;ctrl x X bne.s 300$ X clr.w ibufferlen X clr.w curpos X bra 100$ X X300$ cmp.b #$19,0(a2,d3) ;ctrl y X bne.s 106$ X move.w curpos,ibufferlen X bra 100$ X X106$ move.w #$100,d5 ;NumPad X and.w qualifier(PC),d5 X beq 105$ X move.l firstline(PC),d5 X X cmp.b #'7',0(a2,d3) ;'Home' X bne.s 200$ X moveq #0,d5 X199$ move.l d5,firstline X bsr blastout X tst.w bottomin X bne.s 196$ X move.w edline(PC),d0 X move.l firstline(PC),d1 X cmp.w d1,d0 X bmi.s 190$ X add.w rows(PC),d1 X cmp.w d1,d0 X bmi.s 192$ X190$ clr.w curpos X clr.w ibufferlen X move.w rows(PC),d0 X lsr.w #1,d0 X ext.l d0 X add.l firstline(PC),d0 X cmp.l numlines(PC),d0 X bmi.s 191$ X move.l numlines(PC),d0 X subq #1,d0 X191$ move.w d0,edline X192$ bsr getcurpos X bsr UpdateIArea X196$ bra 100$ X X200$ cmp.b #'8',0(a2,d3) ;'up arrow' X bne.s 201$ X tst d5 X beq 100$ X subq #1,d5 X bra.s 199$ X X201$ cmp.b #'9',0(a2,d3) ;'PgUp' X bne.s 203$ X sub.w rows(PC),d5 X bpl.s 199$ X moveq #0,d5 X bra.s 199$ X X203$ cmp.b #'1',0(a2,d3) ;'End' X bne.s 205$ X222$ move.l numlines(PC),d5 X sub.w rows(PC),d5 X bpl 199$ X moveq #0,d5 X204$ bra 199$ X X205$ cmp.b #'2',0(a2,d3) ;'down arrow' X bne.s 206$ X move.l d5,d2 X add.w rows(PC),d2 X cmp.l numlines(PC),d2 X bge 100$ X addq #1,d5 X bra 199$ X X206$ cmp.b #'3',0(a2,d3) ;'PgDn' X bne.s 500$ X add.w rows(PC),d5 X move.l d5,d2 X add.w rows(PC),d2 X cmp.l numlines(PC),d2 X bge.s 222$ X bra 199$ X X500$ cmp.b #'4',0(a2,d3) ;left arrow X bne.s 501$ X tst.w bottomin X beq 102$ X move.w loffset(PC),d2 X sub.w colms(PC),d2 X bpl.s 502$ X moveq #0,d2 X502$ move.w d2,loffset X bsr blastout X bra 100$ X X501$ cmp.b #'6',0(a2,d3) ;right arrow X bne.s 170$ X tst.w bottomin X beq 102$ X move.w loffset(PC),d2 X add.w colms(PC),d2 X bra.s 502$ X X170$ cmp.b #'0',0(a2,d3) ;Ins X bne.s 177$ X eor.b #1,insmode X bra.s 102$ X X177$ cmp.b #'.',0(a2,d3) ;Del X beq 178$ X X105$ tst.w bottomin X bne.s 777$ X tst.w curpos X bne.s 777$ X movem.l d0-d1,-(a7) X move.w edline(PC),d0 X bsr findline X movem.l (a7)+,d0-d1 X tst.l 8(a5) X beq intuiend X777$ move.w curpos(PC),d5 X ext.l d5 X moveq #79,d2 X cmp.w d2,d5 X bge 102$ X tst.b insmode X beq.s 172$ X cmp.w ibufferlen(PC),d5 X bmi.s 171$ X bra.s 173$ X172$ sub d5,d2 X lea 80(a1),a4 X lea 79(a1),a3 X103$ move.b -(a3),-(a4) X dbf d2,103$ X173$ addq.w #1,ibufferlen X171$ move.b 0(a2,d3),0(a1,d5) X addq.w #1,curpos X102$ subq #1,d0 X addq #1,d3 X bra 101$ X X100$ bsr UpdateIArea X bra intuiend X Xgot_enter bsr puthist Xgot_fkey bsr stoptimer X clr.b insmode X lea dummy,a1 X lea inputbuffer,a2 X move.w ibufferlen(PC),d2 X beq.s 2$ X tst.w bottomin X bne.s 5$ X movem.l a1-a2,-(a7) X move.w edline(PC),d0 X bsr findline X move.l 8(a5),d0 X bsr gthex X lea hexarea(PC),a0 X lea 0(a2,d2),a1 X move.b #' ',(a1)+ X move.b #'$',(a1)+ X moveq #8,d0 X CALL CopyMem,_SysBase(PC) X move.w ibufferlen(PC),d2 X add.w #10,d2 X move.w d2,ibufferlen X movem.l (a7)+,a1-a2 X5$ subq #1,d2 X1$ move.b (a2)+,(a1)+ X dbf d2,1$ X2$ move.b #10,(a1)+ X move.w ibufferlen(PC),d0 X ext.l d0 X addq #1,d0 X move.l d0,-(a7) X clr.w ibufferlen X tst.w bottomin X bne.s 4$ X move.w #100,curpos X bsr UpdateIArea X4$ clr.w curpos X move.w #1,bottomin X bsr getcurpos X bsr UpdateIArea X move.l (a7)+,d0 X move.w d0,repeatlen X clr.w repeat X clr.b printed X tst.w getanswer X beq.s 6$ X rts X6$ bsr cli X tst.b printed X bne.s 3$ X bsr starttimer X3$ bra intuiend X Xnotarawkey X Xintuiend bsr.s replyintui X bra nextimsg Xprocessnxtmsg X tst.b addlines X beq.s 1$ X rts X1$ bra processmsgs X Xreplyintui move.l intuimsg(PC),d0 X beq.s 1$ X move.l d0,a1 X CALL ReplyMsg,_SysBase X1$ clr.l intuimsg X rts X X;put an input line into the history buffer Xputhist move.w ibufferlen(PC),d5 X move.l d5,d0 X cmp.w minnumchars(PC),d0 X bcs 1$ X X move.l gothline(PC),d1 X beq.s 5$ X move.l d1,a2 X cmp.w 8(a2),d5 X bne.s 5$ X lea 10(a2),a2 X lea inputbuffer,a1 X subq #1,d0 X6$ cmp.b (a2)+,(a1)+ X bne.s 5$ X dbf d0,6$ X move.l gothline,curhist X bra.s 1$ X X5$ move.w d5,d0 X ext.l d0 X add #10,d0 X move.l #$10000,d1 ;MEMF_CLEAR X CALL AllocMem,_SysBase(PC) X tst.l d0 X beq.s 1$ X move.l d0,a0 X move.w d5,8(a0) X lea 10(a0),a2 X subq #1,d5 X lea inputbuffer,a1 X2$ move.b (a1)+,(a2)+ X dbf d5,2$ X move.w hnum(PC),d5 X cmp.w maxhlines(PC),d5 X bmi.s 3$ X bsr remhistline X bra.s 4$ X3$ addq #1,d5 X move.w d5,hnum X4$ move.l d0,a1 X move.l d0,curhist X lea history(PC),a0 X CALL AddTail,_SysBase(PC) X1$ clr.l gothline X rts X X;copy a history line into the input buffer Xcopyhistory lea inputbuffer,a0 X move.w 8(a1),d3 X ext.l d3 X move.w d3,curpos X move.w d3,ibufferlen X subq #1,d3 X lea 10(a1),a1 X1$ move.b (a1)+,(a0)+ X dbf d3,1$ X rts X;remove one line from the history buffer X;pointer to the line in A1, returns pointer to the next line in d1 Xremhistline move.l d0,-(a7) X lea history(PC),a0 X move.l 0(a0),a5 X tst.l 0(a5) X beq.s 1$ X CALL RemHead,_SysBase(PC) X move.l a5,a1 X move.w 8(a1),d0 X add #10,d0 X ext.l d0 X CALL FreeMem,_SysBase(PC) X1$ move.l (a7)+,d0 X rts X X;kill all history lines Xkillhistory bsr remhistline X move.l history(PC),a0 X tst.l 0(a0) X bne.s killhistory X2$ clr.w hnum X clr.l curhist X rts X;delete one char from the input line Xdelchar lea inputbuffer,a3 X lea 0(a3,d4.w),a3 X lea -1(a3),a4 X move d4,d5 X1$ cmp.w #78,d5 X bge.s 2$ X move.b (a3)+,(a4)+ X addq #1,d5 X bra.s 1$ X2$ subq.w #1,ibufferlen X rts X Xtestsig move.l tasksigs(PC),d0 X btst d1,d0 X rts X X;get the position of the input area Xiareapos move.l wnptr(PC),a0 X move.w 10(a0),d0 X subq #4,d0 X move.w d0,ipos X rts X X;Update the current position of the input line Xgetcurpos tst.w bottomin X beq.s 1$ X move.w ipos,cposy X rts X1$ move.w edline(PC),d3 X sub.l firstline(PC),d3 X lsl #3,d3 X add.w #18,d3 X move.w d3,cposy X rts X;refresh the input area XUpdateIArea move.l rastport(PC),a1 X move.l #1,d0 X CALL SetDrMd,gfxbase(PC) X moveq #6,d0 X move.w cposy(PC),d1 X move.l rastport(PC),a1 X CALL Move,gfxbase(PC) X lea inputbuffer,a0 X move.w ibufferlen(PC),d0 X ext.l d0 X move.w colms(PC),d1 X sub.w bottomin(PC),d1 X cmp.w d1,d0 X bmi.s 1$ X move.w d1,d0 X1$ move.w d0,d2 X move.l rastport(PC),a1 X CALL Text,gfxbase(PC) X X tst.w bottomin X bne.s 3$ X move.w edline(PC),d0 X bsr findline X move.w 12(a5),d3 X sub.w d2,d3 X bmi.s 3$ X move.w colms(PC),d1 X sub.w d2,d1 X bmi.s 2$ X cmp.w d1,d3 X ble.s 4$ X move.w d1,d3 X4$ move.w d3,d0 X lea 14(a5,d2.w),a0 X move.l rastport(PC),a1 X CALL Text,gfxbase(PC) X add.w ibufferlen(PC),d3 X move.w d3,d2 X X3$ move.w colms(PC),d0 X sub.w bottomin(PC),d0 X move.l blanks(PC),a0 X ext.l d0 X sub.w d2,d0 X bmi.s 2$ X lea 0(a0,d2.w),a0 X move.l rastport(PC),a1 X CALL Text,gfxbase(PC) X2$ bsr putcursor X rts X Xclrcursor moveq #1,d7 X bra.s ptc1 Xputcursor moveq #6,d7 Xptc1 move.w curpos(PC),d0 X move.w colms(PC),d1 X subq #1,d1 X sub.w bottomin(PC),d1 X cmp.w d0,d1 X bmi.s 1$ X move.l rastport(PC),a1 X move.l d7,d0 X CALL SetDrMd,gfxbase(PC) X move.w cposy(PC),d1 X move.w curpos(PC),d0 X lsl.w #3,d0 X addq #6,d0 X move.l rastport(PC),a1 X CALL Move,gfxbase(PC) X lea oneblank(PC),a0 X moveq #1,d0 X move.l rastport(PC),a1 X CALL Text,gfxbase(PC) X1$ rts X;rebuild the window from scratch Xsetupscreen move.l rastport(PC),a1 X moveq #0,d0 X CALL SetRast,gfxbase(PC) X move.l wnptr,a0 X CALL RefreshWindowFrame,intuibase(PC) X bsr getwindowsize X tst.w bottomin X bne.s 1$ X move.w edline(PC),d0 X move.l firstline(PC),d1 X move.w rows(PC),d2 X move.w d2,d4 X move.w numlines(PC),d3 X add.w d1,d2 X cmp.w d2,d0 X bmi.s 2$ X lsr.w #1,d4 X sub.w d4,d0 X ext.l d0 X move.l d0,firstline X2$ bsr tstfirstlin X1$ bsr getcurpos X bsr putiline X bsr blastout X bsr UpdateIArea X move.w rows,currenty X rts X Xputiline move.l rastport(PC),a1 X moveq #1,d0 X CALL SetAPen,gfxbase(PC) X move.l rastport(PC),a1 X moveq #1,d0 X CALL SetDrMd,gfxbase(PC) X move.l wnptr(PC),a5 X move.w 10(a5),d1 X sub.w #12,d1 X moveq #0,d0 X move.l rastport(PC),a1 X CALL Move,gfxbase(PC) X move.w 8(a5),d0 X move.w d1,-(a7) X move.l rastport(PC),a1 X CALL Draw,gfxbase(PC) X move.w (a7)+,d1 X tst.b ownscreen X bne.s 1$ X move.w 8(a5),d0 X addq #1,d1 X move.l rastport(PC),a1 X CALL Move,gfxbase(PC) X sub.w #16,d0 X move.w d1,-(a7) X move.l rastport(PC),a1 X CALL Draw,gfxbase(PC) X move.w (a7)+,d1 X move.w 8(a5),d0 X addq #1,d1 X move.l rastport(PC),a1 X CALL Move,gfxbase(PC) X sub.w #16,d0 X move.l rastport(PC),a1 X CALL Draw,gfxbase(PC) X1$ rts X Xgetwindowsize X bsr freeblank X move.l wnptr(PC),a0 X move.w 10(a0),d0 X sub.w #26,d0 X lsr.w #3,d0 X move.w d0,rows X move.w 8(a0),d0 X sub.w #12,d0 X lsr.w #3,d0 X move.w d0,colms X ext.l d0 X moveq #0,d1 X move.l d0,d6 X CALL AllocMem,_SysBase(PC) X move.l d0,blanks X move.l d0,a0 X subq #1,d6 X1$ move.b #' ',(a0)+ X dbf d6,1$ X bsr iareapos X rts X Xreadline move.b #'n',inputbuffer X tst.b fromfile X bne.s 1$ X move.l #31000,firstline X bsr blastout X move.w #1,getanswer X bsr replyintui X5$ bsr processmsgs X move.w d0,d5 X bsr replyintui X subq #1,d5 X beq.s 5$ X ori.b #$20,inputbuffer X clr.w getanswer X bsr RestoreOutput X1$ rts X XResumeOutput X move.l outchain(PC),d0 X move.l d0,a1 X beq.s 2$ X move.l numlines,oldnumlines X move.l firstline,oldfirstline X4$ tst.l 0(a1) X beq.s 3$ X move.l 0(a1),a1 X bra.s 4$ X3$ move.l a1,lastprinted X2$ move.l a1,oldpageend X rts X XRestoreOutput X move.l oldpageend(PC),d3 X beq.s 1$ X move.l oldnumlines(PC),numlines X move.l oldfirstline(PC),firstline X move.l oldlastprinted(PC),lastprinted X move.l d3,a1 X move.l 0(a1),a1 X bsr killlines X move.l d3,a1 X clr.l 0(a1) X bsr blastout X1$ rts X Xaddline movem.l d0-d6/a0-a3,-(a7) X move.l rastport(PC),a1 X moveq #1,d0 X CALL SetAPen,gfxbase(PC) X move.l rastport(PC),a1 X moveq #1,d0 X CALL SetDrMd,gfxbase(PC) X move.w currenty(PC),d6 X cmp.w rows(PC),d6 X bmi.s 1$ X bsr cls X1$ move.l lastprinted(PC),a0 X move.w colms(PC),d5 X move.w 12(a0),d3 X lea 14(a0),a0 X move.w currenty(PC),d6 X move d6,d7 X lsl #3,d6 X add.w #18,d6 X moveq #0,d4 X bsr blastline X addq.w #1,currenty X move.l #31000,firstline X movem.l (a7)+,d0-d6/a0-a3 X rts X Xcls movem.l d0-d6/a0-a3,-(a7) X move.l rastport(PC),a1 X moveq #1,d0 X CALL SetAPen,gfxbase(PC) X move.l rastport(PC),a1 X moveq #1,d0 X move.l rastport(PC),a1 X CALL SetDrMd,gfxbase(PC) X move.w colms(PC),d5 X clr.w d2 X1$ move.w d2,d6 X move d5,d7 X lsl #3,d6 X add.w #18,d6 X moveq #0,d3 X move.l blanks(PC),a0 X bsr blastline X addq #1,d2 X cmp.w rows(PC),d2 X bmi.s 1$ X clr.w currenty X movem.l (a7)+,d0-d6/a0-a3 X rts X Xcreatescreen moveq #1,d1 X moveq #80,d0 X lea buffer,a0 X sub.l a1,a1 X CALL GetScreenData,intuibase(PC) X move.w buffer+76,nsviewmode X move.l buffer+12,nssize X lea newscreen(PC),a0 X CALL OpenScreen,intuibase(PC) X move.l d0,screenptr X move.l d0,nwscreen X move.w #$f,nwtype X beq.s setupwindow X tst.l wnptr X beq.s 1$ X move.l wnptr(PC),a0 X move.l 4(a0),window_l X move.l 8(a0),window_w X CALL CloseWindow,intuibase(PC) X clr.l intuimsg X clr.l wnptr X1$ clr.l newwindow X move.l buffer+12,newwindow+4 X move.l wnscrflags(PC),nwflgs X move.l wnscrflags+4(PC),nwflgs+4 X move.b #1,ownscreen X Xsetupwindow tst.b ownscreen X bne.s 3$ X move.l window_l(PC),newwindow X move.l window_w(PC),newwindow+4 X move.w #1,nwtype X move.l wnnormflgs(PC),nwflgs X move.l wnnormflgs+4(PC),nwflgs+4 X3$ lea newwindow(PC),a0 X CALL OpenWindow,intuibase(PC) X move.l d0,wnptr X beq exit X move.l d0,a0 X move.l 50(a0),rastport ;wn->RPort X move.l 86(a0),a1 ;wn->UserPort X move.b 15(a1),d1 ;MsgPort->SigBit X ext.w d1 X move.w d1,intuisig X X tst.b iconifyon X beq.s 1$ X tst.b ownscreen X bne.s 1$ X lea iconifgad,a1 X moveq #0,d0 X CALL AddGadget,intuibase(PC) X move.l wnptr(PC),a0 X CALL RefreshWindowFrame,intuibase(PC) X X1$ lea tattr(PC),a0 X CALL OpenFont,gfxbase(PC) X tst.l d0 X beq.s 2$ X move.l d0,a0 X move.l rastport(PC),a1 X CALL SetFont,gfxbase(PC) X2$ bsr getwindowsize X bsr getcurpos X X bsr putiline X bsr UpdateIArea X bsr starttimer X bsr showwhat X rts X Xusescreen tst.b fromfile X bne.s 1$ X tst.b ownscreen X bne.s 1$ X bsr createscreen X1$ move.b #1,ownscreen X rts X Xusewindow tst.b fromfile X beq.s 1$ X clr.b ownscreen X rts X1$ tst.b ownscreen X beq.s 2$ X move.l wnptr(PC),d0 X beq.s 3$ X move.l d0,a0 X CALL CloseWindow,intuibase(PC) X clr.l wnptr X clr.l intuimsg X3$ move.l screenptr(PC),d0 X beq.s 4$ X move.l d0,a0 X CALL CloseScreen,intuibase(PC) X clr.l screenptr X clr.b ownscreen X4$ bra setupwindow X2$ rts X Xdchange lea dchead(PC),a0 X bsr puthead X lea tdd(PC),a1 X move.l _SysBase(PC),a0 X lea 350(a0),a0 X CALL FindName,_SysBase(PC) X tst.l d0 X beq R_T_S X move.l d0,a2 X lea 32(a2),a2 X moveq #0,d5 X2$ lea 4(a2),a2 X move.l 0(a2),d0 X beq 3$ X move.l d0,a0 X lea $18e(a0),a0 X CALL Disable,_SysBase(PC) X5$ tst.l 0(a0) X beq.s 6$ X move.l 0(a0),a0 X bra.s 5$ X6$ lea -4(a0),a5 X lea buffer+100,a3 X9$ move.l 0(a5),a5 X tst.l 0(a5) X beq.s 11$ X move.l a5,(a3)+ X bne.s 9$ X11$ clr.l (a3)+ X CALL Enable,_SysBase(PC) X lea buffer+100,a3 X7$ move.l (a3)+,d0 X beq.s 3$ X move.l d0,a5 X cmp.w #20,28(a5) X bne.s 7$ X move.l 40(a5),a4 X move.l a4,d0 X move.l d0,node X bsr hexan X move.l a4,d0 X beq.s 10$ X move.l 14(a4),d0 X bsr hexan X move.l 18(a4),d0 X bsr hexan X10$ move.l d5,d3 X or.b #48,d3 X move.b d3,tddrives+2 X move.l #tddrives,d0 X bsr putstr X move.l 14(a5),d0 X beq.s 8$ X move.l d0,a0 X move.l 16(a0),d0 X8$ bsr getaskname2 X bsr newline X bra.s 7$ X3$ addq #1,d5 X cmp.w #4,d5 X bmi 2$ XR_T_S rts X X XDATASTART EQU * X Xdosbase dc.l 0 Xintuibase dc.l 0 Xgfxbase dc.l 0 Xcondev dc.l 0 Xparmtxt dc.l 0 Xinfile dc.l 0 Xptr dc.l 0 Xoldidl dc.l 0 Xolddisp dc.l 0 Xmysignal dc.l 0 Xauxsig dc.l 0 Xtrapsignal dc.l 0 Xiostatus dc.l -1 Xdevstatus dc.l -1 Xtasksigs dc.l 0 Xcancelbit dc.l 0 Xcancelbnum dc.l 0 X_SysBase dc.l 0 XInputMsg dc.l 0 XInRequest dc.l 0 Xstartmess dc.l 0 Xsavedat dc.l 0 Xwnptr dc.l 0 Xaliaslist dc.l 0 Xscreenptr dc.l 0 Xintuimsg dc.l 0 Xmytask dc.l 0 Xwbmsg dc.l 0 Xpointer dc.l 0 Xreplyport dc.l 0 Xtimerport dc.l 0 Xfinfoptr dc.l 0 Xmyseg dc.l 0 Xdispatches dc.l 0 Xmaxdisp dc.l 0 Xdeltadisp dc.l 0 Xwbaddr dc.l 0 Xnode dc.l 0 Xremembr dc.l 0 Xremembr2 dc.l 0 Xcaptask dc.l 0 Xsnoopport dc.l 0 Xtasksnum dc.l 0 Xblanks dc.l 0 Xhidestart dc.l 0 Xdispnum dc.l 0 Xiocount dc.l 0 Xdummyinput dc.l 0 Xrastport dc.l 0 Xoutchain dc.l 0 Xfirstline dc.l 0 Xoldfirstline dc.l 0 Xtimeoutm dc.l 0 Xnumlines dc.l 0 Xoldnumlines dc.l 0 Xgothline dc.l 0 Xlastprinted dc.l 0 Xoldlastprinted dc.l 0 Xoldpageend dc.l 0 Xmaxlines dc.l 500 Xrealstack dc.l 0 X X Xwnnormflgs dc.l $646 X dc.l $1104f X Xwnscrflags dc.l $600 X dc.l $31948 X Xfkeys dc.l *+4 X dc.l 0 X dc.l fkeys X Xhistory dc.l *+4 X dc.l 0 X dc.l history Xcurhist dc.l 0 X Xsecs dc.l 0 Xmics dc.l 0 Xtime10 dc.l 0 X Xtattr dc.l fontname X dc.w 8 X dc.w 0 X Xstplist dc.l lh_tail Xlh_tail dc.l 0 X dc.l stplist X dc.b 1 X dc.b 0 X XInInterrupt dc.l 0 ;ln_Succ X dc.l 0 ;ln_Pred X dc.b 2 ;ln_Type X dc.b 60 ;ln_Pri X dc.l xopsleep ;ln_Name X dc.l 0 ;is_Data X dc.l Keyhandler ;is_Code() X XIOCounter dc.l 0 ;ln_Succ X dc.l 0 ;ln_Pred X dc.b 2 ;ln_Type X dc.b -1 ;ln_Pri X dc.l IOcntname ;ln_Name X dc.l 0 ;is_Data X dc.l countio ;is_Code() X Xnewwindow dc.w 0,0 X dc.w 500,100 X dc.b 0,1 Xnwflgs dc.l $646 X dc.l $1104f Xwn_firstgad dc.l 0 X dc.l 0 X dc.l windowname Xnwscreen dc.l 0 X dc.l 0 X dc.w 110,50 X dc.w 808,-1 Xnwtype dc.w 1 X Xnewscreen dc.w 0,0 Xnssize dc.w 0,0 X dc.w 1 X dc.b 0 X dc.b 1 Xnsviewmode dc.w 0 X dc.w $1f X dc.l 0 X dc.l windowname X dc.l 0,0 X Xexcpterror dc.l 0 Xexcpttask dc.l 0 Xexcptaddr dc.l 0 Xexcptpc dc.l 0 X Xwindow_l dc.w 0 Xwindow_t dc.w 0 Xwindow_w dc.w 550 Xwindow_h dc.w 200 X Xcolms dc.w 0 Xtimersig dc.w 0 Xintuisig dc.w 0 Xibufferlen dc.w 0 Xcposy dc.w 0 Xcurpos dc.w 0 Xbottomin dc.w 1 Xipos dc.w 0 Xhnum dc.w 0 Xminnumchars dc.w 2 Xmaxhlines dc.w 10 Xqualifier dc.w 0 Xrows dc.w 0 Xmaxllength dc.w 0 Xloffset dc.w 0 Xrepeat dc.w 0 Xrepeatlen dc.w 0 Xedline dc.w 999 Xcmdptr dc.w 0 Xgetanswer dc.w 0 Xcurrenty dc.w 0 Xcmdcompnr dc.w 0 Xcmdcomplen dc.w -1 Xcmdcompflag dc.w 0 X Xbinarea dc.b ' ',0 X EVEN Xminus dc.b ' ' Xdecimal dc.b ' ',0 Xentries dc.b 0 Xtimeout dc.b 5 Xprocnum dc.b 0 Xtimerstate dc.b 0 Xrunning dc.b 0 Xnewpri dc.b 0 Xtasktyp dc.b 0 Xbackground dc.b 0 Xbool dc.b 0 Xprinted dc.b 0 Xcbreak dc.b 0 Xusageflag dc.b 0 Xmnflag dc.b 1 Xtports dc.b 1 Xheadon dc.b 1 Xhideon dc.b 1 Xsorton dc.b 1 Xwanttraps dc.b 0 Xaddlines dc.b 0 Xeof dc.b 0 Xfromfile dc.b 0 Xiconifyon dc.b 1 Xgotguru dc.b 0 Xownscreen dc.b 0 Xinsmode dc.b 0 Xcmdcli dc.b 1 Xparams dc.b 'tfdlrempisc' Xparmnum equ *-params X dc.b 0 Xt2header dc.b ' ID STATE SIGALLOC SIGWAIT SIGRECVD PC TASKNAME',0 Xtheader dc.b ' ID TYPE STATE PRI CPUSE NUM TASKNAME',0 Xlheader dc.b ' NODE CNT VER REV FLAGS ',0 Xlibnam dc.b 'LIBRARY NAME',0 Xdevnam dc.b 'DEVICE NAME',0 Xresnam dc.b 'RESOURCE NAME',0 Xmheader dc.b ' LOWER UPPER FREE ATTR PRI HUNK NAME',0 Xcr dc.b 10,0 Xiheader dc.b ' NODE DATA CODE PRI T S TYPE INTERRUPT NAME',0 Xinheader dc.b ' NODE DATA CODE PRI NAME',0 Xrheader dc.b ' ADDR PRI FLAGS VER TYPE RESIDENT NAME',0 Xpheader dc.b ' NODE PORTNAME FLAGS SIGBT NUM SIGTASK',0 Xhunkheader dc.b ' NUM BCPL DATA LENGTH',0 Xddheader dc.b 'DEVICE HDS SECTORS TRACKS BUFFERS STATE HANDLER',0 Xcdheader dc.b 'PROCESSNAME CURRENT DIRECTORY',0 Xofheader dc.b ' LOCK ACCESS SIZE PATH/FILENAME',0 Xscrheader dc.b 'NUM ADDR TITLE',0 Xwnheader dc.b ' ADDR OWNERTASK TITLE',0 Xfohead dc.b ' NODE CNT Y X TYPE LO HI NAME',0 Xkickhead dc.b 'START END LENGTH',0 Xsnoophead dc.b 'ACTION REQUIREMENTS LENGTH FROM TO CALLER',0 Xstackhead dc.b 'SPLower SIZE USED TASKNAME',0 Xclicomhead dc.b ' ID STATE TYPE MODE NUM PROCESSNAME COMMAND',0 Xtiohead dc.b 'IORQUEST UNIT SECS REQUESTING TASK',0 Xdchead dc.b ' NODE DATA CODE UNIT TASK',0 Xalhead dc.b 'ALIAS NAME COMMAND',0 Xtdd dc.b 'trackdisk.device',0 Xtddrives dc.b 'DF : ',0 Xtimerunits dc.b 'MicroHz ',0 X dc.b 'VBlank ',0 Xaccess dc.b ' Read ',0 X dc.b ' Write ',0 Xromfnt dc.b 'Rom ',0 Xdiskfnt dc.b 'Disk ',0 Xwbname dc.b 'Workbench',0 Xstatus dc.b 'Added ',0 X dc.b 'Running ',0 X dc.b 'Ready ',0 X dc.b 'Waiting ',0 X dc.b 'Exeption ',0 X dc.b 'Removed ',0 X dc.b 'Frozen ',0 X dc.b 'Frozen ',0 Xtype dc.b 'Unknown ',0 Xtasktype dc.b 'Task ',0 X dc.b 'Interrupt ',0 X dc.b 'Device ',0 X dc.b 'Msgport ',0 X dc.b 'Message ',0 X dc.b 'Freemsg ',0 X dc.b 'Replymsg ',0 X dc.b 'Resource ',0 X dc.b 'Library ',0 X dc.b 'Memory ',0 Xsoftinttype dc.b 'Softint ',0 X dc.b 'Font ',0 Xproctype dc.b 'Process ',0 X dc.b 'Semaphore ',0 Xmp_flags dc.b 'Signal ',0 X dc.b 'Softint ',0 X dc.b 'Ignore ',0 Xwindowname dc.b 'Xoper V2.2 (c) 1989 Werner G',$fc,'nther',0 Xnewname dc.b 'Xoper',0 Xmemportname dc.b 'MemSnoop',0 Xxopcon dc.b 'XopPackets',0 Xxopsleep dc.b 'Xop-A-A-x',0 XIOcntname dc.b 'Xop-I/O-counter',0 X Xcmdnum set 0 Xcommds ADDCMD 'time' X ADDCMD 'taskpri' X ADDCMD 'info' X ADDCMD 'pri' X ADDCMD 'flush' X ADDCMD 'freeze' X ADDCMD 'warm' X ADDCMD 'signal' X ADDCMD 'break' X ADDCMD 'alert' X ADDCMD 'lastalert' X ADDCMD 'hold' X ADDCMD 'exit' X ADDCMD 'clear' X ADDCMD 'cancel' X ADDCMD 'taskports' X ADDCMD 'hunks' X ADDCMD 'devices' X ADDCMD 'openlib' X ADDCMD 'closelib' X ADDCMD 'currentdir' X ADDCMD 'cd' X ADDCMD 'mypri' X ADDCMD 'files' X ADDCMD 'locks' X ADDCMD 'unlock' X ADDCMD 'screens' X ADDCMD 'windows' X ADDCMD 'closescreen' X ADDCMD 'closewindow' X ADDCMD 'fonts' X ADDCMD 'windowfonts' X ADDCMD 'lockdrive' X ADDCMD 'freedrive' X ADDCMD 'capture' X ADDCMD 'clrcold' X ADDCMD 'clrcool' X ADDCMD 'clrwarm' X ADDCMD 'snoop' X ADDCMD 'usage' X ADDCMD 'inputhandler' X ADDCMD 'header' X ADDCMD 'sort' X ADDCMD 'hide' X ADDCMD 'hidden' X ADDCMD 'window' X ADDCMD 'kill' X ADDCMD 'iconifyoff' X ADDCMD 'historylines' X ADDCMD 'minimumchars' X ADDCMD 'showhistory' X ADDCMD 'repeat' X ADDCMD 'remresident' X ADDCMD 'saveoutput' X ADDCMD 'killhistory' X ADDCMD 'backdropicon' X ADDCMD 'setfont' X ADDCMD 'trapguru' X ADDCMD 'outputlines' X ADDCMD 'usescreen' X ADDCMD 'usewindow' X ADDCMD 'timerio' X ADDCMD 'diskchange' X ADDCMD 'alias' X ADDCMD 'remnode' X ADDCMD 'setfkey' X ADDCMD 'clicmd' Xhexarea dc.b ' ',0 Xhextab dc.b '0123456789abcdef' Xinfoh2 dc.b 'Dispat/Sec:',0 Xinfoh1 dc.b 'CPU:',0 Xinfoh3 dc.b 'CPU activity: ',0 Xinfoh6 dc.b 'Total:',0 Xinfoh4 dc.b '% ',0 Xinfoh7 dc.b 'I/O Ints/Sec: ',0 Xcpu0 dc.b '68000',0 Xcpu1 dc.b '68010',0 Xcpu2 dc.b '68020',0 Xcpu3 dc.b '/68881',0 Xdevload dc.b 'loaded ',0 Xdevnload dc.b 'unloaded ',0 Xinten dc.b 'E ',0 Xintdis dc.b 'D ',0 Xintserv dc.b 'S ',0 Xinthand dc.b 'H ',0 Xnotfile dc.b '--- ------- ------- ------- ',0 Xlongnix dc.b '-' Xsmallnix dc.b '----' Xnix dc.b '--- ',0 Xnoinfo dc.b 'No Info on' Xoneblank dc.b ' ',0 Xequal dc.b '= ',0 Xopenbrak dc.b '[ ',0 Xclosebrak dc.b ' ]',0 Xnamerr dc.b 'Unable to find ',0 Xfonterr dc.b "Can't open ",0 Xadrerr dc.b 'Address Error!',0 Xaliaserr dc.b 'Single character alias names using "',0 Xaliaserr2 dc.b '"',10,'are not allowed.',0 Xnoworkbench dc.b "Workbench isn't active !",0 Xopenerr dc.b 'Could not open file ',0 Xnoderr dc.b "Can't find this Node. Continue anyway ? (Y/N)",0 Xlisterr dc.b 'Unable to find ListHeader. Sort aborted.',0 Xwiwerr dc.b 'Script file only',0 Xgurutxt dc.b 'Guru Meditation #',0 Xclrtxt dc.b 'Memory Hunks cleared.',0 Xcanerr0 dc.b 'Process is not a CLI-task',10 X dc.b 'Has it been started from Workbench ? (Y/N)',10,0 Xcanerr1 dc.b 'Process was created by CreateProc()',10 X dc.b 'Shall I UnLoad() ? (Y/N)',10,0 Xunloaderr dc.b "Arrrgh.. can't find segments, aborting",0 Xnoprocs dc.b 'Not a Process.',0 Xnotload dc.b 'No program loaded.',0 Xcliprocs dc.b 'Cli-Process',0 Xprocloaded dc.b 'Loaded as a command: ',0 Xsegloaded dc.b 'Created by CreateProc()',0 Xcoldtxt dc.b 'Cold Capture: ',0 Xcooltxt dc.b 'Cool Capture: ',0 Xwarmtxt dc.b 'Warm Capture: ',0 Xkicktxt dc.b 'KickMem : ',0 Xunset dc.b 'unset',0 Xintnames dc.b 'Serial Out ',0 X dc.b 'Disk Block ',0 X dc.b 'SoftInt ',0 X dc.b 'Ports ',0 X dc.b 'Coper ',0 X dc.b 'Vert.Blank ',0 X dc.b 'Blitter ',0 X dc.b 'Audio Ch.0 ',0 X dc.b 'Audio Ch.1 ',0 X dc.b 'Audio Ch.2 ',0 X dc.b 'Audio Ch.3 ',0 X dc.b 'Serial In ',0 X dc.b 'Disk Sync ',0 X dc.b 'External ',0 X dc.b 'SoftInt ',0 X dc.b 'NMI ',0 Xinttyp dc.b 0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1 Xfontname dc.b 'topaz.font',0 Xdevicenam dc.b 'input.device',0 Xtimernam dc.b 'timer.device',0 Xmemlarg dc.b 'LARGEST ',0 Xmemclr dc.b 'CLEAR ',0 Xmemfast dc.b 'FAST ',0 Xmemchip dc.b 'CHIP ',0 Xmempubl dc.b 'PUBLIC ',0 Xfailed dc.b 'Failed !',0 Xallok dc.b 'ALLOC: ',0 Xfree dc.b 'FREE: ',0 Xbackg dc.b 'Bckg ',0 Xforeg dc.b 'Frgr ',0 Xscript dc.b 'Batch ',0 Xinteract dc.b 'Intct ',0 Xstartupname dc.b 'S:Xoper.Startup',0 Xnameerr dc.b 'Name or address is missing.',10 Xsynerr dc.b 'Syntax Error, type "?" for help',10,0 Xwberr dc.b "Can't examine Workbench locks",0 Xdnotf dc.b 'Directory not found',0 Xnotdir dc.b 'Not a directory',0 Xnomount dc.b ' not mounted.',0 Xdishelp dc.b 10,'Names are case sensitive and followed by a ":"',0 Xunlerr dc.b 'Lock not found',0 Xunl1 dc.b 'Lock is on ',0 Xunltxt dc.b 'Old lock was: ',0 Xunltxt2 dc.b 'Unlock ? (Y/N)',10,0 Xscnofound dc.b 'Screen not found.',0 Xwinnofound dc.b 'Window not found.',0 Xstperr dc.b 'Task must be "READY" or "WAITING"',10,0 Xwaerr dc.b 'Task must be "FROZEN"',10,0 Xwhatsthis dc.b '???.?',0 Xtoomuch dc.b '??? ',0 Xtimenotset dc.b ' disabled.',0 Xwhattime dc.b 'Refresh time in secs:',0 Xstoped dc.b '<Break>',0 Xonscr dc.b 'On Screen: ',0 Xwhatnow dc.b 'Kill, ignore (K/I)?',0 Xnoguru dc.b 'None found.',0 Xsoftfail dc.b 'Software failure!',10,'Task: ',0 Xaddrserr dc.b 'Bad aligned address was: ',0 Xprocount dc.b 'PC: ',0 Xdiskfont dc.b 'diskfont.library',0 Xusetxt dc.b 'USAGE: Xoper [T] [F] [L] [D] [R] [E] [M] [P] [I] [S] [C]',10 X dc.b 'OR Xoper -b',10 X dc.b 'DISPLAY:',10 X dc.b '[T]asks [F]=taskflags [L]ibraries [D]evices [R]esources',10 X dc.b 'r[E]sident [M]emory [P]orts [I]nterrupts [S]tack',10 X dc.b '[C]litasks [Q]uit',10,10 X dc.b 'OTHER SYSTEM LISTS:',10 X dc.b 'Windows Screens Fonts WindowFonts CurrentDir',10 X dc.b 'Files Locks Devices InputHandler Capture',10 X dc.b 'TimerIO DiskChange',10,10 X dc.b 'COMMANDS:',10 X dc.b 'Time <secs>',10 X dc.b 'Taskpri <priority> [processnum] <taskname>',10 X dc.b 'Mypri <priority>',10 X dc.b 'Signal <mask(hex)> [processnum] <taskname>',10 X dc.b 'Break [processnum] <taskname>',10 X dc.b 'Freeze|Warm [processnum] <taskname>',10 X dc.b 'Kill [processnum] <taskname>',10 X dc.b 'Snoop [processnum] <taskname>',10 X dc.b 'Hide <taskname>',10 X dc.b 'Pri <priority> <nodename>',10 X dc.b 'Info <name>',10 X dc.b 'RemResident <resident module name>',10 X dc.b 'Clear <longword(hex)>',10 X dc.b 'Hunks [processnum] <procname>',10 X dc.b 'CD <directory> [processnum] <procname>',10 X dc.b 'UnLock <lock>',10 X dc.b 'OpenLib | Closelib <libraryname>',10 X dc.b 'CloseWindow| Closescreen <title>',10 X dc.b 'SetFont [size] <fontname> <windowtitle>',10 X dc.b 'LockDrive | Freedrive <drivename:>',10 X dc.b 'Window <leftedge topedge width height> (scriptfile only) ',10 X dc.b 'OutputLines <maximum # of lines>',10 X dc.b 'HistoryLines <maximum # of lines>',10 X dc.b 'MinimumChars <minimum # of characters>',10 X dc.b 'SaveOutput <filename>',10 X dc.b 'Repeat <Command line>',10 X dc.b 'SetFKey <number> <string>',10 X dc.b 'Alias [<aliasname> <commandname>]',10,10 X dc.b 'COMMANDS WITHOUT PARAMETERS:',10 X dc.b 'Flush LastAlert ClrCool ClrCold ClrWarm',10 X dc.b 'TrapGuru',10,10 X dc.b 'OPTIONS:',10 X dc.b 'Sort TaskPorts Hidden Usage Header',10 X dc.b 'IconifyOff BackDropIcon ShowHistory KillHistory UseScreen',10 X dc.b 'UseWindow CLICmd',10 X dc.b 'Hold Exit' Xnull dc.b 0 X X IFD DEBUG Xdosname dc.b 'dos.library',0 Xintuiname dc.b 'intuition.library',0 Xgfxname dc.b 'graphics.library',0 Xconname dc.b 'console.device',0 X EVEN X ENDC X X BSS blabla Xbuffer ds.b 2200 Xout ds.b 100 Xdummy ds.b 80 Xin ds.b 80 Xcputime ds.b 1000 Xievent ds.b 32 Xoutevent ds.b 20 Xinputbuffer ds.b 88 Xrepeatbuffer ds.b 81 X Xmypacket BSS standardpacket X XLN_SUCC ds.l 1 XLN_PRED ds.l 1 XLN_TYPE ds.b 1 XLN_PRI ds.b 1 XLN_NAME ds.l 1 XMP_FLAGS ds.b 1 XMP_SIGBIT ds.b 1 XMP_SIGTASK ds.l 1 XMN_SIZE ds.w 1 XLH_HEAD ds.l 1 XLH_TAIL ds.l 1 XLH_TAILPRED ds.l 1 XLH_TYPE ds.b 1 XLH_pad ds.b 1 Xdp_Link ds.l 1 Xdp_Port ds.l 1 Xdp_Type ds.l 1 Xdp_Res1 ds.l 1 Xdp_Res2 ds.l 1 Xdp_Arg1 ds.l 1 Xdp_Arg2 ds.l 1 Xdp_Arg3 ds.l 1 Xdp_Arg4 ds.l 1 Xdp_Arg5 ds.l 1 Xdp_Arg6 ds.l 1 Xdp_Arg7 ds.l 1 X Xtimerio ds.b 40 X X CODE ICONIFY,CHIP X Xiconify lea icnwindow,a0 X CALL OpenWindow,intuibase X move.l d0,iconwindow X Xwaitforcall move.l iconwindow,a0 X move.l $56(a0),a0 ;wn->UserPort X X moveq #0,d1 X move d1,d0 X move.b 15(a0),d1 ;UserPort->SigBit X bset d1,d0 X move.l d0,d6 X or.l mysignal,d0 X or.l trapsignal,d0 X CALL Wait,_SysBase X and.l d0,d6 X bne.s fromwindow X move.l mysignal,d1 X and.l d0,d1 X bne icondone X and.l trapsignal,d0 X beq.s waitforcall X move.b #1,gotguru X bra.s icondone X Xfromwindow move.l iconwindow,a0 X move.l $56(a0),a0 ;wn->UserPort X CALL GetMsg,_SysBase X tst.l d0 X beq.s waitforcall X move.l d0,a1 X CALL ReplyMsg,_SysBase X X move.l iconwindow(PC),a0 X move.l 4(a0),d5 X cmp.l icnwindow(PC),d5 X bne.s 1$ X lea nsecs(PC),a0 X lea nmics(PC),a1 X CALL CurrentTime,intuibase X movem.l osecs,d0-d3 X CALL DoubleClick,intuibase X tst.l d0 X bne.s icondone X move.l nsecs(PC),osecs X move.l nmics(PC),omics X1$ move.l d5,icnwindow X bra waitforcall X Xicondone move.l iconwindow,a0 X move.l 4(a0),icnwindow ;LeftEdge+TopEdge X CALL CloseWindow,intuibase X rts X Xosecs dc.l 0 Xomics dc.l 0 Xnsecs dc.l 0 Xnmics dc.l 0 X Xiconwindow dc.l 0 Xicnwindow dc.w 40,170,72,28 X dc.b 0,1 X dc.l $20,$800 X dc.l gadget,0,0,0,0 X dc.w 72,28,72,28 X dc.w 1 X Xgadget dc.l 0 X dc.w 0,0,72,28,4,2,$20 X dc.l image X dc.l 0,0,0,0 X dc.w 0 X dc.l 0 X Ximage dc.w 0,0,72,28,2 X dc.l imagedata X dc.b 3,0 X dc.l 0 X Ximagedata dc.w $000F,$FFFF,$FFFF,$FFF8,$0000,$001F,$FFFF,$FFFF X dc.w $FFFC,$0000,$001F,$0000,$0000,$007C,$0000,$001F X dc.w $7FFF,$FFFF,$FF7C,$0000,$001F,$4A46,$0244,$557C X dc.w $0000,$001F,$5108,$D411,$817C,$0000,$001F,$7FFF X dc.w $FFFF,$FF7C,$0000,$001F,$0000,$0000,$007C,$0000 X dc.w $001F,$30C0,$0000,$007C,$0000,$001F,$1980,$0000 X dc.w $007C,$0000,$001F,$0F0F,$1F0F,$1F7C,$0000,$001F X dc.w $0619,$9999,$997C,$0000,$001F,$0F19,$999F,$987C X dc.w $0000,$001F,$1999,$9F18,$187C,$0000,$001F,$30CF X dc.w $180F,$187C,$0000,$001F,$0000,$1800,$007C,$0000 X dc.w $001F,$0000,$0000,$007C,$0000,$001F,$FFFF,$FFFF X dc.w $FFFC,$0000,$000F,$FFFF,$FFFF,$FF18,$0000,$0000 X dc.w $0000,$0000,$0000,$0000,$3FFF,$FFFF,$FFFF,$FFFF X dc.w $FC00,$FDFF,$FFFF,$FFFF,$FFFF,$FF00,$EBFF,$FFFF X dc.w $FFFF,$FFFF,$FF00,$F7FF,$FFFF,$FFFF,$F800,$0700 X dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FF00,$FFFF,$FFFF,$FFFF X dc.w $FFFF,$FF00,$FFFF,$FFFF,$FFFF,$FFFF,$FF00,$3FFF X dc.w $FFFF,$FFFF,$FFFF,$FC00,$0000,$0000,$0000,$0000 X dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$FFFF X dc.w $FFFF,$FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000 X dc.w $0000,$FFFF,$FFFF,$FF80,$0000,$0000,$FFFF,$FFFF X dc.w $FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000,$0000 X dc.w $FFFF,$FFFF,$FF80,$0000,$0000,$8000,$0000,$0080 X dc.w $0000,$0000,$8000,$0000,$0080,$0000,$0000,$8000 X dc.w $0000,$0080,$0000,$0000,$8000,$0000,$0080,$0000 X dc.w $0000,$8000,$0000,$0080,$0000,$0000,$8000,$0000 X dc.w $0080,$0000,$0000,$8000,$0000,$0080,$0000,$0000 X dc.w $8000,$0000,$0080,$0000,$0000,$FFFF,$FFFF,$FF80 X dc.w $0000,$0000,$0000,$0000,$00E0,$0000,$0000,$0000 X dc.w $0000,$00E0,$0000,$0000,$1FFF,$FFFF,$F800,$0000 X dc.w $0000,$0080,$0040,$0000,$0000,$0200,$0080,$0040 X dc.w $0000,$0000,$1400,$0080,$0040,$003F,$0000,$0800 X dc.w $0080,$0040,$07FF,$F800,$0000,$0080,$0040,$003F X dc.w $0000,$0000,$0080,$0040,$0000,$3800,$FFFF,$FFFF X dc.w $FFFF,$FFFF,$FE00,$0000,$0080,$0040,$0000,$0000 X Xiconifgad dc.l 0 X dc.w -83,0 X dc.w 31,10 X dc.w $14 X dc.w $41 X dc.w 1 X dc.l iconifimg X dc.l 0 X dc.l 0 X dc.l 0 X dc.l 0 X dc.w 0 X dc.l 0 X Xiconifimg dc.w 0,0 X dc.w 31,10 X dc.w 2 X dc.l iconifdata X dc.b $0003,$0000 X dc.l 0 X Xiconifdata dc.w $7FFF,$FFFC,$601F,$FFFC,$6000,$000C,$607F,$FFCC X dc.w $6060,$00CC,$6067,$FCCC,$7E60,$00CC,$7E7F,$FFCC X dc.w $7E00,$000C,$7FFF,$FFFC,$0000,$0000,$1FE0,$0000 X dc.w $1FFF,$FFF0,$1F80,$0030,$1F9F,$FF30,$1F98,$0330 X dc.w $019F,$FF30,$0180,$0030,$01FF,$FFF0,$0000,$0000 X X X END X END_OF_FILE if test 40356 -ne `wc -c <'Xoper.a.ac'`; then echo shar: \"'Xoper.a.ac'\" unpacked with wrong size! fi # end of 'Xoper.a.ac' fi echo shar: End of archive 2 \(of 4\). cp /dev/null ark2isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to: amiga@cs.odu.edu or amiga@xanth.cs.odu.edu ( obsolescent mailers may need this address ) or ...!uunet!xanth!amiga ( very obsolescent mailers need this address ) Comments, questions, and suggestions s should be addressed to ``amiga-request'' (only use ``amiga'' for submissions) at the above addresses.