MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / floppy_get_info

Function floppy_get_info

bsp/x86/drivers/floppy.c:112–151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110
111
112u32 floppy_get_info(void)
113{
114 u32 i;
115 u8 CmType, FdType;
116
117 floppy_sendbyte(0x10);
118 i = floppy_getbyte();
119
120 switch (i)
121 {
122 case 0x80: floppy_inc_name = "NEC765A controller"; break;
123 case 0x90: floppy_inc_name = "NEC765B controller"; break;
124 default: floppy_inc_name = "Enhanced controller"; break;
125 }
126
127 CmType = readcmos(0x10); //read floppy type from cmos
128 FdType = (CmType>>4) & 0x07;
129
130 if ( FdType == 0 )
131 panic("Floppy driver not found!");
132
133 switch( FdType )
134 {
135 case 0x02: // 1.2MB
136 floppy_type = "1.2MB";
137 floppy_size = 2458*512;
138 break;
139
140 case 0x04: // 1.44MB 标准软盘
141 floppy_type = "1.44MB";
142 floppy_size = 2880*512;
143 break;
144
145 case 0x05: // 2.88MB
146 floppy_type = "2.88MB";
147 floppy_size = 2*2880*512;
148 break;
149 }
150 return 1;
151}
152
153
154void floppy_motorOn( void )

Callers 1

rt_floppy_initFunction · 0.85

Calls 4

floppy_sendbyteFunction · 0.85
floppy_getbyteFunction · 0.85
readcmosFunction · 0.85
panicFunction · 0.85

Tested by

no test coverage detected