This commit was generated by cvs2svn to compensate for changes in r2,

which included commits to RCS files with non-trunk default branches.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2000-05-28 13:40:48 +00:00
parent 579491e8a4
commit 53dd513176
847 changed files with 91345 additions and 0 deletions

63
include/geos/gconst.h Normal file
View File

@@ -0,0 +1,63 @@
/*
GEOS constants, 4-2-99, 18-3-99
small C version: 25-27.10.99
reassembled by Maciej 'YTM/Alliance' Witkowiak
*/
/* Here are constants which didn't fit into any other cathegory... */
#ifndef _GCONST_H
#define _GCONST_H
#define NULL 0
#define FALSE NULL
#define TRUE 0xff
#define MOUSE_SPRNUM 0
#define DISK_DRV_LGH 0x0d80
/* drivetypes */
#define DRV_NULL 0
#define DRV_1541 1
#define DRV_1571 2
#define DRV_1581 3
#define DRV_NETWORK 15
/* various disk constants */
#define REL_FILE_NUM 9
#define CMND_FILE_NUM 15
#define MAX_CMND_STR 32
#define DIR_1581_TRACK 40
#define DIR_ACC_CHAN 13
#define DIR_TRACK 18
#define N_TRACKS 35
#define DK_NM_ID_LEN 18
#define TRACK 9
#define SECTOR 12
#define TOTAL_BLOCKS 664
/* offset to something */
#define OFF_INDEX_PTR 1
/* values for MMU config - C128 */
#define CIOIN 0x7E
#define CRAM64K 0x7F
#define CKRNLBASIOIN 0x40
#define CKRNLIOIN 0x4E
/* alarmSetFlag */
#define ALARMMASK 4
#define CLR_SAVE 0x40
#define CONSTRAINED 0x40
#define UN_CONSTRAINED 0
#define FG_SAVE 0x80
#define FUTURE1 7
#define FUTURE2 8
#define FUTURE3 9
#define FUTURE4 10
#define USELAST 127
#define SHORTCUT 128
#endif

81
include/geos/gdisk.h Normal file
View File

@@ -0,0 +1,81 @@
/*
GEOS functions from disk driver
ported to small C on 21.12.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GDISK_H
#define _GDISK_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
char __fastcall__ ReadBuff(struct tr_se *myTrSe);
char __fastcall__ WriteBuff(struct tr_se *myTrSe);
char __fastcall__ GetBlock(struct tr_se *myTrSe, char *buffer);
char __fastcall__ PutBlock(struct tr_se *myTrSe, char *buffer);
char __fastcall__ ReadBlock(struct tr_se *myTrSe, char *buffer);
char __fastcall__ WriteBlock(struct tr_se *myTrSe, char *buffer);
char __fastcall__ VerWriteBlock(struct tr_se *myTrSe, char *buffer);
int __fastcall__ CalcBlksFree(void);
char __fastcall__ ChkDkGEOS(void);
char __fastcall__ SetGEOSDisk(void);
char __fastcall__ NewDisk(void);
char __fastcall__ OpenDisk(void);
char __fastcall__ FindBAMBit(struct tr_se *myTrSe);
char __fastcall__ BlkAlloc(struct tr_se output[], int length);
char __fastcall__ NxtBlkAlloc(struct tr_se *startTrSe,
struct tr_se output[], int length);
char __fastcall__ FreeBlock(struct tr_se *myTrSe);
struct tr_se __fastcall__ SetNextFree(struct tr_se *myTrSe);
// above needs (int) casts on both sides of '='
char __fastcall__ GetDirHead(void);
char __fastcall__ PutDirHead(void);
void __fastcall__ GetPtrCurDkNm(char *name);
void __fastcall__ EnterTurbo(void);
void __fastcall__ ExitTurbo(void);
void __fastcall__ PurgeTurbo(void);
char __fastcall__ ChangeDiskDevice(char newdev);
/* disk header offsets */
#define OFF_TO_BAM 4
#define OFF_DISK_NAME 144
#define OFF_GS_DTYPE 189
#define OFF_OP_TR_SC 171
#define OFF_GS_ID 173
/* disk errors */
#define ANY_FAULT 0xf0
#define NO_BLOCKS 1
#define INV_TRACK 2
#define INSUFF_SPACE 3
#define FULL_DIRECTORY 4
#define FILE_NOT_FOUND 5
#define BAD_BAM 6
#define UNOPENED_VLIR 7
#define INV_RECORD 8
#define OUT_OF_RECORDS 9
#define STRUCT_MISMAT 10
#define BFR_OVERFLOW 11
#define CANCEL_ERR 12
#define DEV_NOT_FOUND 13
#define INCOMPATIBLE 14
#define HDR_NOT_THERE 0x20
#define NO_SYNC 0x21
#define DBLK_NOT_THERE 0x22
#define DAT_CHKSUM_ERR 0x23
#define WR_VER_ERR 0x25
#define WR_PR_ON 0x26
#define HDR_CHKSUM_ERR 0x27
#define DSK_ID_MISMAT 0x29
#define BYTE_DEC_ERR 0x2e
#define DOS_MISMATCH 0x73
#endif

102
include/geos/gdlgbox.h Normal file
View File

@@ -0,0 +1,102 @@
/*
GEOS dialog box functions
ported to small C on 26.12.1999
by Maciej 'YTM/Alliance' Witkowiak
10.03.2000 - update
*/
#ifndef _GDLGBOX_H
#define _GDLGBOX_H
char __fastcall__ DoDlgBox(char *dboxstring);
char __fastcall__ RstrFrmDialogue(void);
/* These are custom, predefined dialog boxes, I'm sure you'll find them usable
Most of them show 2 lines of text */
char __fastcall__ DlgBoxYesNo(char *line1, char *line2);
char __fastcall__ DlgBoxOkCancel(char *line1, char *line2);
void __fastcall__ DlgBoxOk(char *line1, char *line2);
char __fastcall__ DlgBoxGetString(char *myString, char strLength,
char *line1, char *line2);
char __fastcall__ DlgBoxFileSelect(char *classtxt, char ftype,
char *fname);
/* Now the command string type */
typedef void dlgBoxStr;
/* and command string commands - macros */
#define DB_DEFPOS(pattern) (char)(DEF_DB_POS | (pattern))
#define DB_SETPOS(pattern,top,bot,left,right) \
(char)(SET_DB_POS | (pattern)), (char)(top), (char)(bot), \
(unsigned)(left), (unsigned)(right)
#define DB_ICON(i,x,y) (char)(i), (char)(x), (char)(y)
#define DB_TXTSTR(x,y,text) (char)DBTXTSTR, (char)(x), (char)(y), (text)
#define DB_VARSTR(x,y,ptr) (char)DBVARSTR, (char)(x), (char)(y), (char)(ptr)
#define DB_GETSTR(x,y,ptr,length) (char)DBGETSTRING, (char)(x), (char)(y), (char)(ptr), (char)(length)
#define DB_SYSOPV(ptr) (char)DBSYSOPV, (unsigned)(ptr)
#define DB_GRPHSTR(ptr) (char)DBGRPHSTR, (unsigned)(ptr)
#define DB_GETFILES(x,y) (char)DBGETFILES, (char)(x), (char)(y)
#define DB_OPVEC(ptr) (char)DBOPVEC, (unsigned)(ptr)
#define DB_USRICON(x,y,ptr) (char)DBUSRICON, (char)(x), (char)(y), (unsigned)(ptr)
#define DB_USRROUT(ptr) (char)DB_USR_ROUT, (unsigned)(ptr)
#define DB_END (char)NULL
/*
part of constants below is used internally, but some are useful for macros above
*/
/* icons for DB_ICON */
#define OK 1
#define CANCEL 2
#define YES 3
#define NO 4
#define OPEN 5
#define DISK 6
/* commands - internally used by command macros */
#define DBTXTSTR 11
#define DBVARSTR 12
#define DBGETSTRING 13
#define DBSYSOPV 14
#define DBGRPHSTR 15
#define DBGETFILES 16
#define DBOPVEC 17
#define DBUSRICON 18
#define DB_USR_ROUT 19
/* icons tabulation in standard window */
#define DBI_X_0 1
#define DBI_X_1 9
#define DBI_X_2 17
#define DBI_Y_0 8
#define DBI_Y_1 40
#define DBI_Y_2 72
/* standard window size defaults */
#define SET_DB_POS 0
#define DEF_DB_POS 0x80
#define DEF_DB_TOP 32
#define DEF_DB_BOT 127
#define DEF_DB_LEFT 64
#define DEF_DB_RIGHT 255
/* text tabulation in standard window */
#define TXT_LN_1_Y 16
#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 TXT_LN_X 16
/* system icons size */
#define SYSDBI_HEIGHT 16
#define SYSDBI_WIDTH 6
/* dialogbox string offsets */
#define OFF_DB_FORM 0
#define OFF_DB_TOP 1
#define OFF_DB_BOT 2
#define OFF_DB_LEFT 3
#define OFF_DB_RIGHT 5
#define OFF_DB_1STCMD 7
#endif

101
include/geos/gfile.h Normal file
View File

@@ -0,0 +1,101 @@
/*
GEOS filesystem functions
ported to small C on 25.12.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GFILE_H
#define _GFILE_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
struct filehandle *__fastcall__ Get1stDirEntry(void);
struct filehandle *__fastcall__ GetNxtDirEntry(void);
char __fastcall__ FindFTypes(char *buffer, char ftype, char fmaxnum, char *classtxt);
char __fastcall__ FindFile(char *fname);
char __fastcall__ ReadFile(struct tr_se *myTrSe, char *buffer, int flength);
char __fastcall__ SaveFile(struct fileheader *myHeader);
char __fastcall__ FreeFile(struct tr_se myTable[]);
char __fastcall__ DeleteFile(char *fname);
char __fastcall__ RenameFile(char *source, char *target);
char __fastcall__ ReadByte(void);
char __fastcall__ FollowChain(struct tr_se *startTrSe, char *buffer);
char __fastcall__ GetFHdrInfo(struct filehandle *myFile);
char __fastcall__ OpenRecordFile(char *fname);
char __fastcall__ CloseRecordFile(void);
char __fastcall__ NextRecord(void);
char __fastcall__ PreviousRecord(void);
char __fastcall__ PointRecord(char);
char __fastcall__ DeleteRecord(void);
char __fastcall__ InsertRecord(void);
char __fastcall__ AppendRecord(void);
char __fastcall__ ReadRecord(char *buffer, int flength);
char __fastcall__ WriteRecord(char *buffer, int flength);
char __fastcall__ UpdateRecordFile(void);
/* GEOS filetypes */
#define NOT_GEOS 0
#define BASIC 1
#define ASSEMBLY 2
#define DATA 3
#define SYSTEM 4
#define DESK_ACC 5
#define APPLICATION 6
#define APPL_DATA 7
#define FONT 8
#define PRINTER 9
#define INPUT_DEVICE 10
#define DISK_DEVICE 11
#define SYSTEM_BOOT 12
#define TEMPORARY 13
#define AUTO_EXEC 14
#define INPUT_128 15
#define NUMFILETYPES 16
/* supported structures */
#define SEQUENTIAL 0
#define VLIR 1
/* DOS filetypes */
#define DEL 0
#define SEQ 1
#define PRG 2
#define USR 3
#define REL 4
#define CBM 5
/* directory offsets */
/* offsets in dir entry */
#define FRST_FILE_ENTRY 2
#define OFF_CFILE_TYPE 0
#define OFF_DE_TR_SC 1
#define OFF_FNAME 3
#define OFF_GHDR_PTR 19
#define OFF_GSTRUC_TYPE 21
#define OFF_GFILE_TYPE 22
#define OFF_YEAR 23
#define OFF_SIZE 28
#define OFF_NXT_FILE 32
/* offsets in file header */
#define O_GHIC_WIDTH 2
#define O_GHIC_HEIGHT 3
#define O_GHIC_PIC 4
#define O_GHCMDR_TYPE 68
#define O_GHGEOS_TYPE 69
#define O_GHSTR_TYPE 70
#define O_GHST_ADDR 71
#define O_GHEND_ADDR 73
#define O_GHST_VEC 75
#define O_GHFNAME 77
#define O_128_FLAGS 96
#define O_GH_AUTHOR 97
#define O_GHP_DISK 97
#define O_GHP_FNAME 117
#define O_GHINFO_TXT 0xa0
#endif

170
include/geos/ggraph.h Normal file
View File

@@ -0,0 +1,170 @@
/*
GEOS graphic (non icon/menu/sprite) functions
ported to small C on 29.10.1999
by Maciej 'YTM/Alliance' Witkowiak
10,11.03.2000 - updates
*/
#ifndef _GGRAPH_H
#define _GGRAPH_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
void __fastcall__ SetPattern(char newpattern);
void __fastcall__ HorizontalLine(char pattern, char y, int xstart, int xend);
void __fastcall__ InvertLine(char y, int xstart, int xend);
void __fastcall__ RecoverLine(char y, int xstart, int xend);
void __fastcall__ VerticalLine(char pattern, char ystart, char yend, int x);
void __fastcall__ InitDrawWindow(struct window *myRectangle);
void __fastcall__ Rectangle(void);
void __fastcall__ FrameRectangle(char pattern);
void __fastcall__ InvertRectangle(void);
void __fastcall__ ImprintRectangle(void);
void __fastcall__ RecoverRectangle(void);
void __fastcall__ DrawLine(struct window *topBotCoords);
void __fastcall__ DrawPoint(struct pixel *myPixel);
char __fastcall__ TestPoint(struct pixel *myPixel);
void __fastcall__ PutChar(char character, char y, int x);
void __fastcall__ PutString(char *myString, char y, int x);
void __fastcall__ PutDecimal(char style, int value, char y, int x);
char __fastcall__ GetCharWidth(char character);
void __fastcall__ LoadCharSet(struct fontdesc *myFont);
void __fastcall__ UseSystemFont(void);
void __fastcall__ BitmapUp(struct iconpic *myIcon);
void __fastcall__ BitmapClip(char skipl, char skipr, int skiptop,
struct iconpic *myIcon);
void __fastcall__ BitOtherClip(void *proc1, void *proc2, char skipl,
char skipr, int skiptop,
struct iconpic *myIcon);
void __fastcall__ GraphicsString(char *myGfxString);
/* VIC colour constants */
#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
/* VIC memory banks */
#define GRBANK0 3
#define GRBANK1 2
#define GRBANK2 1
#define GRBANK3 0
/* VIC screen sizes */
#define VIC_X_POS_OFF 24
#define VIC_Y_POS_OFF 50
#define SC_BYTE_WIDTH 40
#define SC_PIX_HEIGHT 200
#define SC_PIX_WIDTH 320
#define SC_SIZE 8000
/* VDC screen constants */
#define SCREENBYTEWIDTH 80
#define SCREENPIXELWIDTH 640
/* control characters for use as numbers, not chars */
#define EOF 0
#define BACKSPACE 8
#define FORWARDSPACE 9
#define TAB 9
#define LF 10
#define HOME 11
#define PAGE_BREAK 12
#define UPLINE 12
#define CR 13
#define ULINEON 14
#define ULINEOFF 15
#define ESC_GRAPHICS 16
#define ESC_RULER 17
#define REV_ON 18
#define REV_OFF 19
#define GOTOX 20
#define GOTOY 21
#define GOTOXY 22
#define NEWCARDSET 23
#define BOLDON 24
#define ITALICON 25
#define OUTLINEON 26
#define PLAINTEXT 27
/* control characters for use in
strings: eg: str[10]=BOLD "Hello"; */
#define CCR "\015"
#define CULINEON "\016"
#define CULINEOFF "\017"
#define CREV_ON "\022"
#define CREV_OFF "\023"
#define CBOLDON "\030"
#define CITALICON "\031"
#define COUTLINEON "\032"
#define CPLAINTEXT "\033"
/*values of currentMode */
/* bitNumbers */
#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
/* bitMasks */
#define SET_UNDERLINE 0x80
#define SET_BOLD 0x40
#define SET_REVERSE 0x20
#define SET_ITALIC 0x10
#define SET_OUTLINE 0x08
#define SET_SUPERSCRIPT 0x04
#define SET_SUBSCRIPT 0x02
#define SET_PLAINTEXT 0
/* values of dispBufferOn */
#define ST_WRGS_FORE 0x20
#define ST_WR_BACK 0x40
#define ST_WR_FORE 0x80
/* PutDecimal parameters */
/* leading 0s? */
#define SET_NOSURPRESS 0
#define SET_SURPRESS 0x40
/* justification */
#define SET_RIGHTJUST 0
#define SET_LEFTJUST 0x80
/* C128 x flags */
#define ADD1_W 0x2000
#define DOUBLE_B 0x80
#define DOUBLE_W 0x8000
typedef void graphicStr;
#define MOVEPENTO(x,y) (char)1, (unsigned)(x), (char)(y)
#define LINETO(x,y) (char)2, (unsigned)(x), (char)(y)
#define RECTANGLETO(x,y) (char)3, (unsigned)(x), (char)(y)
#define NEWPATTERN(p) (char)5, (char)(p)
#define FRAME_RECTO(x,y) (char)7, (unsigned)(x), (char)(y)
#define PEN_X_DELTA(x) (char)8, (unsigned)(x)
#define PEN_Y_DELTA(y) (char)9, (char)(y)
#define PEN_XY_DELTA(x,y) (char)10, (unsigned)(x), (char)(y)
#define GSTR_END (char)NULL
/* ESC_PUTSTRING can't be implemented - it needs text, not pointer to it
#define ESC_PUTSTRING(x,y,text) (char)6, (unsigned)(x), (char)(y), (text), (char)NULL
*/
#endif

33
include/geos/gmemory.h Normal file
View File

@@ -0,0 +1,33 @@
/*
GEOS memory and string functions
ported to small C on 27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GMEMORY_H
#define _GMEMORY_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
void __fastcall__ CopyString(char *dest, char *source);
void __fastcall__ CmpString(char *dest, char *source);
void __fastcall__ CopyFString(char len, char *dest, char *source);
void __fastcall__ CmpFString(char len, char *dest, char *source);
int __fastcall__ CRC(char *buffer, int len);
void __fastcall__ ClearRam(char *dest, int len);
void __fastcall__ FillRam(char what, char *dest, int len);
void __fastcall__ MoveData(char *source, char *dest, int len);
void __fastcall__ InitRam(char *myInitTab);
void __fastcall__ StashRAM(char REUBank, int len, char *reuaddy, char *cpuaddy);
void __fastcall__ FetchRAM(char REUBank, int len, char *reuaddy, char *cpuaddy);
void __fastcall__ SwapRAM(char REUBank, int len, char *reuaddy, char *cpuaddy);
char __fastcall__ VerifyRAM(char REUBank, int len, char *reuaddy, char *cpuaddy);
#endif

56
include/geos/gmenu.h Normal file
View File

@@ -0,0 +1,56 @@
/*
GEOS menu and icon functions
ported to small C on 27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GMENU_H
#define _GMENU_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
void __fastcall__ DoMenu(struct menu *myMenu);
void __fastcall__ ReDoMenu(void);
void __fastcall__ RecoverMenu(void);
void __fastcall__ RecoverAllMenus(void);
void __fastcall__ DoPreviousMenu(void);
void __fastcall__ GotoFirstMenu(void);
void __fastcall__ DoIcons(struct icontab *myIconTab);
/* DoMenu - menutypes */
#define MENU_ACTION 0x00
#define DYN_SUB_MENU 0x40
#define SUB_MENU 0x80
#define HORIZONTAL 0x00
#define VERTICAL 0x80
/* menu string offsets */
#define OFF_MY_TOP 0
#define OFF_MY_BOT 1
#define OFF_MX_LEFT 2
#define OFF_MX_RIGHT 4
#define OFF_NUM_M_ITEMS 6
#define OFF_1ST_M_ITEM 7
/* icon string offsets */
#define OFF_NM_ICNS 0
#define OFF_IC_XMOUSE 1
#define OFF_IC_YMOUSE 3
#define OFF_PIC_ICON 0
#define OFF_X_ICON_POS 2
#define OFF_Y_ICON_POS 3
#define OFF_WDTH_ICON 4
#define OFF_HEIGHT_ICON 5
#define OFF_SRV_RT_ICON 6
#define OFF_NX_ICON 8
/* icons, menus status flags */
#define ST_FLASH 0x80
#define ST_INVERT 0x40
#define ST_LD_AT_ADDR 0x01
#define ST_LD_DATA 0x80
#define ST_PR_DATA 0x40
#define ST_WR_PR 0x40
#endif

41
include/geos/gprocess.h Normal file
View File

@@ -0,0 +1,41 @@
/*
GEOS processes (~multitasking) functions
ported to small C on 27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GPROCESS_H
#define _GPROCESS_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
void __fastcall__ InitProcesses(char number, struct process *proctab);
void __fastcall__ RestartProcess(char number);
void __fastcall__ EnableProcess(char number);
void __fastcall__ BlockProcess(char number);
void __fastcall__ UnBlockProcess(char number);
void __fastcall__ FreezeProcess(char number);
void __fastcall__ UnFreezeProcess(char number);
void __fastcall__ Sleep(int jiffies);
/* Process control variable
these probably should be removed from here, as they are
internal GEOS information which is updated by functions above
*/
/* bit numbers */
#define RUNABLE_BIT 7
#define BLOCKED_BIT 6
#define FROZEN_BIT 5
#define NOTIMER_BIT 4
/* bit masks */
#define SET_RUNABLE 0x80
#define SET_BLOCKED 0x40
#define SET_FROZEN 0x20
#define SET_NOTIMER 0x10
#endif

90
include/geos/gsprite.h Normal file
View File

@@ -0,0 +1,90 @@
/*
GEOS mouse and sprite functions
ported to small C on 27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GSPRITE_H
#define _GSPRITE_H
void __fastcall__ StartMouseMode(void);
void __fastcall__ ClearMouseMode(void);
void __fastcall__ MouseUp(void);
void __fastcall__ MouseOff(void);
char __fastcall__ IsMseInRegion(struct window *region);
void __fastcall__ DrawSprite(char spritenum, char *spritepic);
void __fastcall__ PosSprite(char spritenum, struct pixel *position);
void __fastcall__ EnablSprite(char spritenum);
void __fastcall__ DisablSprite(char spritenum);
void __fastcall__ InitTextPrompt(char height);
void __fastcall__ PromptOn(struct pixel *position);
void __fastcall__ PromptOff(void);
char __fastcall__ GetNextChar(void);
/* keyboard constants */
#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_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_HELP 25
#define KEY_ALT 26
#define KEY_ESC 27
#define KEY_INSERT 28
#define KEY_DELETE 29
#define KEY_RIGHT 30
#define KEY_INVALID 31
#define KEY_LEFT BACKSPACE
/* values of faultData - pointer position vs. mouseWindow */
/* bit numbers */
#define OFFTOP_BIT 7
#define OFFBOTTOM_BIT 6
#define OFFLEFT_BIT 5
#define OFFRIGHT_BIT 4
#define OFFMENU_BIT 3
/* bit masks */
#define SET_OFFTOP 0x80
#define SET_OFFBOTTOM 0x40
#define SET_OFFLEFT 0x20
#define SET_OFFRIGHT 0x10
#define SET_OFFMENU 0x08
/* mouseOn */
/* bit numbers */
#define MOUSEON_BIT 7
#define MENUON_BIT 6
#define ICONSON_BIT 5
/* bit masks */
#define SET_MSE_ON 0x80
#define SET_MENUON 0x40
#define SET_ICONSON 0x20
/* pressFlag */
/* bit numbers */
#define KEYPRESS_BIT 7
#define INPUT_BIT 6
#define MOUSE_BIT 5
/* bit masks */
#define SET_KEYPRESS 0x80
#define SET_INPUTCHG 0x40
#define SET_MOUSE 0x20
#endif

136
include/geos/gstruct.h Normal file
View File

@@ -0,0 +1,136 @@
/*
GEOS structs
ported to small C on 25-27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GSTRUCT_H
#define _GSTRUCT_H
struct f_date { /* date in filedesctiptor */
char f_year;
char f_month;
char f_day;
char f_hour;
char f_minute;
};
struct s_date { /* system date & time */
char s_year;
char s_month;
char s_day;
char s_hour;
char s_minutes;
char s_seconds;
};
struct tr_se { /* track and sector */
char track;
char sector;
};
struct fileheader { /* header block (like fileHeader) */
struct tr_se n_block;
char icon_desc[3];
char icon_pic[63];
char dostype;
char type;
char structure;
int load_address;
int end_address;
int exec_address;
char class_name[19];
char column_flag;
char author[64];
char note[95];
};
struct filehandle { /* filehandle in directory sectors */
char dostype; /* or in dirEntryBuf */
struct tr_se n_block;
char name[16];
struct tr_se header;
char structure;
char type;
struct f_date date;
int size;
};
struct pixel { /* describes point */
int x;
char y;
};
struct fontdesc { /* describes font */
char baseline;
char width;
char height;
char *index_tbl;
char *data_ptr;
};
struct window { /* describes screen region */
char top;
char bot;
int left;
int right;
};
struct VLIR_info { /* VLIR information */
char curRecord; /* currently only used in VLIR */
char usedRecords; /* as system info (curRecord is mainly of your interest */
char fileWritten;
int fileSize;
};
struct process { /* process info, declare table of that type */
int pointer; /* (like: struct process proctab[2]=... */
int jiffies; /* last entry HAVE TO BE {0,0} */
};
struct iconpic { /* icon/encoded bitmap description */
char *pic_ptr; /* ptr to a photo scrap (or encoded bitmap) */
char x; /* position in cards (*8 pixels) */
char y;
char width; /* in cards */
char heigth; /* in lines (pixels) */
};
struct icondef { /* icon definition for DoIcons */
char *pic_ptr; /* ptr to a photo scrap (or encoded bitmap) */
char x; /* position in cards (*8 pixels) */
char y;
char width; /* of icon (in cards) */
char heigth; /* of icon in lines (pixels) */
int proc_ptr; /* pointer to function handling that icon */
};
struct icontab {
char number; /* number of declared icons */
struct pixel mousepos; /* position of mouse after DoIcons */
struct icondef tab[]; /* table of size declared by icontab.number */
};
/* everything below is obsolete and kept for unknown reasons */
struct menuitem {
char *name;
char type;
int rest; /* may be ptr to function, or if submenu ptr to struct menu */
};
struct menu {
struct window size;
char number;
struct menuitem items[];
};
struct inittab { /* use struct inittab mytab[n] for initram */
int ptr; /* ptr to 1st byte */
char number; /* number of following bytes */
char values[]; /* warning - in table size of this is same for all! */
};
#endif

302
include/geos/gsym.h Normal file
View File

@@ -0,0 +1,302 @@
/*
GEOS constants reassembled 4-2-99
ported to small C 26.8.99, 25-26.10.99
Maciej 'YTM/Alliance' Witkowiak
ytm@friko.onet.pl
*/
#ifndef _GSYM_H
#define _GSYM_H
#ifndef _GSTRUCT_H
#include <geos/gstruct.h>
#endif
#define nameBuf char[17]
#define blockBuf char[256]
#define zpage *(char*)0x0000
#define CPU_DDR *(char*)0x00
#define CPU_DATA *(char*)0x01
#define r0 *(unsigned int*)0x02
#define r0L *(char*)0x02
#define r0H *(char*)0x03
#define r1 *(unsigned int*)0x04
#define r1L *(char*)0x04
#define r1H *(char*)0x05
#define drawWindow (*(struct window*)0x06)
#define r2 *(unsigned int*)0x06
#define r2L *(char*)0x06
#define r2H *(char*)0x07
#define r3 *(unsigned int*)0x08
#define r3L *(char*)0x08
#define r3H *(char*)0x09
#define r4 *(unsigned int*)0x0a
#define r4L *(char*)0x0a
#define r4H *(char*)0x0b
#define r5 *(unsigned int*)0x0c
#define r5L *(char*)0x0c
#define r5H *(char*)0x0d
#define r6 *(unsigned int*)0x0e
#define r6L *(char*)0x0e
#define r6H *(char*)0x0f
#define r7 *(unsigned int*)0x10
#define r7L *(char*)0x10
#define r7H *(char*)0x11
#define r8 *(unsigned int*)0x12
#define r8L *(char*)0x12
#define r8H *(char*)0x13
#define r9 *(unsigned int*)0x14
#define r9L *(char*)0x14
#define r9H *(char*)0x15
#define r10 *(unsigned int*)0x16
#define r10L *(char*)0x16
#define r10H *(char*)0x17
#define r11 *(unsigned int*)0x18
#define r11L *(char*)0x18
#define r11H *(char*)0x19
#define r12 *(unsigned int*)0x1a
#define r12L *(char*)0x1a
#define r12H *(char*)0x1b
#define r13 *(unsigned int*)0x1c
#define r13L *(char*)0x1c
#define r13H *(char*)0x1d
#define r14 *(unsigned int*)0x1e
#define r14L *(char*)0x1e
#define r14H *(char*)0x1f
#define r15 *(unsigned int*)0x20
#define r15L *(char*)0x20
#define r15H *(char*)0x21
/* WARNING - these are used by C as temporary registers! */
#define a0 *(unsigned int*)0xfb
#define a0L *(char*)0xfb
#define a0H *(char*)0xfc
#define a1 *(unsigned int*)0xfd
#define a1L *(char*)0xfd
#define a1H *(char*)0xfe
#define a2 *(unsigned int*)0x70
#define a2L *(char*)0x70
#define a2H *(char*)0x71
#define a3 *(unsigned int*)0x72
#define a3L *(char*)0x72
#define a3H *(char*)0x73
#define a4 *(unsigned int*)0x74
#define a4L *(char*)0x74
#define a4H *(char*)0x75
#define a5 *(unsigned int*)0x76
#define a5L *(char*)0x76
#define a5H *(char*)0x77
#define a6 *(unsigned int*)0x78
#define a6L *(char*)0x78
#define a6H *(char*)0x79
#define a7 *(unsigned int*)0x7a
#define a7L *(char*)0x7a
#define a7H *(char*)0x7b
#define a8 *(unsigned int*)0x7c
#define a8L *(char*)0x7c
#define a8H *(char*)0x7d
#define a9 *(unsigned int*)0x7e
#define a9L *(char*)0x7e
#define a9H *(char*)0x7f
#define curPattern *(unsigned int*)0x22
#define string *(unsigned int*)0x24
#define curFontDesc (*(struct fontdesc*)0x26)
#define currentMode *(char*)0x2e
#define dispBufferOn *(char*)0x2f
#define mouseOn *(char*)0x30
#define RAM_64K *(char*)0x30
#define msePicPtr *(unsigned int*)0x31
#define curWindow (*(struct window*)0x33)
/*#define IO_IN *(char*)0x35
#define KRNL_IO_IN *(char*)0x36
#define KRNL_BAS_IO_IN *(char*)0x37*/
#define pressFlag *(char*)0x39
#define mousePos (*(struct pixel*)0x3a)
#define returnAddress *(unsigned int*)0x3d
#define graphMode *(char*)0x3f
/*#define TURBO_DD00 *(char*)0x8e
#define TURBO_DD00_CPY *(char*)0x8f*/
#define STATUS *(char*)0x90
#define curDevice *(char*)0xba
/* Here's my own errno location, I hope this won't confilct with anything... */
#define errno *(char*)0x91
#define irqvec *(unsigned int*)0x0314
#define bkvec *(unsigned int*)0x0316
#define nmivec *(unsigned int*)0x0318
#define APP_RAM *(char*)0x0400
#define BACK_SCR_BASE *(char*)0x6000
#define PRINTBASE *(char*)0x7900
#define OS_VARS *(char*)0x8000
#define diskBlkBuf ((blockBuf)0x8000)
#define fileHeader (*(struct fileheader*)0x8100)
#define curDirHead ((blockBuf)0x8200)
#define fileTrScTab ((struct tr_se[128])0x8300)
#define dirEntryBuf (*(struct filehandle*)0x8400)
#define DrACurDkNm ((nameBuf)0x841e)
#define DrBCurDkNm ((nameBuf)0x8430)
#define dataFileName ((nameBuf)0x8442)
#define dataDiskName ((nameBuf)0x8453)
#define PrntFileName ((nameBuf)0x8465)
#define PrntDiskName ((nameBuf)0x8476)
#define curDrive *(char*)0x8489
#define diskOpenFlg *(char*)0x848a
#define isGEOS *(char*)0x848b
#define interleave *(char*)0x848c
#define NUMDRV *(char*)0x848d
#define driveType ((char[4])0x848e)
#define turboFlags ((char[4])0x8492)
#define VLIRInfo (*(struct VLIR_info*)0x8496)
#define appMain *(unsigned int*)0x849b
#define intTopVector *(unsigned int*)0x849d
#define intBotVector *(unsigned int*)0x849f
#define mouseVector *(unsigned int*)0x84a1
#define keyVector *(unsigned int*)0x84a3
#define inputVector *(unsigned int*)0x84a5
#define mouseFaultVec *(unsigned int*)0x84a7
#define otherPressVec *(unsigned int*)0x84a9
#define StringFaultVec *(unsigned int*)0x84ab
#define alarmTmtVector *(unsigned int*)0x84ad
#define BRKVector *(unsigned int*)0x84af
#define RecoverVector *(unsigned int*)0x84b1
#define selectionFlash *(char*)0x84b3
#define alphaFlag *(char*)0x84b4
#define iconSelFlg *(char*)0x84b5
#define faultData *(char*)0x84b6
#define menuNumber *(char*)0x84b7
#define mouseWindow (*(struct window*)0x84b8)
#define stringXY (*(struct pixel*)0x84be)
#define mousePicData *(char*)0x84c1
#define maxMouseSpeed *(char*)0x8501
#define minMouseSpeed *(char*)0x8502
#define mouseAccel *(char*)0x8503
#define keyData *(char*)0x8504
#define mouseData *(char*)0x8505
#define inputData *(char*)0x8506
#define mouseSpeed *(char*)0x8507
#define random *(char*)0x850a
#define saveFontTab (*(struct fontdesc*)0x850c)
#define dblClickCount *(char*)0x8515
#define system_date (*(struct s_date*)0x8516)
#define alarmSetFlag *(char*)0x851c
#define sysDBData *(char*)0x851d
#define screencolors *(char*)0x851e
#define dlgBoxRamBuf *(char*)0x851f
#define savedmoby2 *(char*)0x88bb
#define scr80polar *(char*)0x88bc
#define scr80colors *(char*)0x88bd
#define vdcClrMode *(char*)0x88be
#define driveData ((char[4])0x88bf)
#define ramExpSize *(char*)0x88c3
#define sysRAMFlg *(char*)0x88c4
#define firstBoot *(char*)0x88c5
#define curType *(char*)0x88c6
#define ramBase *(char*)0x88c7
/*Original:
#define inputDevName *(char*)0x88cb
#define memBase *(char*)0x88cf*/
#define inputDevName ((nameBuf)0x88cb)
#define DrCCurDkNm ((nameBuf)0x88dc)
#define DrDCurDkNm ((nameBuf)0x88ee)
#define dir2Head ((blockBuf)0x8900)
#define SPRITE_PICS *(char*)0x8a00
#define sprpic ((char[8][64])0x8a00)
#define COLOR_MATRIX ((char[1000])0x8c00)
#define objPointer ((char[8])0x8ff8)
#define DISK_BASE *(char*)0x9000
#define SCREEN_BASE *(char*)0xa000
#define OS_ROM *(char*)0xc000
#define OS_JUMPTAB *(char*)0xc100
#define RAMC_BASE *(char*)0xde00
#define RAMC_WINDOW *(char*)0xdf00
#define EXP_BASE *(char*)0xdf00
#define MOUSE_BASE_128 *(char*)0xfd00
#define MOUSE_JMP_128 *(char*)0xfd00
#define END_MOUSE_128 *(char*)0xfe80
#define MOUSE_BASE *(char*)0xfe80
#define MOUSE_JMP *(char*)0xfe80
#define config *(char*)0xff00
#define END_MOUSE *(char*)0xfffa
#define NMI_VECTOR *(unsigned int*)0xfffa
#define RESET_VECTOR *(unsigned int*)0xfffc
#define IRQ_VECTOR *(unsigned int*)0xfffe
#define vicbase *(char*)0xd000
#define sidbase *(char*)0xd400
#define mmu *(char*)0xd500
#define VDC *(char*)0xd600
#define ctab *(char*)0xd800
#define cia1base *(char*)0xdc00
#define cia2base *(char*)0xdd00
#define mob0xpos *(char*)0xd000
#define mob0ypos *(char*)0xd001
#define mob1xpos *(char*)0xd002
#define mob1ypos *(char*)0xd003
#define mob2xpos *(char*)0xd004
#define mob2ypos *(char*)0xd005
#define mob3xpos *(char*)0xd006
#define mob3ypos *(char*)0xd007
#define mob4xpos *(char*)0xd008
#define mob4ypos *(char*)0xd009
#define mob5xpos *(char*)0xd00a
#define mob5ypos *(char*)0xd00b
#define mob6xpos *(char*)0xd00c
#define mob6ypos *(char*)0xd00d
#define mob7xpos *(char*)0xd00e
#define mob7ypos *(char*)0xd00f
#define msbxpos *(char*)0xd010
#define grcntrl1 *(char*)0xd011
#define rasreg *(char*)0xd012
#define lpxpos *(char*)0xd013
#define lpypos *(char*)0xd014
#define mobenble *(char*)0xd015
#define grcntrl2 *(char*)0xd016
#define grmemptr *(char*)0xd018
#define grirq *(char*)0xd019
#define grirqen *(char*)0xd01a
#define moby2 *(char*)0xd017
#define mobprior *(char*)0xd01b
#define mobmcm *(char*)0xd01c
#define mobx2 *(char*)0xd01d
#define mobmobcol *(char*)0xd01e
#define mobbakcol *(char*)0xd01f
#define extclr *(char*)0xd020
#define bakclr0 *(char*)0xd021
#define bakclr1 *(char*)0xd022
#define bakclr2 *(char*)0xd023
#define bakclr3 *(char*)0xd024
#define mcmclr0 *(char*)0xd025
#define mcmclr1 *(char*)0xd026
#define mob0clr *(char*)0xd027
#define mob1clr *(char*)0xd028
#define mob2clr *(char*)0xd029
#define mob3clr *(char*)0xd02a
#define mob4clr *(char*)0xd02b
#define mob5clr *(char*)0xd02c
#define mob6clr *(char*)0xd02d
#define mob7clr *(char*)0xd02e
#define keyreg *(char*)0xd02f
#define clkreg *(char*)0xd030
#define vdcreg *(char*)0xd600
#define vdcdata *(char*)0xd601
#endif

26
include/geos/gsys.h Normal file
View File

@@ -0,0 +1,26 @@
/*
GEOS system functions
ported to small C on 27.10.1999
by Maciej 'YTM/Alliance' Witkowiak
*/
#ifndef _GSYS_H
#define _GSYS_H
void __fastcall__ FirstInit(void);
void __fastcall__ InitForIO(void);
void __fastcall__ DoneWithIO(void);
void __fastcall__ MainLoop(void);
void __fastcall__ EnterDeskTop(void);
void __fastcall__ ToBASIC(void);
void __fastcall__ Panic(void);
void __fastcall__ CallRoutine(void *myRoutine);
int __fastcall__ GetSerialNumber(void);
char __fastcall__ GetRandom(void);
void __fastcall__ SetDevice(char newdev);
#endif