Subversion Repositories pentevo

Rev

Rev 761 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 761 Rev 1186
Line 1... Line 1...
1
 
1
 
2
;LAST UPDATE: 31.07.2017 savelij
2
; LAST UPDATE: 16.02.2025 savelij
3
 
3
 
4
;LINIT  - initialization (hook on "P"-channel and printer init)
4
; LINIT  - initialization (hook on "P"-channel and printer init)
5
;LPRINT - print ZX simbol (with token decode)
5
; LPRINT - print ZX simbol (with token decode)
6
;LBYTE  - print simbol (without token decode)
6
; LBYTE  - print simbol (without token decode)
7
;LCOPY  - print screen
7
; LCOPY  - print screen
8
 
8
 
9
AY_PRN_SCR      LD H,CRCCMOSHIGH;0XEF
9
AY_PRN_SCR      LD H,CMOS.CRCHIGH
10
                CALL READCMOS
10
                CALL READCMOS
11
                AND M_PRINTER_AY
11
                AND CMOS_ED.M_PRINTER_AY
12
                JR NZ,AY_PRN_SCR1
12
                JR NZ,AY_PRN_SCR1
13
                LD HL,0X0EAF
13
                LD HL,0x0EAF
14
                LD (RADRRET_L),HL
14
                LD (RADRRET_L),HL
15
                LD A,0XB0
15
                LD A,0xB0
16
                LD (RREG_B),A
16
                LD (RREG_B),A
17
                RET
17
                RET
18
 
18
 
19
AY_PRN_SCR1     LD HL,GRSET1
19
AY_PRN_SCR1     LD HL,GRSET1
20
                CALL OUTSTR
20
                CALL OUTSTR
21
                LD HL,0X4000
21
                LD HL,0x4000
22
                LD C,3
22
                LD C,3
23
LCOP5           LD B,8
23
LCOP5           LD B,8
24
LCOP4           PUSH BC
24
LCOP4           PUSH BC
25
                PUSH HL
25
                PUSH HL
26
                LD HL,GRSET2
26
                LD HL,GRSET2
27
                CALL OUTSTR
27
                CALL OUTSTR
28
                POP HL
28
                POP HL
29
                LD D,H
29
                LD D,H
30
                LD E,L
30
                LD E,L
31
                LD B,0X20
31
                LD B,0x20
32
LCOP3           PUSH BC
32
LCOP3           PUSH BC
33
                LD C,8
33
                LD C,8
34
LCOP2           LD B,8
34
LCOP2           LD B,8
35
LCOP1           RLC (HL)
35
LCOP1           RLC (HL)
36
                RLA
36
                RLA
Line 51... Line 51...
51
                LD A,H
51
                LD A,H
52
                ADD A,8
52
                ADD A,8
53
                LD H,A
53
                LD H,A
54
                DEC C
54
                DEC C
55
                JR NZ,LCOP5
55
                JR NZ,LCOP5
56
                LD HL,0X0EDE
56
                LD HL,0x0EDE
57
                LD (RADRRET_L),HL
57
                LD (RADRRET_L),HL
58
                LD HL,GRSET3
58
                LD HL,GRSET3
59
OUTSTR          LD A,(HL)
59
OUTSTR          LD A,(HL)
60
                CP 0XFF
60
                CP 0xFF
61
                RET Z
61
                RET Z
62
                CALL AY_PRN_BYTE
62
                CALL AY_PRN_BYTE
63
                INC HL
63
                INC HL
64
                JR OUTSTR
64
                JR OUTSTR
65
 
65
 
66
AY_PRN_A_       LD H,CRCCMOSHIGH;0XEF
66
AY_PRN_A_       LD H,CMOS.CRCHIGH
67
                CALL READCMOS
67
                CALL READCMOS
68
                AND M_PRINTER_AY
68
                AND CMOS_ED.M_PRINTER_AY
69
                JR NZ,AY_PRN_A_1
69
                JR NZ,AY_PRN_A_1
70
                LD A,(RREG_B)
70
                LD A,(RREG_B)
71
                CP 3
71
                CP 3
72
                SBC A,A
72
                SBC A,A
73
                LD (RREG_A),A
73
                LD (RREG_A),A
74
                LD HL,0X0EF8
74
                LD HL,0x0EF8
75
                LD (RADRRET_L),HL
75
                LD (RADRRET_L),HL
76
                RET
76
                RET
77
 
77
 
78
AY_PRN_A_1      LD A,(RREG_A)
78
AY_PRN_A_1      LD A,(RREG_A)
79
AY_PRN_BYTE     PUSH BC
79
AY_PRN_BYTE     PUSH BC
Line 81... Line 81...
81
                CALL LP01
81
                CALL LP01
82
                POP HL
82
                POP HL
83
                POP BC
83
                POP BC
84
                RET
84
                RET
85
 
85
 
86
AY_PRN_INIT     LD H,CRCCMOSHIGH;0XEF
86
AY_PRN_INIT     LD H,CMOS.CRCHIGH
87
                CALL READCMOS
87
                CALL READCMOS
88
                AND M_PRINTER_AY
88
                AND CMOS_ED.M_PRINTER_AY
89
                JR NZ,AY_PRN_INIT1
89
                JR NZ,AY_PRN_INIT1
90
                LD HL,0X0EDF
90
                LD HL,0x0EDF
91
                LD (RADRRET_L),HL
91
                LD (RADRRET_L),HL
92
                RET
92
                RET
93
 
93
 
94
AY_PRN_INIT1    LD DE,0XFFBF
94
AY_PRN_INIT1    LD DE,0xFFBF
95
                LD C,0XFD
95
                LD C,0xFD
96
                LD B,D          ;FF
96
                LD B,D          ;FF
97
                LD A,0XFE               ;for TS or TSFM
97
                LD A,0xFE               ;for TS or TSFM
98
                OUT (C),A               ;select first chip
98
                OUT (C),A               ;select first chip
99
                LD A,7
99
                LD A,7
100
                OUT (C),A
100
                OUT (C),A
101
                LD B,E          ;BF
101
                LD B,E          ;BF
102
                LD A,0X7F
102
                LD A,0x7F
103
                OUT (C),A
103
                OUT (C),A
104
                LD B,D          ;FF
104
                LD B,D          ;FF
105
                LD A,0X0F
105
                LD A,0x0F
106
                OUT (C),A
106
                OUT (C),A
107
                LD B,E          ;BF
107
                LD B,E          ;BF
108
                LD A,0XFE
108
                LD A,0xFE
109
                OUT (C),A
109
                OUT (C),A
110
                LD HL,INTX
110
                LD HL,INTX
111
                JR OUTSTR
111
                JR OUTSTR
112
 
112
 
113
EXIT_09F4       LD HL,0X09F4
113
EXIT_09F4       LD HL,0x09F4
114
                LD (RADRRET_L),HL
114
                LD (RADRRET_L),HL
115
                RET
115
                RET
116
 
116
 
117
AY_PRN_TOKEN    LD H,CRCCMOSHIGH;0XEF
117
AY_PRN_TOKEN    LD H,CMOS.CRCHIGH
118
                CALL READCMOS
118
                CALL READCMOS
119
                AND M_PRINTER_AY
119
                AND CMOS_ED.M_PRINTER_AY
120
                JR Z,EXIT_09F4
120
                JR Z,EXIT_09F4
121
                LD A,(RREG_A)
121
                LD A,(RREG_A)
122
                CP 0X0D
122
                CP 0x0D
123
                JR NZ,LP02
123
                JR NZ,LP02
124
                CALL LP01
124
                CALL LP01
125
                LD A,0X0A
125
                LD A,0x0A
126
                JR LP01
126
                JR LP01
127
 
127
 
128
LP02            CP 0X20
128
LP02            CP 0x20
129
                RET C
129
                RET C
130
                CP 0X7F
130
                CP 0x7F
131
                JR C,LP01
131
                JR C,LP01
132
                CP 0XA5
132
                CP 0xA5
133
                JR NC,EXIT_09F4
133
                JR NC,EXIT_09F4
134
                CP 0X90
134
                CP 0x90
135
                JR C,LP03
135
                JR C,LP03
136
                SUB 0X4F
136
                SUB 0x4F
137
                JR LP01
137
                JR LP01
138
 
138
 
139
LP03            LD A,0X20
139
LP03            LD A,0x20
140
LP01            PUSH BC
140
LP01            PUSH BC
141
                PUSH AF
141
                PUSH AF
142
                LD BC,0XFFFD
142
                LD BC,0xFFFD
143
                LD A,0X0E
143
                LD A,0x0E
144
                OUT (C),A
144
                OUT (C),A
145
                LD B,0XBF
145
                LD B,0xBF
146
                POP AF
146
                POP AF
147
                OUT (C),A
147
                OUT (C),A
148
                LD B,0XFF
148
                LD B,0xFF
149
                LD A,0X0F
149
                LD A,0x0F
150
                OUT (C),A
150
                OUT (C),A
151
LP04            CALL BREAK_KEY
151
LP04            CALL BREAK_KEY
152
                JR NC,LP05
152
                JR NC,LP05
153
                IN A,(C)
153
                IN A,(C)
154
                RLA
154
                RLA
155
                JR NC,LP04
155
                JR NC,LP04
156
                LD A,7
156
                LD A,7
157
                OUT (C),A
157
                OUT (C),A
158
                LD B,0XBF
158
                LD B,0xBF
159
                LD A,0XFF
159
                LD A,0xFF
160
                OUT (C),A
160
                OUT (C),A
161
                PUSH IX
161
                PUSH IX
162
                POP IX
162
                POP IX
163
                LD A,0X7F
163
                LD A,0x7F
164
                OUT (C),A
164
                OUT (C),A
165
                POP BC
165
                POP BC
166
                RET
166
                RET
167
 
167
 
168
LP05            LD HL,0X1B7B
168
LP05            LD HL,0x1B7B
169
                LD (RADRRET_L),HL
169
                LD (RADRRET_L),HL
170
                LD HL,REI_DI
170
                LD HL,REI_DI
171
                SET 2,(HL)
171
                SET 2,(HL)
172
                RET
172
                RET
173
 
173
 
174
;Command code for 9-pin EPSON-compatibility printers
174
; Command code for 9-pin EPSON-compatibility printers
175
;Printer initialization
175
; Printer initialization
176
INTX            DB 0X1B,0X40,0X07,0X07,0XFF
176
INTX            DB 0x1B,0x40,0x07,0x07,0xFF
177
;setup1 (before screen copy)
177
; setup1 (before screen copy)
178
GRSET1          DB 0X1B,0X41,0X08,0XFF
178
GRSET1          DB 0x1B,0x41,0x08,0xFF
179
;setup2 (every new line)
179
; setup2 (every new line)
180
GRSET2          DB 0X0D,0X0A,0X1B,0X2A,0X05,0X00,0X01,0XFF
180
GRSET2          DB 0x0D,0x0A,0x1B,0x2A,0x05,0x00,0x01,0xFF
181
;setup2 (after complete screen copy)
181
; setup2 (after complete screen copy)
182
GRSET3          DB 0X0D,0X0A,0X1B,0X32,0X07,0X07,0X07,0XFF
182
GRSET3          DB 0x0D,0x0A,0x1B,0x32,0x07,0x07,0x07,0xFF
183
 
183
 
184
BREAK_KEY       LD A,0X7F
184
BREAK_KEY       LD A,0x7F
185
                IN A,(0XFE)
185
                IN A,(0xFE)
186
                RRA
186
                RRA
187
                RET C
187
                RET C
188
                LD A,0XFE
188
                LD A,0xFE
189
                IN A,(0XFE)
189
                IN A,(0xFE)
190
                RRA
190
                RRA
191
                RET
191
                RET