diff options
Diffstat (limited to 'src/lib/formats/ti99_dsk.h')
-rw-r--r-- | src/lib/formats/ti99_dsk.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/lib/formats/ti99_dsk.h b/src/lib/formats/ti99_dsk.h index d596f4bb17c..d67f38acaae 100644 --- a/src/lib/formats/ti99_dsk.h +++ b/src/lib/formats/ti99_dsk.h @@ -14,7 +14,7 @@ #define TI99_DSK_H #include "flopimg.h" -#include "wd177x_dsk.h" +#include <sstream> class ti99_floppy_format : public floppy_image_format_t { @@ -26,23 +26,23 @@ public: protected: int decode_bitstream(const uint8_t *bitstream, uint8_t *trackdata, int *sector, int cell_count, int encoding, uint8_t gapbytes, int track_size); uint8_t get_data_from_encoding(uint16_t raw); + int get_sectors(const uint8_t *bitstream, int cell_count, int encoding, int track, int head, int sectors, uint8_t *sectordata, int *secnumber); virtual int min_heads() =0; virtual void determine_sizes(io_generic *io, int& cell_size, int& sector_count, int& heads, int& tracks) =0; - virtual int get_track_size(int cell_size, int sector_count) =0; - virtual void load_track(io_generic *io, uint8_t *trackdata, int head, int track, int acttrack, int sectorcount, int trackcount, int cellsize) =0; - virtual void write_track(io_generic *io, uint8_t *trackdata, int *sector, int track, int head, int maxsect, int maxtrack, int numbytes) =0; + virtual int get_track_size(int sector_count) =0; + virtual void load_track(io_generic *io, uint8_t *sectordata, int *sector, int *secoffset, int head, int track, int sectorcount, int trackcount) =0; + virtual void write_track(io_generic *io, uint8_t *sectordata, int *sector, int track, int head, int sector_count, int track_count) =0; int get_encoding(int cell_size); - void generate_track_fm(int track, int head, int cell_size, uint8_t* trackdata, floppy_image *image); - void generate_track_mfm(int track, int head, int cell_size, uint8_t* trackdata, floppy_image *image); - - bool check_for_address_marks(uint8_t* trackdata, int encoding); + void generate_fm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head); + void generate_mfm_track_from_sectors(floppy_image *image, uint8_t *sectordata, int sector_count, int *sector, int *secoffset, int track, int trackid, int head); // Debugging - void showtrack(uint8_t* trackdata, int length); + void dumpbytes(uint8_t* trackdata, int length); + std::string dumpline(uint8_t* line, int address) const; }; /* @@ -58,9 +58,9 @@ public: private: void determine_sizes(io_generic *io, int& cell_size, int& sector_count, int& heads, int& tracks) override; - int get_track_size(int cell_size, int sector_count) override; - void write_track(io_generic *io, uint8_t *trackdata, int *sector, int track, int head, int maxsect, int maxtrack, int numbytes) override; - void load_track(io_generic *io, uint8_t *trackdata, int head, int track, int acttrack, int sectorcount, int trackcount, int cellsize) override; + int get_track_size(int sector_count) override; + void write_track(io_generic *io, uint8_t *sectordata, int *sector, int track, int head, int sector_count, int track_count) override; + void load_track(io_generic *io, uint8_t *sectordata, int *sector, int *secoffset, int head, int track, int sector_count, int track_count) override; // This format supports single-sided images int min_heads() override { return 1; } @@ -97,9 +97,9 @@ public: private: void determine_sizes(io_generic *io, int& cell_size, int& sector_count, int& heads, int& tracks) override; - void load_track(io_generic *io, uint8_t *trackdata, int head, int track, int acttrack, int sectorcount, int trackcount, int cellsize) override; - void write_track(io_generic *io, uint8_t *trackdata, int *sector, int track, int head, int maxsect, int maxtrack, int numbytes) override; - int get_track_size(int cell_size, int sector_count) override; + void load_track(io_generic *io, uint8_t *sectordata, int *sector, int *secoffset, int head, int track, int sectorcount, int trackcount) override; + void write_track(io_generic *io, uint8_t *sectordata, int *sector, int track, int head, int sector_count, int track_count) override; + int get_track_size(int sector_count) override; // This format only supports double-sided images int min_heads() override { return 2; } |