?login_element?

Subversion Repositories NedoOS

Rev

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

Rev Author Line No. Line
92 DimkaM 1
sureLE=0
344 alone 2
pakto=#C000 ; १ (⮬ 室  >0,    pak9+)
92 DimkaM 3
CATBUF=#8000
4
CURBUF=#8900
5
CATGFX=#8A00
6
TCRC=#5000
7
svbfsz=#200
8
sets=17
9
pgTEXT=#10
10
pgLZ=#11
344 alone 11
; 䬠<<:+#200/#400 (H/L)
12
ldbit=#4000 ;⭮ 512!
289 dimkam 13
        ;DISPLAY /T,ldbit,"..",ldbit+#5FF
344 alone 14
bitlens=ldbit+#600;᪮쪮 쥢  
289 dimkam 15
        ;DISPLAY /T,bitlens,"..",bitlens+#FF
92 DimkaM 16
 
17
bdbit=bitlens+#100
289 dimkam 18
        ;DISPLAY /T,bdbit,"..",bdbit+#2FF
92 DimkaM 19
 
20
huff=bdbit
344 alone 21
;㧫 (frq,adrA(L))
22
;adrB=adrA+4 (᫨   ࠫ)
92 DimkaM 23
;H,L!
24
;max=595
344 alone 25
;+ 1  ७
26
;+ 1  ਧ   (-1)
92 DimkaM 27
huffend=597*4+huff
28
lens=-95*4+huffend-298-48-28
289 dimkam 29
        ;DISPLAY /T,lens
92 DimkaM 30
 
344 alone 31
;஢  ⠭ frq
32
frqs=huffend ;६஢
99 alone 33
        ;DISPLAY /T,frqs,">=#5000"
92 DimkaM 34
frqend=298*2+frqs
35
frq2end=298*4+1+frqs
289 dimkam 36
        ;DISPLAY /T,frq2end
92 DimkaM 37
 
344 alone 38
; 䬠<<:+#100/#200 (H/L)
99 alone 39
ddbit=(frq2end+255)/256*256
92 DimkaM 40
ddfrq=ddbit
344 alone 41
ddfrqend=ddbit+#300 ;᪮쪮 筮??? TODO
289 dimkam 42
        ;DISPLAY /T,ddbit,"..",ddfrqend-1
92 DimkaM 43
LZCPtab=#5800;ddbit+256
344 alone 44
rdbit=ddbit+48 ;ࠫ 48..75
92 DimkaM 45
rdfrq=ddfrq+96 ;!
46
 
47
OUTNAM
344 alone 48
        db "mynewrar.rar",0 ;TODO ᣥ஢  ARCNAME
92 DimkaM 49
ARCNAME;=#5CDD
50
        db "mynewrarrar"
51
;filez=fout-512
52
filez=#5D3B
344 alone 53
;4 /䠩: paksz,unpsz
92 DimkaM 54
 
55
;from=-MAX..XXXX
56
ENTRCOP=23698 ;16 bytes
344 alone 57
;: 11bit
58
keys=#4000 ;  512!
92 DimkaM 59
keymask=7
344 alone 60
;室  砬: pg3,4,6,7 
104 alone 61
 
92 DimkaM 62
;todo:read arc AFTER lz&huf constr
344 alone 63
;todo:䠩 १  ९ lz buf
64
;todo:㧨 2  䠩   
65
begin=#60D6+16 ;16=   
92 DimkaM 66
;em3d13=1
344 alone 67
;h18=1; 㧪  2 ᥪ. .(496  GO ?)
68
dolds=0;1 ;  ᬥ饭 (룮)
92 DimkaM 69
nastr=1 ;+174
70
;v1="3
71
;v2="3
72
;cache=1
344 alone 73
adir=30 ;   ४ਨ ( \), ᫨  A/C  Caps Shift
92 DimkaM 74
k256=0;#56 ;1 pg keys winpgs=52..55
75
k3b=1 ;3bytes keys
76
filter=1
77
fast0s=8 ;-0.1%
78
fastCPIQ=1;0 ;+18
79
fastTREE=1;1 ;+9
80
fastWRI=1
81
skipnotree=1
82
;flash=1
83
;panel=1
344 alone 84
zac=0 ;
92 DimkaM 85
;qc=1 ;+19
86
ay=1
87
 
853 alone 88
opt2s=1&ramdisk
92 DimkaM 89
 
90
;RELDRV
91
;       LD (DRVLET),A
92
RELOAD
94 alone 93
        LD SP,STACK
106 alone 94
       CALL OUTpgTEXT
92 DimkaM 95
      ;A=16
96
       IF ay
97
        LD HL,AYREGE
98
        LD D,14
99
AY0     LD BC,-3
100
        DEC D
101
        DEC HL
102
        OUT (C),D
103
        LD B,#BF
104
        LD A,(HL)
105
        OUT (C),A
106
        jr NZ,AY0
107
       ELSE
108
        OUT (-2),A
109
       ENDIF
94 alone 110
        ;EI 
92 DimkaM 111
       ;HALT 
112
       ;CALL 8020
113
       ;JNC $-4
114
       LD DE,0
115
       LD (selAsz),DE
116
        ;LD HL,CATBUF
117
        ;LD BC,#905
118
        ;CALL DOS
119
       XOR A
120
       LD (WYBRA),A
121
       IF adir
122
       LD HL,fdir
123
       LD (Lfname),HL
124
       ENDIF
125
;        LD HL,(CURENTR)
126
;        LD DE,ENTRCOP
127
;        LD B,16
128
;CP0     LD A,(DE)
129
;        CP (HL)
104 alone 130
;        INC HL
92 DimkaM 131
;        inc DE
132
;        jr NZ,$+4
133
;        DJNZ CP0
134
        LD HL,CATGFX
135
       ;jr Z,NOINCAT
136
        LD DE,CATBUF
137
        LD (CURENTR),DE
138
        XOR A
139
        LD (CURCATY),A
140
        LD (CATTOP),HL
141
;NOINCAT
142
        PUSH HL
104 alone 143
       ;LD DE,CATGFX+1
144
       ld d,h
145
       ld e,l
92 DimkaM 146
       inc de
147
        LD B,+(128*#50+1)/256 ;0.28
148
       LD (HL),L
149
       LDIR
150
       ;CALL CLSA0
151
        LD HL,CATBUF
152
        POP DE
153
       ;LD C,0
154
PRCAT0  LD A,(HL)
155
        OR A
156
        jr Z,PRCATQ
157
        PUSH BC
158
        LD B,8
159
PRCAT1 ;LD A,(HL)
160
       ;INC HL
161
        CALL PRGFXHL
162
        INC DE
163
        DJNZ PRCAT1
164
       INC E
165
       ;LD A,(HL)
166
        CALL PRGFXHL
167
       DEC E
168
        DEC HL
169
        LD A,(HL)
170
        INC HL
104 alone 171
        INC HL
92 DimkaM 172
        inc HL
173
        LD C,(HL)
174
        INC HL
175
        LD B,(HL)
176
        INC HL
177
        CP "B"
178
        jr Z,PRCHOB
179
        DEC BC
180
        INC B
181
        LD A,(HL)
182
PRCHOB  CP B
183
        LD A,"$"
184
        CALL NZ,PRGFX
104 alone 185
        INC HL
92 DimkaM 186
        inc HL
104 alone 187
        inc HL
92 DimkaM 188
        POP BC
189
        LD A,E
190
        ADD A,#50-8
191
        LD E,A
192
        jr NC,$+3
193
        INC D
194
        INC C
195
        JR PRCAT0
196
SELHEX
197
        LD DE,PRNUM
198
        LD A,(DE)
199
        XOR 62^24
200
        LD (DE),A
201
       ;JP REFRESH
202
PRCATQ
203
REFRESH
204
        ;CALL PANEL
205
        LD DE,#4016;7
206
        LD BC,(CATBUF+#8E5) ;free
207
        CALL PRNUM
208
        LD E,#10
209
        LD HL,TMENU
210
        CALL PRTEXT
211
        LD DE,#4001
212
DRVLET=$+1
213
        LD A,0
214
        ADD A,"A"
215
        CALL PRTHI
216
        LD A,":"
217
        CALL PRTHI
218
        LD B,11
219
        LD HL,CATBUF+#8F5
220
DISNM0  LD A,(HL)
221
        INC HL
222
        ADD A,A
223
        jr Z,DISNMQ
224
        PUSH AF
225
       ;SRL A
226
       RRA
227
        CALL PRTHI
228
        POP AF
229
        jr C,DISNMQ
230
        DJNZ DISNM0
231
DISNMQ
232
       IF nastr
233
        CALL PRSET
234
       ENDIF
235
        LD HL,CPn
236
        LD (HL),"n"
237
        LD HL,ADDloop
238
        LD (ADDjpnz),HL
239
OLDENTR
240
CURENTR=$+1
241
        LD HL,CATBUF
242
CURCATY=$+1
243
        LD B,0 ;Y
244
      ;HL=cur dir entry adr
245
PRHEAD
246
        CALL PRHEADP
247
SELFIL0
248
        LD (CURENTR),HL
249
        LD A,B
250
        LD (CURCATY),A
251
       LD C,#78
252
       CALL PRCUR
253
        PUSH BC,HL
254
        LD DE,#5010
255
        CALL PRFN
256
        LD E,#30
257
        DEC L,L
258
        LD C,(HL)
259
        INC L
260
        LD B,(HL)
261
        PUSH HL
262
        CALL PRNUM
263
        POP HL
264
        LD A,","
265
        CALL PRTHI
266
        INC L
267
        LD C,(HL)
268
        INC L
269
        LD B,(HL)
270
        PUSH HL
271
        CALL PRNUM
272
        POP HL
273
        LD E,#56
274
        INC L
104 alone 275
        LD L,(HL)
92 DimkaM 276
        ld H,0
277
       LD (selfsz),HL
278
        CALL PRNUM3
279
selAsz=$+1
280
       LD HL,0
281
       LD E,#D6
282
       CALL PRNUM4
283
        POP HL
284
        PUSH HL
285
       ;HALT
286
        LD DE,ENTRCOP
287
        LD BC,16
288
        LDIR
289
CATTOP=$+1
290
        LD HL,0
291
        CALL VIEGFX
292
        POP HL,BC
293
        CALL IYKEY
294
        LD C,7
295
        CALL PRCUR
296
        CP 32
297
        jr NZ,SELNSPC
298
       PUSH HL
299
SELSPC
300
       IF zac
301
        LD C,40
302
       ELSE
303
        LD C,0
304
       ENDIF
305
        CALL CAT2GFX
306
       IF zac
104 alone 307
        LD E,L
92 DimkaM 308
        ld D,5
309
        LD A,(DE)
310
        RRA
311
        LD DE,10
312
        jr C,$+5
313
        LD DE,-10
314
        RRA
315
        jr C,$+3
316
        SBC HL,DE
317
        AND 3
318
        ADD A,3
319
        LD LX,A
320
        LD HX,LX
321
        LD C,10
322
       ELSE
323
        LD C,80
324
       ENDIF
325
WYBINV0 LD A,(HL)
326
        CPL
327
        LD (HL),A
328
        INC HL
329
       IF zac
330
        DEC HX
331
        jr NZ,WYBINVN
332
        LD HX,LX
333
        ADD HL,DE
334
       ENDIF
335
WYBINVN DEC C
336
        jr NZ,WYBINV0
337
       POP DE
338
       PUSH DE
339
        CALL WYBPP
340
       jr Z,WYBY
344 alone 341
      ;⠪ 䠩  砫
92 DimkaM 342
WYB0Q   LD HL,WYBRA
343
        LD A,(HL)
344
        INC (HL)
345
        ADD A,A
346
        ADD A,0xff&((filez+1)/2)
347
        LD L,A
348
        ADC A,+(filez+1)/512
349
        SUB L
350
        LD H,A
351
        ADD HL,HL
352
        LD (HL),D
353
        DEC HL
354
        LD (HL),E
355
        JR WYBYOK
356
SELNSPC
357
        CP 13
358
        jr NZ,SELNENT
359
       PUSH HL
360
        LD C,8
361
        CALL CAT2GFX
362
        EX DE,HL
363
        LD A,"$"
364
        CALL PRGFX
365
       POP DE
366
       PUSH DE
367
       CALL WYBPP
368
       EX DE,HL
369
       jr NZ,SELSPC
370
        JR WYBYOKN
344 alone 371
      ; 
92 DimkaM 372
WYBY     EX DE,HL
373
         LD HL,WYBRA
374
         DEC (HL)
94 alone 375
         LD H,D
376
         ld L,E
92 DimkaM 377
        DEC DE
378
        INC HL,HL,HL
379
WYBY0
380
       DUP 4
381
        LDI
382
        INC BC
383
       EDUP
384
        DEC C
385
        jr NZ,WYBY0
386
WYBYOK
387
selfsz=$+1
388
       LD DE,0
389
       LD HL,(selAsz)
390
       jr NZ,$+6
391
       SBC HL,DE
392
       JR $+3
393
       ADD HL,DE
394
       LD (selAsz),HL
395
WYBYOKN
396
        CALL PRHEADP
397
       POP HL
398
SELDOWN LD DE,16
399
        ADD HL,DE
400
       ;A<>0
401
        XOR A
402
        OR (HL)
403
        JP Z,OLDENTR
404
        INC B
405
        LD A,B
94 alone 406
        CP 22 ;HGT
92 DimkaM 407
        jr NZ,STLFIL0
408
        DEC B
409
        LD E,#50
410
        JR SELFUDM
411
SELNENT
412
        SUB 11
413
        jr NZ,SELFnU
414
        LD DE,-16
415
        ADD HL,DE
416
        LD A,H
417
        CP CATBUF/256
418
        JP C,OLDENTR
419
        DEC B
420
        JP P,SDLFIL0
421
        INC B
422
        LD DE,-#50
423
        JR SELFUDM
424
SELFILN SBC HL,DE
425
STLFIL0 JR SDLFIL0
426
SELFnU
427
        INC A
428
        jr Z,SELDOWN
429
        INC A
430
        jr NZ,SELFnR
431
        LD A,22*2-1
432
        SUB B
433
        LD C,A
434
        XOR A
435
        LD DE,16
436
SELFR0  ADD HL,DE
437
        CP (HL)
438
        jr Z,SELFgE
439
        DEC C
440
        jr NZ,SELFR0
441
        LD D,A
442
        LD A,22-1
443
        SUB B
444
        LD E,A
445
       INC A
446
       CALL SELpppp
447
        LD DE,22*#50
448
SELFUDM PUSH HL
344 alone 449
        LD HL,(CATTOP) ; 䨪 砫   ⠫
92 DimkaM 450
        ADD HL,DE
451
        LD (CATTOP),HL
452
        POP HL
453
        JR SDLFIL0
454
SELFgE  LD HL,(CURENTR)
455
SELFgE0 LD DE,16
456
        ADD HL,DE
457
        LD A,(HL)
458
        SBC HL,DE
459
        OR A
460
        jr Z,SDLFIL0
461
        ADD HL,DE
462
        INC B
463
        LD A,B
464
        CP 22
465
        jr NZ,SELFgE0
466
        DEC B
467
        LD E,#50
468
        PUSH HL
469
        LD HL,(CATTOP)
470
        ADD HL,DE
471
        LD (CATTOP),HL
472
        POP HL
473
        JR SELFgE0
474
SELFnR
475
        INC A
476
        jr NZ,SELFnL
477
        LD DE,-22*16
478
        ADD HL,DE
479
        PUSH HL
94 alone 480
        LD E,B
481
        ld D,A
92 DimkaM 482
SELpppp
104 alone 483
        EX DE,HL
92 DimkaM 484
        add hl,hl
485
        add hl,hl
486
        add hl,hl
487
        add hl,hl
488
        EX DE,HL
489
        SBC HL,DE
490
       OR A
491
       RET NZ
492
        LD A,H
493
        CP CATBUF/256
494
        POP HL
495
        LD DE,-22*#50
496
        jr NC,SELFUDM
497
        LD HL,CATGFX
498
        LD (CATTOP),HL
499
        LD HL,CATBUF
94 alone 500
        LD B,L;0
92 DimkaM 501
SDLFIL0 JP SELFIL0
502
SELFnL
503
        INC A
504
        JP Z,SELHEX
505
         SUB -7
506
         OR 32
507
        CP "p"
508
        JP Z,SELFILT
509
        CP "c"
510
        JP Z,SELCREA
511
         CP "n"
512
         JP Z,SELCREA
513
        CP "a"
514
        JP Z,SELADD
515
       CP "s"
516
       JP Z,SELSEP
517
       CP "k"
518
       jr NZ,SELFINk
519
        LD DE,dicszM
520
        LD A,(DE)
521
        ADD A,A
522
;0=>0, -1=>-2, -#80=>0
523
        jr NZ,SELkA2
524
        jr C,SELkA2
525
        LD A,-4
526
SELkA2  LD (DE),A
527
        NEG
528
        RRCA
529
        RRCA
530
        LD C,47
531
        INC C
532
        SUB 10
533
        jr NC,$-3
534
        ADD A,10+"0"
535
        LD DE,tKB+1
536
        LD (DE),A
537
        DEC DE
538
        LD A,C
539
        LD (DE),A
540
        JP REFRESH
541
SELFINk
542
        CP "q"
104 alone 543
        jr NZ,SELNQUI
92 DimkaM 544
        QUIT
545
SELNQUI
546
        CP "m"
547
        jr Z,SELMET
548
        CP "r"
549
        jr Z,SELRAR
550
       IF dolds
551
       CP "+"
552
       jr Z,SELdolds
553
       ENDIF
554
       IF nastr
555
        CP "f"
556
        jr Z,SELFINE
557
       ENDIF
558
        CP "h"
559
        jr Z,SELHEA
560
        ;LD E,"A"
561
        ;CP "!"
562
        ;jr Z,SELDEST
563
        ;INC E
564
        ;CP "@"|32
565
        ;jr Z,SELDEST
566
        ;INC E
567
        ;SUB "#"
568
        ;jr Z,SELDEST
569
        ;INC E
570
        ;DEC A
571
        ;jr Z,SELDEST
572
        ;SUB "1"-"$"
573
        ;CP 4
574
        ;JP C,RELDRV
575
        JP SELFIL0
576
;SELDEST LD A,E
577
;        LD (TDEST),A
578
;        JP PRHEAD
579
SELMET
580
        LD DE,tmethod
581
       PUSH HL
582
Ptmets=$+1
583
        LD HL,tmets
584
        BIT 7,(HL)
585
       jr Z,$+5
586
        LD HL,tmets
587
        LD C,H
588
       LDI
589
       LDI
590
        LD DE,LEflag
591
       LDI
592
        LD DE,FMETH
593
       LDI
594
        LD (Ptmets),HL
595
       POP HL
596
        JP REFRESH
597
SELRAR
598
        LD DE,extext
599
        LD A,(DE)
600
        XOR "z"^"a"
601
        LD (DE),A
602
        INC DE
603
        LD A,(DE)
604
        XOR "x"^"r"
605
        LD (DE),A
606
        JP REFRESH
607
       IF dolds
608
SELdolds
609
        LD DE,doldson
610
        LD A,(DE)
611
        XOR " "^"+"
612
        LD (DE),A
613
        JP REFRESH
614
       ENDIF
615
SELHEA
616
        LD DE,THEADON
617
        LD A,(DE)
618
        XOR "n"^"f"
619
        LD (DE),A
620
        INC DE
621
        LD A,(DE)
622
        XOR " "^"f"
623
        LD (DE),A
104 alone 624
        JP PRHEAD
92 DimkaM 625
 
626
       IF nastr
627
SELFINE
628
SELFINY=$+1
629
        LD E,0 ;Y
630
SELFIN0
631
        LD A,E
632
       LD (SELFINY),A
94 alone 633
        ADD A,A
634
        add A,A
635
        add A,A
92 DimkaM 636
        ADD A,36
637
        LD C,#1C*8
638
        CALL 8880
639
        LD (HL),#3C;H
640
       CALL IYKEY
641
        LD D,0
642
        LD (HL),D
643
        LD HL,SETS
94 alone 644
        ADD HL,DE
645
        add HL,DE
92 DimkaM 646
       ;CP 13
647
       ;JP Z,OLDENTR
648
       LD BC,SELFIN0
649
       PUSH BC
650
        LD C,(HL)
651
        INC HL
652
        LD B,(HL)
653
        SUB 8
654
        jr NZ,FINnL
655
        LD A,(BC)
656
        CP #80
657
       RET Z
658
        PUSH BC
659
        LD HL,TSETMAY
660
        CPIR
661
FINLQ   POP BC
662
        LD A,(HL)
663
        LD (BC),A
664
PRSET
665
        PUSH DE
666
        LD HL,#589C
667
        LD DE,29
668
        LD BC,sets*256+#17
669
PRSET0  LD (HL),C
670
        INC L
671
        LD (HL),C
672
        INC L
673
        LD (HL),C
674
        INC L
675
        LD (HL),C
676
        ADD HL,DE
677
        DJNZ PRSET0
678
        LD DE,#409C
679
        LD HL,SETS
680
       ;LD C,sets
681
PRSET1
682
        CALL PRTHI32
683
       ;PUSH BC
684
        LD C,(HL)
685
        INC HL
686
        LD B,(HL)
687
        LD A,(BC)
688
       ;POP BC
689
        CALL PRHEX
690
        CALL PRTHI32
691
        DEC E,E,E,E
692
        CALL NXTLIN
693
        INC L
694
       ;DEC C
695
        jr NZ,PRSET1
696
        POP DE
697
        RET
698
FINnL   DEC A
699
        jr NZ,FINnR
700
        LD A,(BC)
701
        CP #FF
702
       RET Z
703
        PUSH BC
704
        LD HL,TSETMAY
705
        CPIR
706
        DEC HL,HL
707
        JR FINLQ
708
FINnR   DEC A
709
        jr NZ,FINnD
710
        LD A,sets-1
711
        CP E
712
       RET Z
713
        INC E
714
       RET
715
FINnD  DEC A
716
       JP NZ,RELOAD
717
        CP E
718
       RET Z
719
        DEC E
720
       RET
721
       ENDIF
722
WYBPP
723
WYBRA=$+1
724
        LD C,0
725
        LD A,C
726
       ;OR A
727
       ;JZ WYB0Q
728
       SUB 1
729
       RET C
730
        LD HL,filez
731
WYB0    LD A,(HL)
732
        INC HL
733
        CP E
734
        jr NZ,WYBN
735
        LD A,(HL)
736
        CP D
737
       ;JZ WYBY
738
       RET Z
739
WYBN    INC HL,HL,HL
740
        DEC C
741
        jr NZ,WYB0
742
       INC C
743
       RET
744
 
745
;separate files pack
746
SELSEP
747
        CALL SOZDWYB
748
        LD HL,SEPloop
749
        LD (ADDjpnz),HL
750
SEPloop
751
      LD HL,4
344 alone 752
      LD (filezsz),HL ;⮡   packlist
753
        CALL OUTpgTEXT ;  DOS  LZ
92 DimkaM 754
       IF ay==0
755
        OUT (-2),A
756
       ENDIF
757
       PUSH AF
758
        ;CALL GETfCUR ;hl=archive name
759
        SET 7,H ;skip hob.flag
760
        JR SEPlopU
761
 
762
;create rar
763
SELCREA
94 alone 764
;a='n' (new)/'c' (create)
92 DimkaM 765
       PUSH AF
94 alone 766
        ;PUSH HL
344 alone 767
        ;CALL SOZDWYB ;᫨ 䠩  ࠭,   ⥪騩 (hl)
99 alone 768
          ld hl,WYBRA
769
          ld (hl),1
94 alone 770
        ;POP HL
92 DimkaM 771
SEPlopU ;LD DE,ARCNAME
772
        ;LD BC,8
773
        ;LDIR 
774
        ld hl,ARCNAME+8;EX DE,HL
775
       LD A,(THEADON)
776
       CP "n"
777
       LD (HL)," "
94 alone 778
       jr NZ,$+4 ;no rar header
92 DimkaM 779
        LD (HL),"r"
344 alone 780
        ;CALL CON1NAM ;砥 tosave, ࠢ 
781
        ;TODO ᪮஢   (curfilenameaddr)  fdir
104 alone 782
        ;jr $
783
        ld hl,(curfilenameaddr)
609 alone 784
         inc hl
785
         ld a,(hl)
786
         cp ':'
787
         inc hl
788
         jr z,$+4
789
          dec hl
790
          dec hl
791
         ld a,(hl)
792
         cp '/'
793
         jr nz,$+3
794
         inc hl
104 alone 795
        ld de,fdir
796
        call strcopy
99 alone 797
        call setfilenamelen
92 DimkaM 798
       POP AF
799
       PUSH AF
344 alone 800
       ;CP pgTEXT ;separate(᫥ OUTpgTEXT)
92 DimkaM 801
       PUSH BC,DE,HL
802
        ;LD C,#12 ;del
803
      PUSH AF
804
       ;CALL NZ,DOD
344 alone 805
        CALL PKST ;⠭ hl', de'
94 alone 806
       LD HL,(extext);"zx"
92 DimkaM 807
      POP AF
94 alone 808
      ;jr Z,CRyOF ;separate
92 DimkaM 809
      LD A,(THEADON)
810
      CP "n"
811
      jr Z,CRnOFF1
94 alone 812
;no rar header
92 DimkaM 813
      LD A,(WYBRA)
814
      DEC A
344 alone 815
      jr NZ,$+5 ;TODO 祬???
92 DimkaM 816
CRyOF LD HL,(unpsz)
817
CRnOFF1
818
       LD (ARCNAME+9),HL
819
        ;LD A,46
820
        ;LD (rrrE),A ;ini ext
821
        ;CALL READs8
822
        ;LD HL,(s8+#E1);1st free
823
       ;LD (SAVE1st),HL
94 alone 824
 
825
;TODO ARCNAME->OUTNAM       
826
       call SAVECREATE ;OUTNAM=name 8.3
106 alone 827
;a=1: file exists, add to end
828
       dec a
829
       jr z,CREAfil ;don't add rar header
94 alone 830
 
92 DimkaM 831
       LD A,(THEADON)
832
       CP "n"
94 alone 833
       jr NZ,CREAfil ;no rar header
92 DimkaM 834
        LD IX,RARHEAD
835
        LD B,7
836
        CALL BLOCK
837
        LD IX,arhd
838
        LD B,13-2
839
;B=len-2(CRC)
840
        CALL UPCRC1
841
        LD IX,arhd-2
842
        LD (arhd-2),DE
843
        LD B,13
844
        CALL BLOCK
845
CREAfil
846
       POP HL,DE,BC
847
        POP AF
848
       CP "n";New
849
        JP NZ,ADDend;Create
106 alone 850
        CALL SAVE_ ;flush outfile
851
        call SAVECLOSE
92 DimkaM 852
        JR RELOAZ
853
SELFILT
344 alone 854
       CALL CLA ;뢥 lded
94 alone 855
        ;XOR A
344 alone 856
        ;CALL CONVNAM ;祬 몫砥 tosave??? TODO
94 alone 857
 
858
;hl=(ADRfrom)
859
 
344 alone 860
        CALL PKST ;⠭ hl', de'
92 DimkaM 861
      ;header off
862
        PUSH HL
863
        LD HL,CPn
344 alone 864
        LD (HL),H ;<>#6E ;no CRC??? TODO 祬???
92 DimkaM 865
        POP HL
99 alone 866
 
92 DimkaM 867
        CALL PACKfil
344 alone 868
        CALL QUIT_ ; ⨪
92 DimkaM 869
       ;CALL 8026
870
       ;JC $-3
94 alone 871
RELOAZ  
99 alone 872
        ;jr $
94 alone 873
        ret ;JP RELOAD
874
 
92 DimkaM 875
SELADD
876
        CALL SOZDWYB
877
ADDloop
878
        ;CALL READs8
344 alone 879
       ;LD HL,(s8+#E4) ;᫮ 䠩  ᪥
92 DimkaM 880
       ; XOR A
881
       ; CP L
882
       ;jr Z,RELOAZ ;no archive
883
        ;DEC L
104 alone 884
       ;LD H,A
92 DimkaM 885
       ;ld D,H
886
       ;ADD HL,HL,HL,HL,HL,HL,HL,HL
104 alone 887
       ;LD E,H
92 DimkaM 888
       ;ld H,dirsec/256
889
        ;PUSH HL
890
       ;LD L,D
891
        ;LD BC,#105
892
        ;CALL DOD ;TODO
344 alone 893
        ;POP HL ;hl=ਯ ᫥ 娢  ᪥
92 DimkaM 894
        ;LD A,(HL)
895
        ;DEC A
896
       ;jr Z,RELOAZ ;no archive
897
        ;LD DE,ARCNAME
898
        ;LD BC,11
899
        ;LDIR 
900
        ;DEC L
901
         ld hl,ARCNAME+8+2
902
       LD A,"r"
903
       CP (HL)
904
       jr NZ,RELnrar ;rzx
905
        DEC L
906
       LD A,"a"
907
       CP (HL)
908
       jr Z,RELyrar
909
        INC L
910
RELnrar
911
       LD A,(extext+1)
912
       CP (HL)
913
       jr NZ,RELOAZ  ;not RZX
914
        DEC L
915
       LD A,(extext)
916
       CP (HL)
917
       jr NZ,RELOAZ  ;not RZX
918
RELyrar DEC L
919
        ;LD A,(HL)
920
        ;DEC A
921
        ;CP "r"-1
922
        ;jr NZ,$+4
923
        ;LD A,46
924
        ;LD (rrrE),A ;ini ext
344 alone 925
      ;㧭 
92 DimkaM 926
        INC L,L,L
927
        LD C,(HL)
928
        INC L
929
        LD B,(HL)
930
        INC L
931
        LD E,(HL) ;sectors
932
       ;LD (SAV_a),HL
933
       PUSH DE
934
       PUSH BC
344 alone 935
      ;娢  㤠
92 DimkaM 936
       ;LD A,24
937
       ;LD (SAV_jr),A
938
        CALL CON1NAM
939
       ;PUSH BC,DE,HL
344 alone 940
      ;㧨 ᫥ ᥪ 娢
92 DimkaM 941
        ;LD HL,(s8+#E1) ;1st free
942
        ;DEC L
943
        ;JP P,$+6
944
        ;LD L,15
945
        ;DEC H
946
       ;LD (SAVE1st),HL
947
        ;EX DE,HL
948
        ;LD HL,fout
949
        ; LD BC,#105
950
        ;CALL DOD
951
       ;POP HL,DE,BC
952
        EXX
953
       POP BC
954
        DEC BC
955
        LD L,C
956
        LD H,fout/256
957
        INC HL
958
;HL=fout+1..256
959
       POP DE
960
        DEC E
961
        EXX
104 alone 962
ADDend  
963
        ;jr $
106 alone 964
        ld a,(savefilehandle)
965
        ld b,a
966
        OS_TELLHANDLE
967
;out: dehl=offset
968
        ld (recordstart),hl
969
        ld (recordstartHSW),de
970
 
104 alone 971
         ld de,(curfilenameaddr)
972
         call openstream_file
973
        CALL PACKfil
106 alone 974
         call SAVE_ ;flush outfile
975
         push hl
976
recordstart=$+1
977
        ld hl,0
978
recordstartHSW=$+1
979
        ld de,0
980
;dehl=offset
981
         call SAVEREWIND
982
         pop hl
344 alone 983
        CALL BYTsPPPfout ;࠭ 砫 fout  砫 䠩 (TODO  ???)
106 alone 984
         call SAVECLOSE
104 alone 985
         call closestream_file
986
 
987
         ld hl,(curfilenameaddr)
988
         call prtext
989
         ld hl,tadded
990
         call prtext
991
 
92 DimkaM 992
        CALL QUIT_
99 alone 993
 
994
        if 1==0
344 alone 995
;⠡ 㯠 䠩  㧪 ⤥쭮?
92 DimkaM 996
fileCUR=$+1
997
        LD HL,0;(fileCUR)
998
        LD DE,(paksz)
999
        LD (HL),E
1000
        INC HL
1001
        LD (HL),D
1002
        INC HL
1003
        LD DE,(unpsz)
1004
        LD (HL),E
1005
        INC HL
1006
        LD (HL),D
1007
        INC HL
1008
        LD (fileCUR),HL
99 alone 1009
        endif
1010
 
92 DimkaM 1011
        LD HL,WYBRA
1012
        DEC (HL)
1013
ADDjpnz=$+1
1014
        JP NZ,ADDloop
1015
       LD A,(THEADON)
1016
       CP "n"
1017
       jr Z,RELOAT
1018
filezsz=$+1
1019
      LD DE,0
1020
      LD A,E
344 alone 1021
      SUB 4; 1 䠩= ࠬ  ਯ "娢"
92 DimkaM 1022
      OR D
1023
      jr Z,RELOAT
1024
      PUSH DE
1025
        ;LD HL,TPLIST
1026
        ;LD C,#13
1027
        ;CALL DOD
1028
        ;LD C,#12;del
1029
        ;CALL DOD
344 alone 1030
        LD HL,filez; ᠢ  
92 DimkaM 1031
       LD D,keys/256
1032
       PUSH DE
1033
       LD B,2
1034
       LDIR ;??? TODO
1035
       POP HL
1036
;filezsz=$+1
1037
;LD DE,0
1038
      POP DE
1039
        ;LD C,#B;saveC
1040
        ;CALL DOD
1041
 
1042
;TODO save file hl=addr, de=size
1043
 
99 alone 1044
RELOAT  JP RELOAZ;RELOAD
92 DimkaM 1045
 
1046
;3
1047
CON1NAM
1048
        ;CALL GETfCUR
1049
         ld hl,ARCNAME
1050
        LD A,1
1051
CONVNAM
94 alone 1052
;out: hl=(ADRfrom)
92 DimkaM 1053
        LD (tosave),A
106 alone 1054
      ;CALL OUTpgTEXT
92 DimkaM 1055
        LD BC,11
1056
        ADD HL,BC
1057
       ;BIT 7,H
1058
       ;SET 7,H
1059
        LD C,(HL)
1060
        INC HL
99 alone 1061
        LD B,(HL) ;file length TODO
92 DimkaM 1062
        INC HL
1063
       LD A,(HL) ;<>0
344 alone 1064
       ;jr NZ,HOBNJR ;TODO  审
104 alone 1065
       ; LD B,(HL)
92 DimkaM 1066
       ; ld C,17
1067
       ; PUSH HL
1068
       ; PUSH HL
1069
       ; LD HL,CNVNMHQ
1070
       ; EX (SP),HL
1071
       ; XOR A
1072
;HOBNJR  
106 alone 1073
        ;ld bc,0x100
1074
        ;LD (unpsz),BC
92 DimkaM 1075
 
1076
      PUSH BC,HL
99 alone 1077
       LD E,A ;??? TODO
92 DimkaM 1078
        RES 2,L
1079
        DEC L
1080
       PUSH HL
1081
        LD BC,8
1082
FNLEN0  DEC HL
1083
        LD A,(HL)
1084
        CP 32
1085
        jr NZ,FNLENN
1086
        DEC C
1087
        jr NZ,FNLEN0
344 alone 1088
       INC C ;⨢ ⮣ 
92 DimkaM 1089
       INC L
1090
FNLENN
1091
       IF filter==0
1092
       PUSH BC
1093
       LD A,".
1094
       CPDR
1095
       POP BC
1096
       ENDIF
1097
       POP HL
1098
       IF filter==0
344 alone 1099
       JZ $+4 ;⨢ 12.34< >
92 DimkaM 1100
       ENDIF
1101
       INC E
1102
       DEC E
1103
         PUSH HL
1104
        PUSH DE
1105
Lfname=$+1
1106
        LD DE,fdir
1107
        LD A,(HL)
1108
        RES 3,L
1109
       IF filter
1110
       PUSH AF
1111
filt0   LD A,(HL)
1112
       LD (HL),"_"
1113
       CP 33
1114
       jr C,filtGOO
1115
       CP "."
1116
       jr Z,filtGOO
1117
       LD (HL),A
1118
        CP "+"
1119
        jr Z,filtBAD
1120
        CP 34
1121
        jr Z,filtBAD
1122
        CP "*"
1123
        jr Z,filtBAD
1124
        CP "/"
1125
        jr Z,filtBAD
1126
        CP 0x5c;"\"
1127
        jr Z,filtBAD
1128
        CP ":"
1129
        jr C,filtGOO
1130
        CP "@"
1131
        jr NC,filtGOO
1132
filtBAD LD (HL),"-"
1133
filtGOO LDI
1134
        JP PE,filt0
1135
       POP AF
1136
       ELSE
1137
        LDIR
1138
       ENDIF
1139
        EX DE,HL
1140
        POP BC
1141
         POP DE
1142
       jr Z,FNLyEXT
1143
        CP " "
1144
        jr Z,FNLnEXT
1145
FNLyEXT LD (HL),"."
1146
        INC HL
1147
       INC C
1148
       DEC C
1149
       jr NZ,$+5
1150
       LD (HL),"$"
1151
       INC HL
1152
        LD (HL),A
1153
        INC HL
1154
       PUSH HL
1155
         EX DE,HL
1156
         INC HL
104 alone 1157
         ;CALL goodH3
92 DimkaM 1158
        LD B,(HL)
1159
        INC HL
1160
        LD C,(HL)
104 alone 1161
        INC HL
92 DimkaM 1162
        POP HL
1163
         LD A," "
1164
         CP B
1165
         jr Z,$+4
1166
         LD (HL),B
1167
         INC HL
1168
         CP C
1169
         jr Z,$+4
1170
         LD (HL),C
1171
         INC HL
99 alone 1172
FNLnEXT
1173
        call setfilenamelen
92 DimkaM 1174
      POP HL,BC
1175
 
1176
        INC L
1177
        LD E,(HL)
1178
        INC L
1179
        LD D,(HL)
1180
CNVNMUSE
106 alone 1181
        if 1==0
344 alone 1182
;㧨 32
1183
         ld bc,0x100;0x8000 ; file size TODO
92 DimkaM 1184
       DEC BC
1185
       LD A,B
1186
        INC B
1187
       CP MAX/256
1188
        INC A
104 alone 1189
        jr C,CNVNMUSEnokus
344 alone 1190
        LD BC,packfilsz;#8000 ;᪠  #8000
106 alone 1191
        ;LD (kus),BC
104 alone 1192
CNVNMUSEnokus
92 DimkaM 1193
       SUB B
344 alone 1194
       LD (FILEremain),A ; 0/0
92 DimkaM 1195
        XOR A
1196
        LD L,A
1197
        SUB B
1198
        LD H,A
106 alone 1199
       ;LD (ADRfrom),HL
344 alone 1200
       ;LD C,5 ;TODO 
104 alone 1201
       endif
92 DimkaM 1202
        RET
94 alone 1203
 
1204
        if 1==0
344 alone 1205
;   17b    䠩
92 DimkaM 1206
CNVNMHQ
1207
        EX DE,HL
1208
        EX (SP),HL
1209
       DEC B ;v11
1210
        PUSH BC
1211
        LD C,17
1212
        LD (kus),BC
1213
        LD BC,13
1214
        OR A
1215
        SBC HL,BC
1216
        LDIR
344 alone 1217
       LD A,(HL) ;⠫ ⠬ !
92 DimkaM 1218
       EX DE,HL
1219
       LD (HL),B
1220
       INC HL
1221
       LD (HL),A
1222
        LD DE,105
1223
        LD L,D
1224
        LD B,15
1225
HOB0    LD A,(HL)
1226
        ADD A,E
1227
        LD E,A
1228
        LD A,(HL)
1229
        ADC A,D
1230
        LD D,A
1231
        INC HL
1232
        DJNZ HOB0
1233
        LD (HL),E
1234
        INC HL
1235
        LD (HL),D
1236
        INC HL
1237
        POP BC
1238
        POP DE
94 alone 1239
        RET
104 alone 1240
        endif
92 DimkaM 1241
 
99 alone 1242
setfilenamelen
1243
        ld hl,fdir
1244
        call strlen
1245
        ;LD DE,-fdir
1246
        ;ADD HL,DE
1247
        LD (namsz),HL
1248
        LD BC,32
1249
        ADD HL,BC
1250
        LD (fihdsz),HL
1251
        ret
1252
 
92 DimkaM 1253
SOZDWYB
344 alone 1254
;hl= ⥪饣 ਯ  CATBUF
92 DimkaM 1255
       CALL CLA
104 alone 1256
        ;LD DE,filez
344 alone 1257
        ;ld (fileCUR),DE ;⠡ 㯠 䠩  㧪 ⤥쭮?
92 DimkaM 1258
        LD A,(WYBRA)
1259
        OR A
344 alone 1260
        jr NZ,SOZDWYn ;㦥  ࠭ 䠩
92 DimkaM 1261
        INC A
1262
        LD (WYBRA),A
344 alone 1263
        LD (filez),HL ;hl= ⥪饣 ਯ  CATBUF
92 DimkaM 1264
SOZDWYn
1265
        ADD A,A
94 alone 1266
        LD B,A ;b=selfiles*2
92 DimkaM 1267
        ADD A,A
1268
        LD E,A
1269
        LD A,0
1270
        ADC A,A
94 alone 1271
        LD D,A ;de=selfiles*4
92 DimkaM 1272
        LD (filezsz),DE
1273
       IF adir==0
1274
        RET
1275
       ELSE
1276
        ;CALL 8026
1277
        ;RET C
1278
        CALL CLS
94 alone 1279
        ;LD (HL),#44
1280
        ;LDIR
92 DimkaM 1281
INCLX   INC B
1282
INPUT0
1283
        LD HL,fdir
1284
        PUSH BC
1285
       LD DE,#40E0
1286
        CALL PR_B
104 alone 1287
       DEC HL
92 DimkaM 1288
       dec E
1289
        POP BC
1290
       DEC E
1291
      ;LD A,"_"
1292
      ;CALL PRTHI
1293
       CALL PRTHI32
1294
        CALL IYKEY
116 alone 1295
        CP key_enter
104 alone 1296
        jr Z,INPOK
116 alone 1297
        cp 0x20
344 alone 1298
        jr C,INPDEL ;稥 ⥬   㦭
92 DimkaM 1299
      ;JP M,INPUT0
1300
       CP "/"
1301
       jr NZ,$+4
1302
       LD A,0x5c;"\"
1303
        LD (HL),A
1304
        LD A,B
1305
        CP adir;+1
1306
        jr NZ,INCLX
1307
INPDEL  DJNZ INPUT0
1308
        JR INCLX
1309
INPOK
1310
       LD (HL),0x5c;"\"
1311
       INC HL
1312
        LD (Lfname),HL
1313
       ENDIF
1314
CLA
1315
        PUSH HL
1316
        CALL CLS
94 alone 1317
        ;LD B,3
1318
        ;LDIR
344 alone 1319
       ;LD (lded),BC ;TODO 㤠-  㣮 
92 DimkaM 1320
        POP HL
1321
        RET
1322
 
1323
 
104 alone 1324
CLPG
92 DimkaM 1325
        push af
1326
        CALL OUTME
106 alone 1327
        if 1==1
1328
        ld hl,0xc000
1329
        ld de,0xc001
1330
        ld bc,0x3fff
1331
        ld (hl),l;0
1332
        ldir
344 alone 1333
        else ;  bfxx
92 DimkaM 1334
        LD HL,0
1335
        LD (CLPGSP),SP
1336
        LD SP,HL
1337
       LD C,2
1338
        LD B,L
1339
CLPG0   DUP 16
1340
        PUSH HL
1341
        EDUP
1342
        DJNZ CLPG0
1343
       DEC C
1344
       JR NZ,CLPG0
1345
CLPGSP=$+1
104 alone 1346
        LD SP,0
106 alone 1347
        endif
92 DimkaM 1348
        pop af
1349
        RET
1350
 
1351
IYKEY
1352
        PUSH HL
1353
        ;LD HL,23560
1354
        ;LD (HL),H
1355
        ;LD A,(HL)
1356
        ;CP H
104 alone 1357
        ;jr Z,$-2
1358
        push bc
1359
        push de
1360
        push ix
344 alone 1361
        push iy ;TODO   ୠ⨢?
104 alone 1362
        YIELDGETKEYLOOP
1363
        pop iy
1364
        pop ix
1365
        pop de
92 DimkaM 1366
        pop bc
1367
        POP HL
1368
        RET
1369
;2
1370
UPCRC1
104 alone 1371
        LD HL,-1
1372
        ld D,H
92 DimkaM 1373
        ld E,L
1374
UPCRC   PUSH BC
1375
        LD C,(IX)
1376
        CALL crcpp
1377
        POP BC
1378
        INC IX
1379
        DJNZ UPCRC
1380
INVCRC  CALL $+3
1381
        EX DE,HL
1382
INVHL   LD A,H
1383
        CPL
1384
        LD H,A
1385
        LD A,L
1386
        CPL
1387
        LD L,A
1388
        RET
1389
crcpp
1390
        LD B,8
1391
crclp   LD A,E
1392
        XOR C
104 alone 1393
        SRL C
92 DimkaM 1394
        srl H
104 alone 1395
        RR L
1396
        rr D
92 DimkaM 1397
        rr E
1398
        RRA
1399
        jr NC,noxor
1400
        LD A,H
1401
        XOR #ED
1402
        LD H,A
1403
        LD A,L
1404
        XOR #B8
1405
        LD L,A
1406
        LD A,D
1407
        XOR #83
1408
        LD D,A
1409
        LD A,E
1410
        XOR #20
1411
        LD E,A
1412
noxor   DJNZ crclp
1413
        RET
1414
 
1415
       IF ay
1416
        DW 300,400,500
1417
        DB 0
1418
        DB 7<3
1419
        DB 16,16,16
1420
        DW 6700
1421
        DB 1
1422
AYREGE
1423
       ENDIF
1424
tmets
1425
        DB "fa",24,"4"
1426
        DB "pu",24,"4"
1427
        DB "be",40,"5"
1428
        DB -1
1429
       IF nastr
1430
TSETMAY=$-1
1431
        DB #FE,#FD,#FC,#FA,#F8,#F4,#F0
1432
        DB #E8,#E0,#D0,#C0,#A0,#80
1433
       ENDIF
1434
TPLIST
1435
        DB "packlistC"
1436
THEAD
1437
        DB "to A",13
1438
TDEST=$-2
1439
        DB "Header on ",13
1440
THEADON=$-3
1441
        DB "Mark ",0
1442
TMENU
1443
        DB " free",13
1444
tMeth
1445
        DB "Method:"
1446
tmethod DB "best"
1447
tKB     DB "32K",13
1448
        DB 13
1449
        DB "1-4 drives",13
1450
       IF nastr
1451
        DB "Finetune"
1452
       ENDIF
1453
        DB 13
1454
        DB "Pack test",13
1455
       DB "Separate pack"
1456
        DB 13,"Create Rzx"
1457
extext=$-2
1458
       IF dolds
1459
doldson DB " "
1460
       ENDIF
1461
        DB 13
1462
        DB "New empty",13
1463
        DB "Add",13
1464
        DB 13
1465
        DB "Quit to DOS"
1466
        NOP
1467
RARHEAD
1468
        DB "Rar!",#1A,7,0
1469
        DW 0 ;CRC
1470
arhd    DB #73
1471
        DW 0
1472
        DW 13
1473
        DW 0
1474
        DW 0,0
1475
 
1476
fihd    DB #74
1477
        DW #8000
1478
fihdsz  DW 0
1479
paksz   DS 4
1480
unpsz   DS 4
1481
        DB 82
1482
filcrc  DS 4
1483
        DS 4 ;TIME
1484
        DB 20 ;VER
1485
FMETH   DB "5"
1486
namsz   DW 0
1487
        DS 4 ;ATTR
99 alone 1488
fdir    ;DB " ";filename.$diz
1489
        db "sometext.flz"
1490
        ds fdir+256-$
1491
;Konez=$+13+adir
92 DimkaM 1492
 
99 alone 1493
;WASSETS
92 DimkaM 1494
       ;DISP #5B05;(#5B5C)=#10
99 alone 1495
;GDESETS
92 DimkaM 1496
QUIT_
1497
        XOR A
1498
        OUT (-2),A
99 alone 1499
        ;CALL CLS
1500
        ;INC H
1501
        ;inc D
1502
        ;LD (HL),71
1503
        ;LDIR
92 DimkaM 1504
        LD HL,(unpsz)
1505
        LD DE,#488A
1506
        CALL PRNUM2
1507
       LD HL,(Lfname)
1508
       LD E,#4B
1509
       LD A,(namsz)
1510
       SUB L
1511
       ADD A,fdir&0xff
1512
       LD B,A
1513
       CALL PR_B
1514
        LD HL,(paksz)
1515
        LD E,#AA
1516
PRNUM2
1517
       PUSH HL
1518
       CALL PRNUMD
1519
       LD A,"="
1520
       CALL PRTHI
1521
       POP BC
1522
PRNUMH
1523
        LD A,"#"
1524
        CALL PRTHI
1525
        LD A,B
1526
        CALL PRHEX
1527
        LD A,C
1528
PRHEX
1529
        CALL PRHEXD
1530
PRHEXD  RRCA
1531
        RRCA
1532
        RRCA
1533
        RRCA
1534
        PUSH AF
1535
        AND 15
1536
        CP 10
1537
        CCF
1538
        ADC A,"0"
1539
        DAA
1540
        CALL PRTHI
1541
        POP AF
1542
        RET
1543
PRNUM
1544
        LD A,PRNUMH-$-2
104 alone 1545
        LD H,B
92 DimkaM 1546
        ld L,C
1547
PRNUMD  LD BC,10000
1548
        CALL PRDIG
1549
PRNUM4  LD BC,1000
1550
        CALL PRDIG
1551
PRNUM3  LD BC,100
1552
        CALL PRDIG
1553
        LD C,10
1554
        CALL PRDIG
1555
        LD C,1
1556
PRDIG
1557
        LD A,"0"-1
1558
        OR A
1559
        INC A
1560
        SBC HL,BC
1561
        jr NC,$-3
1562
        ADD HL,BC
1563
PRJR    jr NC,PR8X8
1564
PRTHI
1565
        if 1==0
1566
        PUSH BC,DE,HL
1567
        CALL BEFOPR
1568
PRTHI0  LD A,(HL)
1569
        RRCA
1570
        OR (HL)
1571
        LD (DE),A
1572
        INC L,D
1573
        DJNZ PRTHI0
1574
        POP HL,DE,BC
1575
        INC E
1576
        endif
1577
        RET
104 alone 1578
 
1579
        if 1==0 ;TODO
92 DimkaM 1580
PR1234
1581
        LD DE,#5941
104 alone 1582
        endif
92 DimkaM 1583
PR88HEX
1584
        LD A,H
1585
        CALL PR12
1586
        LD A,L
1587
PR12    PUSH AF
1588
        RRA
1589
        RRA
1590
        RRA
1591
        RRA
1592
        CALL PR8X8
1593
        POP AF
1594
PR8X8
1595
       PUSH HL
1596
        ADD A,A
1597
        ADD A,A
1598
        ADD A,A
1599
        OR #80
1600
        LD H,61
1601
        CP 80+#80
1602
        jr C,$+5
1603
        SUB 72+#80
1604
        INC H
1605
        LD L,A
1606
PR8X80  INC L
1607
        LD A,(HL)
1608
        ADD A,A,A,A
1609
        LD B,A
1610
       DUP 5
1611
        SBC A,A
1612
        LD (DE),A
1613
        INC E
1614
        SLA B
1615
       EDUP
1616
        SBC A,A
1617
        LD (DE),A
1618
       LD A,E
1619
       ADD A,#1B
1620
       LD E,A
1621
       jr NC,PR8X80
1622
       ADD A,#48
1623
       LD E,A
1624
       POP HL
1625
        RET
1626
       IF nastr
1627
SETS
1628
        DW SET1
1629
        DW SET2
1630
        DW SETA
1631
        DW SETB
1632
        DW SETC
1633
        DW SETD
1634
        DW SETE
1635
        DW SETF
1636
        DW SETG
1637
        DW SETH
1638
        DW SETI
1639
        DW SETJ
1640
        DW SETK
1641
        DW SETL
1642
        DW SETM
1643
        DW SETN
1644
        DW SETO
1645
 
289 dimkam 1646
        ;DISPLAY $
92 DimkaM 1647
SETSlen=$-SETS
1648
       ENDIF
1649
       ;ENT
1650
 
94 alone 1651
;GO
1652
;        JP RELOAD
92 DimkaM 1653
 
99 alone 1654
MAX=0x8100;-Konez-#200-svbfsz/256<8
344 alone 1655
;-(MAX+pakto/8*9)/256<8,fastWR:ᮦ 
1656
pak9=-MAX;த- LZ 
92 DimkaM 1657
fout=-MAX-#200-svbfsz
344 alone 1658
; 2ᥪ.࠭  .।
1659
;⮡ ᯥ  paklen,CRC
99 alone 1660
;s8=fout
1661
;dirsec=fout+#200
1662
        ;DISPLAY /T,Konez,/T,MAX