mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.3 KiB
71 lines
1.3 KiB
/*************************************************************/
|
|
/* sectorio.c 6/6/2012 dwg - read and write physical sectors */
|
|
/*************************************************************/
|
|
|
|
#include "cpmbios.h"
|
|
#include "bioscall.h"
|
|
|
|
int rdsector(drive,track,sector,buffer,select)
|
|
int drive;
|
|
int track;
|
|
int sector;
|
|
unsigned int buffer;
|
|
int select;
|
|
{
|
|
ireghl = pSELDSK;
|
|
iregbc = drive;
|
|
iregde = select;
|
|
bioscall();
|
|
|
|
ireghl = pSETTRK;
|
|
iregbc = track;
|
|
bioscall();
|
|
|
|
ireghl = pSETSEC;
|
|
iregbc = sector;
|
|
bioscall();
|
|
|
|
ireghl = pSETDMA;
|
|
iregbc = buffer;
|
|
bioscall();
|
|
|
|
ireghl = pREAD;
|
|
bioscall();
|
|
return irega;
|
|
}
|
|
|
|
|
|
int wrsector(drive,track,sector,buffer,select)
|
|
int drive;
|
|
int track;
|
|
int sector;
|
|
unsigned int buffer;
|
|
int select;
|
|
{
|
|
ireghl = pSELDSK;
|
|
iregbc = drive;
|
|
iregde = select;
|
|
bioscall();
|
|
|
|
ireghl = pSETTRK;
|
|
iregbc = track;
|
|
bioscall();
|
|
|
|
ireghl = pSETSEC;
|
|
iregbc = sector;
|
|
bioscall();
|
|
|
|
ireghl = pSETDMA;
|
|
iregbc = buffer;
|
|
bioscall();
|
|
|
|
ireghl = pWRITE;
|
|
bioscall();
|
|
return irega;
|
|
}
|
|
|
|
|
|
/********************/
|
|
/* eof - sectorio.c */
|
|
/********************/
|
|
|