SayoriOS  0.3.3
Файл floppy.c

Драйвер Floppy. Подробнее...

#include <drv/disk/floppy.h>
#include <io/ports.h>
#include "sys/timer.h"
#include "mem/vmm.h"
#include "drv/disk/dpm.h"
#include "io/tty.h"
#include "sys/isr.h"

См. исходные тексты.

Функции

floppy_t Floppy (int device)
 
void irq_waitFloppy ()
 
int _FloppyError (int Device, int Error)
 
void _FloppyMotor (int device, int status)
 
int _FloppyCMD (int device, char cmd)
 
unsigned char _FloppyData (int device)
 
void _FloppyCI (int device, int *st0, int *cyl)
 
int _FloppyCalibrate (int device)
 
int _FloppyReset (int device)
 
int _FloppySeek (int device, unsigned cyli, int head)
 
int _FloppyTrack (int device, unsigned cyl, FloppyMode dir)
 
void addr_2_coff (uint32_t addr, uint16_t *cyl, uint32_t *offset, uint32_t *size)
 
int _FloppyCache (int device, FloppyMode mode, unsigned int addr, unsigned int *offset, unsigned int *size)
 
size_t _FloppyRead (int device, char *dst, uint32_t addr, uint32_t size)
 [Floppy] Чтение данных на устройство Подробнее...
 
size_t _FloppyWrite (int device, const char *dst, uint32_t addr, uint32_t size)
 
void _FloppyServiceA ()
 
void _FloppyCheck ()
 Автоматическое обновление данных о FD.
 
size_t _FloppyDPMWriteA (size_t Disk, uint64_t high_offset, uint64_t low_offset, size_t Size, void *Buffer)
 
size_t _FloppyDPMReadA (size_t Disk, uint64_t high_offset, uint64_t low_offset, size_t Size, void *Buffer)
 
void _FloppyPrint ()
 
void initFloppy ()
 

Переменные

bool _FloppyDebug = false
 
floppy_t floppy_data [2] = {0}
 
volatile bool interrupted = false
 

Подробное описание

Драйвер Floppy.

Автор
Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru)
Версия
0.3.5
Дата
2023-07-25

См. определение в файле floppy.c

Функции

◆ _FloppyRead()

size_t _FloppyRead ( int  device,
char *  dst,
uint32_t  addr,
uint32_t  size 
)

[Floppy] Чтение данных на устройство

Аргументы
dst- Данные, откуда выполнить чтение
addr- Адрес, откуда читать (0 - в начало)
size- Сколько считать данных
Возвращает
int Количество записанных байт

См. определение в файле floppy.c строка 343

◆ _FloppyTrack()

int _FloppyTrack ( int  device,
unsigned  cyl,
FloppyMode  dir 
)

FDB не проходит проверку SEEK

См. определение в файле floppy.c строка 233