home *** CD-ROM | disk | FTP | other *** search
- *
- * This is a remake of
- *
- * :ts=8 bk=0
- * Disk mapper. Uses trackdisk.device to grab and read sector bitmap
- * to discover what's allocated, then displays a (hopefully) pretty picture
- * showing disk useage.
- *
- * Crufted together by Leo Schwab while desperately bored. 8606.8
- * Turned into something working for the Manx compiler. 8607.23
- *
- * from AmigaLibDisk33
- * with a few minor enhancements.
- *
- * This implementation was written by:
- * E. Lenz
- * Johann-Fichte-Strasse 11
- * 8 Munich 40
- * Germany
- *
-
- _AbsExecBase equ 4
-
- **** exec *****
-
- _LVOForbid equ -$84
- _LVOPermit equ -$8a
- _LVOAllocMem equ -$c6
- _LVOFreeMem equ -$d2
- _LVOAddPort equ -$162
- _LVORemPort equ -$168
- _LVOGetMsg equ -$174
- _LVOReplyMsg equ -$17a
- _LVOWaitPort equ -$180
- _LVOCloseLibrary equ -$19e
- _LVOOpenDevice equ -$1bc
- _LVOCloseDevice equ -$1c2
- _LVODoIO equ -$1c8
- _LVOOpenLibrary equ -$228
-
- **** intuition ******
-
- _LVOCloseWindow equ -$48
- _LVOOpenWindow equ -$cc
- _LVOSetMenuStrip equ -$108
-
- ***** graphics ******
-
- _LVOText equ -$3c
- _LVOMove equ -$f0
- _LVODraw equ -$f6
- _LVORectFill equ -$132
- _LVOSetAPen equ -$156
-
- ***** dos *****
-
- _LVOLock equ -$54
- _LVOUnLock equ -$5a
- _LVOInfo equ -$72
-
- ACCESS_READ equ -2
- ID_NO_DISK_PRESENT equ -1
- MEMF_CHIP equ 2
- TD_MOTOR equ 9
- TD_CHANGENUM equ $d
- wd_RPort equ $32
- wd_UserPort equ $56
- pr_MsgPort equ $5c
- pr_CLI equ $ac
- ThisTask equ $114
- VBlankFrequency equ $212
- MEMF_CLEAR equ $10000
-
- BITMAPINDEX equ 79*4
-
- long set 4
- InfoData set 0
- id_NumSoftErrors set InfoData
- InfoData set InfoData+long
- id_UnitNumber set InfoData
- InfoData set InfoData+long
- id_DiskState set InfoData
- InfoData set InfoData+long
- id_NumBlocks set InfoData
- InfoData set InfoData+long
- id_NumBlocksUsed set InfoData
- InfoData set InfoData+long
- id_BytesPerBlock set InfoData
- InfoData set InfoData+long
- id_DiskType set InfoData
- InfoData set InfoData+long
- id_VolumeNode set InfoData
- InfoData set InfoData+long
- id_InUse set InfoData
- InfoData set InfoData+long
- id_SIZEOF set InfoData
-
- XREF request
-
- movea.l _AbsExecBase,a6 test if WB or CLI
- movea.l ThisTask(a6),a0
- tst.l pr_CLI(a0)
- bne.s isCLI
-
- lea pr_MsgPort(a0),a0 for WB get WB Message
- jsr _LVOWaitPort(a6)
- jsr _LVOGetMsg(a6)
- move.l d0,WBenchMsg
-
- isCLI cmpi.b #60,VBlankFrequency(a6) test if PAL or NTSC
- beq.s isNTSC
- move.w #256,nw+6
-
- isNTSC lea GfxName(pc),a1 open graphics library
- moveq #0,d0
- jsr _LVOOpenLibrary(a6)
- move.l d0,GfxBase
- beq.s Gexit
-
- lea IntName(pc),a1 open intuition library
- moveq #0,d0
- jsr _LVOOpenLibrary(a6)
- move.l d0,IntBase
- beq.s Gexit
-
- lea DosName(pc),a1 open dos library
- moveq #0,d0
- jsr _LVOOpenLibrary(a6)
- move.l d0,DosBase
- Gexit beq exit
-
- Trok lea nw(pc),a0 open window
- movea.l IntBase(pc),a6
- jsr _LVOOpenWindow(a6)
- move.l d0,window
- beq.s Gexit
-
-
- ; Set menu
-
- movea.l d0,a0 which window
- lea Menu1(pc),a1 which menu
- jsr _LVOSetMenuStrip(a6)
-
- movea.l window(pc),a0
- movea.l wd_RPort(a0),a5
-
- bra.s disk initialize with DF0:
-
- wait movea.l _AbsExecBase,a6
- moveq #0,d7
- movea.l window(pc),a0
- movea.l wd_UserPort(a0),a0 load Window.UserPort
- jsr _LVOGetMsg(a6)
- tst.l d0
- beq.s wait No message
-
- movea.l d0,a1
- move.l $14(a1),d7 Message in d7
-
- beq.s wait
- cmpi.l #$200,d7
- beq.s exit
-
- cmpi.l #$100,d7
- bne.s wait
-
- ; Choice from menu
-
- movea.l window(pc),a0
- movea.l $5e(a0),a0 Load Window.MessageKey
- move.w $18(a0),d0 Load message code
- move.w d0,d1
- andi.w #$f,d1
- bne.s wait
-
- andi.w #$f0,d0 Menu 1
- bne.s menu12 Submenu 1
- disk move.l #'DF0:',d0
- gwait lea buf(pc),a0
- move.l d0,(a0)+
- clr.l (a0)
- bsr Map
- bra.s wait
-
- menu12 cmpi.w #$20,d0 Submenu 2
- bne.s menu13
- move.l #'DF1:',d0
- bra.s gwait
-
- menu13 cmpi.w #$40,d0 Submenu 3
- bne.s menu14
- move.l #'DF2:',d0
- bra.s gwait
-
- menu14 cmpi.w #$60,d0 Submenu 4
- bne.s wait
- move.l #'DF3:',d0
- bra.s gwait
-
- exit movea.l IntBase(pc),a6
- move.l window(pc),d0
- beq.s noWin
- movea.l d0,a0
- jsr _LVOCloseWindow(a6) close window
-
- noWin movea.l _AbsExecBase,a6
- tst.l WBenchMsg
- beq.s NoBenh
- jsr _LVOForbid(a6) reply to WB
- movea.l WBenchMsg(pc),a1
- jsr _LVOReplyMsg(a6)
- jsr _LVOPermit(a6)
-
- NoBenh move.l IntBase(pc),d1 close intuition library
- beq.s noInt
- movea.l d1,a1
- jsr _LVOCloseLibrary(a6)
-
- noInt move.l GfxBase(pc),d1 close graphics library
- beq.s noGfx
- movea.l d1,a1
- jsr _LVOCloseLibrary(a6)
-
- noGfx move.l DosBase(pc),d1 close dos library
- beq.s NoDos
- movea.l d1,a1
- jsr _LVOCloseLibrary(a6)
-
- NoDos moveq #0,d0 no error
- rts
-
- ************************
- * Disk Map
- ************************
-
- Error movem.l a4-a5,-(a7)
- suba.l a1,a1 no second line
- suba.l a2,a2 no third line
- lea hdtxt(pc),a3 header
- lea OkTxt(pc),a4 gadget text
- suba.l a5,a5 no 2nd gadget
- moveq #0,d0
- moveq #1,d1
- jsr request
- movem.l (a7)+,a4-a5
- rts
-
- Map lea free(pc),a0 initilize free sectors
- move.l #1758,(a0)
- movea.l DosBase(pc),a6 get the unit number from the
- lea buf(pc),a0 device name
- move.l a0,d1
- move.l #ACCESS_READ,d2
- jsr _LVOLock(a6)
- lea nolock(pc),a0
- move.l d0,lok
- beq.s Error
-
- movea.l _AbsExecBase,a6
- moveq #id_SIZEOF,d0
- move.l #MEMF_CLEAR,d1
- jsr _LVOAllocMem(a6)
- lea nomem(pc),a0
- movea.l d0,a4
- tst.l d0
- beq.s Error
-
- movea.l DosBase(pc),a6
- move.l lok(pc),d1
- move.l d0,d2
- jsr _LVOInfo(a6)
-
- lea nodisk(pc),a0
- move.l id_DiskType(a5),d0
- cmp.l #ID_NO_DISK_PRESENT,d0
- GoErr beq.s Error
-
- move.l id_UnitNumber(a4),unit
-
- movea.l _AbsExecBase,a6
- movea.l a4,a1
- moveq #id_SIZEOF,d0
- jsr _LVOFreeMem(a6) made it!
-
- lea reply(pc),a1 get a reply port
- move.l ThisTask(a6),$10(a1)
- jsr _LVOAddPort(a6)
-
- lea TrackName(pc),a0 open trackdisk device
- move.l unit(pc),d0
- lea diskio(pc),a1
- moveq #0,d1
- jsr _LVOOpenDevice(a6)
- lea noget(pc),a0
- tst.l d0
- bne Error
-
- move.l #1024,d0 allocate disk buffer
- move.l #MEMF_CLEAR|MEMF_CHIP,d1
- jsr _LVOAllocMem(a6)
- lea nobuf(pc),a0
- move.l d0,diskbuffer
- beq.s GoErr
-
- moveq #0,d0 get boot block
- bsr GetSec
- movea.l diskbuffer(pc),a0
- move.l (a0),d0
- cmpi.l #'DOS'*$100,d0 check if boot disk
- bne.s stand (accept only DOS disks)
- move.l 8(a0),d0 bitmap sector if check sum ok
- cmpi.l #1760,d0 can't be more than 1759
- bcc.s stand
- moveq #0,d2
- move.w #$ff,d1
- check add.l (a0)+,d2 see if check sum ok
- bcc.s noc
- addq.l #1,d2
- noc dbra d1,check
- not.l d2
- beq.s nostd
- stand move.l #880,d0 assume standard root block
- nostd bsr GetSec
- movea.l diskbuffer(pc),a0
- move.l BITMAPINDEX(a0),d0
- move.l d0,sectno remember bitmap sector
- bsr GetSec
-
- lea reply(pc),a1
- jsr _LVORemPort(a6) remove reply port
-
- lea diskio(pc),a1
- jsr _LVOCloseDevice(a6) close trackdisk device
-
- movea.l DosBase(pc),a6 unlock disk
- move.l lok(pc),d1
- jsr _LVOUnLock(a6)
-
- ***********************************************
- *
- * now all we have to do is display the bitmap
- *
- ***********************************************
- XX equ 6
- YY equ 6
- XOFF equ 30
- YOFF equ 25
-
-
- movea.l GfxBase(pc),a6 clear screen
- moveq #0,d0
- movea.l a5,a1
- jsr _LVOSetAPen(a6)
-
- movea.l a5,a1
- moveq #0,d0
- moveq #0,d1
- move.l #640,d2
- move.l #250,d3
- jsr _LVORectFill(a6)
-
- movea.l a5,a1
- moveq #3,d0
- jsr _LVOSetAPen(a6)
-
- movea.l a5,a1
- moveq #XOFF,d0
- moveq #YOFF,d1
- moveq #XX,d2
- add.l d0,d2
- moveq #YY,d3
- add.l d3,d3
- add.l d1,d3
- jsr _LVORectFill(a6)
-
- i equr d7
- k equr d6
- n equr d5
- NUMLONGS equ 880/16
-
- moveq #1,i
- loop1 movea.l diskbuffer(pc),a0
- move.l i,k
- asl.l #2,k
- move.l 0(a0,k.l),k
- moveq #0,n
- loop2 cmpi.l #NUMLONGS,i
- blt.s doit
- cmpi.l #30,n
- bge.s dont
- doit move.l k,d0
- not.l d0
- and.l #1,d0
- beq.s next
-
- move.l i,d4
- subq.l #1,d4
- asl.l #5,d4
- add.l n,d4
- addq.l #2,d4 l = (i-1 << 5) + n + 2;
-
- move.l d4,d1
- divu #22,d1
- moveq #0,d0
- move.w d1,d0
- mulu #XX,d0
- add.l #XOFF,d0 x = (l / 22) * XX + XOFF;
-
- move.l d4,d2
- divu #22,d2
- swap d2
- moveq #0,d1
- move.w d2,d1
- mulu #YY,d1
- add.l #YOFF,d1 y = (l % 22) * YY + YOFF;
-
- BRKOVER equ 91
- SEP equ 6
-
- cmpi.l #BRKOVER,d1
- blt.s nosep
- addi.l #SEP,d1 if (y >= BRKOVER) y += SEP;
-
- nosep move.l d0,d2
- addi.l #XX-1,d2
- move.l d1,d3
- addi.l #YY-1,d3
- movea.l a5,a1
- jsr _LVORectFill(a6) RectFill (rp, x, y, x+XX-1, y+YY-1);
- sub.l #1,free
-
- next asr.l #1,k
- dont addq #1,n
- cmpi.l #32,n
- blt loop2
- addq #1,i
- cmpi.l #NUMLONGS,i
- ble loop1
-
- **************
- *
- * Draw grid
- *
- **************
-
- movea.l a5,a1
- moveq #1,d0
- jsr _LVOSetAPen(a6)
-
- x equr d7
-
- moveq #XOFF,x
- xloop movea.l a5,a1
- move.l x,d0
- moveq #YOFF,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l x,d0
- moveq #YOFF,d1
- addi.l #11*YY,d1
- jsr _LVODraw(a6)
- movea.l a5,a1
- move.l x,d0
- move.l #BRKOVER+SEP,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l x,d0
- move.l #BRKOVER+SEP,d1
- add.l #11*YY,d1
- jsr _LVODraw(a6)
- addq.l #XX,x
- cmpi.l #80*XX+XOFF,x
- ble.s xloop
-
- y equr d7
-
- moveq #0,y
- yloop movea.l a5,a1
- move.l #XOFF,d0
- move.l y,d1
- add.l #YOFF,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF+80*XX,d0
- move.l y,d1
- add.l #YOFF,d1
- jsr _LVODraw(a6)
- movea.l a5,a1
- move.l #XOFF,d0
- move.l y,d1
- add.l #BRKOVER+SEP,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF+80*XX,d0
- move.l y,d1
- add.l #BRKOVER+SEP,d1
- jsr _LVODraw(a6)
- addq.l #YY,y
- cmpi.l #11*YY,y
- ble.s yloop
-
- movea.l a5,a1
- move.l #XOFF+XX/2,d0
- moveq #YOFF,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF+XX/2,d0
- moveq #YOFF-3,d1
- jsr _LVODraw(a6)
-
- movea.l a5,a1
- move.l #XOFF+80*XX-XX/2,d0
- moveq #YOFF,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF+80*XX-XX/2,d0
- moveq #YOFF-3,d1
- jsr _LVODraw(a6)
-
- movea.l a5,a1
- move.l #XOFF,d0
- moveq #YOFF+YY/2,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF-3,d0
- moveq #YOFF+YY/2,d1
- jsr _LVODraw(a6)
-
- movea.l a5,a1
- move.l #XOFF,d0
- moveq #YOFF+YY*10+YY/2,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- move.l #XOFF-3,d0
- moveq #YOFF+YY*10+YY/2,d1
- jsr _LVODraw(a6)
-
- movea.l a5,a1
- move.l #XOFF-1,d0
- moveq #YOFF-3,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text1(pc),a0
- moveq #1,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #XOFF+79*XX-1,d0
- moveq #YOFF-3,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text2(pc),a0
- moveq #2,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #XOFF-12,d0
- moveq #YOFF+6,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text1(pc),a0
- moveq #1,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #XOFF-20,d0
- moveq #YOFF+11*YY,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text3(pc),a0
- moveq #2,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #520,d0
- moveq #60,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text4(pc),a0
- moveq #9,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #520,d0
- move.l #132,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text5(pc),a0
- moveq #9,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #XOFF,d0
- move.l #176,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text6(pc),a0
- moveq #17,d0
- jsr _LVOText(a6)
- move.l sectno(pc),d0
- bsr ShowPr
-
- movea.l a5,a1
- move.l #250,d0
- move.l #176,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text7(pc),a0
- moveq #14,d0
- jsr _LVOText(a6)
- move.l free(pc),d0
- bsr ShowPr
-
- movea.l a5,a1
- move.l #450,d0
- move.l #176,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text8(pc),a0
- moveq #11,d0
- jsr _LVOText(a6)
- move.l #1760,d0
- sub.l free(pc),d0
- bsr ShowPr
-
- movea.l a5,a1
- move.l #520,d0
- moveq #60,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text4(pc),a0
- moveq #9,d0
- jsr _LVOText(a6)
-
- movea.l a5,a1
- move.l #520,d0
- move.l #132,d1
- jsr _LVOMove(a6)
- movea.l a5,a1
- lea text5(pc),a0
- moveq #9,d0
- jsr _LVOText(a6)
-
- move.l #1024,d0 free disk buffer
- movea.l diskbuffer(pc),a1
- movea.l _AbsExecBase,a6
- jsr _LVOFreeMem(a6)
-
- rts
-
- GetSec lea diskio(pc),a1 get a sector from disk
- lea reply(pc),a0
- move.l a0,14(a1)
- move.w #2,28(a1)
- move.l diskbuffer(pc),40(a1)
- move.l #1024,36(a1)
- mulu #512,d0
- move.l d0,44(a1)
- jsr _LVODoIO(a6)
-
- lea diskio(pc),a1 switch motor off
- move.w #TD_MOTOR,28(a1)
- clr.l 36(a1)
- jsr _LVODoIO(a6)
- rts
-
- ********************************************
- * *
- * Write number in d0 as decimal to console *
- * *
- ********************************************
-
-
- ShowPr movem.l d0-d3/a0-a1,-(a7)
- tst.l d0 zero is a special case
- beq.s zero
- lea Prime(pc),a1
- movea.l a1,a0
- move.l #'0000',d1
- move.l d1,(a1)+
- move.l d1,(a1)+
- move.l d1,(a1)+
- lea Num(pc),a1
- plop move.l (a1)+,d1
- addq.l #1,a0
- pnext cmp.l d1,d0
- bcs.s plop
- sub.l d1,d0
- addq.b #1,(a0)
- tst.l d0
- bne.s pnext
- lea Prime(pc),a0
- moveq #11,d0
- ptest cmpi.b #'0',(a0)
- bne.s endp
- subq.l #1,d0
- addq.l #1,a0
- bra.s ptest
- endp movea.l a5,a1
- jsr _LVOText(a6)
- movem.l (a7)+,d0-d3/a0-a1
- rts
-
- zero lea Prime(pc),a0
- move.w #'00',(a0)
- moveq #1,d0
- bra.s endp
-
- Num dc.l 1000000000,100000000,10000000,1000000,100000,10000,1000,100,10,1
-
- nolock dc.b "Can't obtain lock.",0
- even
- nomem dc.b "Can't get InfoData memory.",0
- even
- noinfo dc.b 'Call to Info() failed.',0
- even
- nodisk dc.b 'No disk in drive.',0
- even
- noget dc.b "Can't get at disk.",0
- even
- nobuf dc.b "Can't allocate disk buffer.",0
- even
-
- text8 dc.b 'Allocated: '
- text7 dc.b 'Sectors free: '
- text6 dc.b 'Bitmap on sector '
- text2 dc.b '79'
- text4 dc.b 'Surface 0'
- text5 dc.b 'Surface '
- text3 dc.b '1'
- text1 dc.b '0'
- even
-
- diskio
- message ds.w 10
- io ds.w 6
- ioreq ds.w 8
- reply ds.l 8
-
- WBenchMsg dc.l 0
- DosBase dc.l 0
- GfxBase dc.l 0
- IntBase dc.l 0
- lok dc.l 0
- unit dc.l 0
- diskbuffer dc.l 0
- sectno dc.l 0
- free dc.l 0
- window dc.l 0
-
- ; requester texts
-
- hdtxt dc.b ' DiskMapper Request',0
- OkTxt dc.b ' OK',0
- even
-
- buf
- DosName dc.b 'dos.library',0
- even
-
- Prime
- GfxName dc.b 'graphics.library',0
- IntName dc.b 'intuition.library',0
- TrackName dc.b 'trackdisk.device',0
- even
-
- title dc.b 'Disk Allocation Map',0
- even
-
- ***** Window definition *****
-
- nw dc.w 0,0 Position left,top
- dc.w 640,199 Size width,height
- dc.b 0,1 Colors detail-,block pen
- dc.l $340 IDCMP-Flags
- dc.l $140f Window flags
- dc.l 0 ^Gadget
- dc.l 0 ^Menu check
- dc.l title ^Window name
- nws dc.l 0 ^Screen structure,
- dc.l 0 ^BitMap
- dc.w 100 MinWidth
- dc.w 40 MinHeight
- dc.w -1 MaxWidth
- dc.w -1,1 MaxHeight,Screen type
-
- **** menu definition ****
-
- Menu1 dc.l 0 Next menu
- dc.w 50,0 Position left edge,top edge
- dc.w 50,20 Dimensions width,height
- dc.w 1 Menu enabled
- dc.l mtext1 Text for menu header
- dc.l item11 ^First in chain
- dc.l 0,0 Internal
-
- mtext1 dc.b 'Disk',0
- even
-
- item11 dc.l item12 next in chained list
- dc.w 0,0 Position left edge,top edge
- dc.w 50,10 Dimensions width,height
- dc.w $52 itemtext+highcomp+itemenabled
- dc.l 0 Mutual exclude
- dc.l I11txt Pointer to intuition text
- dc.l 0
- dc.b 0,0
- dc.l 0
- dc.w 0
-
-
- I11txt dc.b 0 Front pen (blue)
- dc.b 1 Back pen (white)
- dc.b 0,0 Draw mode
- dc.w 0 Left edge
- dc.w 0 Top edge
- dc.l 0 Text font
- dc.l item11txt Pointer to text
- dc.l 0 Next text
-
- item11txt dc.b 'DF0:',0
- even
-
- item12 dc.l item13 next in chained list
- dc.w 0,10 Position left edge,top edge
- dc.w 50,10 Dimensions width,height
- dc.w $52 itemtext+highcomp+itemenabled
- dc.l 0 Mutual exclude
- dc.l I12txt Pointer to intuition text
- dc.l 0
- dc.b 0,0
- dc.l 0
- dc.w 0
-
-
- I12txt dc.b 0 Front pen (blue)
- dc.b 1 Back pen (white)
- dc.b 0,0 Draw mode
- dc.w 0 Left edge
- dc.w 0 Top edge
- dc.l 0 Text font
- dc.l item12txt Pointer to text
- dc.l 0 Next text
-
- item12txt dc.b 'DF1:',0
- even
-
- item13 dc.l item14 next in chained list
- dc.w 0,20 Position left edge,top edge
- dc.w 50,10 Dimensions width,height
- dc.w $52 itemtext+highcomp+itemenabled
- dc.l 0 Mutual exclude
- dc.l I13txt Pointer to intuition text
- dc.l 0
- dc.b 0,0
- dc.l 0
- dc.w 0
-
-
- I13txt dc.b 0 Front pen (blue)
- dc.b 1 Back pen (white)
- dc.b 0,0 Draw mode
- dc.w 0 Left edge
- dc.w 0 Top edge
- dc.l 0 Text font
- dc.l item13txt Pointer to text
- dc.l 0 Next text
-
- item13txt dc.b 'DF2:',0
- even
-
- item14 dc.l 0 next in chained list
- dc.w 0,30 Position left edge,top edge
- dc.w 50,10 Dimensions width,height
- dc.w $52 itemtext+highcomp+itemenabled
- dc.l 0 Mutual exclude
- dc.l I14txt Pointer to intuition text
- dc.l 0
- dc.b 0,0
- dc.l 0
- dc.w 0
-
-
- I14txt dc.b 0 Front pen (blue)
- dc.b 1 Back pen (white)
- dc.b 0,0 Draw mode
- dc.w 0 Left edge
- dc.w 0 Top edge
- dc.l 0 Text font
- dc.l item14txt Pointer to text
- dc.l 0 Next text
-
- item14txt dc.b 'DF3:',0
- even
- end
-
-
-