1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
page 80,132
title AT-SHard, Copyright (C) 1985, 86 Martin Schoenbeck, Spenge
;******************************************************************************
;* *
;* S H A R D - M O D U L *
;* *
;* fuer EUMEL auf 80286 Systemen *
;* *
;* SHard Version 7-PC/AT *
;* *
;* Copyright (C) 1985, 86 Martin Schoenbeck, Spenge *
;* *
;******************************************************************************
at equ 1
gensys equ 0
ramsys equ 0
pcxt equ 0
pcd equ 0
kompatible equ 0
romharddisk equ 0
romfloppy equ 0
limited_to_360 equ 0
boot_size equ 0
hdsystem equ 1
withhd equ 1
setup_channel equ 28
dos_channel equ 29
shard group code
code segment word public 'code'
assume cs:shard, ds:shard, es:nothing, ss:nothing
shstart:
jmp los_gehts
even
include MACROS.ASM
include MAC286.ASM
include DEVICE.ASM
include EUCONECT.ASM
org 0a0h ;bei wort 80 beginnen
include PATCHARE.ASM
include SHMAIN.ASM
IBMat equ 0fch
com1base equ 03f8h
com1irq equ 4
com2base equ 02f8h
com2irq equ 3
com3base equ 03e8h
com3irq equ 3
com4base equ 82f8h
com4irq equ 7
com4_1base equ 02c0h
com4_1irq equ 3
com4_2base equ 02c8h
com4_2irq equ 3
com4_3base equ 02d0h
com4_3irq equ 3
com4_4base equ 02d8h
com4_4irq equ 3
com8_1base equ 02e0h
com8_1irq equ 3
com8_2base equ 02e8h
com8_2irq equ 3
com8_3base equ 02f0h
com8_3irq equ 3
com8_4base equ 02f8h
com8_4irq equ 3
para1base equ 3bch
para1irq equ 7
int_ctlr equ 20h
first_ictlr_int equ 8
channel macro number,dev,ccb
channels = channels+1
selectentry = 5
db number
dw offset ccb
if2
dwb paramstart_,%&dev
else
dw 0 ;;weil in pass eins device evtl. unbekannt
endif
endm
selecttable:
db channels ;anzahl kanaele hier setzen
channels = -1 ;nilchannel vorab abziehen
channel 32,shardchannel,0
channel 0,fixdisk,hgccb0
alterable_channels:
channel 1,pc,0
channel 2,i8250,com1ccb
channel 3,i8250,com2ccb
channel 4,i8250,com4_1ccb
channel 5,i8250,com4_2ccb
channel 6,i8250,com4_3ccb
channel 7,i8250,com4_4ccb
channel 8,i8250,com8_1ccb
channel 9,i8250,com8_2ccb
channel 10,i8250,com8_3ccb
channel 12,parallel,para1ccb
channel 28,fixdisk,hgccb1
channel 29,fixdisk,hgccb2
channel 31,archive,archive_0
channel 30,archive,archive_1
channel -1,nilchannel,0
include I8250.ASM
include PCPAR.ASM
include STREAM.ASM
include NILCHAN.ASM
include PCSCREEN.ASM
include PCPLOT.ASM
include PCSYS.ASM
include FIXDISK.ASM
include FLOPPY.ASM
include CLOCK.ASM
include WAIT.ASM
include HARDWARE.ASM
include BLOCKERR.ASM
i8250_ccb com1,2
i8250_ccb com2,3
i8250_ccb com4_1,4
i8250_ccb com4_2,5
i8250_ccb com4_3,6
i8250_ccb com4_4,7
i8250_ccb com8_1,8
i8250_ccb com8_2,9
i8250_ccb com8_3,10
para_ccb para1,12
;erlaubt drivetypen: highdensity, drive720
archive_ccb 0,highdensity
archive_ccb 1,0
fix_ccb 0
fix_ccb 1
fix_ccb 2
sysmove:
rep movsw
jmp systemstart
include BOOT.ASM
code ends
end los_gehts
|