mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
99 lines
1.5 KiB
Plaintext
99 lines
1.5 KiB
Plaintext
name 'SCD2'
|
||
;
|
||
; CCP/M 3.1
|
||
; Interface for PLM-86 with separate code and data
|
||
; Code org'd at 0
|
||
; December 18, 1981
|
||
|
||
|
||
dgroup group data,stack
|
||
cgroup group code
|
||
|
||
code cseg
|
||
public reset,xdos,mon1,mon2,mon3,mon4
|
||
extrn plm:near
|
||
|
||
org 0h ; for separate code and data
|
||
reset:
|
||
pushf
|
||
pop ax
|
||
cli
|
||
mov cx,ds
|
||
mov ss,cx
|
||
lea sp,stack_base
|
||
push ax
|
||
popf
|
||
call plm
|
||
xor cx,cx
|
||
mov dx,cx
|
||
int 224
|
||
|
||
|
||
xdos:
|
||
push bp
|
||
mov bp,sp
|
||
mov dx,4[bp]
|
||
mov cx,6[bp]
|
||
int 224
|
||
pop bp
|
||
ret 4
|
||
|
||
mon1 equ xdos ; no returned value
|
||
mon2 equ xdos ; returns byte in AL
|
||
mon3 equ xdos ; returns address or word BX
|
||
mon4 equ xdos ; returns pointer in BX and ES
|
||
|
||
|
||
|
||
org 03Ah ; reserve patch area biased by
|
||
; the 5 bytes the linker inserts
|
||
|
||
db '161183' ;day, month, year
|
||
db 'CCP/M '
|
||
db 0,0,0,0 ;patch bits
|
||
db 'COPYRT 1983,1984'
|
||
db 'DIGITAL RESEARCH'
|
||
db 'XXXX-0000-654321' ;serial field
|
||
|
||
rb 113 ; patch area, 128 total bytes
|
||
db 'CSEG patch area'
|
||
|
||
|
||
stack sseg word
|
||
rw 64
|
||
stack_base rw 0
|
||
|
||
data dseg ;CP/M page 0 - LOC86'd at 0H
|
||
|
||
org 4
|
||
bdisk rb 1
|
||
org 6
|
||
maxb rw 1
|
||
org 50h
|
||
cmdrv rb 1
|
||
pass0 rw 1
|
||
len0 rb 1
|
||
pass1 rw 1
|
||
len1 rb 1
|
||
org 5ch
|
||
fcb rb 16
|
||
org 6ch
|
||
fcb16 rb 16
|
||
org 7ch
|
||
cr rb 1
|
||
rr rw 1
|
||
ro rb 1
|
||
org 80h
|
||
buff rb 80h
|
||
tbuff equ buff
|
||
|
||
|
||
db ' DSEG patch area'
|
||
|
||
public bdisk,maxb,cmdrv,pass0,len0
|
||
public pass1,len1,fcb,fcb16,cr,rr
|
||
public ro,buff,tbuff
|
||
|
||
|
||
end
|
||
|