Mercurial > hg > Members > kono > nitros9-code
comparison level1/modules/rbf.asm @ 1931:806378a6049c
Added SS.FDInf GetStat, now used by dir -e
author | boisy |
---|---|
date | Sat, 26 Nov 2005 19:46:58 +0000 |
parents | 129fd29975a8 |
children | 7010c08050b7 |
comparison
equal
deleted
inserted
replaced
1930:91fb0d6e789f | 1931:806378a6049c |
---|---|
9 * 24 1985/??/?? | 9 * 24 1985/??/?? |
10 * From Tandy OS-9 Level One VR 02.00.00 | 10 * From Tandy OS-9 Level One VR 02.00.00 |
11 * | 11 * |
12 * 25 2003/10/07 Rodney V. Hamilton | 12 * 25 2003/10/07 Rodney V. Hamilton |
13 * Fix for LSN0 DD.TOT=0 lockout problem | 13 * Fix for LSN0 DD.TOT=0 lockout problem |
14 * | |
15 * 26 2005/11/26 Boisy G. Pitre | |
16 * Added SS.FDInf which is now used by dir -e | |
14 | 17 |
15 nam RBF | 18 nam RBF |
16 ttl Disk file manager | 19 ttl Disk file manager |
17 | 20 |
18 * Disassembled 98/08/23 18:26:52 by Disasm v1.6 (C) 1988 by RML | 21 * Disassembled 98/08/23 18:26:52 by Disasm v1.6 (C) 1988 by RML |
22 endc | 25 endc |
23 | 26 |
24 tylg set FlMgr+Objct | 27 tylg set FlMgr+Objct |
25 atrv set ReEnt+rev | 28 atrv set ReEnt+rev |
26 rev set $00 | 29 rev set $00 |
27 edition set 25 | 30 edition set 26 |
28 | 31 |
29 mod eom,name,tylg,atrv,start,size | 32 mod eom,name,tylg,atrv,start,size |
30 | 33 |
31 u0000 rmb 0 | 34 u0000 rmb 0 |
32 size equ . | 35 size equ . |
633 bcs L050E | 636 bcs L050E |
634 leas $02,s | 637 leas $02,s |
635 L051B puls pc,u,y,x | 638 L051B puls pc,u,y,x |
636 | 639 |
637 GetStat ldb $02,u | 640 GetStat ldb $02,u |
638 cmpb #$00 | 641 cmpb #SS.Opt |
639 beq L0543 | 642 beq L0543 |
640 cmpb #$06 | 643 cmpb #$06 |
641 bne L052F | 644 bne L052F |
642 clr $02,u | 645 clr $02,u |
643 L0529 clra | 646 L0529 clra |
644 ldb #$01 | 647 ldb #$01 |
645 lbra L03CD | 648 lbra L03CD |
646 L052F cmpb #$01 | 649 L052F cmpb #SS.Ready |
647 bne L0536 | 650 bne L0536 |
648 clr $02,u | 651 clr $02,u |
649 rts | 652 rts |
650 L0536 cmpb #$02 | 653 L0536 cmpb #SS.Size |
651 bne L0544 | 654 bne L0544 |
652 ldd $0F,y | 655 ldd $0F,y |
653 std $04,u | 656 std $04,u |
654 ldd <$11,y | 657 ldd <$11,y |
655 std $08,u | 658 std $08,u |
656 L0543 rts | 659 L0543 rts |
657 L0544 cmpb #$05 | 660 L0544 cmpb #SS.Pos |
658 bne L0551 | 661 bne L0551 |
659 ldd $0B,y | 662 ldd $0B,y |
660 std $04,u | 663 std $04,u |
661 ldd $0D,y | 664 ldd $0D,y |
662 std $08,u | 665 std $08,u |
663 rts | 666 Gst5FF rts |
664 L0551 cmpb #$0F | 667 L0551 cmpb #SS.FD |
665 bne L056B | 668 bne SSFDInf |
666 lbsr L0CD4 | 669 lbsr L0CD4 |
667 bcs L0543 | 670 bcs L0543 |
668 ldu $06,y | 671 ldu $06,y |
669 ldd $06,u | 672 ldd $06,u |
670 tsta | 673 tsta |
671 beq L0564 | 674 beq L0564 |
672 ldd #$0100 | 675 ldd #$0100 |
673 L0564 ldx $04,u | 676 L0564 ldx $04,u |
674 ldu $08,y | 677 ldu $08,y |
675 lbra L03FD | 678 lbra L03FD |
679 SSFDInf cmpb #SS.FDInf | |
680 bne L056B | |
681 lbsr L0D72 check for sector flush | |
682 bcs Gst5FF | |
683 ldb R$Y,u get MSB of sector # | |
684 ldx R$U,u get LSW of sector # | |
685 lbsr L0CEB read the sector | |
686 bcs Gst5FF error, return | |
687 ldu PD.RGS,y get register stack pointer | |
688 ldd R$Y,u get length of data to move | |
689 clra clear MSB | |
690 bra L0564 move it to user | |
691 | |
676 L056B lda #$09 | 692 L056B lda #$09 |
677 lbra L0CED | 693 lbra L0CED |
678 | 694 |
679 SetStat ldb R$B,u | 695 SetStat ldb R$B,u |
680 cmpb #SS.Opt | 696 cmpb #SS.Opt |