Subversion Repositories NedoOS

Rev

Rev 922 | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
632 alone 1
        DEVICE ZXSPECTRUM128
2
        include "../_sdk/sys_h.asm"
3
        include "8080.asm"
4
 
630 alone 5
;
6
; Main driver file for CLINK.ASM
7
; (for use with LASM.COM)
8
 
9
        ;page 77
10
        ;title 'BDS Clink v1.6 3/86'
11
 
12
true:   equ 0ffffh
13
false:  equ not true
14
 
632 alone 15
SLRMAC: equ true;false
16
LASM:   equ not SLRMAC
630 alone 17
 
632 alone 18
PREREL: equ 0           ;'pre-release', uses current drive/user area
19
TESTING: equ 0          ;enables printf hack debugging statements
20
TESTING2: equ 0         ;enables the "test" stack-stuffing routine at end
21
TESTING3: equ 0         ;enables fcbs printout diagnostic for obscure debugging
630 alone 22
 
23
MARC:   equ false       ;true if MARC version
24
CPM:    equ true        ;true for CP/M version
633 alone 25
ZSYS:   equ false;true  ;true if assembling for Z-SYSTEMS version
632 alone 26
ALPHA:  equ false       ;true for Alpha-C
630 alone 27
 
28
        IF NOT CPM
29
;       Assembling NON-CPM version !=
30
        ENDIF
31
 
632 alone 32
FORCE:  equ 1           ;have it work like L2, forcing loading of all funcs
630 alone 33
version: equ '2'        ;'x' in v1.xy
34
 
35
        IF NOT ZSYS
36
update: equ  '0'        ;'y' in v1.xy
37
        ENDIF
38
 
39
        IF ZSYS
40
update: equ  '0'        ;'y' in v1.xy
41
        ENDIF
42
 
43
trs80:  equ 0           ;true if 4200h version of compiler
44
 
45
codend: equ 19h         ;The following 4 addresses are relative
633 alone 46
freram: equ 1bh         ; to the start of C.CCC (** NOT "ram" **):
630 alone 47
extrns: equ 0015h       ;Where address of externals is stored
633 alone 48
cccsiz: equ 0017h       ;Where size of C.CCC is stored within C.CCC
630 alone 49
clrex:  equ 0041h       ;Jump vector to external clearing subroutine
50
 
51
;                       offsets for key bytes in runtime package:
52
noboot: equ 0011h
53
start:  equ 048dh       ;startup code
54
lxiloc: equ start+8
55
 
56
 
57
        IF MARC
58
mhackl: equ 258h        ;where "call marc" goes if -m given
59
thackl: equ 35dh        ;where "-t" sequence (ld hl,xxxx nop nop) goes
60
        ENDIF
61
 
632 alone 62
        ;IF LASM
63
        ;sym
64
        ;ENDIF
630 alone 65
 
66
        IF CPM
633 alone 67
;coninp:                equ 1
68
;conout:                equ 2
630 alone 69
readbuf:        equ 10
633 alone 70
;intcon:                equ 11
71
;select:                equ 14
630 alone 72
openfil:        equ 15
73
closefil:       equ 16
74
delete:         equ 19
75
rsequen:        equ 20
76
wsequen:        equ 21
77
makfil:         equ 22
633 alone 78
;gdisk:         equ 25
630 alone 79
sdma:           equ 26
633 alone 80
;sguser:                equ 32
630 alone 81
        ENDIF
82
 
83
 
634 alone 84
_rrn=0x21 ;shift to random record number in FCB (outsize FCB_sz!!!)
85
 
86
 
630 alone 87
ram:    equ 0000h       ;where CLINK resides while running
88
dt1siz: equ 1500        ;default ref table (tab1) size
89
 
90
        IF CPM
91
bdos:   equ ram+5       ;entry point to bdos
632 alone 92
NEDOOSMEMTOP=0xff00;bdosp:      equ ram+6
630 alone 93
fcb:    equ ram+5ch
94
nr:     equ fcb+32
95
        ENDIF
96
 
632 alone 97
tpa:    equ PROGSTART;ram+100h
630 alone 98
tbuff:  equ ram+80h
99
cr:     equ 0dh
100
lf:     equ 0ah
101
bell:   equ 7
102
newlin: equ lf
103
tab:    equ 9
104
 
105
        IF MARC
106
m$error:  equ 12
107
m$fsize:  equ 30
108
m$close:  equ 6
109
m$creat: equ 55
110
m$exit:   equ 1
111
m$memory: equ 5
112
m$open:   equ 2
113
m$read:   equ 3
114
m$seek:   equ 25
115
m$tell:   equ 34
116
m$unlink: equ 11
117
m$write:  equ 4
118
m$getcf:  equ 19
119
m$putcf:  equ 36
120
m$ichec:  equ 27
121
m$maxmem: equ 49
122
msys:     equ 50h
123
        ENDIF
124
 
125
 
632 alone 126
        ;IF LASM
127
        ;link clinka
128
        ;ENDIF
630 alone 129
 
632 alone 130
        org PROGSTART;ram+100h  ;start of TPA
131
begin  
132
        ;IF SLRMAC
930 alone 133
        include "clinka.asm"
683 alone 134
        include "../_sdk/stdio.asm"
930 alone 135
        include "clinkb.asm" ;killable?
632 alone 136
        ;ENDIF
630 alone 137
 
632 alone 138
end
139
        savebin "clink.com",begin,end-begin
140
 
141
        LABELSLIST "../../us/user.l"