Previous 199869 Revisions Next

r33839 Friday 12th December, 2014 at 05:05:35 UTC by Miodrag Milanović
Merge pull request #76 from shattered/_6c1cea5

bitgrpha, bitgrphb: new driver (BBN BitGraph terminal)
[src/lib/formats]fdd_dsk.c
[src/mess]mess.lst mess.mak
[src/mess/drivers]hp9k_3xx.c*

trunk/src/lib/formats/fdd_dsk.c
r242350r242351
7070   
7171   // sector map
7272   UINT8 num_secs[160];
73   UINT32 track_sizes[160];
73//   UINT32 track_sizes[160];
7474   UINT8 tracks[160 * 26];
7575   UINT8 heads[160 * 26];
7676   UINT8 secs[160 * 26];
r242350r242351
103103         curr_num_sec++;
104104      }
105105      num_secs[track] = curr_num_sec;
106      track_sizes[track] = curr_track_size;
106//      track_sizes[track] = curr_track_size;
107107   }
108108
109109   int cell_count = form_factor == floppy_image::FF_35 ? 200000 : 166666;
trunk/src/mess/drivers/hp9k_3xx.c
r0r242351
1// license:BSD-3-Clause
2// copyright-holders:R. Belmont
3/***************************************************************************
4 
5  hp9k3xx.c: preliminary driver for HP9000 300 Series (aka HP9000/3xx)
6 
7  Currently supporting:
8 
9  320:
10      MC68020 CPU @ 16.67 MHz
11      HP custom MMU
12      MC68881 FPU
13 
14  330:
15     MC68020 CPU @ 16.67 MHz
16     MC68851 MMU
17     MC68881 FPU
18 
19  All models have an MC6840 PIT on IRQ6 clocked at 250 kHz.
20 
21  TODO:
22    BBCADDR   0x420000
23    RTC_DATA: 0x420001
24    RTC_CMD:  0x420003
25    HIL:      0x428000
26    HPIB:     0x478000
27    KBDNMIST: 0x478005
28    DMA:      0x500000
29    FRAMEBUF: 0x560000
30 
31    6840:     0x5F8001/3/5/7/9, IRQ 6
32 
33****************************************************************************/
34
35#include "emu.h"
36#include "cpu/m68000/m68000.h"
37#include "machine/6840ptm.h"
38
39#define MAINCPU_TAG "maincpu"
40#define PTM6840_TAG "ptm"
41
42class hp9k3xx_state : public driver_device
43{
44public:
45   hp9k3xx_state(const machine_config &mconfig, device_type type, const char *tag)
46      : driver_device(mconfig, type, tag),
47      m_maincpu(*this, MAINCPU_TAG),
48      m_vram(*this, "vram")
49      { }
50
51   required_device<cpu_device> m_maincpu;
52   virtual void machine_reset();
53
54   optional_shared_ptr<UINT32> m_vram;
55
56   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
57   UINT32 hp98544_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
58
59   DECLARE_READ32_MEMBER(buserror_r);
60   DECLARE_WRITE32_MEMBER(buserror_w);
61
62private:
63};
64
65UINT32 hp9k3xx_state::hp98544_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
66{
67   UINT32 *scanline;
68   int x, y;
69   UINT32 pixels;
70   UINT32 m_palette[2] = { 0x00000000, 0xffffffff };
71
72   for (y = 0; y < 768; y++)
73   {
74      scanline = &bitmap.pix32(y);
75      for (x = 0; x < 1024/4; x++)
76      {
77         pixels = m_vram[(y * 256) + x];
78
79         *scanline++ = m_palette[(pixels>>24) & 1];
80         *scanline++ = m_palette[(pixels>>16) & 1];
81         *scanline++ = m_palette[(pixels>>8) & 1];
82         *scanline++ = m_palette[(pixels & 1)];
83      }
84   }
85
86   return 0;
87}
88
89// shared mappings for all 9000/3xx systems
90static ADDRESS_MAP_START(hp9k3xx_common, AS_PROGRAM, 32, hp9k3xx_state)
91   AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("maincpu",0) AM_WRITENOP   // writes to 1fffc are the LED
92
93   AM_RANGE(0x00200000, 0x002fffff) AM_RAM AM_SHARE("vram")   // 98544 mono framebuffer
94   AM_RANGE(0x00560000, 0x00563fff) AM_ROM AM_REGION("graphics", 0x0000)   // 98544 mono ROM
95
96   AM_RANGE(0x00510000, 0x00510003) AM_READWRITE(buserror_r, buserror_w)    // no "Alpha display"
97   AM_RANGE(0x00538000, 0x00538003) AM_READWRITE(buserror_r, buserror_w)   // no "Graphics"
98   AM_RANGE(0x005c0000, 0x005c0003) AM_READWRITE(buserror_r, buserror_w)   // no add-on FP coprocessor
99   AM_RANGE(0x005f8000, 0x005f800f) AM_DEVREADWRITE8(PTM6840_TAG, ptm6840_device, read, write, 0x00ff00ff)
100ADDRESS_MAP_END
101
102// 9000/320
103static ADDRESS_MAP_START(hp9k320_map, AS_PROGRAM, 32, hp9k3xx_state)
104   AM_RANGE(0xffe00000, 0xffefffff) AM_READWRITE(buserror_r, buserror_w)
105   AM_RANGE(0xfff00000, 0xffffffff) AM_RAM
106
107   AM_IMPORT_FROM(hp9k3xx_common)
108ADDRESS_MAP_END
109
110
111static ADDRESS_MAP_START(hp9k330_map, AS_PROGRAM, 32, hp9k3xx_state)
112   AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
113   AM_RANGE(0xffc00000, 0xffffffff) AM_RAM
114
115   AM_IMPORT_FROM(hp9k3xx_common)
116ADDRESS_MAP_END
117
118UINT32 hp9k3xx_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
119{
120   return 0;
121}
122
123/* Input ports */
124static INPUT_PORTS_START( hp9k330 )
125INPUT_PORTS_END
126
127
128void hp9k3xx_state::machine_reset()
129{
130}
131
132READ32_MEMBER(hp9k3xx_state::buserror_r)
133{
134   m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
135   m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
136   return 0;
137}
138
139WRITE32_MEMBER(hp9k3xx_state::buserror_w)
140{
141   m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
142   m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
143}
144
145static MACHINE_CONFIG_START( hp9k320, hp9k3xx_state )
146   /* basic machine hardware */
147   MCFG_CPU_ADD(MAINCPU_TAG, M68020, 16670000)
148   MCFG_CPU_PROGRAM_MAP(hp9k320_map)
149
150   MCFG_DEVICE_ADD(PTM6840_TAG, PTM6840, 0)
151   MCFG_PTM6840_INTERNAL_CLOCK(250000.0f)   // from oscillator module next to the 6840
152   MCFG_PTM6840_EXTERNAL_CLOCKS(250000.0f, 250000.0f, 250000.0f)
153
154   MCFG_SCREEN_ADD( "screen", RASTER)
155   MCFG_SCREEN_UPDATE_DRIVER(hp9k3xx_state, hp98544_update)
156   MCFG_SCREEN_SIZE(1024,768)
157   MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
158   MCFG_SCREEN_REFRESH_RATE(70)
159MACHINE_CONFIG_END
160
161static MACHINE_CONFIG_START( hp9k330, hp9k3xx_state )
162   /* basic machine hardware */
163   MCFG_CPU_ADD(MAINCPU_TAG, M68020PMMU, 16670000)
164   MCFG_CPU_PROGRAM_MAP(hp9k330_map)
165
166   MCFG_DEVICE_ADD(PTM6840_TAG, PTM6840, 0)
167   MCFG_PTM6840_INTERNAL_CLOCK(250000.0f)   // from oscillator module next to the 6840
168   MCFG_PTM6840_EXTERNAL_CLOCKS(250000.0f, 250000.0f, 250000.0f)
169
170   MCFG_SCREEN_ADD( "screen", RASTER)
171   MCFG_SCREEN_UPDATE_DRIVER(hp9k3xx_state, hp98544_update)
172   MCFG_SCREEN_SIZE(1024,768)
173   MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
174   MCFG_SCREEN_REFRESH_RATE(70)
175MACHINE_CONFIG_END
176
177ROM_START( hp9k320 )
178   ROM_REGION( 0x20000, MAINCPU_TAG, 0 )
179   ROM_LOAD16_BYTE( "5061-6538.bin", 0x000001, 0x004000, CRC(d6aafeb1) SHA1(88c6b0b2f504303cbbac0c496c26b85458ac5d63) )
180   ROM_LOAD16_BYTE( "5061-6539.bin", 0x000000, 0x004000, CRC(a7ff104c) SHA1(c640fe68314654716bd41b04c6a7f4e560036c7e) )
181   ROM_LOAD16_BYTE( "5061-6540.bin", 0x008001, 0x004000, CRC(4f6796d6) SHA1(fd254897ac1afb8628f40ea93213f60a082c8d36) )
182   ROM_LOAD16_BYTE( "5061-6541.bin", 0x008000, 0x004000, CRC(39d32998) SHA1(6de1bda75187b0878c03c074942b807cf2924f0e) )
183
184   ROM_REGION( 0x4000, "graphics", ROMREGION_ERASEFF | ROMREGION_BE | ROMREGION_32BIT )
185   ROM_LOAD16_BYTE( "98544_1818-1999.bin", 0x000001, 0x002000, CRC(8c7d6480) SHA1(d2bcfd39452c38bc652df39f84c7041cfdf6bd51) )
186ROM_END
187
188ROM_START( hp9k330 )
189   ROM_REGION( 0x20000, MAINCPU_TAG, 0 )
190   ROM_LOAD16_BYTE( "1818-4416.bin", 0x000000, 0x010000, CRC(cd71e85e) SHA1(3e83a80682f733417fdc3720410e45a2cfdcf869) )
191   ROM_LOAD16_BYTE( "1818-4417.bin", 0x000001, 0x010000, CRC(374d49db) SHA1(a12cbf6c151e2f421da4571000b5dffa3ef403b3) )
192
193   ROM_REGION( 0x4000, "graphics", ROMREGION_ERASEFF | ROMREGION_BE | ROMREGION_32BIT )
194   ROM_LOAD16_BYTE( "98544_1818-1999.bin", 0x000001, 0x002000, CRC(8c7d6480) SHA1(d2bcfd39452c38bc652df39f84c7041cfdf6bd51) )
195ROM_END
196
197/*    YEAR  NAME    PARENT  COMPAT  MACHINE   INPUT                 INIT    COMPANY          FULLNAME       FLAGS */
198COMP( 1985, hp9k320, 0,     0,      hp9k320,  hp9k330, driver_device, 0, "Hewlett-Packard", "HP9000/320", GAME_NOT_WORKING | GAME_NO_SOUND)
199COMP( 1987, hp9k330, 0,     0,      hp9k330,  hp9k330, driver_device, 0, "Hewlett-Packard", "HP9000/330", GAME_NOT_WORKING | GAME_NO_SOUND)
trunk/src/mess/mess.lst
r242350r242351
17191719hp9845b
17201720hp9845t
17211721hp9845c
1722hp9k320
1723hp9k330
17221724
17231725// SpectraVideo
17241726svi318  // SVI-318 (PAL)
trunk/src/mess/mess.mak
r242350r242351
12991299   $(MESS_DRIVERS)/hp49gp.o    \
13001300   $(MESS_DRIVERS)/hp9845.o    \
13011301   $(MESS_DRIVERS)/hp9k.o      \
1302   $(MESS_DRIVERS)/hp9k_3xx.o   \
13021303
1304
13031305$(MESSOBJ)/hec2hrp.a:           \
13041306   $(MESS_DRIVERS)/hec2hrp.o   \
13051307   $(MESS_MACHINE)/hec2hrp.o   \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team