]> git.sur5r.net Git - cc65/commitdiff
functions that do not modify data take const char* as argument
authorizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 15 Aug 2001 16:09:35 +0000 (16:09 +0000)
committerizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 15 Aug 2001 16:09:35 +0000 (16:09 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@848 b7a2c559-68d2-44c3-8de9-860c34a00d81

include/geos/gdisk.h
include/geos/gdlgbox.h
include/geos/gfile.h
include/geos/gmemory.h
include/geos/gprocess.h
include/geos/gsprite.h
include/geos/gsym.h
libsrc/Makefile
libsrc/geos/common/memset.s
libsrc/geos/inc/const.inc
libsrc/geos/inc/geossym.inc

index 68eea97e632308d8dad96f7afb3ecdd73a837653..e6dba969d3afc85f90a1f78d50a2d7d2f8110f19 100644 (file)
@@ -2,7 +2,7 @@
   GEOS functions from disk driver
 
   ported to small C on 21.12.1999
-  by Maciej 'YTM/Alliance' Witkowiak
+  by Maciej 'YTM/Elysium' Witkowiak
 */
 
 #ifndef        _GDISK_H
@@ -16,10 +16,10 @@ 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__ PutBlock(struct tr_se *myTrSe, const 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);
+char __fastcall__ WriteBlock(struct tr_se *myTrSe, const char *buffer);
+char __fastcall__ VerWriteBlock(struct tr_se *myTrSe, const char *buffer);
 
 int __fastcall__ CalcBlksFree(void);
 char __fastcall__ ChkDkGEOS(void);
index 91744c7fcd69d90f7df6348a65419d2ea59ecfeb..8f54f5d96dfe1221eab4b3f07abd7f40d4c9f4f7 100644 (file)
@@ -9,18 +9,18 @@
 #ifndef        _GDLGBOX_H
 #define _GDLGBOX_H
 
-char __fastcall__ DoDlgBox(char *dboxstring);
+char __fastcall__ DoDlgBox(const 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__ DlgBoxYesNo(const char *line1, const char *line2);
+char __fastcall__ DlgBoxOkCancel(const char *line1, const char *line2);
+void __fastcall__ DlgBoxOk(const char *line1, const char *line2);
 char __fastcall__ DlgBoxGetString(char *myString, char strLength,
-                                 char *line1, char *line2);
-char __fastcall__ DlgBoxFileSelect(char *classtxt, char ftype,
+                                 const char *line1, const char *line2);
+char __fastcall__ DlgBoxFileSelect(const char *classtxt, char ftype,
                                   char *fname);
 
 /* Now the command string type */
index 6e3174fc7e1d88d1cb8f70bfd8a957a3ca87bb3e..f099cc7ad560dbfda11f4ff15d3fd1e03134da83 100644 (file)
 struct filehandle *__fastcall__ Get1stDirEntry(void);
 struct filehandle *__fastcall__ GetNxtDirEntry(void);
 
-char __fastcall__ FindFTypes(char *buffer, char ftype, char fmaxnum, char *classtxt);
+char __fastcall__ FindFTypes(char *buffer, char ftype, char fmaxnum, const char *classtxt);
 
-char __fastcall__ FindFile(char *fname);
+char __fastcall__ FindFile(const 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__ DeleteFile(const char *fname);
+char __fastcall__ RenameFile(const char *source, const 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__ OpenRecordFile(const char *fname);
 char __fastcall__ CloseRecordFile(void);
 char __fastcall__ NextRecord(void);
 char __fastcall__ PreviousRecord(void);
@@ -38,7 +38,7 @@ 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__ WriteRecord(const char *buffer, int flength);
 char __fastcall__ UpdateRecordFile(void);
 
 /* GEOS filetypes */
index e9398d5ca6b835fb5bac99fd6d16c76f55fae396..2f42d172d4346f74f61255ef785d54b568454230 100644 (file)
 #include <geos/gstruct.h>
 #endif
 
-void __fastcall__ CopyString(char *dest, char *source);
-char __fastcall__ CmpString(char *dest, char *source);
-void __fastcall__ CopyFString(char len, char *dest, char *source);
-char __fastcall__ CmpFString(char len, char *dest, char *source); 
+void __fastcall__ CopyString(char *dest, const char *source);
+char __fastcall__ CmpString(const char *dest, const char *source);
+void __fastcall__ CopyFString(char len, char *dest, const char *source);
+char __fastcall__ CmpFString(char len, char *dest, const char *source); 
 
-int __fastcall__ CRC(char *buffer, int len);
+int __fastcall__ CRC(const char *buffer, int len);
 void __fastcall__ ClearRam(char *dest, int len);
 void __fastcall__ FillRam(char *dest, char what, int len);
 
-void __fastcall__ MoveData(char *dest, char *source, int len);
+void __fastcall__ MoveData(char *dest, const char *source, 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__ StashRAM(char REUBank, int len, char *reuaddy, const char *cpuaddy);
+void __fastcall__ FetchRAM(char REUBank, int len, const 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);
+char __fastcall__ VerifyRAM(char REUBank, int len, const char *reuaddy, const char *cpuaddy);
 
 #endif
index c1cc5d71930fb60d2ffae1818fc578a6e9559899..e867867d02ee4d83ed1fd87e919cc7d9bd017675 100644 (file)
@@ -2,7 +2,7 @@
   GEOS processes (~multitasking) functions
 
   ported to small C on 27.10.1999
-  by Maciej 'YTM/Alliance' Witkowiak
+  by Maciej 'YTM/Elysium' Witkowiak
 */
 
 #ifndef        _GPROCESS_H
@@ -22,20 +22,4 @@ 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
index 6f7fc2803511841080c284f0684bd2381285bd83..dafc9e6d05d9e196e0dacff3952e7832cacd4bbd 100644 (file)
@@ -2,7 +2,7 @@
   GEOS mouse and sprite functions
 
   ported to small C on 27.10.1999
-  by Maciej 'YTM/Alliance' Witkowiak
+  by Maciej 'YTM/Elysium' Witkowiak
 */
 
 #ifndef        _GSPRITE_H
@@ -14,7 +14,7 @@ void __fastcall__ MouseUp(void);
 void __fastcall__ MouseOff(void);
 char __fastcall__ IsMseInRegion(struct window *region);
 
-void __fastcall__ DrawSprite(char spritenum, char *spritepic);
+void __fastcall__ DrawSprite(char spritenum, const char *spritepic);
 void __fastcall__ PosSprite(char spritenum, struct pixel *position);
 void __fastcall__ EnablSprite(char spritenum);
 void __fastcall__ DisablSprite(char spritenum);
index b2c2da7e40d2ef2c47c06d30514345a4a11e41b9..05d34651a4fe217695884e9d0c660dcfd0cea560 100644 (file)
 #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        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        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
 
 #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)
index a77fd2d237800e2ef59c1def5520d2a1b1242cd4..ead19fc06b039665ef676ab36b8382b816e1d5ac 100644 (file)
@@ -111,7 +111,7 @@ cbm610lib:
 # GEOS on the C64/128
 
 geoslib:
-       CC=$(CC) \
+       CC=../$(CC) \
        AS=../$(AS) \
        AR=../$(AR) \
        CFLAGS="-Osir -g -t geos -I../../include" \
index d4169c2b3f21f56477d856e50866210b286169a5..e524376149e0619a22136d03c5c6fd4052f7ffdb 100644 (file)
@@ -4,7 +4,18 @@
 ; Maciej 'YTM/Elysium' Witkowiak, 15.07.2001
 ;
 
-       .export         _memset
-       .import         _FillRam
+       .export _memset
+        .import popa, popax
 
-_memset = _FillRam
+        .include "../inc/jumptab.inc"
+        .include "../inc/geossym.inc"
+
+_memset:
+           sta r0L
+           stx r0H
+           jsr popax
+           sta r2L
+           jsr popax
+           sta r1L
+           stx r1H
+           jmp FillRam
index b3aa5090a7db489ce4fd3f4cfe688c7e2c4bb22d..fce3e2839695656b38d69b83f6c95ad42a3af613 100644 (file)
@@ -1,6 +1,6 @@
 
 ;GeosConst - various system constans sorted by function
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;reassembled by Maciej 'YTM/Elysium' Witkowiak
 ;4-2-99, 18-3-99
 
 NULL                   =       0
@@ -306,6 +306,7 @@ 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
index f3d80007576a3fd7f254f2e2c1a23e68c87b7c95..0e8fbaf6ae71510771ff0ebf63204eebcb353097 100644 (file)
@@ -1,6 +1,6 @@
 
 ;GEOS variable memory locations sorted by address
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;reassembled by Maciej 'YTM/Elysium' Witkowiak
 ;4-2-99
 
 zpage          =       $0000
@@ -101,7 +101,6 @@ cardDataPntr                =       $2c
 currentMode            =       $2e
 dispBufferOn           =       $2f
 mouseOn                =       $30
-RAM_64K                =       $30
 msePicPtr              =       $31
 windowTop              =       $33
 windowBottom           =       $34