Skip to content

Commit 412b223

Browse files
authored
Add a skeleton driver for IBM InfoWindow 3477 (#13332)
New systems marked not working ------------------------------ IBM InfoWindow 3477 [OldComputers ES]
1 parent 95eb534 commit 412b223

File tree

3 files changed

+117
-1
lines changed

3 files changed

+117
-1
lines changed

src/mame/ibm/ibm3153.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// license:BSD-3-Clause
2-
// copyright-holders:Robbbert
2+
// copyright-holders:
33
/***************************************************************************
44
55
IBM 3153 Terminal.

src/mame/ibm/ibm3477.cpp

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
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?

src/mame/mame.lst

+3
Original file line numberDiff line numberDiff line change
@@ -20086,6 +20086,9 @@ husky
2008620086
@source:ibm/ibm3153.cpp
2008720087
ibm3153
2008820088

20089+
@source:ibm/ibm3477.cpp
20090+
ibm3477 // IBM InfoWindow 3477
20091+
2008920092
@source:ibm/ibm5100.cpp
2009020093
ibm5100
2009120094
ibm5110

0 commit comments

Comments
 (0)