ùúùú***************************************************************************** * Datum » 16 Nov, 1994 * Program » Talk2Boopsi [ASMVer 1.0] * Kodare » Andreas Pålsson * Bskrivn » Denna kod är en konversion av 'Talk2Boopsi' exemplet i RKM som * » som är skrivet i C. (Jag hatar C!) * » 'Placera riktig pekare..' betyder att pekaren till objektet * » ska finnas i taglistan oxå och därför placeras där. * » Denna kod är inte mycket kommenterad och kanske lite rörig med * » indrag av onödigt krafs, är detta din åsikt vill jag gärna se * » din version. * » Assembleras med DevPac 3.02 ***************************************************************************** * Har ni några frågor om sourcen eller om ni vill ni bara snacka * så ta gärna kontakt med mej * » Andreas Palsson - 2:200/614.5 « * » 044/55031 21:00 -> 08:00 « ***************************************************************************** INCDIR include: INCLUDE Intuition/IcClass.I INCLUDE intuition/intuition.i INCLUDE Intuition/GadgetClass.I INCLUDE lvo/lvos.i ***************************************************************************** ProgStart: Lea IntName(PC),A1 MoveQ.L #37,D0 Version MoveA.L 4.W,A6 Jsr _LVOOpenLibrary(A6) (libName,version)(a1,d0) Move.L D0,IntBase SubA.L A0,A0 Lea WTag(PC),A1 WindowTaglist MoveA.L IntBase(PC),A6 Jsr _LVOOpenWindowTagList(A6) (newWindow,tagList)(a0/a1) Move.L D0,WinB ***>>Object Creation Create SubA.L A0,A0 Lea PCls(PC),A1 GadgetClass Lea PTag(PC),A2 Taglist Jsr _LVONewObjectA(A6) (classPtr,classID,tagList)(a0/a1/a2) Move.L D0,Prop Move.L D0,PDt1 Placera riktig pekare till PDt1 Move.L D0,PDt2 Placera riktig pekare till PDt2 SubA.L A0,A0 Lea ICls(PC),A1 GadgetClass Lea ITag(PC),A2 Taglist Jsr _LVONewObjectA(A6) (classPtr,classID,tagList)(a0/a1/a2) Move.L D0,Intg Move.L D0,IDat Placera riktig pekare till IDat MoveA.L Prop(PC),A0 Gadget MoveA.L WinB(PC),A1 Fönsterstruktur SubA.L A2,A2 Lea ATag(PC),A3 Taglist Jsr _LVOSetGadgetAttrsA(A6) (gadget,window,requester,tagList)(a0/a1/a2/a3) MoveA.L WinB(PC),A0 Fönster MoveA.L Prop(PC),A1 Gadget MoveQ.L #-1,D0 MoveQ.L #-1,D1 SubA.L A2,A2 Jsr _LVOAddGList(A6) (window,gadget,position,numGad,requester)(a0/a1,d0/d1/a2) MoveA.L Prop(PC),A0 Gadget MoveA.L WinB(PC),A1 Fönster SubA.L A2,A2 MoveQ.L #-1,D0 Jsr _LVORefreshGList(A6) (gadgets,window,requester,numGad)(a0/a1/a2,d0) ***>>Main Main MoveA.L WinB(PC),A0 MoveA.L wd_UserPort(A0),A0 Window Userport Move.L A0,-(A7) MoveA.L 4.W,A6 Jsr _LVOWaitPort(A6) (port)(a0) MoveA.L (A7)+,A0 Jsr _LVOGetMsg(A6) (port)(a0) Move.L D0,A1 Move.L im_Class(A1),D0 Class (idcmp-flags) Move.L D0,-(A7) Jsr _LVOReplyMsg(A6) (message)(a1) Move.L (A7)+,D0 Cmp.L #CLOSEWINDOW,D0 Did we press CloseWindow? Bne.S Main ***>>Object Termination Dispose MoveA.L Intg(PC),A0 Gadget MoveA.L IntBase(PC),A6 Jsr _LVODisposeObject(A6) (object)(a0) MoveA.L Prop(PC),A0 Gadget Jsr _LVODisposeObject(A6) (object)(a0) ***>>Program Exit Exit MoveA.L WinB(PC),A0 Fönster MoveA.L IntBase(PC),A6 Jsr _LVOCloseWindow(A6) (window)(a0) NWin MoveA.L IntBase(PC),A1 Move.L 4.W,A6 Jsr _LVOCloseLibrary(A6) (library)(a1) NInt MoveQ.L #0,D0 RTS ***************************************************************************** * * Data * ***************************************************************************** IntBase dc.l 0 WTag Dc.L WA_Left,25 Dc.L WA_Top,50 Dc.L WA_Width,150 Dc.L WA_Height,100 Dc.L WA_IDCMP,IDCMP_CLOSEWINDOW Dc.L WA_Title,WTit Dc.L WA_DragBar,1 Dc.L WA_DepthGadget,1 Dc.L WA_CloseGadget,1 Dc.L WA_Activate,1 WinB Dc.L $00000000 WTit Dc.B 'Talk2Boopsi',$00 PCls Dc.B 'propgclass',$00 even PTag Dc.L GA_ID,1 Dc.L GA_Top,14 Dc.L GA_Left,40 Dc.L GA_Width,10 Dc.L GA_Height,80 Dc.L ICA_MAP,PIMp Dc.L PGA_Total,100 Dc.L PGA_Top,25 Dc.L PGA_Visible,10 Dc.L PGA_NewLook,1 Dc.L TAG_DONE PIMp Dc.L PGA_Top,STRINGA_LongVal Dc.L TAG_DONE Prop Dc.L $00000000 ICls Dc.B 'strgclass',$00 even ITag Dc.L GA_ID,2 Dc.L GA_Top,41 Dc.L GA_Left,90 Dc.L GA_Width,40 Dc.L GA_Height,18 Dc.L ICA_MAP,IImp Dc.L ICA_TARGET PDt1 Dc.L Prop Dc.L GA_Previous PDt2 Dc.L Prop Dc.L STRINGA_LongVal,25 Dc.L STRINGA_MaxChars,3 Dc.L TAG_DONE IImp Dc.L STRINGA_LongVal,PGA_Top Dc.L TAG_DONE Intg Dc.L $00000000 ATag Dc.L ICA_TARGET IDat Dc.L Intg Dc.L TAG_DONE IntName dc.b 'intuition.library',0