Subversion Repositories NedoOS

Rev

Rev 289 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
213 alone 1
genscalers
2
       IF customscales
3
        LD HL,tscales
4
        LD B,64
5
        LD DE,64
6
DeCust PUSH BC
7
        LD C,(HL)
8
        LD (HL),E
9
        INC HL
10
        LD B,(HL)
11
        LD (HL),D
12
        INC HL
13
        EXD
14
        ADD HL,BC
15
        EXD
16
       POP BC
17
        DJNZ DeCust
18
       ENDIF ;customscales
19
 
20
        LD IY,tscaljps;tjp
21
        LD HL,0xc000;prog
22
        LD DE,tscales
23
        LD B,64
24
GENATM0 ;
435 alone 25
        LD (IY),0xC3
213 alone 26
        LD (IY+1),L
27
        LD (IY+2),H
28
        LD (IY+3),0
29
       PUSH BC
30
        EXD
31
        LD C,(HL)
32
        INC HL
33
       PUSH HL
34
        LD B,(HL) ;BC=scale
35
        EXD
36
        CALL GENATMPP
37
       POP DE
38
        INC DE
435 alone 39
        ld bc,4
40
        add iy,bc
213 alone 41
       POP BC
42
        DJNZ GENATM0
43
        RET
44
 
435 alone 45
;��। �⨬ ����ਬ ld hl,walltop ��� scrtop
213 alone 46
tgenatmhead
47
        jr NC,$+4
48
        SET 5,H ;todo LD H,
49
         ADD A,L ;todo skip if L<=-40
50
        LD L,A
51
         jr NC,$+3 ;todo skip if L<=-40
52
         INC H   ;todo skip if L<=-40
53
lgenatmhead=$-tgenatmhead
54
 
55
GENATMPP
56
;BC=scale
57
;HL=prog
58
        LD A,C
59
        LD (genC),A
60
        LD A,B
61
        LD (genB),A
62
        EXD
435 alone 63
        call scale2ytop
213 alone 64
;DE = Y
65
;LX = y
66
       PUSH DE ;Y
67
        LD A,D
68
        OR A
69
        jr NZ,GENTOP
70
        LD A,E
71
        CP Ytop
72
        jr C,GENTOP
73
        CALL YtoADDR
74
        JR GENnTOP
75
GENTOP  LD DE,scrtop
76
GENnTOP
435 alone 77
        LD A,0x80
78
        LD (genpix0),A ;���� ࠧ
213 alone 79
       IF addhlbc
435 alone 80
        LD (HL),0x21 ;ld hl,NN
213 alone 81
        INC HL
82
        LD (HL),E
83
        INC HL
84
        LD (HL),D
85
        INC HL
435 alone 86
        PUSH BC
87
        push DE
213 alone 88
        EXD
89
        LD HL,tgenatmhead
90
        LD BC,lgenatmhead
91
        LDIR
92
        EXD
435 alone 93
        POP DE
94
        pop BC
213 alone 95
       ELSE
96
        LD A,D
97
        OR E
435 alone 98
        LD (HL),0xEB ;exd
213 alone 99
        jr Z,GENTOPH
435 alone 100
         LD (HL),0x21 ;ld hl,NN
213 alone 101
         INC HL
102
         LD (HL),E
103
         INC HL
104
         LD (HL),D
105
         INC HL
435 alone 106
         LD (HL),0x19 ;add hl,de
213 alone 107
GENTOPH INC HL
108
      ;ELSE
109
      ; LD A,D
110
      ; SUB 'scrtop ;���祭�� A �� �室�
111
      ; JZ GENTOPH
112
      ;  LD (HL),#C6 ;add a,N
113
      ;  INC HL
114
      ;  LD (HL),D
115
      ;  INC HL
116
;GENTOPH LD (HL),#67 ;ld h,a
117
       ;INC HL
118
       ENDIF
119
       IF addhlbc == 0
120
        LD A,D
121
        LD (curH),A
435 alone 122
        LD (HL),0xD1 ;pop de
213 alone 123
        INC HL
124
       ENDIF
125
       POP DE ;Y
126
        LD HX,0 ;V
127
GENATMPP0
128
       ;Y+=scale
129
        LD A,LX
130
genC=$+1
131
        ADD A,0
132
        LD LX,A ;y
133
        LD A,0
134
genB=$+1
135
        ADC A,0 ;A=dY
136
        jr Z,GENATMnPIX
137
        LD B,A
138
GENATMPIX0
139
        CALL GENATMPIX
140
        INC DE
141
        LD A,D
142
        OR A
143
        jr NZ,$+7
144
         LD A,E
145
         CP Ybottom
146
         jr NC,GENATMPPQ
147
        DJNZ GENATMPIX0
148
GENATMnPIX
149
        INC HX
150
        LD A,HX
151
        CP 64
152
        jr Z,GENATMPPQ
153
        RRA
154
        jr C,$+5
435 alone 155
         LD (HL),0xD1 ;pop de
213 alone 156
         INC HL
157
        JR GENATMPP0
158
GENATMPPQ
159
       IF addhlbc == 0
435 alone 160
       LD A,0xD1 ;skip pop de's
213 alone 161
       DEC HL
162
       CP (HL)
163
       jr Z,$-2
164
        LD A,(HL)
435 alone 165
        CP 0x72 ;ld (hl),d
213 alone 166
       ELSE
167
genatmend=$+1
168
        LD HL,0
169
       ENDIF
435 alone 170
        LD (HL),0xDD
213 alone 171
       IF addhlbc == 0
172
        jr NZ,$+5
173
         INC HL
435 alone 174
         LD (HL),0xFD
213 alone 175
       ENDIF
176
        INC HL
435 alone 177
        LD (HL),0xE9 ;jp (ix) ;(iy) for ld (hl),d
213 alone 178
        INC HL
179
        RET
180
 
181
       ;LD (HL),#32 ;ld (),a
182
       ;INC HL
183
       ;LD (HL),E
184
       ;INC HL
185
       ;LD (HL),D
186
       ;INC HL
187
 
188
GENATMPIX
189
        LD A,D
190
        OR A
191
        RET NZ
192
        LD A,E
193
        CP Ytop
194
        RET C
195
       PUSH DE ;Y
196
        CALL YtoADDR
197
       IF addhlbc
198
genpix0=$+1
199
        LD A,#80
200
        ADD A,A
201
        LD (genpix0),A
202
        jr C,$+5 ;���� ࠧ
203
         LD (HL),#09 ;add hl,bc
204
         INC HL
205
       ELSE
206
genpix0=$+1
207
        LD A,#80
208
        ADD A,A
209
        LD (genpix0),A
210
        jr C,GENPIXQ ;���� ࠧ
211
curH=$+1
212
        LD A,0
213
        INC A
214
        CP D
215
        LD A,D
216
        LD (curH),A
217
        jr NZ,GENPIXnH
218
        ;LD (HL),#24 ;inc h
219
         LD (HL),#09 ;add hl,bc
220
         INC HL
221
        JR GENPIXQ
222
GENPIXnH
223
       LD A,E
224
      ;OR A
225
      ;LD (HL),#68 ;ld l,b
226
      ;JZ GENPIXL
227
      ;CP 40 ;⮫쪮 ��� ������� 8-�� �⮫��
228
      ;LD (HL),#69 ;ld l,c
229
      ;JZ GENPIXL
230
       CP #B8
231
       LD (HL),#6F ;ld l,a
232
       jr Z,GENPIXL
233
         LD (HL),#2E ;ld l,N
234
         INC HL
235
         LD (HL),E
236
GENPIXL INC HL
237
GENPIXQ
238
       ENDIF ;~addhlbc
239
        LD A,HX ;V
240
        RRA
241
        LD (HL),#73 ;ld (hl),e
242
        jr NC,$+4
243
        LD (HL),#72 ;ld (hl),d
244
        INC HL
245
       IF addhlbc
246
       LD (genatmend),HL
247
       ENDIF
248
       POP DE ;Y
249
        RET