Rev 1120 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
706 | Dimkam | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 06.02.2025 savelij |
821 | savelij | 3 | |
4 | ; 26.04.2019 ࠢ ᠭ |
||
961 | savelij | 5 | ; 07.07.2021 । 맮 LD_FILE ॣ BCDE 㦠 㤠 |
821 | savelij | 6 | |
706 | Dimkam | 7 | LSNAST STRUCT ; ᭠⮢ |
8 | RI DB ? |
||
821 | savelij | 9 | AHL DW ? |
10 | ADE DW ? |
||
11 | ABC DW ? |
||
12 | AAF DW ? |
||
13 | RHL DW ? |
||
14 | RDE DW ? |
||
15 | RBC DW ? |
||
16 | RIY DW ? |
||
17 | RIX DW ? |
||
18 | IFF2 DB ? |
||
19 | RR DB ? |
||
20 | RAF DW ? |
||
21 | RSP DW ? |
||
22 | SIM DB ? |
||
23 | BORD DB ? |
||
24 | RPC DW ? |
||
25 | P7FFD DB ? |
||
26 | PDOS DB ? |
||
706 | Dimkam | 27 | LSNAST ENDSTRUCT |
28 | |||
29 | RUNSNA_LP_M MACRO PF,PS |
||
30 | ld de,((PF!0x7f)<<8)+(PS!0x7f) |
||
31 | call RUNSNA_LP |
||
32 | ENDM |
||
33 | RUNSNA_LP128_M MACRO PL |
||
34 | ld a,PL |
||
35 | call RUNSNA_LP128 |
||
36 | ENDM |
||
37 | |||
38 | RUNSNA_LP5_M MACRO |
||
39 | ld hl,0x8000-27 |
||
40 | ld iyl,0x4000/512+1 |
||
41 | ld de,((5!0x7f)<<8)+(2!0x7f) |
||
42 | call RUNSNA_LP5 |
||
43 | ENDM |
||
44 | |||
45 | |||
46 | RUNSNA ;4ab4 |
||
47 | di |
||
48 | ld iyh,0 |
||
49 | ld a,0x30 ; 㬮砭 48 |
||
50 | ld (lsna_P7FFD),a |
||
709 | dimkam | 51 | ld a,HIGH(RD_EFF7) ;ࠧ稬 7FFD |
706 | Dimkam | 52 | in a,(LOW(RD_EFF7)) |
53 | ld bc,PENT_CONF |
||
709 | dimkam | 54 | and %11111011 |
55 | out (c),a |
||
706 | Dimkam | 56 | or %00000100 |
709 | dimkam | 57 | ld (PEFF7+1),a |
706 | Dimkam | 58 | ld a,1 |
59 | out (PEVO_CONF),a |
||
60 | ; 1 |
||
61 | ld bc,WIN_A2 |
||
62 | ld a,8!0x7f |
||
63 | out (c),a |
||
64 | ld de,0x8000 |
||
65 | ld hl,0x4000 |
||
66 | ld b,h |
||
67 | ld c,l |
||
68 | ldir |
||
69 | ld bc,WIN_A1 |
||
70 | ld a,8!0x7f |
||
71 | out (c),a |
||
72 | |||
73 | RUNSNA_LP5_M ;㧨 5 ࠭ |
||
74 | ld hl,0x8000-27 |
||
75 | ld de,lsna_RI |
||
76 | ld bc,27 |
||
77 | ldir ;㥬 |
||
78 | RUNSNA_LP_M 2,0 ;㧨 2 ࠭ |
||
79 | RUNSNA_LP_M 0,9 ;㧨 0 ࠭ |
||
1186 | savelij | 80 | ld a,(FATVAR.FILE_SRC+30) |
706 | Dimkam | 81 | or a |
82 | jr z,RUNSNA_ENDLOAD ; 䠩 64, ᭠ 128 !!!! |
||
83 | ld hl,0xc000 ;࠭塞 |
||
84 | ld de,lsna_RPC |
||
85 | ld bc,4 |
||
86 | ldir |
||
87 | ld de,0xc000 ;ᤢ ᥪ |
||
88 | ld bc,512-4-27 |
||
89 | ldir |
||
90 | ld a,(lsna_P7FFD) ;ᬮਬ 7 |
||
91 | and %111 ;ᥪ 譥 |
||
92 | ld (RUNSNA_LP128+1),a |
||
93 | jr z,RUNSNA_NOL0 ; 㫥 ࠢ쭮 |
||
94 | ld bc,WIN_A3 ;, ४ 㤠 |
||
95 | xor 0x7f |
||
96 | out (c),a |
||
97 | ld hl,0x8000 |
||
98 | ld de,0xc000 |
||
99 | ld bc,0x4000 |
||
100 | ldir |
||
101 | ld bc,WIN_A3 |
||
102 | ld a,9!0x7f |
||
103 | out (c),a |
||
104 | RUNSNA_LP128_M 0 ;㧨 㫥 ᭮ |
||
105 | RUNSNA_NOL0 |
||
708 | DimkaM | 106 | RUNSNA_LP128_M 1 ; ⠫ |
706 | Dimkam | 107 | RUNSNA_LP128_M 3 |
108 | RUNSNA_LP128_M 4 |
||
109 | RUNSNA_LP128_M 6 |
||
110 | RUNSNA_LP128_M 7 |
||
111 | RUNSNA_ENDLOAD |
||
112 | ld bc,WIN_P2 ; |
||
113 | ld a,00 |
||
114 | out (c),a |
||
708 | DimkaM | 115 | ld b,HIGH (WIN_A3) ;稬 FF |
706 | Dimkam | 116 | ld a,0!0xff |
117 | out (c),a |
||
118 | ld a,(lsna_BORD) |
||
708 | DimkaM | 119 | out (0xfe),a ;⠭ थ |
120 | ld a,(lsna_RI) ;ॣ I |
||
706 | Dimkam | 121 | ld i,a |
708 | DimkaM | 122 | ld hl,toFFpage ;६⨬ FF |
706 | Dimkam | 123 | ld de,0xA000 |
124 | ld bc,endFFpage-toFFpage |
||
125 | ldir |
||
708 | DimkaM | 126 | ld hl,(0x8066) ;࠭ 0x0066 |
706 | Dimkam | 127 | ld de,(0x8068) |
128 | ld bc,0xc300 |
||
708 | DimkaM | 129 | ld (0x8066),bc ; JP |
706 | Dimkam | 130 | ld bc,0x2000 |
131 | ld (0x8068),bc |
||
708 | DimkaM | 132 | ld bc,WIN_A2 ; |
706 | Dimkam | 133 | ld a,2!0x7f |
709 | dimkam | 134 | out (c),a |
135 | ld a,8 ;ᣥਬ NMI |
||
136 | out (PEVO_CONF),a |
||
137 | ld a,1 |
||
138 | out (PEVO_CONF),a |
||
708 | DimkaM | 139 | halt ; 뢠 |
706 | Dimkam | 140 | |
141 | RUNSNA_LP128 |
||
708 | DimkaM | 142 | cp 0 ;ਬ ࠭ 㦥 㦥 |
706 | Dimkam | 143 | ret z |
144 | xor 0x7f |
||
145 | ld bc,WIN_A2 |
||
146 | out (c),a |
||
147 | ld hl,0xc000 ;४ ⮪ |
||
148 | ld de,0x8000 |
||
149 | ld bc,512-27-4 |
||
150 | ldir |
||
151 | ex de,hl |
||
152 | ld iyl,0x4000/512 |
||
153 | jr RUNSNA_L1P |
||
154 | |||
155 | RUNSNA_LP |
||
156 | ld hl,0x8000+512-27 |
||
157 | ld iyl,0x4000/512 |
||
158 | RUNSNA_LP5 |
||
159 | ld bc,WIN_A2 |
||
160 | out (c),d |
||
161 | ld b,HIGH (WIN_A3) |
||
162 | out (c),e |
||
163 | RUNSNA_L1P |
||
164 | xor a |
||
709 | dimkam | 165 | out (PEVO_CONF),a |
1186 | savelij | 166 | LD DE,(FATVAR.AFILCLS) |
167 | LD BC,(FATVAR.AFILCLS + 2) |
||
1120 | savelij | 168 | call LOAD_FILE |
1186 | savelij | 169 | LD (FATVAR.AFILCLS),DE |
170 | LD (FATVAR.AFILCLS + 2),BC |
||
706 | Dimkam | 171 | ld a,1 |
709 | dimkam | 172 | out (PEVO_CONF),a |
706 | Dimkam | 173 | ret |
174 | |||
175 | |||
176 | toFFpage |
||
708 | DimkaM | 177 | ld (0x0066),hl ;⠭ |
706 | Dimkam | 178 | ld (0x0068),de |
709 | dimkam | 179 | ld a,(fsna+LSNAST_SIM) ;० 뢠 |
180 | im 0 |
||
181 | or a |
||
182 | jr z,RUNSNA_ENDIM |
||
183 | im 1 |
||
184 | dec a |
||
185 | jr z,RUNSNA_ENDIM |
||
186 | im 2 |
||
187 | RUNSNA_ENDIM |
||
708 | DimkaM | 188 | ld bc,WIN_A1 ;⠭ ࠭ |
706 | Dimkam | 189 | ld a,5!0x7f |
190 | out (c),a |
||
191 | xor a |
||
709 | dimkam | 192 | out (PEVO_CONF),a |
193 | ld bc,CONF_128 ;⠭ 䨣樨 |
||
706 | Dimkam | 194 | ld a,(fsna+LSNAST_P7FFD) |
709 | dimkam | 195 | out (c),a |
708 | DimkaM | 196 | cp 0x30 ; 48 㦥 ⥪ |
706 | Dimkam | 197 | jr z,FFYESRET |
198 | ld sp,(fsna+LSNAST_RSP) |
||
199 | ld hl,(fsna+LSNAST_RPC) |
||
200 | push hl |
||
201 | ld (fsna+LSNAST_RSP),sp |
||
202 | FFYESRET |
||
709 | dimkam | 203 | ld bc,PENT_CONF ;⪫稬 1024 |
204 | PEFF7 |
||
205 | ld a,0 |
||
206 | out (c),a |
||
706 | Dimkam | 207 | ei |
208 | ld a,(fsna+LSNAST_IFF2) |
||
209 | and 4 |
||
210 | jr nz,FFENDEI |
||
211 | di |
||
212 | FFENDEI |
||
710 | DimkaM | 213 | ld a,(fsna+LSNAST_RR) |
214 | rlca |
||
215 | sub 0x15*2 |
||
216 | rrca |
||
217 | ld r,a |
||
706 | Dimkam | 218 | ld sp,fsna+LSNAST_AHL ;ࠥ ॣ |
219 | pop hl |
||
220 | pop de |
||
221 | pop bc |
||
222 | pop af |
||
223 | exx |
||
224 | ex af,af' |
||
225 | pop hl |
||
226 | pop de |
||
227 | pop bc |
||
228 | pop iy |
||
229 | pop ix |
||
230 | ld sp,fsna+LSNAST_RAF |
||
231 | pop af |
||
232 | ld sp,(fsna+LSNAST_RSP) |
||
708 | DimkaM | 233 | out (0xbe),a ;室 NMI |
706 | Dimkam | 234 | retn |
235 | ENDFFCODE |
||
236 | fsna EQU $-toFFpage+0x2000 |
||
237 | lsna LSNAST |
||
238 | endFFpage |