Subversion Repositories pentevo

Rev

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