Moved the 'process' files from 'geos-cbm' to 'geos-common' which are believed to work as-is on Apple GEOS too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5444 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
11
libsrc/geos-common/process/Makefile
Normal file
11
libsrc/geos-common/process/Makefile
Normal file
@@ -0,0 +1,11 @@
|
||||
#
|
||||
# makefile for CC65 runtime library
|
||||
#
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Object files
|
||||
|
||||
S_OBJS += processinitrestartenable.o \
|
||||
processblock.o \
|
||||
processfreeze.o \
|
||||
processsleep.o
|
||||
25
libsrc/geos-common/process/processblock.s
Normal file
25
libsrc/geos-common/process/processblock.s
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
;
|
||||
; Maciej 'YTM/Alliance' Witkowiak
|
||||
;
|
||||
; 27.10.99
|
||||
|
||||
;
|
||||
; void InitProcesses (char number, struct process* proctab);
|
||||
; (rest)
|
||||
; void BlockProcess (char number);
|
||||
; void UnBlockProcess (char number);
|
||||
;
|
||||
|
||||
.export _BlockProcess
|
||||
.export _UnBlockProcess
|
||||
|
||||
.include "jumptab.inc"
|
||||
|
||||
_BlockProcess:
|
||||
tax
|
||||
jmp BlockProcess
|
||||
|
||||
_UnBlockProcess:
|
||||
tax
|
||||
jmp UnBlockProcess
|
||||
23
libsrc/geos-common/process/processfreeze.s
Normal file
23
libsrc/geos-common/process/processfreeze.s
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
;
|
||||
; Maciej 'YTM/Alliance' Witkowiak
|
||||
;
|
||||
; 27.10.99
|
||||
|
||||
;
|
||||
; void FreezeProcess (char number);
|
||||
; void UnFreezeProcess (char number);
|
||||
;
|
||||
|
||||
.export _FreezeProcess
|
||||
.export _UnFreezeProcess
|
||||
|
||||
.include "jumptab.inc"
|
||||
|
||||
_FreezeProcess:
|
||||
tax
|
||||
jmp FreezeProcess
|
||||
|
||||
_UnFreezeProcess:
|
||||
tax
|
||||
jmp UnFreezeProcess
|
||||
34
libsrc/geos-common/process/processinitrestartenable.s
Normal file
34
libsrc/geos-common/process/processinitrestartenable.s
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
;
|
||||
; Maciej 'YTM/Alliance' Witkowiak
|
||||
;
|
||||
; 27.10.99
|
||||
|
||||
;
|
||||
; void InitProcesses (char number, struct process* proctab);
|
||||
; void RestartProcess (char number);
|
||||
; void EnableProcess (char number);
|
||||
;
|
||||
|
||||
.import popa
|
||||
.export _InitProcesses
|
||||
.export _RestartProcess
|
||||
.export _EnableProcess
|
||||
|
||||
.include "jumptab.inc"
|
||||
.include "geossym.inc"
|
||||
|
||||
_InitProcesses:
|
||||
|
||||
sta r0L
|
||||
stx r0H
|
||||
jsr popa
|
||||
jmp InitProcesses
|
||||
|
||||
_RestartProcess:
|
||||
tax
|
||||
jmp RestartProcess
|
||||
|
||||
_EnableProcess:
|
||||
tax
|
||||
jmp EnableProcess
|
||||
37
libsrc/geos-common/process/processsleep.s
Normal file
37
libsrc/geos-common/process/processsleep.s
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
;
|
||||
; Maciej 'YTM/Elysium' Witkowiak
|
||||
;
|
||||
; 30.10.99, 15.8.2003
|
||||
|
||||
;
|
||||
; void Sleep (int jiffies);
|
||||
;
|
||||
|
||||
.export _Sleep
|
||||
|
||||
.include "jumptab.inc"
|
||||
.include "geossym.inc"
|
||||
.importzp ptr1
|
||||
.importzp tmp1
|
||||
|
||||
_SleepExit:
|
||||
jsr Sleep ; call Sleep
|
||||
ldx tmp1
|
||||
txs ; restore stack pointer
|
||||
jmp (ptr1) ; when timeouts control will reach here
|
||||
|
||||
_Sleep:
|
||||
sta r0L ; store data
|
||||
stx r0H
|
||||
pla
|
||||
sta ptr1
|
||||
pla
|
||||
sta ptr1+1 ; preserve return address
|
||||
inc ptr1
|
||||
bne @L0
|
||||
inc ptr1+1 ; fix return address
|
||||
@L0: tsx
|
||||
stx tmp1 ; preserve stack pointer
|
||||
jsr _SleepExit ; call Sleep
|
||||
jmp MainLoop ; immediate return here - go to idle loop
|
||||
Reference in New Issue
Block a user