00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef DISKDRIVE_H
00021 #define DISKDRIVE_H
00022
00023 #include "track.h"
00024 #include "fdcconst.h"
00025
00027 class Drive
00028 {
00029 public:
00030 Drive();
00031 ~Drive() {}
00032
00033 void init();
00034
00035 uint currentSector() {return mCurrentSector;}
00036 uint tracks() {return mTracks;}
00037 uint writeProtected() {return mWriteProtected;}
00038 uint currentTrack() {return mCurrentTrack;}
00039 uint currentSide() {return mCurrentSide;}
00040 uint sides() {return mSides;}
00041 uint flipped() {return mFlipped;}
00042 uint randomDEs() {return mRandomDEs;}
00043 Track & track(int trck, int sde) {return mTrack[trck][sde];}
00044
00045 void setAltered(uint num) {mAltered=num;}
00046 void setCurrentSector(uint num) {mCurrentSector=num;}
00047 void setCurrentTrack(uint num) {mCurrentTrack=num;}
00048 void setCurrentSide(uint num) {mCurrentSide=num;}
00049 void setSides(uint num) {mSides=num;}
00050 void setRandomDEs(uint num) {mRandomDEs=num;}
00051 void setTracks(uint num) {mTracks=num;}
00052
00053 private:
00054 uint mTracks;
00055 uint mCurrentTrack;
00056 uint mSides;
00057 uint mCurrentSide;
00058 uint mCurrentSector;
00059 uint mAltered;
00060 uint mWriteProtected;
00061 uint mRandomDEs;
00062 uint mFlipped;
00063 Track mTrack[DSK_TRACKMAX][DSK_SIDEMAX];
00064
00065 };
00066
00067 #endif