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