cc65/libsrc/geos-common/const.inc

442 lines
13 KiB
PHP

;
;GeosConst - various system constans sorted by function
;reassembled by Maciej 'YTM/Elysium' Witkowiak
;4-2-99, 18-3-99
NULL = 0
FALSE = NULL
TRUE = $ff
MOUSE_SPRNUM = 0
DISK_DRV_LGH = $0d80
;
;filetypes
; GEOS
NOT_GEOS = 0
BASIC = 1
ASSEMBLY = 2
DATA = 3
SYSTEM = 4
DESK_ACC = 5
APPLICATION = 6
APPL_DATA = 7
FONT = 8
PRINTER = 9
INPUT_DEVICE = 10
DISK_DEVICE = 11
SYSTEM_BOOT = 12
TEMPORARY = 13
AUTO_EXEC = 14
INPUT_128 = 15
NUMFILETYPES = 16
; structure
SEQUENTIAL = 0
VLIR = 1
; DOS
DEL = 0
SEQ = 1
PRG = 2
USR = 3
REL = 4
CBM = 5
;drivetypes
DRV_NULL = 0
DRV_1541 = 1
DRV_1571 = 2
DRV_1581 = 3
DRV_NETWORK = 15
;various disk
REL_FILE_NUM = 9
CMND_FILE_NUM = 15
MAX_CMND_STR = 32
DIR_1581_TRACK = 40
DIR_ACC_CHAN = 13
DIR_TRACK = 18
N_TRACKS = 35
DK_NM_ID_LEN = 18
TRACK = 9
SECTOR = 12
TOTAL_BLOCKS = 664
;colours
BLACK = 0
WHITE = 1
RED = 2
CYAN = 3
PURPLE = 4
GREEN = 5
BLUE = 6
YELLOW = 7
ORANGE = 8
BROWN = 9
LTRED = 10
DKGREY = 11
GREY = 12
MEDGREY = 12
LTGREEN = 13
LTBLUE = 14
LTGREY = 15
;vic memory banks
GRBANK0 = %11
GRBANK1 = %10
GRBANK2 = %01
GRBANK3 = %00
;screen
VIC_X_POS_OFF = 24
VIC_Y_POS_OFF = 50
SC_BYTE_WIDTH = 40
.ifdef __GEOS_CBM__
SC_PIX_HEIGHT = 200
SC_PIX_WIDTH = 320
.else
SC_PIX_HEIGHT = 192
SC_PIX_WIDTH = 560
.endif
SC_SIZE = 8000
;128 screen size constants
SCREENBYTEWIDTH = 80
SCREENPIXELWIDTH = 640
;control characters
EOF = 0
BACKSPACE = 8
FORWARDSPACE = 9
TAB = 9
LF = 10
HOME = 11
PAGE_BREAK = 12
UPLINE = 12
CR = 13
ULINEON = 14
ULINEOFF = 15
ESC_GRAPHICS = 16
ESC_RULER = 17
REV_ON = 18
REV_OFF = 19
GOTOX = 20
GOTOY = 21
GOTOXY = 22
NEWCARDSET = 23
BOLDON = 24
ITALICON = 25
OUTLINEON = 26
PLAINTEXT = 27
;keyboard
KEY_F1 = 1
KEY_F2 = 2
KEY_F3 = 3
KEY_F4 = 4
KEY_F5 = 5
KEY_F6 = 6
KEY_NOSCRL = 7
KEY_ENTER = 11
KEY_F7 = 14
KEY_F8 = 15
KEY_UP = 16
KEY_DOWN = 17
KEY_HOME = 18
KEY_CLEAR = 19
KEY_LARROW = 20
KEY_UPARROR = 21
KEY_STOP = 22
KEY_RUN = 23
KEY_BPS = 24
KEY_HELP = 25
KEY_ALT = 26
KEY_ESC = 27
KEY_INSERT = 28
KEY_DELETE = 29
KEY_RIGHT = 30
KEY_INVALID = 31
KEY_LEFT = BACKSPACE
;DialogBox
; icons
OK = 1
CANCEL = 2
YES = 3
NO = 4
OPEN = 5
DISK = 6
; commands
DBTXTSTR = 11
DBVARSTR = 12
DBGETSTRING = 13
DBSYSOPV = 14
DBGRPHSTR = 15
DBGETFILES = 16
DBOPVEC = 17
DBUSRICON = 18
DB_USR_ROUT = 19
; tabulation in standard window
DBI_X_0 = 1
DBI_X_1 = 9
DBI_X_2 = 17
DBI_Y_0 = 8
DBI_Y_1 = 40
DBI_Y_2 = 72
; standard window
SET_DB_POS = 0
DEF_DB_POS = $80
DEF_DB_TOP = 32
DEF_DB_BOT = 127
DEF_DB_LEFT = 64
DEF_DB_RIGHT = 255
; text tabulation
TXT_LN_1_Y = 16
TXT_LN_2_Y = 32
TXT_LN_3_Y = 48
TXT_LN_4_Y = 64
TXT_LN_5_Y = 80
TXT_LN_X = 16
; ???
SYSDBI_HEIGHT = 16
SYSDBI_WIDTH = 6
;GraphicsString - commands
MOVEPENTO = 1
LINETO = 2
RECTANGLETO = 3
NEWPATTERN = 5
ESC_PUTSTRING = 6
FRAME_RECTO = 7
PEN_X_DELTA = 8
PEN_Y_DELTA = 9
PEN_XY_DELTA = 10
;DoMenu - menutypes
MENU_ACTION = $00
DYN_SUB_MENU = $40
SUB_MENU = $80
HORIZONTAL = %00000000
VERTICAL = %10000000
;Errors
ANY_FAULT = %11110000
NO_BLOCKS = 1
INV_TRACK = 2
INSUFF_SPACE = 3
FULL_DIRECTORY = 4
FILE_NOT_FOUND = 5
BAD_BAM = 6
UNOPENED_VLIR = 7
INV_RECORD = 8
OUT_OF_RECORDS = 9
STRUCT_MISMAT = 10
BFR_OVERFLOW = 11
CANCEL_ERR = 12
DEV_NOT_FOUND = 13
INCOMPATIBLE = 14
HDR_NOT_THERE = $20
NO_SYNC = $21
DBLK_NOT_THERE = $22
DAT_CHKSUM_ERR = $23
WR_VER_ERR = $25
WR_PR_ON = $26
HDR_CHKSUM_ERR = $27
DSK_ID_MISMAT = $29
BYTE_DEC_ERR = $2e
DOS_MISMATCH = $73
;Offsets
; ???
OFF_INDEX_PTR = 1
; icons
OFF_NM_ICNS = 0
OFF_IC_XMOUSE = 1
OFF_IC_YMOUSE = 3
OFF_PIC_ICON = 0
OFF_X_ICON_POS = 2
OFF_Y_ICON_POS = 3
OFF_WDTH_ICON = 4
OFF_HEIGHT_ICON = 5
OFF_SRV_RT_ICON = 6
OFF_NX_ICON = 8
; menu
OFF_MY_TOP = 0
OFF_MY_BOT = 1
OFF_MX_LEFT = 2
OFF_MX_RIGHT = 4
OFF_NUM_M_ITEMS = 6
OFF_1ST_M_ITEM = 7
; dialog box
OFF_DB_FORM = 0
OFF_DB_TOP = 1
OFF_DB_BOT = 2
OFF_DB_LEFT = 3
OFF_DB_RIGHT = 5
OFF_DB_1STCMD = 7
; directory
; disk header
OFF_TO_BAM = 4
OFF_DISK_NAME = 144
OFF_GS_DTYPE = 189
OFF_OP_TR_SC = 171
OFF_GS_ID = 173
; dir entry
.ifdef __GEOS_CBM__
FRST_FILE_ENTRY = 2
OFF_CFILE_TYPE = 0
OFF_DE_TR_SC = 1
OFF_FNAME = 3
OFF_GHDR_PTR = 19
OFF_GSTRUC_TYPE = 21
OFF_GFILE_TYPE = 22
OFF_YEAR = 23
OFF_SIZE = 28
OFF_NXT_FILE = 32
.else
FRST_FILE_ENTRY = 43
OFF_GSTRUC_TYPE = 0
OFF_FNAME = 1
OFF_GFILE_TYPE = 16
OFF_DE_TR_SC = 17
OFF_SIZE = 21
OFF_YEAR = 25
OFF_GHDR_PTR = 31
OFF_NXT_FILE = 39
.endif
; file header
O_GHIC_WIDTH = 2
O_GHIC_HEIGHT = 3
O_GHIC_PIC = 4
O_GHCMDR_TYPE = 68
O_GHGEOS_TYPE = 69
O_GHSTR_TYPE = 70
O_GHST_ADDR = 71
O_GHEND_ADDR = 73
O_GHST_VEC = 75
O_GHFNAME = 77
O_128_FLAGS = 96
O_GH_AUTHOR = 97
O_GHP_DISK = 97
O_GHP_FNAME = 117
O_GHINFO_TXT = $a0
; values for CPU_DATA - C64 memory config
RAM_64K = $30 ;64K RAM
IO_IN = $35 ;60K RAM, 4K I/O space in
KRNL_IO_IN = $36 ;kernal and I/O mapped into memory
KRNL_BAS_IO_IN = $37 ;kernal, I/O and basic mapped into memory
;values for config - C128 mmu
CIOIN = $7E ;60K RAM, 4K I/O space in
CRAM64K = $7F ;64K RAM
CKRNLBASIOIN = $40 ;kernal, I/O and basic ROM's mapped into memory
CKRNLIOIN = $4E ;Kernal ROM and I/O space mapped in
;values of faultData - pointer position vs. mouseTop/Bottom/Left/Right
; bit numbers
OFFTOP_BIT = 7
OFFBOTTOM_BIT = 6
OFFLEFT_BIT = 5
OFFRIGHT_BIT = 4
OFFMENU_BIT = 3
; masks
SET_OFFTOP = %10000000
SET_OFFBOTTOM = %01000000
SET_OFFLEFT = %00100000
SET_OFFRIGHT = %00010000
SET_OFFMENU = %00001000
;values of currentMode
; bit numbers
UNDERLINE_BIT = 7
BOLD_BIT = 6
REVERSE_BIT = 5
ITALIC_BIT = 4
OUTLINE_BIT = 3
SUPERSCRIPT_BIT = 2
SUBSCRIPT_BIT = 1
; masks
SET_UNDERLINE = %10000000
SET_BOLD = %01000000
SET_REVERSE = %00100000
SET_ITALIC = %00010000
SET_OUTLINE = %00001000
SET_SUPERSCRIPT = %00000100
SET_SUBSCRIPT = %00000010
SET_PLAINTEXT = %00000000
;Process control variable
; bit numbers
RUNABLE_BIT = 7
BLOCKED_BIT = 6
FROZEN_BIT = 5
NOTIMER_BIT = 4
; masks
SET_RUNABLE = %10000000
SET_BLOCKED = %01000000
SET_FROZEN = %00100000
SET_NOTIMER = %00010000
;mouseOn
; bit numbers
MOUSEON_BIT = 7
MENUON_BIT = 6
ICONSON_BIT = 5
; masks
SET_MSE_ON = %10000000
SET_MENUON = %01000000
SET_ICONSON = %00100000
;pressFlag
; bit numbers
KEYPRESS_BIT = 7
INPUT_BIT = 6
MOUSE_BIT = 5
; masks
SET_KEYPRESS = %10000000
SET_INPUTCHG = %01000000
SET_MOUSE = %00100000
;dispBufferOn
ST_WRGS_FORE = $20
ST_WR_BACK = $40
ST_WR_FORE = $80
;alarmSetFlag
ALARMMASK = %00000100
;PutDecimal
;leading zeroes
SET_NOSURPRESS = %00000000
SET_SURPRESS = %01000000
;justification
SET_RIGHTJUST = %00000000
SET_LEFTJUST = %10000000
;icons, menus status flags
ST_FLASH = $80
ST_INVERT = $40
ST_LD_AT_ADDR = $01
ST_LD_DATA = $80
ST_PR_DATA = $40
ST_WR_PR = $40
;???
ADD1_W = $2000
DOUBLE_B = $80
DOUBLE_W = $8000
CLR_SAVE = %01000000
CONSTRAINED = %01000000
UN_CONSTRAINED = %00000000
FG_SAVE = %10000000
FUTURE1 = 7
FUTURE2 = 8
FUTURE3 = 9
FUTURE4 = 10
USELAST = 127
SHORTCUT = 128