home *** CD-ROM | disk | FTP | other *** search
- ; Please forgive me for the presence of include files here. I started just
- ; to copy intuition.i because MetaComco's assembler choked on it, but then
- ; I got carried away. I developed this on a 512k floppy system and I got
- ; impatient...
-
- EXEC_TYPES_I SET 1
-
- STRUCTURE MACRO
- \1 SET 0
- SOFFSET SET \2
- ENDM
- SHORT MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+1
- ENDM
- BYTE MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+1
- ENDM
- UBYTE MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+1
- ENDM
- WORD MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+2
- ENDM
- UWORD MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+2
- ENDM
- LONG MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
- ULONG MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
- APTR MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
- STRUCT MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+\2
- ENDM
- BPTR MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
- BSTR MACRO
- \1 EQU SOFFSET
- SOFFSET SET SOFFSET+4
- ENDM
- LABEL MACRO
- \1 EQU SOFFSET
- ENDM
-
- BITDEF MACRO * prefix,&name,&bitnum
- BITDEF0 \1,\2,B_,\3
- \@BITDEF SET 1<<\3
- BITDEF0 \1,\2,F_,\@BITDEF
- ENDM
-
- BITDEF0 MACRO * prefix,&name,&type,&value
- \1\3\2 EQU \4
- ENDM
-
-
- MODE_OLDFILE EQU 1005
- MODE_NEWFILE EQU 1006
-
- BITDEF MEM,PUBLIC,0
- BITDEF MEM,CHIP,1
- BITDEF MEM,FAST,2
- BITDEF MEM,CLEAR,16
-
- IECLASS_RAWKEY EQU $01
- IEQUALIFIER_LCOMMAND EQU $0040
- IEQUALIFIERB_LCOMMAND EQU 6
- HELPKEY EQU $5f
- BACKSPACE EQU $8
- RETURN EQU $0d
-
-
- STRUCTURE InputEvent,0
- APTR ie_NextEvent
- UBYTE ie_Class
- UBYTE ie_SubClass
- UWORD ie_Code
- UWORD ie_Qualifier
- LABEL ie_EventAddress
- WORD ie_X
- WORD ie_Y
- STRUCT ie_TimeStamp,8
- LABEL ie_SIZEOF
-
- STRUCTURE LN,0
- APTR LN_SUCC
- APTR LN_PRED
- UBYTE LN_TYPE
- BYTE LN_PRI
- APTR LN_NAME
- LABEL LN_SIZE
-
- STRUCTURE IS,LN_SIZE
- APTR IS_DATA
- APTR IS_CODE
- LABEL IS_SIZE
-
- STRUCTURE MN,LN_SIZE
- APTR MN_REPLYPORT
- UWORD MN_LENGTH
- LABEL MN_SIZE
-
- STRUCTURE IO,MN_SIZE
- APTR IO_DEVICE
- APTR IO_UNIT
- UWORD IO_COMMAND
- UBYTE IO_FLAGS
- BYTE IO_ERROR
- LABEL IO_SIZE
- ULONG IO_ACTUAL
- ULONG IO_LENGTH
- APTR IO_DATA
- ULONG IO_OFFSET
- LABEL IOSTD_SIZE
- BITDEF IO,QUICK,0
- DEVINIT MACRO
- IFC '\1',''
- CMD_COUNT SET CMD_NONSTD
- ENDC
- IFNC '\1',''
- CMD_COUNT SET \1
- ENDC
- ENDM
-
- DEVCMD MACRO * cmdname
- \1 EQU CMD_COUNT
- CMD_COUNT SET CMD_COUNT+1
- ENDM
-
- DEVINIT 0
- DEVCMD CMD_INVALID
- DEVCMD CMD_RESET
- DEVCMD CMD_READ
- DEVCMD CMD_WRITE
- DEVCMD CMD_UPDATE
- DEVCMD CMD_CLEAR
- DEVCMD CMD_STOP
- DEVCMD CMD_START
- DEVCMD CMD_FLUSH
- DEVCMD CMD_NONSTD
-
- DEVINIT
- DEVCMD IND_ADDHANDLER
- DEVCMD IND_REMHANDLER
- DEVCMD IND_WRITEEVENT
- DEVCMD IND_SETTHRESH
- DEVCMD IND_SETPERIOD
- DEVCMD IND_SETMPORT
- DEVCMD IND_SETMTYPE
- DEVCMD IND_SETMTRIG
-
- STRUCTURE LH,0
- APTR LH_HEAD
- APTR LH_TAIL
- APTR LH_TAILPRED
- UBYTE LH_TYPE
- UBYTE LH_pad
- LABEL LH_SIZE
-
- STRUCTURE MP,LN_SIZE
- UBYTE MP_FLAGS
- UBYTE MP_SIGBIT
- APTR MP_SIGTASK
- STRUCT MP_MSGLIST,LH_SIZE
- LABEL MP_SIZE
-
- STRUCTURE LIB,LN_SIZE
- UBYTE LIB_FLAGS
- UBYTE LIB_pad
- UWORD LIB_NEGSIZE
- UWORD LIB_POSSIZE
- UWORD LIB_VERSION
- UWORD LIB_REVISION
- APTR LIB_IDSTRING
- ULONG LIB_SUM
- UWORD LIB_OPENCNT
- LABEL LIB_SIZE
-
-
- WINDOWSIZING equ $0001
- WINDOWDRAG equ $0002
- WINDOWDEPTH equ $0004
- WINDOWCLOSE equ $0008
- SMART_REFRESH equ $0000
- ACTIVATE equ $1000
-
-
- ; === NewWindow ==
- STRUCTURE NewWindow,0
- WORD nw_LeftEdge
- WORD nw_TopEdge
- WORD nw_Width
- WORD nw_Height
- BYTE nw_DetailPen
- BYTE nw_BlockPen
- ULONG nw_IDCMPFlags
- LONG nw_Flags
- APTR nw_FirstGadget
- APTR nw_CheckMark
- APTR nw_Title
- APTR nw_Screen
- APTR nw_BitMap
- WORD nw_MinWidth
- WORD nw_MinHeight
- WORD nw_MaxWidth
- WORD nw_MaxHeight
- WORD nw_Type
- LABEL nw_SIZE
-
- STRUCTURE View,0
- LONG v_ViewPort
- LONG v_LOFCprList
- LONG v_SHFCprList
- WORD v_DyOffset
- WORD v_DxOffset
- WORD v_Modes
- LABEL v_SIZEOF
-
- STRUCTURE IntuitionBase,0
- STRUCT ib_LibNode,LIB_SIZE
- STRUCT ib_ViewLord,v_SIZEOF
- APTR ib_ActiveWindow
- APTR ib_ActiveScreen
- APTR ib_FirstScreen
- LABEL ib_SIZEOF
-
- ; === Screen ===
- ; Be aware that this structure is truncated!
- STRUCTURE Screen,0
- APTR sc_NextScreen
- APTR sc_FirstWindow
- WORD sc_LeftEdge
- WORD sc_TopEdge
- WORD sc_Width
- WORD sc_Height
- WORD sc_MouseY
- WORD sc_MouseX
- WORD sc_Flags
- LABEL sc_SIZEOF
-
- WBENCHSCREEN equ $0001
- CUSTOMSCREEN equ $000F
-
- ; === Window ==
- STRUCTURE Window,0
- APTR wd_NextWindow
- WORD wd_LeftEdge
- WORD wd_TopEdge
- WORD wd_Width
- WORD wd_Height
- WORD wd_MouseY
- WORD wd_MouseX
- WORD wd_MinWidth
- WORD wd_MinHeight
- WORD wd_MaxWidth
- WORD wd_MaxHeight
- LONG wd_Flags
- APTR wd_MenuStrip
- APTR wd_Title
- APTR wd_FirstRequest
- APTR wd_DMRequest
- WORD wd_ReqCount
- APTR wd_WScreen
- APTR wd_RPort
- BYTE wd_BorderLeft
- BYTE wd_BorderTop
- BYTE wd_BorderRight
- BYTE wd_BorderBottom
- APTR wd_BorderRPort
- APTR wd_FirstGadget
- APTR wd_Parent
- APTR wd_Descendant
- APTR wd_Pointer
- BYTE wd_PtrHeight
- BYTE wd_PtrWidth
- BYTE wd_XOffset
- BYTE wd_YOffset
- ULONG wd_IDCMPFlags
- APTR wd_UserPort
- APTR wd_WindowPort
- APTR wd_MessageKey
- BYTE wd_DetailPen
- BYTE wd_BlockPen
- APTR wd_CheckMark
- APTR wd_ScreenTitle
- SHORT wd_GZZMouseX
- SHORT wd_GZZMouseY
- SHORT wd_GZZWidth
- SHORT wd_GZZHeight
- APTR wd_ExtData
- APTR wd_UserData
- APTR wd_WLayer
- LABEL wd_Size
-
- STRUCTURE IV,0
- APTR IV_DATA
- APTR IV_CODE
- APTR IV_NODE
- LABEL IV_SIZE
- BITDEF S,SAR,15
- BITDEF S,TQE,14
- BITDEF S,SINT,13
- STRUCTURE SH,LH_SIZE
- UWORD SH_PAD
- LABEL SH_SIZE
-
- ; Note that the following structure is truncated!
-
- STRUCTURE ExecBase,LIB_SIZE
- UWORD SoftVer
- WORD LowMemChkSum
- ULONG ChkBase
- APTR ColdCapture
- APTR CoolCapture
- APTR WarmCapture
- APTR SysStkUpper
- APTR SysStkLower
- ULONG MaxLocMem
- APTR DebugEntry
- APTR DebugData
- APTR AlertData
- APTR RsvdExt
- WORD ChkSum
- LABEL IntVects
- STRUCT IVTBE,IV_SIZE
- STRUCT IVDSKBLK,IV_SIZE
- STRUCT IVSOFTINT,IV_SIZE
- STRUCT IVPORTS,IV_SIZE
- STRUCT IVCOPER,IV_SIZE
- STRUCT IVVERTB,IV_SIZE
- STRUCT IVBLIT,IV_SIZE
- STRUCT IVAUD0,IV_SIZE
- STRUCT IVAUD1,IV_SIZE
- STRUCT IVAUD2,IV_SIZE
- STRUCT IVAUD3,IV_SIZE
- STRUCT IVRBF,IV_SIZE
- STRUCT IVDSKSYNC,IV_SIZE
- STRUCT IVEXTER,IV_SIZE
- STRUCT IVINTEN,IV_SIZE
- STRUCT IVNMI,IV_SIZE
- APTR ThisTask
- LABEL SYSBASESIZE
-
- STRUCTURE TC,LN_SIZE
- UBYTE TC_FLAGS
- UBYTE TC_STATE
- BYTE TC_IDNESTCNT
- BYTE TC_TDNESTCNT
- ULONG TC_SIGALLOC
- ULONG TC_SIGWAIT
- ULONG TC_SIGRECVD
- ULONG TC_SIGEXCEPT
- UWORD TC_TRAPALLOC
- UWORD TC_TRAPABLE
- APTR TC_EXCEPTDATA
- APTR TC_EXCEPTCODE
- APTR TC_TRAPDATA
- APTR TC_TRAPCODE
- APTR TC_SPREG
- APTR TC_SPLOWER
- APTR TC_SPUPPER
- APTR TC_SWITCH
- APTR TC_LAUNCH
- STRUCT TC_MEMENTRY,LH_SIZE
- APTR TC_Userdata
- LABEL TC_SIZE
-
- STRUCTURE CommandLineInterface,0
- LONG cli_Result2
- BSTR cli_SetName
- BPTR cli_CommandDir
- LONG cli_ReturnCode
- BSTR cli_CommandName
- LONG cli_FailLevel
- BSTR cli_Prompt
- BPTR cli_StandardInput
- BPTR cli_CurrentInput
- BSTR cli_CommandFile
- LONG cli_Interactive
- LONG cli_Background
- BPTR cli_CurrentOutput
- LONG cli_DefaultStack
- BPTR cli_StandardOutput
- BPTR cli_Module
- LABEL cli_SIZEOF
-
- STRUCTURE Process,0
- STRUCT pr_Task,TC_SIZE
- STRUCT pr_MsgPort,MP_SIZE
- WORD pr_Pad
- BPTR pr_SegList
- LONG pr_StackSize
- APTR pr_GlobVec
- LONG pr_TaskNum
- BPTR pr_StackBase
- LONG pr_Result2
- BPTR pr_CurrentDir
- BPTR pr_CIS
- BPTR pr_COS
- APTR pr_ConsoleTask
- APTR pr_FileSystemTask
- BPTR pr_CLI
- APTR pr_ReturnAddr
- APTR pr_PktWait
- APTR pr_WindowPtr
- LABEL pr_SIZEOF
-
- NEWLIST MACRO * list
- MOVE.L \1,(\1)
- ADDQ.L #LH_TAIL,(\1)
- CLR.L LH_TAIL(\1)
- MOVE.L \1,(LH_TAIL+LN_PRED)(\1)
- ENDM
-
- NT_MSGPORT EQU 4
- NT_MESSAGE EQU 5
- PA_SIGNAL EQU 0
-
- DosF MACRO
- move.l _DOSBase,a6
- jsr _LVO\1(A6)
- ENDM
-
- ExecF MACRO Same as CALL except, call exec
- move.L _SysBase,A6 lib instead of dos lib....
- jsr _LVO\1(A6)
- ENDM
-
- LibF macro
- jsr _LVO\1(a6)
- endm
-
- IntF macro
- move.l _IntuitionBase,a6
- jsr _LVO\1(A6)
- endm
-
-
- Ucase macro
- andi.b #%01011111,\1
- endm
-
- _LVOOpenDevice equ -444
- _LVOOpenLibrary equ -552
- _LVOCloseDevice equ -450
- _LVODoIO equ -456
- _LVOSignal equ -324
- _LVOFindTask equ -294
- _LVOAllocSignal equ -330
- _LVOWait equ -318
- _LVOOpenWindow equ -204
- _LVOCloseWindow equ -72
- _LVOAllocMem equ -198
- _LVOUnLoadSeg equ -156
- _LVOCreateProc equ -138
- _LVOCloseLibrary equ -414
- _LVOFreeSignal equ -336
- _LVOFreeMem equ -210
- _LVOSetWindowTitles equ -276
- _LVOPermit equ -138
- _LVOForbid equ -132
- _LVOSizeWindow equ -288
- _LVOCurrentDir equ -126
-
- DOCMD equ 1
- DOMAC equ 2
- NOMEM equ 101
- NOSIG equ 102
- NOINPUT equ 103
- NOCONSOLE equ 104
-
-
- ClearWindow macro
- lea ClrWindowStr(pc),a0
- bsr ConWriteLine
- endm
-
- UhOh macro
- lea \1(pc),a0
- bra ProcessError
- endm
-
-
- STRUCTURE KeyRec,0
- APTR kr_Next ; Next record
- APTR kr_Prev ; Previous record
- UWORD kr_Qual ; Key qualifier
- UWORD kr_Key ; Key
- STRUCT kr_MacStr,80 ; Definiton of key
- STRUCT kr_KeyStr,20 ; Key description.
- LABEL kr_SIZEOF
-
- Debug set 0
-
- ;------ Bit positions for key qualifiers
- L_SHIFT equ 0
- R_SHIFT equ 1
- CLOCK equ 2
- CONTROL equ 3
- L_ALT equ 4
- R_ALT equ 5
- L_AMIGA equ 6
- R_AMIGA equ 7
- KPAD equ 8
-