Moved the 'memory' files from 'geos-cbm' to 'geos-common' which are believed to work as-is on Apple GEOS too. The REU stuff isn't available on Apple GEOS.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5438 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc
2012-02-04 14:53:09 +00:00
parent 2f10491672
commit abc9eba009
14 changed files with 22 additions and 14 deletions

View File

@@ -0,0 +1,18 @@
#
# makefile for CC65 runtime library
#
#--------------------------------------------------------------------------
# Object files
S_OBJS += crc.o \
doublepop.o \
clearram.o \
fillram.o \
initram.o \
movedata.o \
doublespop.o \
copystring.o \
cmpstring.o \
copyfstring.o \
cmpfstring.o

View File

@@ -0,0 +1,25 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 30.10.99, 20.08.2003
; void * ClearRam (char *dest, int length);
.import DoublePop
.export _ClearRam
.include "jumptab.inc"
.include "geossym.inc"
_ClearRam:
jsr DoublePop
pha
txa
pha
jsr ClearRam
pla
tax
pla
rts

View File

@@ -0,0 +1,22 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 22.12.99, 29.07.2000
; char CmpFString (char length, char *dest, char* source);
.import DoubleSPop, SetPtrXY
.import popa, return0, return1
.export _CmpFString
.include "jumptab.inc"
_CmpFString:
jsr DoubleSPop
jsr popa
jsr SetPtrXY
jsr CmpFString
bne L1
jmp return0
L1: jmp return1

View File

@@ -0,0 +1,20 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 22.12.1999, 2.1.2003
; char CmpString (char *dest, char* source);
.import DoubleSPop
.import return0, return1
.export _CmpString
.include "jumptab.inc"
_CmpString:
jsr DoubleSPop
jsr CmpString
bne L1
jmp return0
L1: jmp return1

View File

@@ -0,0 +1,19 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 22.12.99, 29.07.2000
; void CopyFString (char length, char *dest, char* source);
.import DoubleSPop, SetPtrXY
.import popa
.export _CopyFString
.include "jumptab.inc"
_CopyFString:
jsr DoubleSPop
jsr popa
jsr SetPtrXY
jmp CopyFString

View File

@@ -0,0 +1,16 @@
;
; Maciej 'YTM/Alliance' Witkowiak
;
; 22.12.99
; void CopyString (char *dest, char* source);
.import DoubleSPop
.export _CopyString
.include "jumptab.inc"
_CopyString:
jsr DoubleSPop
jmp CopyString

View File

@@ -0,0 +1,21 @@
;
; Maciej 'YTM/Alliance' Witkowiak
;
; 22.12.99
; int CRC (char *memory, int length);
.import DoublePop
.export _CRC
.include "jumptab.inc"
.include "geossym.inc"
_CRC:
jsr DoublePop
jsr CRC
lda r2L
ldx r2H
rts

View File

@@ -0,0 +1,18 @@
;
; Maciej 'YTM/Alliance' Witkowiak
;
; 31.12.99
.import popax
.export DoublePop
.include "geossym.inc"
DoublePop:
sta r0L
stx r0H
jsr popax
sta r1L
stx r1H
rts

View File

@@ -0,0 +1,28 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 22.12.99, 29.07.2000
.import popax
.importzp ptr3, ptr4
.export DoubleSPop
.export SetPtrXY
.include "geossym.inc"
DoubleSPop:
sta ptr4
stx ptr4+1
jsr popax
sta ptr3
stx ptr3+1
; rts
;
; SetPtrXY can be sometimes executed twice, but even this way it is few cycles
; faster...
SetPtrXY:
ldx #ptr4
ldy #ptr3
rts

View File

@@ -0,0 +1,30 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 30.10.99, 15.07.2001
; void * FillRam (char *dest, char what, int length);
.import popa, popax
.export _FillRam
.include "jumptab.inc"
.include "geossym.inc"
_FillRam:
sta r0L
stx r0H
jsr popa
sta r2L
jsr popax
sta r1L
stx r1H
pha
txa
pha
jsr FillRam
pla
tax
pla
rts

View File

@@ -0,0 +1,17 @@
;
; Maciej 'YTM/Alliance' Witkowiak
;
; 30.10.99
; void InitRam (struct inittab*);
.export _InitRam
.include "jumptab.inc"
.include "geossym.inc"
_InitRam:
sta r0L
stx r0H
jmp InitRam

View File

@@ -0,0 +1,27 @@
;
; Maciej 'YTM/Elysium' Witkowiak
;
; 30.10.99, 15.07.2001
; void* MoveData (char* dest, char *source, int length);
.import popax
.export _MoveData
.include "jumptab.inc"
.include "geossym.inc"
_MoveData:
sta r2L
stx r2H
jsr popax
sta r0L
stx r0H
jsr popax
sta r1L
stx r1H
jsr MoveData
lda r1L ; return dest ptr to be compatible with memmove and memcpy
ldx r1H
rts