|
| 1 | +// license:BSD-3-Clause |
| 2 | +// copyright-holders:Robbbert |
| 3 | +/******************************************************************************* |
| 4 | +
|
| 5 | +Skeleton driver for IBM InfoWindow 3477 terminal. |
| 6 | +
|
| 7 | + ______________ ________ |
| 8 | + ___________________| |_________| |_______________________ |
| 9 | + | |_____________| |_______| | |
| 10 | + | BATTERY ______ _____ | |
| 11 | + | |_____| |____| | |
| 12 | + | ____________ ___ ___ ___ ___ | |
| 13 | + | _________ |38F5768 | | <-SN74LS74AN | | | | |
| 14 | + | CXK58257M-10LL |TC110G17AF | | | | <-SN75112N | | |
| 15 | + | | | | | | | | | | <-SN7510BN| |
| 16 | + | ____ ____ | | |__| |__| |__| |__| | |
| 17 | + | |___| |___| |___________| _________ ____ | |
| 18 | + |____ CXK58257M-10LL |___| | |
| 19 | + | ______ ______ _________ ____________ | |
| 20 | + | ___ | | | | |AMD | |38F5769 | Xtal | |
| 21 | + | | | |EPROM| |EPROM| |N8088-2 | |TC110G26AF | 59.8185 MHz| |
| 22 | + | | | | | | | | | | | | |
| 23 | + | | | | | | | |________| | | | |
| 24 | + ___| |__| | | | | |___________| | |
| 25 | + _|__ |_____| |_____| ____ | |
| 26 | +| | 10124N-> | | |
| 27 | +|___| |||||||||||||||| | | | |
| 28 | + | |__| | |
| 29 | + | _________________ ___ ___ | |
| 30 | + |___________________________| |_|_| | | |___| |
| 31 | + |_|_|_|_|_|_|_|_| |
| 32 | +
|
| 33 | +ToDo: |
| 34 | +- Everything! |
| 35 | +
|
| 36 | +********************************************************************************/ |
| 37 | + |
| 38 | +#include "emu.h" |
| 39 | +#include "cpu/i86/i86.h" |
| 40 | +#include "emupal.h" |
| 41 | +#include "screen.h" |
| 42 | + |
| 43 | + |
| 44 | +namespace { |
| 45 | + |
| 46 | +class ibm3477_state : public driver_device |
| 47 | +{ |
| 48 | +public: |
| 49 | + ibm3477_state(const machine_config &mconfig, device_type type, const char *tag) |
| 50 | + : driver_device(mconfig, type, tag) |
| 51 | + , m_maincpu(*this, "maincpu") |
| 52 | + { } |
| 53 | + |
| 54 | + void ibm3477(machine_config &config); |
| 55 | + |
| 56 | +private: |
| 57 | + virtual void machine_reset() override ATTR_COLD; |
| 58 | + void palette_init(palette_device &palette) const; |
| 59 | + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 60 | + |
| 61 | + required_device<cpu_device> m_maincpu; |
| 62 | +}; |
| 63 | + |
| 64 | + |
| 65 | +// Input ports |
| 66 | +static INPUT_PORTS_START( ibm3477 ) |
| 67 | +INPUT_PORTS_END |
| 68 | + |
| 69 | +uint32_t ibm3477_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 70 | +{ |
| 71 | + return 0; |
| 72 | +} |
| 73 | + |
| 74 | +void ibm3477_state::palette_init(palette_device &palette) const |
| 75 | +{ |
| 76 | + palette.set_pen_color(0, 0, 0, 0); // Black |
| 77 | + palette.set_pen_color(1, 0, 255, 0); // Full |
| 78 | + palette.set_pen_color(2, 0, 128, 0); // Dimmed |
| 79 | +} |
| 80 | + |
| 81 | +void ibm3477_state::machine_reset() |
| 82 | +{ |
| 83 | +} |
| 84 | + |
| 85 | +void ibm3477_state::ibm3477(machine_config &config) |
| 86 | +{ |
| 87 | + // Basic machine hardware |
| 88 | + I8088(config, m_maincpu, 59'818'500 / 10); // Unknown clock |
| 89 | + |
| 90 | + // Video hardware |
| 91 | + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); |
| 92 | + screen.set_refresh_hz(60); |
| 93 | + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // Not accurate |
| 94 | + screen.set_screen_update(FUNC(ibm3477_state::screen_update)); |
| 95 | + screen.set_size(640, 240); |
| 96 | + screen.set_visarea(0, 639, 0, 239); |
| 97 | + screen.set_palette("palette"); |
| 98 | + |
| 99 | + PALETTE(config, "palette", FUNC(ibm3477_state::palette_init), 3); |
| 100 | +} |
| 101 | + |
| 102 | +// ROM definition |
| 103 | +ROM_START( ibm3477 ) |
| 104 | + ROM_REGION( 0x40000, "maincpu", 0 ) |
| 105 | + ROM_LOAD("pn_38f5843_ibm_30-10-89.zm12", 0x00000, 0x20000, CRC(b07efb93) SHA1(84d245d17828bc4e096e0cae2d066f2209f56a8f) ) |
| 106 | + ROM_LOAD("pn_38f5844_ibm_20-10-89.zm13", 0x20000, 0x20000, CRC(05f3c0f6) SHA1(f99096a2f3e97fe1eb540db3f3e620ddccf71bbc) ) |
| 107 | +ROM_END |
| 108 | + |
| 109 | +} // anonymous namespace |
| 110 | + |
| 111 | + |
| 112 | +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS |
| 113 | +COMP( 1998, ibm3477, 0, 0, ibm3477, ibm3477, ibm3477_state, empty_init, "IBM", "InfoWindow 3477", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // Spanish ROMs? |
0 commit comments