summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/banctec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/banctec.cpp')
-rw-r--r--src/mame/drivers/banctec.cpp186
1 files changed, 0 insertions, 186 deletions
diff --git a/src/mame/drivers/banctec.cpp b/src/mame/drivers/banctec.cpp
deleted file mode 100644
index d871c5ec20a..00000000000
--- a/src/mame/drivers/banctec.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Felipe Sanches
-/***************************************************************************
- This driver covers only the Operator Panel of the BancTec 91690 Document Processor equipment
-
- Author: Felipe Sanches <juca@members.fsf.org>
-
- Maintainence Manual: <https://garoa.net.br/w/images/PAINEL_BANCTEC_91690.PDF>
-
- The display is considered a replaceable part, not repairable. Therefore the manual
- has no circuit description or schematic. And so, much of the below is guesswork.
-
- Machine starts up and clears video ram, then nothing more. Location of videoram
- in the memory map is unknown, left at 8000 for now.
-
-*/
-
-#include "emu.h"
-#include "cpu/mcs51/mcs51.h"
-#include "cpu/m6800/m6801.h"
-#include "video/mc6845.h"
-#include "emupal.h"
-#include "screen.h"
-
-class banctec_state : public driver_device
-{
-public:
- banctec_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_palette(*this, "palette")
- , m_video_address(0)
- , m_maincpu(*this, "maincpu")
- , m_videoram(*this, "videoram")
- , m_p_chargen(*this, "chargen")
- { }
-
- void banctec(machine_config &config);
-
-protected:
- MC6845_UPDATE_ROW(crtc_update_row);
- MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
- DECLARE_WRITE8_MEMBER(videoram_w);
-
- virtual void machine_reset() override;
- void banctec_mcu_mem(address_map &map);
- void banctec_mem(address_map &map);
-
-private:
- required_device<palette_device> m_palette;
- u8 m_video_address;
- required_device<cpu_device> m_maincpu;
- required_shared_ptr<u8> m_videoram;
- required_region_ptr<u8> m_p_chargen;
-};
-
-void banctec_state::banctec_mem(address_map &map)
-{
- map(0x0000, 0x07ff).rom();
- map(0x0800, 0xffff).ram(); /* Probably wrong. Must be verified on pcb! */
-}
-
-void banctec_state::banctec_mcu_mem(address_map &map)
-{
- map(0x2000, 0x2000).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
- map(0x2001, 0x2001).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
- map(0x2003, 0x2003).w(FUNC(banctec_state::videoram_w));
- map(0x8000, 0x80ff).ram().share("videoram"); /* Probably wrong. Must be verified on pcb! */
- map(0xe000, 0xffff).rom().region("mcu", 0x0000);
-}
-
-void banctec_state::machine_reset()
-{
-}
-
-
-/****************************
-* Video/Character functions *
-****************************/
-
-WRITE8_MEMBER( banctec_state::videoram_w )
-{
- m_videoram[m_video_address] = data;
- m_video_address++;
-}
-
-/* ROCKWELL 6545 - Transparent Memory Addressing */
-
-MC6845_UPDATE_ROW( banctec_state::crtc_update_row )
-{
- const rgb_t *palette = m_palette->palette()->entry_list_raw();
- u8 chr,gfx;
- u16 mem,x;
- u32 *p = &bitmap.pix32(y);
-
- for (x = 0; x < x_count; x++)
- {
- mem = (ma + x) & 0xff;
- chr = m_videoram[mem];
- gfx = m_p_chargen[chr | (ra << 8)] ^ ((x == cursor_x) ? 0xff : 0);
-
- /* Display a scanline of a character (8 pixels) */
- *p++ = palette[BIT(gfx, 7)];
- *p++ = palette[BIT(gfx, 6)];
- *p++ = palette[BIT(gfx, 5)];
- *p++ = palette[BIT(gfx, 4)];
- *p++ = palette[BIT(gfx, 3)];
- *p++ = palette[BIT(gfx, 2)];
- *p++ = palette[BIT(gfx, 1)];
- *p++ = palette[BIT(gfx, 0)];
- }
-}
-
-MC6845_ON_UPDATE_ADDR_CHANGED(banctec_state::crtc_addr)
-{
- /* What is this function meant to do ? */
- m_video_address = address;
-}
-
-/******************************
-* Graphics Decode Information *
-******************************/
-
-const gfx_layout banctec_gfx_layout =
-{
- 8, 8, /* 8x8 characters */
- 256, /* 256 characters */
- 1, /* 1 bits per pixel */
- {0}, /* no bitplanes; 1 bit per pixel */
- {0, 1, 2, 3, 4, 5, 6, 7},
- {0 * 256*8, 1 * 256*8, 2 * 256*8, 3 * 256*8, 4 * 256*8, 5 * 256*8, 6 * 256*8, 7 * 256*8},
- 8 /* size of one char */
-};
-
-static GFXDECODE_START( gfx_banctec )
- GFXDECODE_ENTRY( "chargen", 0x00000, banctec_gfx_layout, 0, 1 )
-GFXDECODE_END
-
-void banctec_state::banctec(machine_config &config)
-{
- /* basic machine hardware */
-
- I80C31(config, m_maincpu, XTAL(11'059'200));
- m_maincpu->set_addrmap(AS_PROGRAM, &banctec_state::banctec_mem);
-
- m6803_cpu_device &mcu(M6803(config, "mcu", 4000000)); /* Actual MCU is a Motorola 6803 and the clock frequency is still unknown */
- mcu.set_addrmap(AS_PROGRAM, &banctec_state::banctec_mcu_mem);
-
-// The video signal is generated by a R6545EAP character generator chip
-// The U20 EPROM holds the image data for the character set.
-
- // video hardware
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_size((52+1)*8, (31+1)*8);
- screen.set_visarea(0*8, 40*8-1, 0*8, 25*8-1);
- screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
- PALETTE(config, m_palette, palette_device::MONOCHROME);
- GFXDECODE(config, "gfxdecode", m_palette, gfx_banctec);
-
- r6545_1_device &crtc(R6545_1(config, "crtc", XTAL(2'000'000))); /* (?) */
- crtc.set_screen("screen");
- crtc.set_show_border_area(false);
- crtc.set_char_width(8);
- crtc.set_update_row_callback(FUNC(banctec_state::crtc_update_row));
- crtc.set_on_update_addr_change_callback(FUNC(banctec_state::crtc_addr));
-}
-
-ROM_START(banctec)
- ROM_REGION(0x800, "maincpu", 0)
- ROM_LOAD("banctec_eseries_panel_opnl.u20", 0x000, 0x800, CRC(c2ab9c06) SHA1(a296589034f656790ad5ffbce028dd846a40cf03))
-
- ROM_REGION(0x2000, "mcu", 0)
- ROM_LOAD("banctec_eseries_panel.u8", 0x0000, 0x2000, CRC(f3335e0a) SHA1(5ca45fdcb7ef45a65c28c79abfa9ebb7a8a06619))
-
- ROM_REGION(0x1000, "chargen", 0)
- ROM_LOAD("banctec_eseries_panel.u20", 0x0000, 0x1000, CRC(5b6ecec9) SHA1(35aff8f965bce77205e3a43d71e39097585091a7))
-ROM_END
-
-/***************************************************************************
-
- Game driver(s)
-
-***************************************************************************/
-
-/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
-CONS( 1989, banctec, 0, 0, banctec, 0, banctec_state, empty_init, "DALE Electronics", "BancTec ESeries Panel", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)