- pop ebx\r
- mov al, [fdd_drivehead] ; ((head*4)|drive)\r
- call fdc_sendbyte\r
- mov al, [fdd_track] ; track/cylinder\r
- call fdc_sendbyte\r
-\r
- mov al, [fdd_head] ; head/side 0 or 1\r
- call fdc_sendbyte\r
- mov al, [fdd_sector] ; sector number\r
- call fdc_sendbyte\r
- mov al, 0x02 ; sector size, 512 bytes\r
- call fdc_sendbyte\r
-\r
- mov al, 0x12 ; sectors to a track\r
- call fdc_sendbyte\r
- mov al, 0x1B ; gap length\r
- call fdc_sendbyte\r
- mov al, 0xFF ; data length\r
- call fdc_sendbyte\r
-\r
- mov [fdd_int_done], 0\r
- call wait_int\r
- jc .error\r
-\r
- call fdc_getbyte\r
- mov [result_ST0], al ; ST0\r
- call fdc_getbyte\r
- mov [result_ST1], al ; ST1\r
- call fdc_getbyte\r
- mov [result_ST2], al ; ST2\r
- call fdc_getbyte\r
- mov [result_C], al ; cylinder\r
- call fdc_getbyte\r
- mov [result_H], al ; head\r
- call fdc_getbyte\r
- mov [result_R], al ; sector number.\r
- call fdc_getbyte\r
- mov [result_N], al ; sector size\r
-\r
- test [result_ST0], 0xc0 ; test if sr0 is 0xC0\r
- jnz .error\r
- cmp bl, 1 ; did we write the disk?\r
- je .ok\r
-\r
- mov ecx, 512 ; sector size in bytes\r
- mov esi, 0x80000 ; copy to dest. in edi\r
- rep movsb\r
+ pop ebx\r
+ mov al, [fdd_drivehead] ; ((head*4)|drive)\r
+ call fdc_sendbyte\r
+ mov al, [fdd_track] ; track/cylinder\r
+ call fdc_sendbyte\r
+\r
+ mov al, [fdd_head] ; head/side 0 or 1\r
+ call fdc_sendbyte\r
+ mov al, [fdd_sector] ; sector number\r
+ call fdc_sendbyte\r
+ mov al, 0x02 ; sector size, 512 bytes\r
+ call fdc_sendbyte\r
+\r
+ mov al, 0x12 ; sectors to a track\r
+ call fdc_sendbyte\r
+ mov al, 0x1B ; gap length\r
+ call fdc_sendbyte\r
+ mov al, 0xFF ; data length\r
+ call fdc_sendbyte\r
+\r
+ mov [fdd_int_done], 0\r
+ call wait_int\r
+ jc .error\r
+\r
+ call fdc_getbyte\r
+ mov [result_ST0], al ; ST0\r
+ call fdc_getbyte\r
+ mov [result_ST1], al ; ST1\r
+ call fdc_getbyte\r
+ mov [result_ST2], al ; ST2\r
+ call fdc_getbyte\r
+ mov [result_C], al ; cylinder\r
+ call fdc_getbyte\r
+ mov [result_H], al ; head\r
+ call fdc_getbyte\r
+ mov [result_R], al ; sector number.\r
+ call fdc_getbyte\r
+ mov [result_N], al ; sector size\r
+\r
+ test [result_ST0], 0xc0 ; test if sr0 is 0xC0\r
+ jnz .error\r
+ cmp bl, 1 ; did we write the disk?\r
+ je .ok\r
+\r
+ mov ecx, 512 ; sector size in bytes\r
+ mov esi, 0x80000 ; copy to dest. in edi\r
+ rep movsb\r