summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/hp9845_printer.h
diff options
context:
space:
mode:
author Firehawke <Firehawke@users.noreply.github.com>2017-12-13 21:01:10 -0700
committer Firehawke <Firehawke@users.noreply.github.com>2017-12-13 21:01:10 -0700
commit54155441e9ba9941e85d80c4834a66376a11e791 (patch)
treeaa44bdaf0035cbe188d64c447f225f10f7d76d8d /src/mame/machine/hp9845_printer.h
parentf537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4 (diff)
Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4, reversing changes made to 0d70d798107d4e4e8fb9f230410aeb1e888d65c5.
Diffstat (limited to 'src/mame/machine/hp9845_printer.h')
-rw-r--r--src/mame/machine/hp9845_printer.h134
1 files changed, 0 insertions, 134 deletions
diff --git a/src/mame/machine/hp9845_printer.h b/src/mame/machine/hp9845_printer.h
deleted file mode 100644
index db88d87f2c7..00000000000
--- a/src/mame/machine/hp9845_printer.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:F. Ulivi
-/*********************************************************************
-
- hp9845_printer.h
-
- HP9845 internal printer HLE
-
-*********************************************************************/
-
-#ifndef MAME_MACHINE_HP9845_PRINTER_H
-#define MAME_MACHINE_HP9845_PRINTER_H
-
-#pragma once
-
-#include "imagedev/bitbngr.h"
-
-#define MCFG_9845PRT_IRL_HANDLER(_devcb) \
- devcb = &hp9845_printer_device::set_irl_handler(*device , DEVCB_##_devcb);
-
-#define MCFG_9845PRT_FLG_HANDLER(_devcb) \
- devcb = &hp9845_printer_device::set_flg_handler(*device , DEVCB_##_devcb);
-
-#define MCFG_9845PRT_STS_HANDLER(_devcb) \
- devcb = &hp9845_printer_device::set_sts_handler(*device , DEVCB_##_devcb);
-
-class hp9845_printer_device : public device_t
-{
-public:
- // construction/destruction
- hp9845_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // static configuration helpers
- template <class Object> static devcb_base &set_irl_handler(device_t &device, Object &&cb) { return downcast<hp9845_printer_device &>(device).m_irl_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_flg_handler(device_t &device, Object &&cb) { return downcast<hp9845_printer_device &>(device).m_flg_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_sts_handler(device_t &device, Object &&cb) { return downcast<hp9845_printer_device &>(device).m_sts_handler.set_callback(std::forward<Object>(cb)); }
-
- // device-level overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
- // PPU access
- DECLARE_READ16_MEMBER(printer_r);
- DECLARE_WRITE16_MEMBER(printer_w);
-
-private:
- devcb_write_line m_irl_handler;
- devcb_write_line m_flg_handler;
- devcb_write_line m_sts_handler;
-
- required_device<bitbanger_device> m_prt_graph_out;
- required_device<bitbanger_device> m_prt_alpha_out;
- required_region_ptr<uint8_t> m_prt_chargen;
-
- emu_timer *m_timer;
-
- // Size of various buffers
- static constexpr unsigned REDEF_CH_COUNT = 9;
- static constexpr unsigned REDEF_BUFF_LEN = 77;
-
- // State
- bool m_display_mode;
- bool m_shifted;
- bool m_current_u_l;
- bool m_current_big;
- bool m_ibf;
- bool m_inten;
- bool m_busy;
- uint8_t m_ib;
- uint8_t m_pos;
- uint8_t m_line[ 80 ];
- uint8_t m_attrs[ 80 ];
- uint8_t m_redef_count;
- uint8_t m_redef_idx;
- uint8_t m_redef_chars[ REDEF_CH_COUNT ];
- uint8_t m_replace_count;
- uint8_t m_redef_buff[ REDEF_BUFF_LEN ];
- uint8_t m_next_replace;
- uint8_t m_rep_str_len;
- uint8_t m_rep_str_ptr;
- uint8_t m_octal_accum;
- int m_fsm_state;
- unsigned m_cur_line;
-
- // FSM states
- enum {
- FSM_NORMAL_TEXT,
- FSM_AFTER_CR,
- FSM_AFTER_ESC,
- FSM_AFTER_ESC_AMP,
- FSM_COLLECT_ESC_QMARK,
- FSM_AFTER_ESC_AMP_K,
- FSM_AFTER_ESC_AMP_K_01,
- FSM_AFTER_ESC_AMP_D,
- FSM_AFTER_ESC_AMP_N,
- FSM_AFTER_ESC_AMP_O,
- FSM_AFTER_ESC_AMP_O_C,
- FSM_AFTER_ESC_AMP_O_C_L,
- FSM_AFTER_ESC_AMP_L,
- FSM_AFTER_ESC_AMP_N_C,
- FSM_WAIT_ESC_Z
- };
-
- void state_reset();
- void insert_char(uint8_t ch);
- void start_new_line();
- static uint8_t get_ch_matrix_line(const uint8_t *matrix_base , unsigned line_no , const uint8_t *seq);
- unsigned print_560_pixels(unsigned line_no , const uint8_t *pixels);
- uint8_t get_ch_pixels(uint8_t ch , uint8_t attrs , unsigned matrix_line) const;
- static attotime burn_time(unsigned pixel_count);
- void print_line();
- void print_graphic_line();
- void crlf();
- void set_tab();
- void clear_tabs();
- void move_to_next_tab();
- void update_flg();
- bool is_ch_redef(uint8_t ch , unsigned& redef_number) const;
- uint8_t allocate_ch_redef(uint8_t& idx);
- bool is_ch_replaced(uint8_t ch , uint8_t& len , uint8_t& ptr) const;
- uint8_t free_redef_space() const;
- uint8_t apply_shifting(uint8_t ch) const;
- bool parse_octal(uint8_t ch);
- bool parse_ch(uint8_t ch);
- void update_fsm();
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(HP9845_PRINTER, hp9845_printer_device)
-
-#endif // MAME_MACHINE_HP9845_PRINTER_H