mirror of https://git.ia64.cc/perso/cos2000v1.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.0 KiB
106 lines
2.0 KiB
model tiny,stdcall |
|
p586N |
|
locals |
|
jumps |
|
codeseg |
|
option procalign:byte |
|
|
|
include "..\include\mem.h" |
|
include "..\include\divers.h" |
|
|
|
org 0h |
|
|
|
start: |
|
header exe <"CE",1,0,0,,offset imports,,offset realstart> |
|
|
|
realstart: |
|
call [savestate] |
|
call [print],offset msg |
|
mov bp,1000h |
|
xor di,di |
|
xor cx,cx |
|
xor edx,edx |
|
verifall: |
|
mov ah,1 |
|
int 16h |
|
jz nokey |
|
cmp al,' ' |
|
je enend |
|
nokey: |
|
mov dx,di |
|
push edx |
|
mov dx,cx |
|
inc dx |
|
push edx |
|
mov ax,cx |
|
inc ax |
|
mov si,100 |
|
mul si |
|
mov si,2880 |
|
div si |
|
mov dx,ax |
|
push edx |
|
call [print],offset msg2 |
|
call gauge |
|
call [verifysector],cx |
|
jc errors |
|
je noprob |
|
inc di |
|
noprob: |
|
inc cx |
|
cmp cx,2880 |
|
jnz verifall |
|
enend: |
|
cmp di,0 |
|
je noatall |
|
call [print],offset error2 |
|
jmp someof |
|
noatall: |
|
call [print],offset noerror |
|
someof: |
|
mov ah,0 |
|
int 16h |
|
call [restorestate] |
|
retf |
|
errors: |
|
call [print],offset error |
|
mov ah,0 |
|
int 16h |
|
call [restorestate] |
|
retf |
|
|
|
error db '\g10,10Erreur avec le lecteur de disquette !',0 |
|
error2 db '\g10,10Le disque est defectueux, appuyez sur une touche pour quitter',0 |
|
noerror db '\g10,10Pas de secteurs defectueux, appuyez sur une touche pour continuer',0 |
|
msg db '\m02\e\c07\g29,00- Test de surface du disque -\g02,49<Pressez espace pour quitter>',0 |
|
msg2 db '\g10,20%u %%\g10,16%u cluster testes. \h34%u cluster defectueux. ',0 |
|
|
|
gauge: |
|
push ax dx |
|
mov ax,cx |
|
mul [sizeof] |
|
div [max] |
|
xor edx,edx |
|
mov dx,[sizeof] |
|
sub dx,ax |
|
push dx |
|
push 'Û' |
|
mov dx,ax |
|
push dx |
|
push 'Û' |
|
push offset gauges |
|
call [print] |
|
pop dx ax |
|
retn |
|
|
|
max dw 2879 |
|
sizeof dw 50 |
|
|
|
gauges db '\g10,18\c05%cM\c07%cM',0 |
|
|
|
importing |
|
use VIDEO.LIB,print |
|
use VIDEO,savestate |
|
use VIDEO,restorestate |
|
use DISQUE,verifysector |
|
endi
|
|
|