mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 08:24:18 +00:00
99 lines
1.8 KiB
Plaintext
99 lines
1.8 KiB
Plaintext
;******* ccpif.z8k -- CCP interface *****************
|
|
;*
|
|
;* 821015 S. Savitzky (Zilog) derived from 68K version
|
|
;*
|
|
;****************************************************
|
|
|
|
__text: .sect
|
|
|
|
;****************************************************
|
|
;*
|
|
;* EXTERNALS
|
|
;*
|
|
;****************************************************
|
|
|
|
.global _bdosinit
|
|
.global _main
|
|
|
|
;****************************************************
|
|
;*
|
|
;* GLOBALS
|
|
;*
|
|
;****************************************************
|
|
|
|
.global ccp ; main entry point
|
|
.global _autost
|
|
.global _usercmd
|
|
.global _submit
|
|
.global _morecmds
|
|
|
|
;****************************************************
|
|
;*
|
|
;* JUMP VECTOR
|
|
;*
|
|
;****************************************************
|
|
|
|
ccp: jr ccpstart ; start ccp with possible
|
|
; initial command
|
|
jp ccpclear ; clear autostart flag
|
|
|
|
|
|
|
|
;****************************************************
|
|
;*
|
|
;* DATA
|
|
;*
|
|
;****************************************************
|
|
|
|
__data: .sect
|
|
|
|
copy: .byte " COPYRIGHT (C) 1982, Digital Research "
|
|
|
|
_autost: ; autostart command flag
|
|
.byte 0
|
|
sysinit: ; set if system initialized
|
|
.byte 0
|
|
_submit:
|
|
.byte 0
|
|
_morecmds:
|
|
.byte 0
|
|
|
|
__bss: .sect
|
|
|
|
_usercmd: ; user command buffer
|
|
.block 130
|
|
stackp: ; saved stack pointer
|
|
.block 2
|
|
|
|
|
|
|
|
;****************************************************
|
|
;*
|
|
;* PROGRAM INTERFACE
|
|
;*
|
|
;* ccpclear -- clear autostart flag
|
|
;* ccpstart -- normal entry from boot
|
|
;* jumped to with valid stack ptr.
|
|
;* ccploop -- main loop (internal)
|
|
;*
|
|
;****************************************************
|
|
|
|
__text: .sect
|
|
|
|
ccpclear:
|
|
clrb _autost ; clear the autostart flag
|
|
|
|
ccpstart:
|
|
ld stackp,r15 ; save stack pointer
|
|
tsetb sysinit ; system initialized?
|
|
jr mi ccploop ; yes
|
|
; no: init flag now set
|
|
call _bdosinit ; init bdos
|
|
|
|
ccploop:
|
|
ld r15,stackp ; reset stack pointer
|
|
call _main ; call the CCP
|
|
jr ccploop ; loop forever
|
|
|
|
|