llvm-mos-sdk
Macros | Enumerations
geos_constants.h File Reference
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for geos_constants.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define WORD(w)   (w & 0xff), (w >> 8)
 
#define STRINGIFY_AUX(x)   #x
 
#define STRINGIFY(x)   STRINGIFY_AUX(x)
 
#define RAM_64K   0x30 /** 64K RAM */
 
#define IO_IN   0x35 /** 60K RAM, 4K I/O space in */
 
#define KRNL_IO_IN   0x36 /** kernal and I/O mapped into memory */
 
#define KRNL_BAS_IO_IN   0x37 /** kernal, I/O and basic mapped into memory */
 
#define CIOIN   0x7E /** 60K RAM, 4K I/O space in */
 
#define CRAM64K   0x7F /** 64K RAM */
 
#define CKRNLBASIOIN
 
#define CKRNLIOIN   0x4E /** Kernal ROM and I/O space mapped in */
 
#define OFF_MY_TOP   0 /** offset to y pos of top of menu */
 
#define OFF_MY_BOT   1 /** offset to y pos of bottom of menu */
 
#define OFF_MX_LEFT   2 /** offset to x pos of left side of menu */
 
#define OFF_MX_RIGHT   4 /** offset to x pos of right side of menu */
 
#define OFF_NUM_M_ITEMS   6 /** offset to Alignment|Movement|Number of items */
 
#define OFF_1ST_M_ITEM
 
#define SET_RUNABLE   0b10000000 /** runable flag */
 
#define SET_BLOCKED   0b01000000 /** process blocked flag */
 
#define SET_FROZEN   0b00100000 /** process frozen flag */
 
#define SET_NOTIMER   0b00010000 /** not a timed process flag */
 
#define RUNABLE_BIT   7 /** runable flag */
 
#define BLOCKED_BIT   6 /** process blocked flag */
 
#define FROZEN_BIT   5 /** process frozen flag */
 
#define NOTIMER_BIT   4 /** not a timed process flag */
 
#define SET_UNDERLINE   0b10000000
 
#define SET_BOLD   0b01000000
 
#define SET_REVERSE   0b00100000
 
#define SET_ITALIC   0b00010000
 
#define SET_OUTLINE   0b00001000
 
#define SET_SUPERSCRIPT   0b00000100
 
#define SET_SUBSCRIPT   0b00000010
 
#define SET_PLAINTEXT   0b00000000
 
#define UNDERLINE_BIT   7
 
#define BOLD_BIT   6
 
#define REVERSE_BIT   5
 
#define ITALIC_BIT   4
 
#define OUTLINE_BIT   3
 
#define SUPERSCRIPT_BIT   2
 
#define SUBSCRIPT_BIT   1
 
#define EOF   0 /** end of text object */
 
#define BACKSPACE   8 /** move left a card */
 
#define TAB   9
 
#define FORWARDSPACE   9 /** move right one card */
 
#define LF   10 /** move down a card row */
 
#define HOME   11 /** move to top left corner of screen */
 
#define UPLINE   12 /** move up a card line */
 
#define PAGE_BREAK   12 /** page break */
 
#define CR   13 /** move to beginning of next card row */
 
#define ULINEON   14 /** turn on underlining */
 
#define ULINEOFF   15 /** turn off underlining */
 
#define ESC_GRAPHICS   16 /** escape code for grahics string */
 
#define ESC_RULER   17 /** ruler escape */
 
#define REV_ON   18 /** turn on reverse video */
 
#define REV_OFF   19 /** turn off reverse video */
 
#define GOTOX   20 /** use next byte as 1+x cursor */
 
#define GOTOY   21 /** use next byte as 1+y cursor */
 
#define GOTOXY   22 /** use next bytes as 1+x and 1+y cursor */
 
#define NEWCARDSET   23 /** use next 2 bytes as new font id */
 
#define BOLDON   24 /** turn on BOLD characters */
 
#define ITALICON   25 /** turn on ITALIC characters */
 
#define OUTLINEON   26 /** turn on OUTLINE characters */
 
#define PLAINTEXT   27 /** plain text mode */
 
#define USELAST   127 /** erase character */
 
#define SHORTCUT   128 /** shortcut character */
 
#define KEY_INVALID   31
 
#define KEY_F1   1
 
#define KEY_F2   2
 
#define KEY_F3   3
 
#define KEY_F4   4
 
#define KEY_F5   5
 
#define KEY_F6   6
 
#define KEY_NOSCRL   7
 
#define KEY_TAB   9
 
#define KEY_LF   10
 
#define KEY_ENTER   11
 
#define KEY_F7   14
 
#define KEY_F8   15
 
#define KEY_UP   16
 
#define KEY_DOWN   17
 
#define KEY_HOME   18
 
#define KEY_CLEAR   19
 
#define KEY_LARROW   20
 
#define KEY_UPARROR   21
 
#define KEY_STOP   22
 
#define KEY_RUN   23
 
#define KEY_BPS   24
 
#define KEY_LEFT   BACKSPACE
 
#define KEY_HELP   25
 
#define KEY_ALT   26
 
#define KEY_ESC   27
 
#define KEY_RIGHT   30
 
#define KEY_DELETE   29
 
#define KEY_INSERT   28
 
#define SET_MSE_ON   0b10000000
 
#define SET_MENUON   0b01000000
 
#define SET_ICONSON   0b00100000
 
#define MOUSEON_BIT   7
 
#define MENUON_BIT   6
 
#define ICONSON_BIT   5
 
#define SC_BYTE_WIDTH   40 /** width of screen in bytes */
 
#define SC_PIX_HEIGHT   200 /** width of screen in pixels */
 
#define SC_PIX_WIDTH   320 /** height of screen in scanlines */
 
#define SC_SIZE   8000 /** size of screen memory in bytes */
 
#define SCREENBYTEWIDTH   80 /** width of screen in bytes */
 
#define SCREENPIXELWIDTH   640 /** width of screen in pixels */
 
#define ST_WR_FORE   0x80 /** write to foreground */
 
#define ST_WR_BACK   0x40 /** write to background */
 
#define ST_WRGS_FORE   0x20 /** graphic strings only write to foreground */
 
#define MOVEPENTO   1 /** move pen to x,y */
 
#define LINETO   2 /** draw line to x,y */
 
#define RECTANGLETO   3 /** draw rectangle to x,y */
 
#define NEWPATTERN   5 /** set a new pattern */
 
#define ESC_PUTSTRING   6 /** start putstring interpretation */
 
#define FRAME_RECTO   7 /** draw frame of rectangle */
 
#define PEN_X_DELTA   8 /** move pen to signed word delta in x */
 
#define PEN_Y_DELTA   9 /** move pen to signed word delta in y */
 
#define PEN_XY_DELTA   10 /** move pen to signed word delta in x,y */
 
#define BLACK   0
 
#define WHITE   1
 
#define RED   2
 
#define CYAN   3
 
#define PURPLE   4
 
#define GREEN   5
 
#define BLUE   6
 
#define YELLOW   7
 
#define ORANGE   8
 
#define BROWN   9
 
#define LTRED   10
 
#define DKGREY   11
 
#define GREY   12
 
#define MEDGREY   12
 
#define LTGREEN   13
 
#define LTBLUE   14
 
#define LTGREY   15
 
#define SET_LEFTJUST   0b10000000 /** left justified */
 
#define SET_RIGHTJUST   0b00000000 /** right justified */
 
#define SET_SURPRESS   0b01000000 /** no leading 0's */
 
#define SET_NOSURPRESS   0b00000000 /** leading 0's */
 
#define ST_FLASH   0x80 /** bit to indicate icon should flash */
 
#define ST_INVERT   0x40 /** bit to indicate icon should be inverted */
 
#define OFF_NM_ICNS   0 /** number of icons in structure */
 
#define OFF_IC_XMOUSE   1 /** mouse x start position */
 
#define OFF_IC_YMOUSE   3 /** mouse y start position */
 
#define OFF_PIC_ICON   0 /** picture pointer for icon */
 
#define OFF_X_ICON_POS   2 /** x position of icon */
 
#define OFF_Y_ICON_POS   3 /** y position of icon */
 
#define OFF_WDTH_ICON   4 /** width of icon */
 
#define OFF_HEIGHT_ICON   5 /** height of icon */
 
#define OFF_SRV_RT_ICON   6 /** pointer to service routine for icon */
 
#define OFF_NX_ICON   8 /** next icon in icon structure */
 
#define KEYPRESS_BIT   7 /** other keypress */
 
#define INPUT_BIT   6 /** input device change */
 
#define MOUSE_BIT   5 /** mouse press */
 
#define SET_KEYPRESS   0b10000000 /** other keypress */
 
#define SET_INPUTCHG   0b01000000 /** input device change */
 
#define SET_MOUSE   0b00100000 /** mouse press */
 
#define OFFTOP_BIT   7 /** mouse fault up */
 
#define OFFBOTTOM_BIT   6 /** mouse fault down */
 
#define OFFLEFT_BIT   5 /** mouse fault left */
 
#define OFFRIGHT_BIT   4 /** mouse fault right */
 
#define OFFMENU_BIT   3 /** menu fault */
 
#define SET_OFFTOP   0b10000000 /** mouse fault up */
 
#define SET_OFFBOTTOM   0b01000000 /** mouse fault down */
 
#define SET_OFFLEFT   0b00100000 /** mouse fault left */
 
#define SET_OFFRIGHT   0b00010000 /** mouse fault right */
 
#define SET_OFFMENU   0b00001000 /** menu fault */
 
#define ANY_FAULT   0b11110000
 
#define TOTAL_BLOCKS
 
#define OFF_TO_BAM   4 /** first BAM entry */
 
#define OFF_DISK_NAME   144 /** disk name string */
 
#define OFF_OP_TR_SC
 
#define OFF_GS_ID   173 /** where GEOS ID string is located */
 
#define OFF_GS_DTYPE
 
#define ST_WR_PR
 
#define OFF_CFILE_TYPE   0 /** standard commodore file type indicator */
 
#define OFF_INDEX_PTR   1 /** index table pointer (VLIR file) */
 
#define OFF_DE_TR_SC   1 /** track for file´s 1st data block */
 
#define OFF_FNAME   3 /** file name */
 
#define OFF_GHDR_PTR   19 /** track/sector info on where header block is */
 
#define OFF_GSTRUC_TYPE   21 /** GEOS file structure type */
 
#define OFF_GFILE_TYPE   22 /** geos file type indicator */
 
#define OFF_YEAR   23 /** year (first byte of date stamp) */
 
#define OFF_SIZE   28 /** size of file in blocks */
 
#define OFF_NXT_FILE   32 /** next file entry in directory structure */
 
#define FRST_FILE_ENTRY   2 /** first dir entry is at byte #2 */
 
#define O_GHIC_WIDTH   2 /** byte: width in bytes of file icon */
 
#define O_GHIC_HEIGHT   3 /** byte: indicates height of file icon */
 
#define O_GHIC_PIC   4 /** 64 bytes: picture data for file icon */
 
#define O_GHCMDR_TYPE   68 /** byte: Comm. file type */
 
#define O_GHGEOS_TYPE   69 /** byte: GEOS file type */
 
#define O_GHSTR_TYPE   70 /** byte: GEOS file structure type */
 
#define O_GHST_ADDR   71 /** 2 bytes: start address of file in mem */
 
#define O_GHEND_ADDR   73 /** 2 bytes: end address of file on memory */
 
#define O_GHST_VEC   75 /** 2 bytes: init vector if file is appl. */
 
#define O_GHFNAME   77 /** 20 bytes, permanent file name */
 
#define O_128_FLAGS
 
#define O_GH_AUTHOR   97 /** 20 bytes: author´s name (only if is applic.) */
 
#define O_GHINFO_TXT
 
#define O_GHP_DISK   97 /** 20 bytes: disk name of parent application´s disk */
 
#define O_GHP_FNAME
 
#define ST_LD_AT_ADDR
 
#define ST_LD_DATA
 
#define ST_PR_DATA
 
#define DK_NM_ID_LEN   18 /** # of characters in disk name */
 
#define DRV_NULL   0 /** No drive present at this device address */
 
#define DRV_1541   1 /** Drive type Commodore 1541 */
 
#define DRV_1571   2 /** Drive type Commodore 1571 */
 
#define DRV_1581   3 /** Drive type Commodore 1581 */
 
#define DRV_NETWORK   15 /** Drive type for GEOS getNet "drive" */
 
#define N_TRACKS   35 /** # of tracks available on the 1541 disk */
 
#define DIR_TRACK   18 /** track # reserved on disk for directory */
 
#define DIR_1581_TRACK
 
#define MAX_CMND_STR   32 /** maximum length a command string would have */
 
#define DIR_ACC_CHAN   13 /** default direct access channel */
 
#define REL_FILE_NUM   9 /** logical file number & channel used for relative files. */
 
#define CMND_FILE_NUM   15 /** logical file number & channel used for command files. */
 
#define TRACK   9 /** offset to low byte decimal ASCII track number */
 
#define SECTOR   12 /** offset to low byte decimal ASCII sector number */
 
#define DEF_DB_POS   0x80 /** command for default dialog box position */
 
#define SET_DB_POS   0 /** command for user-set DB position */
 
#define OK
 
#define CANCEL   2 /** Like OK, system DB icon, position follows */
 
#define YES   3 /** Like OK, system DB icon, position follows */
 
#define NO   4 /** Like OK, system DB icon, position follows */
 
#define OPEN   5 /** Like OK, system DB icon, position follows */
 
#define DISK   6 /** Like OK, system DB icon, position follows */
 
#define FUTURE1   7 /** reserved for future system icons */
 
#define FUTURE2   8 /** reserved for future system icons */
 
#define FUTURE3   9 /** reserved for future system icons */
 
#define FUTURE4   10 /** reserved for future system icons */
 
#define DBTXTSTR   11 /** Command to display a text string. */
 
#define DBVARSTR   12 /** Used to put out variant string. */
 
#define DBGETSTRING   13 /** Get an ASCII string from the user. */
 
#define DBSYSOPV   14 /** Any press not over an icon return to applic. */
 
#define DBGRPHSTR   15 /** Execute graphics string. */
 
#define DBGETFILES   16 /** Get filename from user. */
 
#define DBOPVEC   17 /** User defined other press vector. */
 
#define DBUSRICON   18 /** User defined icon. */
 
#define DB_USR_ROUT   19 /** User defined routine. */
 
#define OFF_DB_FORM   0 /** box form description, i.e. shadow or not */
 
#define OFF_DB_TOP   1 /** position for top of dialog box */
 
#define OFF_DB_BOT   2 /** position for bottom of dialog box */
 
#define OFF_DB_LEFT   3 /** position for left of dialog box */
 
#define OFF_DB_RIGHT   5 /** position for right of dialog box */
 
#define OFF_DB_1STCMD   7 /** 1st command in dialog box descriptor table */
 
#define SYSDBI_WIDTH   6 /** height in pixels */
 
#define SYSDBI_HEIGHT   16 /** width in bytes */
 
#define DEF_DB_TOP   32 /** top y coordinate of default box */
 
#define DEF_DB_BOT   127 /** bottom y coordinate of default box */
 
#define DEF_DB_LEFT   64 /** left edge of default box */
 
#define DEF_DB_RIGHT   255 /** right edge of default box */
 
#define TXT_LN_X   16 /** standard text x start */
 
#define TXT_LN_1_Y   16 /** standard text line y offsets */
 
#define TXT_LN_2_Y   32
 
#define TXT_LN_3_Y   48
 
#define TXT_LN_4_Y   64
 
#define TXT_LN_5_Y   80
 
#define DBI_X_0   1 /** left side standard icon x position */
 
#define DBI_X_1   9 /** center standard icon x position */
 
#define DBI_X_2   17 /** right side standard icon x position */
 
#define DBI_Y_0   8 /** left side standard icon y position */
 
#define DBI_Y_1   40 /** center standard icon y position */
 
#define DBI_Y_2   72 /** right side standard icon y position */
 
#define DB_NAME(name)
 
#define DB_NAME_SECT(name, sect)
 
#define DB_END(name)   asm(".byte 0\n.size " STRINGIFY(name) ", . - " STRINGIFY(name));
 
#define DB_DEFPOS(pattern)   asm(".byte 0x80|" STRINGIFY(pattern));
 
#define DB_SETPOS(pattern, top, bottom, left, right)
 
#define DB_ICON(icon, x, y)   asm(".byte " STRINGIFY(icon) "\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY(y));
 
#define DB_TXTSTR(x, y, text)
 
#define DB_VARSTR(x, y, zp_ptr)
 
#define DB_GETSTR(x, y, zp_ptr, length)
 
#define DB_SYSOPV()   asm(".byte 14");
 
#define DB_GRPHSTR(ptr)   asm(".byte 15\n.short " STRINGIFY(ptr));
 
#define DB_GETFILES(x, y)   asm(".byte 16\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY(y));
 
#define DB_OPVEC(ptr)   asm(".byte 17\n.short " STRINGIFY(ptr));
 
#define DB_USRICON(x, y, icon_ptr)
 
#define DB_USRROUT(ptr)   asm(".byte 19\n.short " STRINGIFY(ptr));
 
#define GRBANK0   0b11 /** bits indicate VIC ram is 0x0000-0x3fff, 1st 16K */
 
#define GRBANK1   0b10 /** bits indicate VIC ram is 0x4000-0x7fff, 2nd 16K */
 
#define GRBANK2   0b01 /** bits indicate VIC ram is 0x8000-0xbfff, 3rd 16K */
 
#define GRBANK3   0b00 /** bits indicate VIC ram is 0xc000-0xffff, 4th 16K */
 
#define MOUSE_SPRNUM   0 /** sprite no. used for mouse (used to set VIC) */
 
#define VIC_YPOS_OFF
 
#define VIC_XPOS_OFF
 
#define ALARMMASK
 
#define FG_SAVE   0b10000000 /** save and restore foreground graphics data. */
 
#define CLR_SAVE   0b01000000 /** save and restore color information. */
 
#define ADD1_W   0x2000
 
#define ADD1_B   0x20
 
#define DOUBLE_W   0x8000
 
#define DOUBLE_B   0x80
 
#define ARROW   0 /** pass this to SetMsePic */
 
#define GR_40   0 /** use these two to test */
 
#define GR_80   0x80 /** graphMode */
 
#define CLICK_COUNT   30
 
#define DISK_DRV_LGH   0x0d80
 
#define OS_VARS_LGH   0x0500
 

Enumerations

enum  menu_type_t { HORIZONTAL = 0b00000000, VERTICAL = 0b10000000, CONSTRAINED = 0b01000000, UN_CONSTRAINED = 0b00000000 }
 
enum  menu_action_t { MENU_ACTION = 0x00, DYN_SUB_MENU = 0x40, SUB_MENU = 0x80 }
 
enum  geos_file_type_t {
  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
}
 
enum  file_structure_t { SEQUENTIAL, VLIR }
 
enum  dos_file_type_t {
  DEL, SEQ, PRG, USR,
  REL, CBM
}
 
enum  disk_err_t {
  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 = 0x20, NO_SYNC = 0x21,
  DBLK_NOT_THERE = 0x22, DAT_CHKSUM_ERR = 0x23, WR_VER_ERR = 0x25, WR_PR_ON = 0x26,
  HDR_CHKSUM_ERR = 0x27, DSK_ID_MISMAT = 0x29, BYTE_DEC_ERR = 0x2e, DOS_MISMATCH = 0x73
}
 

Macro Definition Documentation

◆ ADD1_B

#define ADD1_B   0x20

◆ ADD1_W

#define ADD1_W   0x2000

◆ ALARMMASK

#define ALARMMASK
Value:
0b00000100

◆ ANY_FAULT

#define ANY_FAULT   0b11110000

◆ ARROW

#define ARROW   0 /** pass this to SetMsePic */

◆ BACKSPACE

#define BACKSPACE   8 /** move left a card */

◆ BLACK

#define BLACK   0

Screen colors

◆ BLOCKED_BIT

#define BLOCKED_BIT   6 /** process blocked flag */

◆ BLUE

#define BLUE   6

◆ BOLD_BIT

#define BOLD_BIT   6

◆ BOLDON

#define BOLDON   24 /** turn on BOLD characters */

◆ BROWN

#define BROWN   9

◆ CANCEL

#define CANCEL   2 /** Like OK, system DB icon, position follows */

◆ CIOIN

#define CIOIN   0x7E /** 60K RAM, 4K I/O space in */

values for config - C128 mmu

◆ CKRNLBASIOIN

#define CKRNLBASIOIN
Value:
0x40

◆ CKRNLIOIN

#define CKRNLIOIN   0x4E /** Kernal ROM and I/O space mapped in */

◆ CLICK_COUNT

#define CLICK_COUNT   30

◆ CLR_SAVE

#define CLR_SAVE   0b01000000 /** save and restore color information. */

◆ CMND_FILE_NUM

#define CMND_FILE_NUM   15 /** logical file number & channel used for command files. */

◆ CR

#define CR   13 /** move to beginning of next card row */

◆ CRAM64K

#define CRAM64K   0x7F /** 64K RAM */

◆ CYAN

#define CYAN   3

◆ DB_DEFPOS

#define DB_DEFPOS (   pattern)    asm(".byte 0x80|" STRINGIFY(pattern));

◆ DB_END

#define DB_END (   name)    asm(".byte 0\n.size " STRINGIFY(name) ", . - " STRINGIFY(name));

◆ DB_GETFILES

#define DB_GETFILES (   x,
  y 
)    asm(".byte 16\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY(y));

◆ DB_GETSTR

#define DB_GETSTR (   x,
  y,
  zp_ptr,
  length 
)
Value:
asm(".byte 13\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY( \
y) "\n.byte " STRINGIFY(zp_ptr) "\n.byte " STRINGIFY(length));

◆ DB_GRPHSTR

#define DB_GRPHSTR (   ptr)    asm(".byte 15\n.short " STRINGIFY(ptr));

◆ DB_ICON

#define DB_ICON (   icon,
  x,
  y 
)    asm(".byte " STRINGIFY(icon) "\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY(y));

◆ DB_NAME

#define DB_NAME (   name)
Value:
extern uint8_t name[]; \
asm(".type " STRINGIFY(name) ",@object\n.section .data." STRINGIFY( \
name) ",\"aw\",@progbits\n" STRINGIFY(name) ":");

◆ DB_NAME_SECT

#define DB_NAME_SECT (   name,
  sect 
)
Value:
extern uint8_t name[]; \
asm(".type " STRINGIFY(name) ",@object\n.section ." STRINGIFY( \
sect) "." STRINGIFY(name) ",\"aw\",@progbits\n" STRINGIFY(name) ":");

◆ DB_OPVEC

#define DB_OPVEC (   ptr)    asm(".byte 17\n.short " STRINGIFY(ptr));

◆ DB_SETPOS

#define DB_SETPOS (   pattern,
  top,
  bottom,
  left,
  right 
)
Value:
asm(".byte " STRINGIFY(pattern) "\n.byte " STRINGIFY( \
top) "\n.byte " STRINGIFY(bottom) "\n.word " STRINGIFY(left) "\n." \
"word" \
" " STRINGIFY( \
right));

◆ DB_SYSOPV

#define DB_SYSOPV ( )    asm(".byte 14");

◆ DB_TXTSTR

#define DB_TXTSTR (   x,
  y,
  text 
)
Value:
asm(".byte 11\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY( \
y) "\n.short " STRINGIFY(text));

◆ DB_USR_ROUT

#define DB_USR_ROUT   19 /** User defined routine. */

◆ DB_USRICON

#define DB_USRICON (   x,
  y,
  icon_ptr 
)
Value:
asm(".byte 18\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY( \
y) "\n.short " STRINGIFY(icon_ptr));

◆ DB_USRROUT

#define DB_USRROUT (   ptr)    asm(".byte 19\n.short " STRINGIFY(ptr));

◆ DB_VARSTR

#define DB_VARSTR (   x,
  y,
  zp_ptr 
)
Value:
asm(".byte 12\n.byte " STRINGIFY(x) "\n.byte " STRINGIFY( \
y) "\n.byte " STRINGIFY(zp_ptr));

◆ DBGETFILES

#define DBGETFILES   16 /** Get filename from user. */

◆ DBGETSTRING

#define DBGETSTRING   13 /** Get an ASCII string from the user. */

◆ DBGRPHSTR

#define DBGRPHSTR   15 /** Execute graphics string. */

◆ DBI_X_0

#define DBI_X_0   1 /** left side standard icon x position */

byte offsets to...

◆ DBI_X_1

#define DBI_X_1   9 /** center standard icon x position */

◆ DBI_X_2

#define DBI_X_2   17 /** right side standard icon x position */

◆ DBI_Y_0

#define DBI_Y_0   8 /** left side standard icon y position */

◆ DBI_Y_1

#define DBI_Y_1   40 /** center standard icon y position */

◆ DBI_Y_2

#define DBI_Y_2   72 /** right side standard icon y position */

◆ DBOPVEC

#define DBOPVEC   17 /** User defined other press vector. */

◆ DBSYSOPV

#define DBSYSOPV   14 /** Any press not over an icon return to applic. */

◆ DBTXTSTR

#define DBTXTSTR   11 /** Command to display a text string. */

More dialog box descriptor table commands

◆ DBUSRICON

#define DBUSRICON   18 /** User defined icon. */

◆ DBVARSTR

#define DBVARSTR   12 /** Used to put out variant string. */

◆ DEF_DB_BOT

#define DEF_DB_BOT   127 /** bottom y coordinate of default box */

◆ DEF_DB_LEFT

#define DEF_DB_LEFT   64 /** left edge of default box */

◆ DEF_DB_POS

#define DEF_DB_POS   0x80 /** command for default dialog box position */

◆ DEF_DB_RIGHT

#define DEF_DB_RIGHT   255 /** right edge of default box */

◆ DEF_DB_TOP

#define DEF_DB_TOP   32 /** top y coordinate of default box */

These equates define a standard, default, dialog box position and size as well as some standard positions within the box for outputting text and icons.

◆ DIR_1581_TRACK

#define DIR_1581_TRACK
Value:
40

◆ DIR_ACC_CHAN

#define DIR_ACC_CHAN   13 /** default direct access channel */

◆ DIR_TRACK

#define DIR_TRACK   18 /** track # reserved on disk for directory */

◆ DISK

#define DISK   6 /** Like OK, system DB icon, position follows */

◆ DISK_DRV_LGH

#define DISK_DRV_LGH   0x0d80

◆ DK_NM_ID_LEN

#define DK_NM_ID_LEN   18 /** # of characters in disk name */

◆ DKGREY

#define DKGREY   11

◆ DOUBLE_B

#define DOUBLE_B   0x80

◆ DOUBLE_W

#define DOUBLE_W   0x8000

◆ DRV_1541

#define DRV_1541   1 /** Drive type Commodore 1541 */

◆ DRV_1571

#define DRV_1571   2 /** Drive type Commodore 1571 */

◆ DRV_1581

#define DRV_1581   3 /** Drive type Commodore 1581 */

◆ DRV_NETWORK

#define DRV_NETWORK   15 /** Drive type for GEOS getNet "drive" */

◆ DRV_NULL

#define DRV_NULL   0 /** No drive present at this device address */

Equates for variable "driveType". High two bits of driveType have special meaning (only 1 may be set): Bit 7: if 1, then RAM DISK Bit 6: if 1, then Shadowed disk

◆ EOF

#define EOF   0 /** end of text object */

Putchar constants

◆ ESC_GRAPHICS

#define ESC_GRAPHICS   16 /** escape code for grahics string */

◆ ESC_PUTSTRING

#define ESC_PUTSTRING   6 /** start putstring interpretation */

◆ ESC_RULER

#define ESC_RULER   17 /** ruler escape */

◆ FG_SAVE

#define FG_SAVE   0b10000000 /** save and restore foreground graphics data. */

Desk Accessoriy save foreground bit.

◆ FORWARDSPACE

#define FORWARDSPACE   9 /** move right one card */

◆ FRAME_RECTO

#define FRAME_RECTO   7 /** draw frame of rectangle */

◆ FROZEN_BIT

#define FROZEN_BIT   5 /** process frozen flag */

◆ FRST_FILE_ENTRY

#define FRST_FILE_ENTRY   2 /** first dir entry is at byte #2 */

Offsets into a directory block

◆ FUTURE1

#define FUTURE1   7 /** reserved for future system icons */

◆ FUTURE2

#define FUTURE2   8 /** reserved for future system icons */

◆ FUTURE3

#define FUTURE3   9 /** reserved for future system icons */

◆ FUTURE4

#define FUTURE4   10 /** reserved for future system icons */

◆ GOTOX

#define GOTOX   20 /** use next byte as 1+x cursor */

◆ GOTOXY

#define GOTOXY   22 /** use next bytes as 1+x and 1+y cursor */

◆ GOTOY

#define GOTOY   21 /** use next byte as 1+y cursor */

◆ GR_40

#define GR_40   0 /** use these two to test */

◆ GR_80

#define GR_80   0x80 /** graphMode */

◆ GRBANK0

#define GRBANK0   0b11 /** bits indicate VIC ram is 0x0000-0x3fff, 1st 16K */

◆ GRBANK1

#define GRBANK1   0b10 /** bits indicate VIC ram is 0x4000-0x7fff, 2nd 16K */

◆ GRBANK2

#define GRBANK2   0b01 /** bits indicate VIC ram is 0x8000-0xbfff, 3rd 16K */

◆ GRBANK3

#define GRBANK3   0b00 /** bits indicate VIC ram is 0xc000-0xffff, 4th 16K */

◆ GREEN

#define GREEN   5

◆ GREY

#define GREY   12

◆ HOME

#define HOME   11 /** move to top left corner of screen */

◆ ICONSON_BIT

#define ICONSON_BIT   5

◆ INPUT_BIT

#define INPUT_BIT   6 /** input device change */

◆ IO_IN

#define IO_IN   0x35 /** 60K RAM, 4K I/O space in */

◆ ITALIC_BIT

#define ITALIC_BIT   4

◆ ITALICON

#define ITALICON   25 /** turn on ITALIC characters */

◆ KEY_ALT

#define KEY_ALT   26

◆ KEY_BPS

#define KEY_BPS   24

◆ KEY_CLEAR

#define KEY_CLEAR   19

◆ KEY_DELETE

#define KEY_DELETE   29

◆ KEY_DOWN

#define KEY_DOWN   17

◆ KEY_ENTER

#define KEY_ENTER   11

◆ KEY_ESC

#define KEY_ESC   27

◆ KEY_F1

#define KEY_F1   1

◆ KEY_F2

#define KEY_F2   2

◆ KEY_F3

#define KEY_F3   3

◆ KEY_F4

#define KEY_F4   4

◆ KEY_F5

#define KEY_F5   5

◆ KEY_F6

#define KEY_F6   6

◆ KEY_F7

#define KEY_F7   14

◆ KEY_F8

#define KEY_F8   15

◆ KEY_HELP

#define KEY_HELP   25

◆ KEY_HOME

#define KEY_HOME   18

◆ KEY_INSERT

#define KEY_INSERT   28

◆ KEY_INVALID

#define KEY_INVALID   31

◆ KEY_LARROW

#define KEY_LARROW   20

◆ KEY_LEFT

#define KEY_LEFT   BACKSPACE

◆ KEY_LF

#define KEY_LF   10

◆ KEY_NOSCRL

#define KEY_NOSCRL   7

◆ KEY_RIGHT

#define KEY_RIGHT   30

◆ KEY_RUN

#define KEY_RUN   23

◆ KEY_STOP

#define KEY_STOP   22

◆ KEY_TAB

#define KEY_TAB   9

◆ KEY_UP

#define KEY_UP   16

◆ KEY_UPARROR

#define KEY_UPARROR   21

◆ KEYPRESS_BIT

#define KEYPRESS_BIT   7 /** other keypress */

Values for pressFlag variable

◆ KRNL_BAS_IO_IN

#define KRNL_BAS_IO_IN   0x37 /** kernal, I/O and basic mapped into memory */

◆ KRNL_IO_IN

#define KRNL_IO_IN   0x36 /** kernal and I/O mapped into memory */

◆ LF

#define LF   10 /** move down a card row */

◆ LINETO

#define LINETO   2 /** draw line to x,y */

◆ LTBLUE

#define LTBLUE   14

◆ LTGREEN

#define LTGREEN   13

◆ LTGREY

#define LTGREY   15

◆ LTRED

#define LTRED   10

◆ MAX_CMND_STR

#define MAX_CMND_STR   32 /** maximum length a command string would have */

Disk access commands

◆ MEDGREY

#define MEDGREY   12

◆ MENUON_BIT

#define MENUON_BIT   6

◆ MOUSE_BIT

#define MOUSE_BIT   5 /** mouse press */

◆ MOUSE_SPRNUM

#define MOUSE_SPRNUM   0 /** sprite no. used for mouse (used to set VIC) */

◆ MOUSEON_BIT

#define MOUSEON_BIT   7

◆ MOVEPENTO

#define MOVEPENTO   1 /** move pen to x,y */

Values for graphics strings

◆ N_TRACKS

#define N_TRACKS   35 /** # of tracks available on the 1541 disk */

Constants used by low-level GEOS disk handling routines

◆ NEWCARDSET

#define NEWCARDSET   23 /** use next 2 bytes as new font id */

◆ NEWPATTERN

#define NEWPATTERN   5 /** set a new pattern */

◆ NO

#define NO   4 /** Like OK, system DB icon, position follows */

◆ NOTIMER_BIT

#define NOTIMER_BIT   4 /** not a timed process flag */

◆ O_128_FLAGS

#define O_128_FLAGS
Value:
96

◆ O_GH_AUTHOR

#define O_GH_AUTHOR   97 /** 20 bytes: author´s name (only if is applic.) */

◆ O_GHCMDR_TYPE

#define O_GHCMDR_TYPE   68 /** byte: Comm. file type */

◆ O_GHEND_ADDR

#define O_GHEND_ADDR   73 /** 2 bytes: end address of file on memory */

◆ O_GHFNAME

#define O_GHFNAME   77 /** 20 bytes, permanent file name */

◆ O_GHGEOS_TYPE

#define O_GHGEOS_TYPE   69 /** byte: GEOS file type */

◆ O_GHIC_HEIGHT

#define O_GHIC_HEIGHT   3 /** byte: indicates height of file icon */

◆ O_GHIC_PIC

#define O_GHIC_PIC   4 /** 64 bytes: picture data for file icon */

◆ O_GHIC_WIDTH

#define O_GHIC_WIDTH   2 /** byte: width in bytes of file icon */

offsets into GEOS file header block

◆ O_GHINFO_TXT

#define O_GHINFO_TXT
Value:
0xa0

◆ O_GHP_DISK

#define O_GHP_DISK   97 /** 20 bytes: disk name of parent application´s disk */

if file is an application data file:

◆ O_GHP_FNAME

#define O_GHP_FNAME
Value:
117

◆ O_GHST_ADDR

#define O_GHST_ADDR   71 /** 2 bytes: start address of file in mem */

◆ O_GHST_VEC

#define O_GHST_VEC   75 /** 2 bytes: init vector if file is appl. */

◆ O_GHSTR_TYPE

#define O_GHSTR_TYPE   70 /** byte: GEOS file structure type */

◆ OFF_1ST_M_ITEM

#define OFF_1ST_M_ITEM
Value:
7

◆ OFF_CFILE_TYPE

#define OFF_CFILE_TYPE   0 /** standard commodore file type indicator */

Offsets within a specific file´s Directory Entry.

◆ OFF_DB_1STCMD

#define OFF_DB_1STCMD   7 /** 1st command in dialog box descriptor table */

◆ OFF_DB_BOT

#define OFF_DB_BOT   2 /** position for bottom of dialog box */

◆ OFF_DB_FORM

#define OFF_DB_FORM   0 /** box form description, i.e. shadow or not */

The following equates are used to specify offsets into a dialog box desciptor table

◆ OFF_DB_LEFT

#define OFF_DB_LEFT   3 /** position for left of dialog box */

◆ OFF_DB_RIGHT

#define OFF_DB_RIGHT   5 /** position for right of dialog box */

◆ OFF_DB_TOP

#define OFF_DB_TOP   1 /** position for top of dialog box */

◆ OFF_DE_TR_SC

#define OFF_DE_TR_SC   1 /** track for file´s 1st data block */

◆ OFF_DISK_NAME

#define OFF_DISK_NAME   144 /** disk name string */

◆ OFF_FNAME

#define OFF_FNAME   3 /** file name */

◆ OFF_GFILE_TYPE

#define OFF_GFILE_TYPE   22 /** geos file type indicator */

◆ OFF_GHDR_PTR

#define OFF_GHDR_PTR   19 /** track/sector info on where header block is */

◆ OFF_GS_DTYPE

#define OFF_GS_DTYPE
Value:
189

◆ OFF_GS_ID

#define OFF_GS_ID   173 /** where GEOS ID string is located */

◆ OFF_GSTRUC_TYPE

#define OFF_GSTRUC_TYPE   21 /** GEOS file structure type */

◆ OFF_HEIGHT_ICON

#define OFF_HEIGHT_ICON   5 /** height of icon */

◆ OFF_IC_XMOUSE

#define OFF_IC_XMOUSE   1 /** mouse x start position */

◆ OFF_IC_YMOUSE

#define OFF_IC_YMOUSE   3 /** mouse y start position */

◆ OFF_INDEX_PTR

#define OFF_INDEX_PTR   1 /** index table pointer (VLIR file) */

◆ OFF_MX_LEFT

#define OFF_MX_LEFT   2 /** offset to x pos of left side of menu */

◆ OFF_MX_RIGHT

#define OFF_MX_RIGHT   4 /** offset to x pos of right side of menu */

◆ OFF_MY_BOT

#define OFF_MY_BOT   1 /** offset to y pos of bottom of menu */

◆ OFF_MY_TOP

#define OFF_MY_TOP   0 /** offset to y pos of top of menu */

Offsets to variables in the menu structure

◆ OFF_NM_ICNS

#define OFF_NM_ICNS   0 /** number of icons in structure */

offset into the icon structure

◆ OFF_NUM_M_ITEMS

#define OFF_NUM_M_ITEMS   6 /** offset to Alignment|Movement|Number of items */

◆ OFF_NX_ICON

#define OFF_NX_ICON   8 /** next icon in icon structure */

◆ OFF_NXT_FILE

#define OFF_NXT_FILE   32 /** next file entry in directory structure */

◆ OFF_OP_TR_SC

#define OFF_OP_TR_SC
Value:
171

◆ OFF_PIC_ICON

#define OFF_PIC_ICON   0 /** picture pointer for icon */

Offsets into an icon record in icon structure

◆ OFF_SIZE

#define OFF_SIZE   28 /** size of file in blocks */

◆ OFF_SRV_RT_ICON

#define OFF_SRV_RT_ICON   6 /** pointer to service routine for icon */

◆ OFF_TO_BAM

#define OFF_TO_BAM   4 /** first BAM entry */

Offsets into directory header structure

◆ OFF_WDTH_ICON

#define OFF_WDTH_ICON   4 /** width of icon */

◆ OFF_X_ICON_POS

#define OFF_X_ICON_POS   2 /** x position of icon */

◆ OFF_Y_ICON_POS

#define OFF_Y_ICON_POS   3 /** y position of icon */

◆ OFF_YEAR

#define OFF_YEAR   23 /** year (first byte of date stamp) */

◆ OFFBOTTOM_BIT

#define OFFBOTTOM_BIT   6 /** mouse fault down */

◆ OFFLEFT_BIT

#define OFFLEFT_BIT   5 /** mouse fault left */

◆ OFFMENU_BIT

#define OFFMENU_BIT   3 /** menu fault */

◆ OFFRIGHT_BIT

#define OFFRIGHT_BIT   4 /** mouse fault right */

◆ OFFTOP_BIT

#define OFFTOP_BIT   7 /** mouse fault up */

values for faultFlag variable

◆ OK

#define OK
Value:
1

Doalog box descriptor table commands

◆ OPEN

#define OPEN   5 /** Like OK, system DB icon, position follows */

◆ ORANGE

#define ORANGE   8

◆ OS_VARS_LGH

#define OS_VARS_LGH   0x0500

◆ OUTLINE_BIT

#define OUTLINE_BIT   3

◆ OUTLINEON

#define OUTLINEON   26 /** turn on OUTLINE characters */

◆ PAGE_BREAK

#define PAGE_BREAK   12 /** page break */

◆ PEN_X_DELTA

#define PEN_X_DELTA   8 /** move pen to signed word delta in x */

◆ PEN_XY_DELTA

#define PEN_XY_DELTA   10 /** move pen to signed word delta in x,y */

◆ PEN_Y_DELTA

#define PEN_Y_DELTA   9 /** move pen to signed word delta in y */

◆ PLAINTEXT

#define PLAINTEXT   27 /** plain text mode */

◆ PURPLE

#define PURPLE   4

◆ RAM_64K

#define RAM_64K   0x30 /** 64K RAM */

values for CPU_DATA - C64 memory config

◆ RECTANGLETO

#define RECTANGLETO   3 /** draw rectangle to x,y */

◆ RED

#define RED   2

◆ REL_FILE_NUM

#define REL_FILE_NUM   9 /** logical file number & channel used for relative files. */

◆ REV_OFF

#define REV_OFF   19 /** turn off reverse video */

◆ REV_ON

#define REV_ON   18 /** turn on reverse video */

◆ REVERSE_BIT

#define REVERSE_BIT   5

◆ RUNABLE_BIT

#define RUNABLE_BIT   7 /** runable flag */

◆ SC_BYTE_WIDTH

#define SC_BYTE_WIDTH   40 /** width of screen in bytes */

Constants for screen size

◆ SC_PIX_HEIGHT

#define SC_PIX_HEIGHT   200 /** width of screen in pixels */

◆ SC_PIX_WIDTH

#define SC_PIX_WIDTH   320 /** height of screen in scanlines */

◆ SC_SIZE

#define SC_SIZE   8000 /** size of screen memory in bytes */

◆ SCREENBYTEWIDTH

#define SCREENBYTEWIDTH   80 /** width of screen in bytes */

128 screen size constants

◆ SCREENPIXELWIDTH

#define SCREENPIXELWIDTH   640 /** width of screen in pixels */

◆ SECTOR

#define SECTOR   12 /** offset to low byte decimal ASCII sector number */

◆ SET_BLOCKED

#define SET_BLOCKED   0b01000000 /** process blocked flag */

◆ SET_BOLD

#define SET_BOLD   0b01000000

◆ SET_DB_POS

#define SET_DB_POS   0 /** command for user-set DB position */

◆ SET_FROZEN

#define SET_FROZEN   0b00100000 /** process frozen flag */

◆ SET_ICONSON

#define SET_ICONSON   0b00100000

◆ SET_INPUTCHG

#define SET_INPUTCHG   0b01000000 /** input device change */

◆ SET_ITALIC

#define SET_ITALIC   0b00010000

◆ SET_KEYPRESS

#define SET_KEYPRESS   0b10000000 /** other keypress */

◆ SET_LEFTJUST

#define SET_LEFTJUST   0b10000000 /** left justified */

Values for PutDecimal calls

◆ SET_MENUON

#define SET_MENUON   0b01000000

◆ SET_MOUSE

#define SET_MOUSE   0b00100000 /** mouse press */

◆ SET_MSE_ON

#define SET_MSE_ON   0b10000000

Bit flags for mouseOn variable

◆ SET_NOSURPRESS

#define SET_NOSURPRESS   0b00000000 /** leading 0's */

◆ SET_NOTIMER

#define SET_NOTIMER   0b00010000 /** not a timed process flag */

◆ SET_OFFBOTTOM

#define SET_OFFBOTTOM   0b01000000 /** mouse fault down */

◆ SET_OFFLEFT

#define SET_OFFLEFT   0b00100000 /** mouse fault left */

◆ SET_OFFMENU

#define SET_OFFMENU   0b00001000 /** menu fault */

◆ SET_OFFRIGHT

#define SET_OFFRIGHT   0b00010000 /** mouse fault right */

◆ SET_OFFTOP

#define SET_OFFTOP   0b10000000 /** mouse fault up */

◆ SET_OUTLINE

#define SET_OUTLINE   0b00001000

◆ SET_PLAINTEXT

#define SET_PLAINTEXT   0b00000000

◆ SET_REVERSE

#define SET_REVERSE   0b00100000

◆ SET_RIGHTJUST

#define SET_RIGHTJUST   0b00000000 /** right justified */

◆ SET_RUNABLE

#define SET_RUNABLE   0b10000000 /** runable flag */

Possible values for processFlags

◆ SET_SUBSCRIPT

#define SET_SUBSCRIPT   0b00000010

◆ SET_SUPERSCRIPT

#define SET_SUPERSCRIPT   0b00000100

◆ SET_SURPRESS

#define SET_SURPRESS   0b01000000 /** no leading 0's */

◆ SET_UNDERLINE

#define SET_UNDERLINE   0b10000000

Bit flags in mode

◆ SHORTCUT

#define SHORTCUT   128 /** shortcut character */

◆ ST_FLASH

#define ST_FLASH   0x80 /** bit to indicate icon should flash */

These equates are bit values for iconSelFlag that determine how an icon selection is indicated to the user. If ST_FLASH is set, ST_INVERT is ineffective.

◆ ST_INVERT

#define ST_INVERT   0x40 /** bit to indicate icon should be inverted */

◆ ST_LD_AT_ADDR

#define ST_LD_AT_ADDR
Value:
0x01

The following equates define file loading options for several of the GEOS file handling routines like GetFile. These bit definitions are used to set the RAM variable loadOpt.

◆ ST_LD_DATA

#define ST_LD_DATA
Value:
0x80

◆ ST_PR_DATA

#define ST_PR_DATA
Value:
0x40

◆ ST_WR_BACK

#define ST_WR_BACK   0x40 /** write to background */

◆ ST_WR_FORE

#define ST_WR_FORE   0x80 /** write to foreground */

Bits used to set displayBufferOn flag (controls which screens get written to)

◆ ST_WR_PR

#define ST_WR_PR
Value:
0x40

◆ ST_WRGS_FORE

#define ST_WRGS_FORE   0x20 /** graphic strings only write to foreground */

◆ STRINGIFY

#define STRINGIFY (   x)    STRINGIFY_AUX(x)

◆ STRINGIFY_AUX

#define STRINGIFY_AUX (   x)    #x

◆ SUBSCRIPT_BIT

#define SUBSCRIPT_BIT   1

◆ SUPERSCRIPT_BIT

#define SUPERSCRIPT_BIT   2

◆ SYSDBI_HEIGHT

#define SYSDBI_HEIGHT   16 /** width in bytes */

◆ SYSDBI_WIDTH

#define SYSDBI_WIDTH   6 /** height in pixels */

The following equates speccify the dimensions of the system defined dialog box icons.

◆ TAB

#define TAB   9

◆ TOTAL_BLOCKS

#define TOTAL_BLOCKS
Value:
664

◆ TRACK

#define TRACK   9 /** offset to low byte decimal ASCII track number */

Index to a command buffer for setting the track and sector number for a direct access command

◆ TXT_LN_1_Y

#define TXT_LN_1_Y   16 /** standard text line y offsets */

◆ TXT_LN_2_Y

#define TXT_LN_2_Y   32

◆ TXT_LN_3_Y

#define TXT_LN_3_Y   48

◆ TXT_LN_4_Y

#define TXT_LN_4_Y   64

◆ TXT_LN_5_Y

#define TXT_LN_5_Y   80

◆ TXT_LN_X

#define TXT_LN_X   16 /** standard text x start */

◆ ULINEOFF

#define ULINEOFF   15 /** turn off underlining */

◆ ULINEON

#define ULINEON   14 /** turn on underlining */

◆ UNDERLINE_BIT

#define UNDERLINE_BIT   7

◆ UPLINE

#define UPLINE   12 /** move up a card line */

◆ USELAST

#define USELAST   127 /** erase character */

◆ VIC_XPOS_OFF

#define VIC_XPOS_OFF
Value:
24

◆ VIC_YPOS_OFF

#define VIC_YPOS_OFF
Value:
50

◆ WHITE

#define WHITE   1

◆ WORD

#define WORD (   w)    (w & 0xff), (w >> 8)

◆ YELLOW

#define YELLOW   7

◆ YES

#define YES   3 /** Like OK, system DB icon, position follows */

Enumeration Type Documentation

◆ disk_err_t

enum disk_err_t

The following equates are ERROR values returned from direct access routines

Enumerator
NO_BLOCKS 
INV_TRACK 

"not enough blocks"

INSUFF_SPACE 

"invalid track"

FULL_DIRECTORY 

"not enough blocks on disk"

FILE_NOT_FOUND 

"directory full"

BAD_BAM 

"file not found"

UNOPENED_VLIR 

"bad Block Availability Map"

INV_RECORD 

"unopened VLIR file"

OUT_OF_RECORDS 

"invalid record"

STRUCT_MISMAT 

"cannot insert/append more records"

BFR_OVERFLOW 

"file structure mismatch"

CANCEL_ERR 

"buffer overflow during load"

DEV_NOT_FOUND 

"deliberate cancel error"

INCOMPATIBLE 

"device not found"

HDR_NOT_THERE 

This error is returned when an attempt is made to load a program that can't be run on the current graphics modes under the C-128 GEOS.

NO_SYNC 

"cannot find file header block"

DBLK_NOT_THERE 

"can't find sync mark on disk"

DAT_CHKSUM_ERR 

"data block not present"

WR_VER_ERR 

"data block checksum error"

WR_PR_ON 

"write verify error"

HDR_CHKSUM_ERR 

"disk is write protected"

DSK_ID_MISMAT 

"checksum error in header block"

BYTE_DEC_ERR 

"disk ID mismatch"

DOS_MISMATCH 

"can't decode flux transitions off of disk"

◆ dos_file_type_t

Standard Commodore file types (supported by the old 1541 DOS)

Enumerator
DEL 
SEQ 

deleted file

PRG 

sequential file

USR 

program file

REL 

user file

CBM 

relative file cbm bam protection file, currently only on 1581 disk drivers. User to protect specific blocks/tracks from collection at validation time

◆ file_structure_t

GEOS file structure types. Each "structure type" specifies the organization of data blocks on the disk, and has nothing to do with the data in the blocks.

Enumerator
SEQUENTIAL 
VLIR 

standard T,S structure (like commodore SEQ and PRG files) Variable-length-indexed-record-file (user for Fonts, Documents & some programs) This is GEOS only format.

◆ geos_file_type_t

Enumerator
NOT_GEOS 
BASIC 

Old C-64 file, without GEOS header (PRG, SEQ, USR, REL) The following are GEOS file types reserved for compatibility with old C64 files, that have simply had a GEOS header placed on them. Users should be able to double click on files of type BASIC and ASSEMBLY, whereupon they will be fast-loaded and executed from under BASIC.

ASSEMBLY 

C-64 BASIC program, with a GEOS header attached. (Commodore file type PRG.) Tp be used on programs that were executed before GEOS with: LOAD "FILE",8 RUN

DATA 

C-64 ASSEMBLY program, with a GEOS header attached. (Commodore file type PRG.) Tp be used on programs that were executed before GEOS with: LOAD "FILE",8,1 SYS(Start Address)

SYSTEM 

Non-executable DATA file (PRG,SEQ, or USR) with a GEOS header attached for icon & notes ability. The following are file types for GEOS applications & system use: ALL files having one of these GEOS file types should be of Commodore file type USR.

DESK_ACC 

GEOS system file

APPLICATION 

GEOS desk accessory file

APPL_DATA 

GEOS application file

FONT 

data file for a GEOS application

PRINTER 

GEOS font file

INPUT_DEVICE 

GEOS printer driver

DISK_DEVICE 

INPUT device (mouse, etc.)

SYSTEM_BOOT 

DISK device driver

TEMPORARY 

GEOS system boot file (for GEOS, GEOS BOOT, GEOS KERNAL)

AUTO_EXEC 

Temporary file type, for swap files. The Desktop will automatically delete all files of this type upon opening a disk.

INPUT_128 

Applications automatically be loaded & run just after booting but before Desktop runs.

NUMFILETYPES 

128 Input driver

◆ menu_action_t

Types of menu actions

Enumerator
MENU_ACTION 
DYN_SUB_MENU 

for setting byte in menu table that indicates

SUB_MENU 

whether the menu item causes action

◆ menu_type_t

Menu types

Enumerator
HORIZONTAL 
VERTICAL 
CONSTRAINED 
UN_CONSTRAINED 
length
uint8_t uint16_t uint16_t length
Definition: bios.h:181
std::uint8_t
::uint8_t uint8_t
Definition: cstdint:21
x
byte x
Definition: api.h:26
y
byte byte y
Definition: api.h:26
STRINGIFY
#define STRINGIFY(x)
Definition: geos_constants.h:28