Rev 736 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 627 | savelij | 1 | |
| 1120 | savelij | 2 | ; LAST UPDATE: 18.10.2023 savelij |
| 627 | savelij | 3 | |
| 4 | ; |
||
| 5 | |||
| 6 | ED_DRV DW ED_RES |
||
| 7 | DW ED_SEEK |
||
| 8 | DW ED_FRM |
||
| 9 | DW ED_REC |
||
| 10 | DW ED_RD |
||
| 11 | DW ED_NOP |
||
| 12 | DW ED_WR |
||
| 13 | |||
| 14 | ;------------------------- |
||
| 15 | ; |
||
| 16 | ED_RES: |
||
| 17 | ED_REC: |
||
| 18 | ED_NOP |
||
| 19 | ; CALL TST_RT |
||
| 20 | XOR A |
||
| 21 | RET |
||
| 22 | |||
| 698 | dimkam | 23 | ;------------------------- |
| 627 | savelij | 24 | ED_SEEK: LD A,(RQCYL) |
| 25 | LD (ED_CYL),A |
||
| 26 | XOR A |
||
| 27 | RET |
||
| 28 | |||
| 29 | ;------------------------- |
||
| 30 | ; |
||
| 691 | DimkaM | 31 | ED_ADR BIT ED_INI,(IX-_TST_IS1) |
| 627 | savelij | 32 | CALL NZ,ED_INIT |
| 736 | savelij | 33 | ld a,~RAM_RAMDISK |
| 691 | DimkaM | 34 | RST 18H |
| 35 | EX AF,AF' |
||
| 36 | ld hl,(ED_CYL) |
||
| 37 | ld h,0xc2 |
||
| 38 | LD de,(RQSECT) |
||
| 39 | inc e |
||
| 40 | ld d,0 |
||
| 41 | ld b,126 |
||
| 42 | ED_ADR_LOOP: |
||
| 43 | ld a,(hl) |
||
| 44 | cp e |
||
| 45 | jr z,ED_ADR_END |
||
| 46 | inc h |
||
| 47 | ld a,(hl) |
||
| 48 | add a,d |
||
| 49 | ld d,a |
||
| 50 | inc h |
||
| 51 | djnz ED_ADR_LOOP |
||
| 52 | EX AF,AF' |
||
| 53 | rst 0x18 |
||
| 54 | JR ED_ERRA1 |
||
| 55 | ED_ADR_END: |
||
| 56 | ld e,0 |
||
| 57 | srl d |
||
| 58 | rr e |
||
| 59 | ld h,0xc0 |
||
| 60 | ld a,(hl) |
||
| 61 | add a,d |
||
| 62 | ld d,a |
||
| 63 | inc h |
||
| 736 | savelij | 64 | ld a,RAM_DATARAMD |
| 698 | dimkam | 65 | add a,(hl) |
| 66 | set 7,d |
||
| 67 | bit 6,d |
||
| 68 | jr z,ED_ADR_NINC |
||
| 69 | res 6,d |
||
| 70 | inc a |
||
| 691 | DimkaM | 71 | ED_ADR_NINC: |
| 72 | EX AF,AF' |
||
| 73 | rst 0x18 |
||
| 627 | savelij | 74 | RET |
| 75 | |||
| 76 | ED_INIT:RES ED_INI,(IX-_TST_IS1) |
||
| 77 | XOR A |
||
| 78 | CALL ED_PG |
||
| 79 | RST 18H |
||
| 80 | EX AF,AF' |
||
| 81 | LD A,0E5H |
||
| 82 | JP ED_CLR |
||
| 83 | |||
| 84 | ;------------------------- |
||
| 698 | dimkam | 85 | ; |
| 86 | ED_LDIR: |
||
| 87 | ld a,0x06 |
||
| 88 | in a,(0xbe) |
||
| 89 | EX AF,AF' |
||
| 90 | push bc |
||
| 91 | ld bc,WIN_P2 |
||
| 92 | out (c),a |
||
| 93 | pop bc |
||
| 94 | ldir |
||
| 95 | EX AF,AF' |
||
| 96 | ld bc,WIN_P2 |
||
| 97 | out (c),a |
||
| 98 | ret |
||
| 99 | ;------------------------- |
||
| 100 | ; |
||
| 627 | savelij | 101 | ED_RD: CALL ED_ADR ; COPY FROM HL ... |
| 698 | dimkam | 102 | EX DE,HL |
| 103 | LD BC,256 |
||
| 627 | savelij | 104 | LD DE,(DCBUF) ; ... TO DE 128 BYTE |
| 698 | dimkam | 105 | call ED_LDIR |
| 627 | savelij | 106 | EI |
| 107 | XOR A |
||
| 108 | RET |
||
| 109 | |||
| 110 | ED_ERRA1: POP AF |
||
| 111 | ED_ERRA:LD A,_ADRERR |
||
| 112 | RET |
||
| 113 | |||
| 114 | ;------------------------ |
||
| 115 | ; |
||
| 116 | ED_WR: CALL ED_ADR ; COPY TO HL ... |
||
| 698 | dimkam | 117 | LD BC,256 |
| 118 | LD HL,(DCBUF) |
||
| 119 | call ED_LDIR |
||
| 627 | savelij | 120 | EI |
| 121 | XOR A |
||
| 122 | RET |
||
| 123 | |||
| 124 | ;---------------------------- |
||
| 125 | ; FORMAT |
||
| 126 | ED_FRM: LD A,(RQCYL) |
||
| 127 | DEC A |
||
| 698 | dimkam | 128 | JP M,ED_ERRA |
| 627 | savelij | 129 | CALL ED_PG |
| 130 | RST 18H |
||
| 131 | EX AF,AF' |
||
| 132 | LD A,(RQBLN) |
||
| 133 | ED_CLR LD HL,0C000H |
||
| 134 | LD DE,0C001H |
||
| 135 | LD BC,03FFFH |
||
| 136 | LD (HL),A |
||
| 137 | LDIR |
||
| 138 | EX AF,AF' |
||
| 139 | RST 18H |
||
| 140 | EI |
||
| 141 | XOR A |
||
| 142 | RET |