Rev 94 | Rev 131 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 94 | Rev 95 | ||
---|---|---|---|
Line 405... | Line 405... | ||
405 | call reserve_hd1 |
405 | call reserve_hd1 |
406 | mov [hdbase], 0x170 |
406 | mov [hdbase], 0x170 |
407 | mov [hdid], 0x10 |
407 | mov [hdid], 0x10 |
408 | push 4 |
408 | push 4 |
409 | fs_OnHd: |
409 | fs_OnHd: |
- | 410 | call reserve_hd_channel |
|
410 | pop eax |
411 | pop eax |
411 | mov [hdpos], eax |
412 | mov [hdpos], eax |
412 | cmp ecx, 0x100 |
413 | cmp ecx, 0x100 |
413 | jae .nf |
414 | jae .nf |
414 | cmp cl, [0x40001+eax] |
415 | cmp cl, [0x40001+eax] |
415 | jbe @f |
416 | jbe @f |
416 | .nf: |
417 | .nf: |
- | 418 | call free_hd_channel |
|
417 | and [hd1_status], 0 |
419 | and [hd1_status], 0 |
418 | mov dword [esp+36], 5 ; not found |
420 | mov dword [esp+36], 5 ; not found |
419 | ret |
421 | ret |
420 | @@: |
422 | @@: |
421 | mov [fat32part], ecx |
423 | mov [fat32part], ecx |
Line 428... | Line 430... | ||
428 | mov eax, [ebx] |
430 | mov eax, [ebx] |
429 | cmp eax, fs_NumHdServices |
431 | cmp eax, fs_NumHdServices |
430 | jae .not_impl |
432 | jae .not_impl |
431 | add ebx, 4 |
433 | add ebx, 4 |
432 | call dword [fs_HdServices + eax*4] |
434 | call dword [fs_HdServices + eax*4] |
- | 435 | call free_hd_channel |
|
433 | and [hd1_status], 0 |
436 | and [hd1_status], 0 |
434 | mov [esp+36], eax |
437 | mov [esp+36], eax |
435 | mov [esp+24], ebx |
438 | mov [esp+24], ebx |
436 | ret |
439 | ret |
437 | .not_impl: |
440 | .not_impl: |
- | 441 | call free_hd_channel |
|
438 | and [hd1_status], 0 |
442 | and [hd1_status], 0 |
439 | mov dword [esp+36], 2 ; not implemented |
443 | mov dword [esp+36], 2 ; not implemented |
440 | ret |
444 | ret |
Line 441... | Line 445... | ||
441 | 445 | ||
Line 473... | Line 477... | ||
473 | call reserve_cd |
477 | call reserve_cd |
474 | mov [ChannelNumber],2 |
478 | mov [ChannelNumber],2 |
475 | mov [DiskNumber],1 |
479 | mov [DiskNumber],1 |
476 | push 0 |
480 | push 0 |
477 | fs_OnCd: |
481 | fs_OnCd: |
478 | - | ||
- | 482 | call reserve_cd_channel |
|
479 | pop eax |
483 | pop eax |
480 | mov [hdpos], eax |
484 | mov [hdpos], eax |
481 | cmp ecx, 0x100 |
485 | cmp ecx, 0x100 |
482 | jae .nf |
486 | jae .nf |
483 | push cx bx |
487 | push cx bx |
Line 487... | Line 491... | ||
487 | test bl,2 |
491 | test bl,2 |
488 | pop bx cx |
492 | pop bx cx |
Line 489... | Line 493... | ||
489 | 493 | ||
490 | jnz @f |
494 | jnz @f |
- | 495 | .nf: |
|
491 | .nf: |
496 | call free_cd_channel |
492 | and [cd_status], 0 |
497 | and [cd_status], 0 |
493 | mov dword [esp+36], 5 ; not found |
498 | mov dword [esp+36], 5 ; not found |
494 | ret |
499 | ret |
495 | @@: |
500 | @@: |
Line 499... | Line 504... | ||
499 | mov eax, [ebx] |
504 | mov eax, [ebx] |
500 | cmp eax,fs_NumCdServices |
505 | cmp eax,fs_NumCdServices |
501 | jae .not_impl |
506 | jae .not_impl |
502 | add ebx, 4 |
507 | add ebx, 4 |
503 | call dword [fs_CdServices + eax*4] |
508 | call dword [fs_CdServices + eax*4] |
- | 509 | call free_cd_channel |
|
504 | and [cd_status], 0 |
510 | and [cd_status], 0 |
505 | mov [esp+36], eax |
511 | mov [esp+36], eax |
506 | mov [esp+24], ebx |
512 | mov [esp+24], ebx |
507 | ret |
513 | ret |
508 | .not_impl: |
514 | .not_impl: |
- | 515 | call free_cd_channel |
|
509 | and [cd_status], 0 |
516 | and [cd_status], 0 |
510 | mov dword [esp+36], 2 ; not implemented |
517 | mov dword [esp+36], 2 ; not implemented |
511 | ret |
518 | ret |
Line 512... | Line 519... | ||
512 | 519 |