Subversion Repositories pentevo

Rev

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

Rev Author Line No. Line
680 savelij 1
 
1120 savelij 2
; LAST UPDATE: 01.11.2023 savelij
680 savelij 3
 
4
;==================  DIVIDE ======================
1120 savelij 5
RD_HDD_DIVIDE   PUSH BC
680 savelij 6
                PUSH DE
7
                CALL SETVREG
8
                EX AF,AF'
780 savelij 9
                LD C,PV_1F7
1120 savelij 10
                LD A,0x20
680 savelij 11
                OUT (C),A
780 savelij 12
                LD C,PV_1F7
680 savelij 13
HDVRD1          IN A,(C)
1120 savelij 14
                AND 0x88
680 savelij 15
                CP 8
16
                JR NZ,HDVRD1
17
                EX AF,AF'
18
HDVRD2          EX AF,AF'
19
                CALL READVSEC
780 savelij 20
                LD C,PV_1F7
680 savelij 21
HDVRD3          IN A,(C)
1120 savelij 22
                AND 0x80
680 savelij 23
                JR NZ,HDVRD3
24
                EX AF,AF'
25
                DEC A
26
                JR NZ,HDVRD2
27
EXITVHD         POP DE
28
                POP BC
29
                LD A,B
1120 savelij 30
                AND 0x0F
680 savelij 31
                LD B,A
32
                XOR A
33
                RET
34
 
35
SETVREG         PUSH DE
36
                LD D,B
37
                LD E,C
1120 savelij 38
                LD BC,0xFF00+PV_1F6
680 savelij 39
                OUT (C),D
40
                EX AF,AF'
780 savelij 41
                LD C,PV_1F7
680 savelij 42
SETVRE1         IN A,(C)
1120 savelij 43
                AND 0x80
680 savelij 44
                JR NZ,SETVRE1
780 savelij 45
                LD C,PV_1F5
680 savelij 46
                OUT (C),E
47
                POP DE
780 savelij 48
                LD C,PV_1F4
680 savelij 49
                OUT (C),D
780 savelij 50
                LD C,PV_1F3
680 savelij 51
                OUT (C),E
780 savelij 52
                LD C,PV_1F2
680 savelij 53
                EX AF,AF'
54
                OUT (C),A
55
                RET
56
 
57
;READ SECTOR (512 BYTES)
1120 savelij 58
READVSEC        LD A,0x40
780 savelij 59
                LD C,PV_1F0
680 savelij 60
READVSC1        REPT 8
61
                INI
62
                INC B
63
                ENDM
64
                DEC A
65
                JR NZ,READVSC1
66
                RET
67
;==================  DIVIDE ======================