home *** CD-ROM | disk | FTP | other *** search
- ;*************** GEM ***************
- INCLUDE GEMDOS.S
- INCLUDE BIOS.S
- INCLUDE XBIOS.S
- INCLUDE VDI.S
- INCLUDE AES.S
- NOLIST
- MU_KEYBD =1
- MU_BUTTON =2
- MU_M1 =4
- MU_M2 =8
- MU_MESAG =16
- MU_TIMER =32
- MN_SELECTED=10
- WM_REDRAW =20
- WM_TOPPED =21
- WM_CLOSED =22
- WM_FULLED =23
- WM_ARROWED =24
- WM_HSLID =25
- WM_VSLID =26
- WM_SIZED =27
- WM_MOVED =28
- WM_NEWTOP =29
- AC_OPEN =30
- AC_CLOSE =31
- G_BOX =20
- G_TEXT =21
- G_BOXTEXT =22
- G_IMAGE =23
- G_PROGDEF =24
- G_IBOX =25
- G_BUTTON =26
- G_BOXCHAR =27
- G_STRING =28
- G_FTEXT =29
- G_FBOXTEXT =30
- G_ICON =31
- G_TITLE =32
- NONE =0
- SELECTABLE =1
- DEFAULT =2
- EXIT =4
- EDITABLE =8
- RBUTTON =16
- LASTOB =32
- TOUCHEXIT =64
- HIDETREE =128
- INDIRECT =256
- NORMAL =0
- SELECTED =1
- CROSSED =2
- CHECKED =4
- DISABLED =8
- OUTLINED =16
- SHADOWED =32
- WF_KIND =1
- WF_NAME =2
- WF_INFO =3
- WF_WORKXYWH=4
- WF_CURRXYWH=5
- WF_PREVXYWH=6
- WF_FULLXYWH=7
- WF_HSLIDE =8
- WF_VSLIDE =9
- WF_TOP =10
- WF_FIRSTXYWH=11
- WF_NEXTXYWH=12
- WF_NEWDESK =14
- WF_HSLSIZE =15
- WF_VSLSIZE =16
- GEM_INIT:MACRO
- MOVE.L 4(A7),A5 ;START OF BASEPAGE
- MOVE.L $C(A5),D0
- ADD.L $14(A5),D0
- ADD.L $1C(A5),D0
- ADD.L #1800,D0 ;FÜR STACK UND BASEPAGE
- ANDI.B #$FE,D0
- LEA -104(A5,D0.L),A7
- SETBLOCK D0,(A5)
- MOVE.L A7,A3
- LEA VDIPB+20,A7
- PEA PTSOUT
- PEA INTOUT
- PEA PTSIN
- PEA INTIN
- PEA CONTRL
- PEA ADDROUT
- PEA ADDRIN
- PEA INTOUT
- PEA INTIN
- PEA GLOBAL
- PEA CONTRL
- PEA VDIPB
- PEA AESPB
- MOVE.L A3,A7
- APPL_INIT AP_ID
- GRAF_HANDLE GR_HANDLE
- V_OPNVWK WORK_IN,HANDLE,WORK_OUT
- ENDM
- GEM_EXIT:MACRO
- V_CLSVWK HANDLE
- APPL_EXIT D0
- TERM
- RTS
- DATA
- GLOBAL:
- APVERSION:DC.W 0
- APCOUNT:DC.W 0
- AP_ID: DC.W 0
- APPRIVATE:DC.L 0
- APPTREE:DC.L 0
- AP1RESV:DC.L 0
- AP2RESV:DC.L 0
- AP3RESV:DC.L 0
- AP4RESV:DC.L 0
- WORK_IN:DC.W 1,1,1,1,1,1,1,1,1,1,2
- BSS
- AESPTR DC.L 0
- VDIPTR DC.L 0
- AESPB: DS.L 6
- VDIPB DS.L 5
- CONTRL:
- OPCODE: DC.W 0
- SINTIN: DC.W 0
- SINTOUT:DC.W 0
- SADDRIN:DC.W 0
- SADDROUT:DC.W 0
- DS.W 6
- HANDLE DS.W 1
- GR_HANDLE:DS.W 1
- GR_HWCHAR:DS.W 1
- GR_HHCHAR:DS.W 1
- GR_HWBOX:DS.W 1
- GR_HHBOX:DS.W 1
- INTIN DS.W 128
- PTSIN DS.W 256
- INTOUT DS.W 128
- PTSOUT DS.W 128
- ADDRIN DS.W 128
- ADDROUT DS.W 128
- WORK_OUT:DS.W 57
- TEXT
- ENDM
- RSRC_CALC:MACRO $\1
- LEA \1,A4
- MOVE.L A4,D7
- MOVEQ #0,D3
- MOVEQ #0,D4
- \MLOOP:
- MOVEQ #2,D6
- MOVEQ #0,D0
- \ILOOP:
- MOVE 0(A4,D0),D5
- BMI.S \POSIND
- CMP D3,D5
- BLS.S \POSIND
- MOVE D5,D3
- MOVE D5,D4
- MULU #24,D4
- \POSIND:
- ADDQ #2,D0
- DBRA D6,\ILOOP
- LEA 16(A4),A5
- MOVEQ #3,D5
- MOVE.L GR_HWCHAR,D6
- \XYLOOP:
- SWAP D6
- MOVE.B (A5),D0
- MOVE (A5),D1
- EXT.W D0
- MULU D6,D0
- EXT.W D1
- ADD D1,D0
- MOVE D0,(A5)+
- DBRA D5,\XYLOOP
- MOVE 6(A4),D6
- CMPI #G_BOX,D6
- BEQ.S \EXIT
- CMPI #G_IBOX,D6
- BEQ.S \EXIT
- CMPI #G_BOXCHAR,D6
- BEQ.S \EXIT
- ADD.L D7,12(A4)
- CMPI #G_BUTTON,D6
- BEQ.S \EXIT
- CMPI #G_STRING,D6
- BEQ.S \EXIT
- CMPI #G_TITLE,D6
- BEQ.S \EXIT
- MOVE.L 12(A4),A3
- MOVE.L A3,D5
- ADD.L D5,(A3)+
- CMPI #G_IMAGE,D6
- BEQ.S \EXIT
- CMPI #G_PROGDEF,D6
- BEQ.S \EXIT
- ADD.L D5,(A3)+
- ADD.L D5,(A3)
- \EXIT:
- BTST #5,9(A4) ;LASTOB
- BNE.S \ENDE
- ADD #24,A4
- MOVE.L D7,A3
- LEA 0(A3,D4.L),A3 ;^ LASTOB
- CMP.L A3,A4
- BLS \MLOOP
- \ENDE:
- ENDM
- LIST
- END
-