From bb7b375aa64da9c408f8070fe11639f614582647 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Sun, 17 Jan 2021 11:09:16 +0100 Subject: dc42: better cell size on save and remove extraneous logging --- src/lib/formats/ap_dsk35.cpp | 13 +++++-------- src/lib/formats/ap_dsk35.h | 1 + 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/lib/formats/ap_dsk35.cpp b/src/lib/formats/ap_dsk35.cpp index 73ce20bf8e7..580133b1844 100644 --- a/src/lib/formats/ap_dsk35.cpp +++ b/src/lib/formats/ap_dsk35.cpp @@ -1208,6 +1208,9 @@ LEGACY_FLOPPY_OPTIONS_END // license:BSD-3-Clause // copyright-holders:Olivier Galibert + +const int dc42_format::cell_count[5] = { 76950, 70672, 64244, 57739, 51387 }; + dc42_format::dc42_format() : floppy_image_format_t() { } @@ -1316,12 +1319,6 @@ bool dc42_format::load(io_generic *io, uint32_t form_factor, const std::vector &variants, fl uint8_t sectdata[(512+12)*12]; memset(sectdata, 0, sizeof(sectdata)); int nsect = 12-(track/16); - uint8_t buf[13000]; + uint8_t buf[20000]; int ts; - generate_bitstream_from_track(track, head, 200000000/(6208*nsect), buf, ts, image); + generate_bitstream_from_track(track, head, 200000000 / cell_count[track/16], buf, ts, image); int pos = 0; int wrap = 0; int hb = 0; diff --git a/src/lib/formats/ap_dsk35.h b/src/lib/formats/ap_dsk35.h index 2f6c54d66ce..67043e5bf6c 100644 --- a/src/lib/formats/ap_dsk35.h +++ b/src/lib/formats/ap_dsk35.h @@ -40,6 +40,7 @@ public: private: static const desc_e mac_gcr[]; + static const int cell_count[5]; uint8_t gb(const uint8_t *buf, int ts, int &pos, int &wrap); void update_chk(const uint8_t *data, int size, uint32_t &chk); -- cgit v1.2.3