Rev 19 | Rev 389 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | ha | 1 | iglobal |
19 | mario79 | 2 | ;function pointers. |
3 | fdc_irq_func dd fdc_null |
||
1 | ha | 4 | endg |
5 | |||
6 | uglobal |
||
7 | dmasize db 0x0 |
||
8 | dmamode db 0x0 |
||
9 | endg |
||
10 | |||
11 | fdc_init: ;start with clean tracks. |
||
12 | mov edi,0xD201 |
||
13 | mov al,0 |
||
14 | mov ecx,160 |
||
15 | rep stosb |
||
16 | ret |
||
17 | |||
18 | fdc_filesave: ;ebx: cluster to be saved. |
||
19 | pusha ;returns immediately. does not trigger a write. |
||
20 | mov eax,ebx |
||
21 | add eax,31 |
||
22 | mov bl,18 |
||
23 | div bl |
||
24 | mov ah,0 |
||
25 | add eax,0xD201 |
||
26 | mov [eax],byte 1 ;This track is now dirty. |
||
27 | popa |
||
28 | ret |
||
29 | |||
19 | mario79 | 30 | fdc_irq: |
31 | call [fdc_irq_func] |
||
32 | fdc_null: |
||
1 | ha | 33 | ret |
34 | |||
19 | mario79 | 35 | save_image: |
36 | call reserve_flp |
||
37 | call restorefatchain |
||
38 | pusha |
||
39 | call check_label |
||
40 | cmp [FDC_Status],0 |
||
41 | jne unnecessary_save_image |
||
42 | mov [FDD_Track],0 ; Цилиндр |
||
43 | mov [FDD_Head],0 ; Сторона |
||
381 | serge | 44 | mov [FDD_Sector],1 ; Сектор |
45 | mov esi,RAMDISK |
||
19 | mario79 | 46 | call SeekTrack |
47 | save_image_1: |
||
48 | push esi |
||
49 | call take_data_from_application_1 |
||
50 | pop esi |
||
51 | add esi,512 |
||
52 | call WriteSectWithRetr |
||
53 | ; call WriteSector |
||
54 | cmp [FDC_Status],0 |
||
55 | jne unnecessary_save_image |
||
56 | inc [FDD_Sector] |
||
57 | cmp [FDD_Sector],19 |
||
58 | jne save_image_1 |
||
59 | mov [FDD_Sector],1 |
||
381 | serge | 60 | inc [FDD_Head] |
19 | mario79 | 61 | cmp [FDD_Head],2 |
62 | jne save_image_1 |
||
63 | mov [FDD_Head],0 |
||
64 | inc [FDD_Track] |
||
65 | call SeekTrack |
||
66 | cmp [FDD_Track],80 |
||
67 | jne save_image_1 |
||
68 | unnecessary_save_image: |
||
69 | mov [fdc_irq_func],fdc_null |
||
70 | popa |
||
71 | mov [flp_status],0 |
||
72 | ret |
||
1 | ha | 73 |