Subversion Repositories pentevo

Rev

Rev 691 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
627 savelij 1
 
1120 savelij 2
; LAST UPDATE: 18.10.2023 savelij
627 savelij 3
 
4
C_INIT          EX AF,AF'
691 DimkaM 5
                LD A,0x7c
6
                ld bc,WIN_A3
7
                out (c),a
627 savelij 8
                EX AF,AF'
9
       LD   (PAR1),A
10
       LD   A,HIGH (INTRADR)
11
       LD   I,A
12
       LD   IX,IX_BASE
13
       LD   HL,VAR1_I
14
       LD   DE,IX_BAS
15
       LD   BC,VAR1_S
16
       LDIR
17
       LD   A,1
18
       RST  18H
19
       LD   A,0C3H
20
       LD   (SW_DO),A
21
       LD   HL,OUT_CH
22
       LD   (OUT_SW+1),HL
23
                CALL MODE;       CALL SP_AUX1
24
                CALL SP_DEF;       CALL CUR_AC
25
       LD   A,3
26
                RST 0X18
27
                RET
28
 
29
M_INIT: LD      A,3
30
        RST     18H
31
        LD      DE,0F800H
32
        LD      HL,MON_IMG
33
        LD      BC,MON_SIZE
34
        LDIR
35
                LD HL,BSS_START
36
                LD DE,BSS_START+1
37
                LD BC,BSS_LNG-1
38
                LD (HL),0
39
                LDIR
40
                RET
41
 
42
SWP:    EX      (SP),HL
43
        LD      DE,BUF+3
44
        LD      BC,3
45
        LDIR
46
        EX      (SP),HL
47
        LD      DE,-1
48
        LD      A,3FH
49
        CALL    __S1
50
        LD      A,1FH
51
        CALL    __S1
52
        LD      A,7
53
__S1:   RST     18H
54
        CALL    BUF+3
55
        INC     HL
56
        RET
57
 
58
__READ: CALL    SWP
59
            LD      A,(DE)
60
            LD      (HL),A
61
            RET
62
        RET
63
__WRITE:CALL    SWP
64
            LD      A,(HL)
65
            LD      (DE),A
66
            RET
67
        RET
68
 
69
MTEST:  LD      HL,BUF+6
70
        CALL    __READ
71
        LD      HL,__SRC
72
        CALL    __WRITE
73
        LD      HL,BUF
74
        CALL    __READ
75
        LD      HL,BUF+6
76
        CALL    __WRITE
77
        CALL    __TST
78
__SRC:  DB      49H, 92H, 24H
79
        SET     _RU5,(IX-_FLAG)
80
        DEC     C
81
        LD      DE,M_128
82
        RET     Z
83
        RES     _RU5,(IX-_FLAG)
84
        DEC     C
85
        LD      DE,M_512
86
        RET     Z
87
        LD      DE,M_1024
88
        DEC     C
89
        RET     Z
90
        CALL    PRN
91
        DB      "fault. (",0
92
        LD      A,(BUF)
93
        CALL    PHEX
94
        LD      A,(BUF+1)
95
        CALL    PHEX
96
        LD      A,(BUF+2)
97
        CALL    PHEX1
98
        CALL    PRN
99
        DB      ")",0DH,0AH,0
100
        DI
101
        HALT
102
 
103
__TST:  POP     HL
104
        LD      DE,BUF
105
        LD      BC,300H
106
__LP:   LD      A,(DE)
107
        CP      (HL)
108
        INC     HL
109
        INC     DE
110
        JR      NZ,__2
111
        INC     C
112
        JR      __1
113
__2:    LD      C,0
114
__1:    DJNZ    __LP
115
        JP      (HL)
116
 
117
M_128:  DB      3
118
        DW      384
119
        DB      "128",0
120
M_512:  DB      1BH
121
        DW      3456
122
        DB      "512",0
123
M_1024: DB      3BH
124
        DW      7552
691 DimkaM 125
        DB      "4096",0
627 savelij 126
 
127
MEM_SIZE:
128
        CALL    PRN
129
        DB      "Memory ",0
130
        CALL    MTEST
131
        LD      A,3
132
        RST     18H
133
        EX      DE,HL
691 DimkaM 134
        ;LD      A,(HL)
627 savelij 135
        INC     HL
691 DimkaM 136
        ;LD      (CHED+_DCYLN),A
137
        ;LD      (CHED+_DTRACK),A
138
        ;LD      E,(HL)
627 savelij 139
        INC     HL
691 DimkaM 140
        ;LD      D,(HL)
627 savelij 141
        INC     HL
691 DimkaM 142
        ;LD      (CHED+_DBLDR),DE
143
                ld a,1
144
        LD      (CHED+_DFN),a
627 savelij 145
        CALL    PRN
146
        DB      "size is ",0
147
        CALL    PRN_HL
148
        CALL    PRN
149
        DB      "k.",0DH,0AH,0
691 DimkaM 150
 
627 savelij 151
        RET
152
 
153
CPM_LOAD:
154
        LD      BC,CPM_SIZE
155
CPM_L1
156
        LD      DE,CCP
691 DimkaM 157
    LD      HL,CPM_IMG
627 savelij 158
 
159
        LDIR
160
        RET
161
 
162
 
163
SET_SYS:LD      A,(SYS_P)
164
SET_ASYS:
165
        LD      BC,0FD77H
166
        OUT     (C),A
167
        RET
168
 
169
PTST_1: DI
170
        SCF
171
        RET
172
 
173
H_INIT
174
        LD  BC,077H
175
        LD  A,2
176
        OUT (C),A
177
        IM      1
178
        DI
179
        RCALL   PG_SET
180
        LD BC,77H
181
        LD A,6H ;!!!
182
        OUT (C),A
183
        RCALL    PG_SET
184
 
185
        LD      SP,SYS_SP
186
        LD A,10H
187
        OUT (C),A
188
        LD A,6H ;!!!
189
        LD BC,177H
190
        OUT (C),A
191
 
192
PENTEVO_START
193
          LD HL,DSK_TAB
194
          LD DE,610H ;!!!
195
          LD C,77H
196
          LD  A,8
197
          OUT (0FFH),A
198
DSK_1:    LD  A,(HL)
199
          INC HL
200
          OUT (0FFH),A
201
          LD  B,41H
202
          OUT (C),D
203
          OR  8
204
          OUT (0FFH),A
205
          LD  B,1
206
          OUT (C),D
207
          DEC E
208
          JR  NZ,DSK_1
209
 
210
 
211
          LD  BC,4177H
212
          LD  A,6H ;!!!
213
          OUT (C),A
214
 
215
          LD A,0FFH
216
          OUT (0FFH),A
217
                JP ENTRY
218
 
219
PG_SET:   LD HL,PAGE_D
220
          LD DE,40H
221
PAGE_L2:  LD BC,0FF7H
222
PAGE_L1_  OUTI
223
          LD A,B
224
          ADD A,E
225
          LD B,A
226
          JR NC,PAGE_L1_
227
          LD BC,7FFDH
228
          LD A,D
229
          XOR 10H
230
          LD D,A
231
          OUT (C),A
232
          JR NZ,PAGE_L2
233
          RET
234
 
235
PAGE_D          DB 0X7F,0X7B,0X7D,0X7C,0X00,0X07A,0X7D,0X60
236
 
237
DSK_TAB         DB 0F1H, 0E1H, 0D1H, 0C1H, 0C1H, 0B1H, 0A1H,  91H
238
                DB 041H, 021H, 031H, 011H, 001H, 001H, 0F1H, 0E1H