30 [[nodiscard]]
bool getStatus(EmuTime::param time)
override;
31 void setStrobe(
bool strobe, EmuTime::param time)
override;
32 void writeData(uint8_t data, EmuTime::param time)
override;
41 virtual void write(uint8_t data) = 0;
46 bool prevStrobe =
true;
72 void write(uint8_t data)
override;
85 void plot9Dots(
double x,
double y,
unsigned pattern);
136 std::array<uint8_t, 256 * MAX_FONT_WIDTH>
rom;
137 std::array<uint8_t, 256 * MAX_FONT_WIDTH>
ram;
165 std::unique_ptr<Paper> paper;
167 std::shared_ptr<IntegerSetting> dpiSetting;
169 const bool graphicsHiLo;
179 [[nodiscard]] std::string_view
getName()
const override;
182 template<
typename Archive>
183 void serialize(Archive& ar,
unsigned version);
186 [[nodiscard]]
unsigned parseNumber(
unsigned sizeStart,
unsigned sizeChars);
188 [[nodiscard]] std::pair<unsigned, unsigned> getNumberOfDots()
override;
189 void resetSettings()
override;
190 [[nodiscard]]
unsigned calcEscSequenceLength(uint8_t character)
override;
191 void processEscSequence()
override;
192 void processCharacter(uint8_t data)
override;
202 [[nodiscard]] std::string_view
getName()
const override;
205 template<
typename Archive>
206 void serialize(Archive& ar,
unsigned version);
209 [[nodiscard]]
unsigned parseNumber(
unsigned sizeStart,
unsigned sizeChars);
211 [[nodiscard]] std::pair<unsigned, unsigned> getNumberOfDots()
override;
212 void resetSettings()
override;
213 [[nodiscard]]
unsigned calcEscSequenceLength(uint8_t character)
override;
214 void processEscSequence()
override;
215 void processCharacter(uint8_t data)
override;
Represents something you can plug devices into.
std::string_view getName() const override
Name used to identify this pluggable.
void serialize(Archive &ar, unsigned version)
ImagePrinterEpson(MSXMotherBoard &motherBoard)
std::string_view getDescription() const override
Description for this pluggable.
std::string_view getDescription() const override
Description for this pluggable.
void serialize(Archive &ar, unsigned version)
std::string_view getName() const override
Name used to identify this pluggable.
ImagePrinterMSX(MSXMotherBoard &motherBoard)
virtual unsigned calcEscSequenceLength(uint8_t character)=0
void seekPrinterHeadRelative(double offset)
void resetEmulatedPrinter()
virtual std::pair< unsigned, unsigned > getNumberOfDots()=0
unsigned remainingCommandBytes
std::array< uint8_t, MAX_ESC_CMDSIZE > abEscSeq
virtual void processCharacter(uint8_t data)=0
void plot9Dots(double x, double y, unsigned pattern)
static constexpr int MAX_ESC_CMDSIZE
unsigned sizeRemainingDataBytes
ImagePrinter(MSXMotherBoard &motherBoard, bool graphicsHiLo)
virtual void resetSettings()=0
void printVisibleCharacter(uint8_t data)
void forceFormFeed() override
static constexpr unsigned PIXEL_WIDTH
struct openmsx::ImagePrinter::FontInfo fontInfo
virtual void processEscSequence()=0
static constexpr int MAX_FONT_WIDTH
void flushEmulatedPrinter()
void write(uint8_t data) override
void printGraphicByte(uint8_t data)
void writeData(uint8_t data, EmuTime::param time) override
Sets the data signals.
void setStrobe(bool strobe, EmuTime::param time) override
Sets the strobe signal: false = low, true = high.
virtual void forceFormFeed()=0
void plugHelper(Connector &connector, EmuTime::param time) override
virtual void write(uint8_t data)=0
void unplugHelper(EmuTime::param time) override
bool getStatus(EmuTime::param time) override
Returns the STATUS signal: false = low = ready, true = high = not ready.
~PrinterCore() override=default
This file implemented 3 utility functions:
std::array< uint8_t, 256 *MAX_FONT_WIDTH > rom
std::array< uint8_t, 256 *MAX_FONT_WIDTH > ram