Previous 15994 Revisions Next

r871 Friday 24th August, 2007 at 02:24:11 UTC by Nathan Woods
[PC] Fixes for CPU cores that are now 16-bit; still more work to do
[src/mess]mess.c mess.h
[src/mess/drivers]at.c pc.c
[src/mess/includes]amstr_pc.h ibmpc.h pclpt.h
[src/mess/machine]amstr_pc.c ibmpc.c pc_fdc.c pc_fdc.h pc_hdc.c pc_hdc.h pc_joy.c pc_joy.h pclpt.c uart8250.c uart8250.h
[src/mess/video]pc_video.c pc_video.h

src/mess/mess.c
r870r871
270270READ8_HANDLER( return8_00 )   { return 0x00; }
271271READ8_HANDLER( return8_FE )   { return 0xFE; }
272272READ8_HANDLER( return8_FF )   { return 0xFF; }
273READ16_HANDLER( return16_FFFF ) { return 0xFFFF; }
src/mess/mess.h
r870r871
117117/* --------------------------------------------------------------------------------------------- */
118118
119119/* dummy read handlers */
120 READ8_HANDLER(return8_00);
121 READ8_HANDLER(return8_FE);
122 READ8_HANDLER(return8_FF);
120READ8_HANDLER(return8_00);
121READ8_HANDLER(return8_FE);
122READ8_HANDLER(return8_FF);
123READ16_HANDLER(return16_FFFF);
123124
124125/* gets the path to the MESS executable */
125126extern const char *mess_path;
src/mess/includes/pclpt.h
r870r871
3636WRITE8_HANDLER( pc_parallelport1_w );
3737WRITE8_HANDLER( pc_parallelport2_w );
3838
39READ32_HANDLER ( pc32_parallelport0_r );
40READ32_HANDLER ( pc32_parallelport1_r );
41READ32_HANDLER ( pc32_parallelport2_r );
42WRITE32_HANDLER( pc32_parallelport0_w );
43WRITE32_HANDLER( pc32_parallelport1_w );
44WRITE32_HANDLER( pc32_parallelport2_w );
39READ16_HANDLER ( pc16le_parallelport0_r );
40READ16_HANDLER ( pc16le_parallelport1_r );
41READ16_HANDLER ( pc16le_parallelport2_r );
42WRITE16_HANDLER( pc16le_parallelport0_w );
43WRITE16_HANDLER( pc16le_parallelport1_w );
44WRITE16_HANDLER( pc16le_parallelport2_w );
4545
46READ32_HANDLER ( pc32le_parallelport0_r );
47READ32_HANDLER ( pc32le_parallelport1_r );
48READ32_HANDLER ( pc32le_parallelport2_r );
49WRITE32_HANDLER( pc32le_parallelport0_w );
50WRITE32_HANDLER( pc32le_parallelport1_w );
51WRITE32_HANDLER( pc32le_parallelport2_w );
52
4653#ifdef __cplusplus
4754}
4855#endif
src/mess/includes/ibmpc.h
r870r871
22
33extern ppi8255_interface pc_ppi8255_interface;
44
5READ8_HANDLER( pc_rtc_r );
56WRITE8_HANDLER( pc_rtc_w );
6 READ8_HANDLER( pc_rtc_r );
7void pc_rtc_init(void);
87
9extern WRITE8_HANDLER ( pc_EXP_w );
10extern  READ8_HANDLER ( pc_EXP_r );
8READ16_HANDLER( pc16le_rtc_r );
9WRITE16_HANDLER( pc16le_rtc_w );
1110
11void pc_rtc_init(void);
1212
13READ8_HANDLER ( pc_EXP_r );
14WRITE8_HANDLER ( pc_EXP_w );
src/mess/includes/amstr_pc.h
r870r871
1READ8_HANDLER( pc1640_port60_r );
12WRITE8_HANDLER( pc1640_port60_w );
2 READ8_HANDLER( pc1640_port60_r );
3READ16_HANDLER( pc1640_16le_port60_r );
4WRITE16_HANDLER( pc1640_16le_port60_w );
35
4 READ8_HANDLER( pc1640_mouse_x_r );
5 READ8_HANDLER( pc1640_mouse_y_r );
6READ16_HANDLER( pc1640_16le_mouse_x_r );
7READ16_HANDLER( pc1640_16le_mouse_y_r );
8WRITE16_HANDLER( pc1640_16le_mouse_x_w );
9WRITE16_HANDLER( pc1640_16le_mouse_y_w );
610
7WRITE8_HANDLER( pc1640_mouse_x_w );
8WRITE8_HANDLER( pc1640_mouse_y_w );
11READ8_HANDLER( pc1640_port3d0_r );
12READ8_HANDLER( pc200_port378_r );
13READ8_HANDLER( pc1640_port378_r );
14READ8_HANDLER( pc1640_port4278_r );
15READ8_HANDLER( pc1640_port278_r );
916
10 READ8_HANDLER( pc1640_port3d0_r );
11 READ8_HANDLER( pc200_port378_r );
12 READ8_HANDLER( pc1640_port378_r );
13 READ8_HANDLER( pc1640_port4278_r );
14 READ8_HANDLER( pc1640_port278_r );
17READ16_HANDLER( pc200_16le_port378_r );
18READ16_HANDLER( pc1640_16le_port378_r );
1519
20
1621#define PC200_MODE (input_port_1_r(0)&0x30)
1722#define PC200_MDA 0x30
1823
src/mess/video/pc_video.c
r870r871
99#include "video/pc_video.h"
1010#include "video/generic.h"
1111#include "state.h"
12#include "memconv.h"
1213
1314
1415
r870r871
129130}
130131
131132
133WRITE16_HANDLER( pc_video_videoram16le_w ) { write16le_with_write8_handler(pc_video_videoram_w, offset, mem_mask, data); }
134
132135WRITE32_HANDLER( pc_video_videoram32_w )
133136{
134137   COMBINE_DATA(((UINT32 *) videoram) + offset);
src/mess/video/pc_video.h
r870r871
2222VIDEO_UPDATE( pc_video );
2323
2424WRITE8_HANDLER( pc_video_videoram_w );
25WRITE16_HANDLER( pc_video_videoram16le_w );
2526WRITE32_HANDLER( pc_video_videoram32_w );
2627
2728/* renderers */
src/mess/machine/uart8250.c
r870r871
434434WRITE8_HANDLER ( uart8250_2_w ) { uart8250_w(2, offset, data); }
435435WRITE8_HANDLER ( uart8250_3_w ) { uart8250_w(3, offset, data); }
436436
437READ16_HANDLER ( uart8250_16le_0_r ) { return read16le_with_read8_handler(uart8250_0_r, offset, mem_mask); }
438READ16_HANDLER ( uart8250_16le_1_r ) { return read16le_with_read8_handler(uart8250_1_r, offset, mem_mask); }
439READ16_HANDLER ( uart8250_16le_2_r ) { return read16le_with_read8_handler(uart8250_2_r, offset, mem_mask); }
440READ16_HANDLER ( uart8250_16le_3_r ) { return read16le_with_read8_handler(uart8250_3_r, offset, mem_mask); }
441WRITE16_HANDLER ( uart8250_16le_0_w ) { write16le_with_write8_handler(uart8250_0_w, offset, data, mem_mask); }
442WRITE16_HANDLER ( uart8250_16le_1_w ) { write16le_with_write8_handler(uart8250_1_w, offset, data, mem_mask); }
443WRITE16_HANDLER ( uart8250_16le_2_w ) { write16le_with_write8_handler(uart8250_2_w, offset, data, mem_mask); }
444WRITE16_HANDLER ( uart8250_16le_3_w ) { write16le_with_write8_handler(uart8250_3_w, offset, data, mem_mask); }
445
437446READ32_HANDLER ( uart8250_32le_0_r ) { return read32le_with_read8_handler(uart8250_0_r, offset, mem_mask); }
438447READ32_HANDLER ( uart8250_32le_1_r ) { return read32le_with_read8_handler(uart8250_1_r, offset, mem_mask); }
439448READ32_HANDLER ( uart8250_32le_2_r ) { return read32le_with_read8_handler(uart8250_2_r, offset, mem_mask); }
src/mess/machine/uart8250.h
r870r871
4949WRITE8_HANDLER ( uart8250_2_w );
5050WRITE8_HANDLER ( uart8250_3_w );
5151
52READ16_HANDLER ( uart8250_16le_0_r );
53READ16_HANDLER ( uart8250_16le_1_r );
54READ16_HANDLER ( uart8250_16le_2_r );
55READ16_HANDLER ( uart8250_16le_3_r );
56WRITE16_HANDLER ( uart8250_16le_0_w );
57WRITE16_HANDLER ( uart8250_16le_1_w );
58WRITE16_HANDLER ( uart8250_16le_2_w );
59WRITE16_HANDLER ( uart8250_16le_3_w );
60
5261READ32_HANDLER ( uart8250_32le_0_r );
5362READ32_HANDLER ( uart8250_32le_1_r );
5463READ32_HANDLER ( uart8250_32le_2_r );
src/mess/machine/pclpt.c
r870r871
158158WRITE8_HANDLER ( pc_parallelport1_w ) { pc_LPT_w(1,offset,data); }
159159WRITE8_HANDLER ( pc_parallelport2_w ) { pc_LPT_w(2,offset,data); }
160160
161READ32_HANDLER ( pc32_parallelport0_r ) { return read32le_with_read8_handler(pc_parallelport0_r, offset, mem_mask); }
162READ32_HANDLER ( pc32_parallelport1_r ) { return read32le_with_read8_handler(pc_parallelport1_r, offset, mem_mask); }
163READ32_HANDLER ( pc32_parallelport2_r ) { return read32le_with_read8_handler(pc_parallelport2_r, offset, mem_mask); }
164WRITE32_HANDLER( pc32_parallelport0_w ) { write32le_with_write8_handler(pc_parallelport0_w, offset, data, mem_mask); }
165WRITE32_HANDLER( pc32_parallelport1_w ) { write32le_with_write8_handler(pc_parallelport1_w, offset, data, mem_mask); }
166WRITE32_HANDLER( pc32_parallelport2_w ) { write32le_with_write8_handler(pc_parallelport2_w, offset, data, mem_mask); }
161READ16_HANDLER ( pc16le_parallelport0_r ) { return read16le_with_read8_handler(pc_parallelport0_r, offset, mem_mask); }
162READ16_HANDLER ( pc16le_parallelport1_r ) { return read16le_with_read8_handler(pc_parallelport1_r, offset, mem_mask); }
163READ16_HANDLER ( pc16le_parallelport2_r ) { return read16le_with_read8_handler(pc_parallelport2_r, offset, mem_mask); }
164WRITE16_HANDLER( pc16le_parallelport0_w ) { write16le_with_write8_handler(pc_parallelport0_w, offset, data, mem_mask); }
165WRITE16_HANDLER( pc16le_parallelport1_w ) { write16le_with_write8_handler(pc_parallelport1_w, offset, data, mem_mask); }
166WRITE16_HANDLER( pc16le_parallelport2_w ) { write16le_with_write8_handler(pc_parallelport2_w, offset, data, mem_mask); }
167
168READ32_HANDLER ( pc32le_parallelport0_r ) { return read32le_with_read8_handler(pc_parallelport0_r, offset, mem_mask); }
169READ32_HANDLER ( pc32le_parallelport1_r ) { return read32le_with_read8_handler(pc_parallelport1_r, offset, mem_mask); }
170READ32_HANDLER ( pc32le_parallelport2_r ) { return read32le_with_read8_handler(pc_parallelport2_r, offset, mem_mask); }
171WRITE32_HANDLER( pc32le_parallelport0_w ) { write32le_with_write8_handler(pc_parallelport0_w, offset, data, mem_mask); }
172WRITE32_HANDLER( pc32le_parallelport1_w ) { write32le_with_write8_handler(pc_parallelport1_w, offset, data, mem_mask); }
173WRITE32_HANDLER( pc32le_parallelport2_w ) { write32le_with_write8_handler(pc_parallelport2_w, offset, data, mem_mask); }
src/mess/machine/pc_joy.c
r870r871
77 *************************************************************************/
88
99#include "pc_joy.h"
10#include "memconv.h"
1011
1112static mame_time JOY_time;
1213
r870r871
4849
4950
5051
52READ16_HANDLER ( pc16le_JOY_r ) { return read16le_with_read8_handler(pc_JOY_r, offset, mem_mask); }
53WRITE16_HANDLER ( pc16le_JOY_w ) { write16le_with_write8_handler(pc_JOY_w, offset, data, mem_mask); }
54
55
56
5157INPUT_PORTS_START( pc_joystick_none )
5258   PORT_START_TAG("pc_joy")
5359    PORT_BIT ( 0xffff, 0x0000, IPT_UNUSED )
src/mess/machine/pc_joy.h
r870r871
1515READ8_HANDLER ( pc_JOY_r );
1616WRITE8_HANDLER ( pc_JOY_w );
1717
18READ16_HANDLER ( pc16le_JOY_r );
19WRITE16_HANDLER ( pc16le_JOY_w );
20
1821INPUT_PORTS_EXTERN( pc_joystick_none );
1922INPUT_PORTS_EXTERN( pc_joystick );
2023
src/mess/machine/pc_fdc.c
r870r871
382382   }
383383}
384384
385READ16_HANDLER( pc16le_fdc_r ) { return read16le_with_read8_handler(pc_fdc_r, offset, mem_mask); }
386WRITE16_HANDLER( pc16le_fdc_w ) { write16le_with_write8_handler(pc_fdc_w, offset, data, mem_mask); }
385387
386
387388READ32_HANDLER( pc32le_fdc_r ) { return read32le_with_read8_handler(pc_fdc_r, offset, mem_mask); }
388389WRITE32_HANDLER( pc32le_fdc_w ) { write32le_with_write8_handler(pc_fdc_w, offset, data, mem_mask); }
389390
src/mess/machine/pc_hdc.c
r870r871
765765WRITE8_HANDLER ( pc_HDC1_w ) { pc_HDC_w(0, offset, data); }
766766WRITE8_HANDLER ( pc_HDC2_w ) { pc_HDC_w(1, offset, data); }
767767
768READ32_HANDLER ( pc32_HDC1_r ) { return read32le_with_read8_handler(pc_HDC1_r, offset, mem_mask); }
769READ32_HANDLER ( pc32_HDC2_r ) { return read32le_with_read8_handler(pc_HDC2_r, offset, mem_mask); }
770WRITE32_HANDLER ( pc32_HDC1_w ) { write32le_with_write8_handler(pc_HDC1_w, offset, data, mem_mask); }
771WRITE32_HANDLER ( pc32_HDC2_w ) { write32le_with_write8_handler(pc_HDC2_w, offset, data, mem_mask); }
768READ16_HANDLER ( pc16le_HDC1_r ) { return read16le_with_read8_handler(pc_HDC1_r, offset, mem_mask); }
769READ16_HANDLER ( pc16le_HDC2_r ) { return read16le_with_read8_handler(pc_HDC2_r, offset, mem_mask); }
770WRITE16_HANDLER ( pc16le_HDC1_w ) { write16le_with_write8_handler(pc_HDC1_w, offset, data, mem_mask); }
771WRITE16_HANDLER ( pc16le_HDC2_w ) { write16le_with_write8_handler(pc_HDC2_w, offset, data, mem_mask); }
772
773READ32_HANDLER ( pc32le_HDC1_r ) { return read32le_with_read8_handler(pc_HDC1_r, offset, mem_mask); }
774READ32_HANDLER ( pc32le_HDC2_r ) { return read32le_with_read8_handler(pc_HDC2_r, offset, mem_mask); }
775WRITE32_HANDLER ( pc32le_HDC1_w ) { write32le_with_write8_handler(pc_HDC1_w, offset, data, mem_mask); }
776WRITE32_HANDLER ( pc32le_HDC2_w ) { write32le_with_write8_handler(pc_HDC2_w, offset, data, mem_mask); }
src/mess/machine/pc_fdc.h
r870r871
3838int   pc_fdc_dack_r(void);
3939void pc_fdc_dack_w(int);
4040
41READ8_HANDLER(pc_fdc_r);
42WRITE8_HANDLER(pc_fdc_w);
4143
44READ16_HANDLER(pc16le_fdc_r);
45WRITE16_HANDLER(pc16le_fdc_w);
4246
43READ8_HANDLER(pc_fdc_r);
44WRITE8_HANDLER(pc_fdc_w);
4547READ32_HANDLER(pc32le_fdc_r);
4648WRITE32_HANDLER(pc32le_fdc_w);
49
4750READ64_HANDLER(pc64be_fdc_r);
4851WRITE64_HANDLER(pc64be_fdc_w);
4952
src/mess/machine/pc_hdc.h
r870r871
1010READ8_HANDLER  ( pc_HDC2_r );
1111WRITE8_HANDLER ( pc_HDC2_w );
1212
13READ32_HANDLER  ( pc32_HDC1_r );
14WRITE32_HANDLER ( pc32_HDC1_w );
15READ32_HANDLER  ( pc32_HDC2_r );
16WRITE32_HANDLER ( pc32_HDC2_w );
13READ16_HANDLER  ( pc16le_HDC1_r );
14WRITE16_HANDLER ( pc16le_HDC1_w );
15READ16_HANDLER  ( pc16le_HDC2_r );
16WRITE16_HANDLER ( pc16le_HDC2_w );
1717
18READ32_HANDLER  ( pc32le_HDC1_r );
19WRITE32_HANDLER ( pc32le_HDC1_w );
20READ32_HANDLER  ( pc32le_HDC2_r );
21WRITE32_HANDLER ( pc32le_HDC2_w );
22
1823int pc_hdc_dack_r(void);
1924void pc_hdc_dack_w(int data);
2025
src/mess/machine/ibmpc.c
r870r871
22#include "mscommon.h"
33#include "machine/pcshare.h"
44#include "includes/ibmpc.h"
5#include "memconv.h"
56
67#define VERBOSE_PIO 0      /* PIO (keyboard controller) */
78
r870r871
229230   mame_timer_adjust(pc_rtc.timer, time_zero, 0, make_mame_time(1, 0));
230231}
231232
232 READ8_HANDLER( pc_rtc_r )
233READ8_HANDLER( pc_rtc_r )
233234{
234235   int data;
235236   switch (offset) {
r870r871
249250   }
250251}
251252
253READ16_HANDLER( pc16le_rtc_r ) { return read16le_with_read8_handler(pc_rtc_r, offset, mem_mask); }
254WRITE16_HANDLER( pc16le_rtc_w ) { write16le_with_write8_handler(pc_rtc_w, offset, data, mem_mask); }
255
252256/*************************************************************************
253257 *
254258 *      EXP
r870r871
280284   }
281285}
282286
283 READ8_HANDLER ( pc_EXP_r )
287READ8_HANDLER ( pc_EXP_r )
284288{
285289    int data;
286290   UINT16 a;
src/mess/machine/amstr_pc.c
r870r871
55#include "includes/amstr_pc.h"
66#include "includes/pclpt.h"
77#include "video/pc_vga.h"
8#include "memconv.h"
89
910/* pc20 (v2)
1011   fc078
r870r871
238239   return 0;
239240}
240241
241 READ8_HANDLER( pc1640_port278_r )
242READ8_HANDLER( pc1640_port278_r )
242243{
243244   if ((offset==2)||(offset==0)) pc1640.dipstate=2;
244245   // read parallelport
245246   return 0;
246247}
247248
248 READ8_HANDLER( pc1640_mouse_x_r )
249static READ8_HANDLER( pc1640_mouse_x_r )
249250{
250251   return pc1640.mouse.x-input_port_13_r(0);
251252}
252253
253 READ8_HANDLER( pc1640_mouse_y_r )
254static READ8_HANDLER( pc1640_mouse_y_r )
254255{
255256   return pc1640.mouse.y-input_port_14_r(0);
256257}
257258
258WRITE8_HANDLER( pc1640_mouse_x_w )
259static WRITE8_HANDLER( pc1640_mouse_x_w )
259260{
260261   pc1640.mouse.x=data+input_port_13_r(0);
261262}
262263
263WRITE8_HANDLER( pc1640_mouse_y_w )
264static WRITE8_HANDLER( pc1640_mouse_y_w )
264265{
265266   pc1640.mouse.y=data+input_port_14_r(0);
266267}
267268
269READ16_HANDLER( pc1640_16le_mouse_x_r )    { return read16le_with_read8_handler(pc1640_mouse_x_r, offset, mem_mask); }
270READ16_HANDLER( pc1640_16le_mouse_y_r )  { return read16le_with_read8_handler(pc1640_mouse_y_r, offset, mem_mask); }
271WRITE16_HANDLER( pc1640_16le_mouse_x_w ) { write16le_with_write8_handler(pc1640_mouse_x_w, offset, data, mem_mask); }
272WRITE16_HANDLER( pc1640_16le_mouse_y_w ) { write16le_with_write8_handler(pc1640_mouse_y_w, offset, data, mem_mask); }
273
268274INPUT_PORTS_START( amstrad_keyboard )
269275
270276   PORT_START_TAG("pc_keyboard_0")
r870r871
392398   PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1)
393399
394400INPUT_PORTS_END
401
402
403READ16_HANDLER( pc1640_16le_port60_r ) { return read16le_with_read8_handler(pc1640_port60_r, offset, mem_mask); }
404WRITE16_HANDLER( pc1640_16le_port60_w ) { write16le_with_write8_handler(pc1640_port60_w, offset, data, mem_mask); }
405
406READ16_HANDLER( pc200_16le_port378_r ) { return read16le_with_read8_handler(pc200_port378_r, offset, mem_mask); }
407READ16_HANDLER( pc1640_16le_port378_r ) { return read16le_with_read8_handler(pc1640_port378_r, offset, mem_mask); }
src/mess/drivers/at.c
r870r871
163163   AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,            at_page32_w)
164164   AM_RANGE(0x00a0, 0x00bf) AM_READWRITE(pic8259_32le_1_r,         pic8259_32le_1_w)
165165   AM_RANGE(0x00c0, 0x00df) AM_READWRITE(at32_dma8237_1_r,         at32_dma8237_1_w)
166   AM_RANGE(0x0278, 0x027f) AM_READWRITE(pc32_parallelport2_r,      pc32_parallelport2_w)
166   AM_RANGE(0x0278, 0x027f) AM_READWRITE(pc32le_parallelport2_r,   pc32le_parallelport2_w)
167167   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_32le_3_r,      uart8250_32le_3_w)
168168   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_32le_1_r,      uart8250_32le_1_w)
169   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc32_HDC1_r,            pc32_HDC1_w)
170   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc32_HDC2_r,            pc32_HDC2_w)
171   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc32_parallelport1_r,      pc32_parallelport1_w)
169   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc32le_HDC1_r,         pc32le_HDC1_w)
170   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc32le_HDC2_r,         pc32le_HDC2_w)
171   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc32le_parallelport1_r,   pc32le_parallelport1_w)
172172   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc32le_fdc_r,            pc32le_fdc_w)
173   AM_RANGE(0x03bc, 0x03bf) AM_READWRITE(pc32_parallelport0_r,      pc32_parallelport0_w)
173   AM_RANGE(0x03bc, 0x03bf) AM_READWRITE(pc32le_parallelport0_r,   pc32le_parallelport0_w)
174174   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_32le_0_r,      uart8250_32le_0_w)
175175ADDRESS_MAP_END
176176
r870r871
185185   AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,            at_page32_w)
186186   AM_RANGE(0x00a0, 0x00bf) AM_READWRITE(pic8259_32le_1_r,         pic8259_32le_1_w)
187187   AM_RANGE(0x00c0, 0x00df) AM_READWRITE(at32_dma8237_1_r,         at32_dma8237_1_w)
188   AM_RANGE(0x0278, 0x027f) AM_READWRITE(pc32_parallelport2_r,      pc32_parallelport2_w)
188   AM_RANGE(0x0278, 0x027f) AM_READWRITE(pc32le_parallelport2_r,      pc32le_parallelport2_w)
189189   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_32le_3_r,      uart8250_32le_3_w)
190190   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_32le_1_r,      uart8250_32le_1_w)
191   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc32_HDC1_r,            pc32_HDC1_w)
192   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc32_HDC2_r,            pc32_HDC2_w)
193   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc32_parallelport1_r,      pc32_parallelport1_w)
191   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc32le_HDC1_r,            pc32le_HDC1_w)
192   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc32le_HDC2_r,            pc32le_HDC2_w)
193   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc32le_parallelport1_r,      pc32le_parallelport1_w)
194194   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc32le_fdc_r,            pc32le_fdc_w)
195   AM_RANGE(0x03bc, 0x03bf) AM_READWRITE(pc32_parallelport0_r,      pc32_parallelport0_w)
195   AM_RANGE(0x03bc, 0x03bf) AM_READWRITE(pc32le_parallelport0_r,      pc32le_parallelport0_w)
196196   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_32le_0_r,      uart8250_32le_0_w)
197197   AM_RANGE(0x0cf8, 0x0cff) AM_READWRITE(pci_32le_r,            pci_32le_w)
198198ADDRESS_MAP_END
src/mess/drivers/pc.c
r870r871
5959#include "sound/3812intf.h"
6060
6161#include "inputx.h"
62#include "memconv.h"
6263
6364#define ym3812_StdClock 3579545
6465
r870r871
8687
8788
8889
90static READ16_HANDLER( pc16le_YM3812_status_port_0_r ) { return read16le_with_read8_handler(YM3812_status_port_0_r, offset, mem_mask); }
91static WRITE16_HANDLER( pc16le_YM3812_control_port_0_w ) { write16le_with_write8_handler(YM3812_control_port_0_w, offset, data, mem_mask); }
92static WRITE16_HANDLER( pc16le_YM3812_write_port_0_w ) { write16le_with_write8_handler(YM3812_write_port_0_w, offset, data, mem_mask); }
93static WRITE16_HANDLER( pc16le_SN76496_0_w ) { write16le_with_write8_handler(SN76496_0_w, offset, data, mem_mask); }
94
8995// IO Expansion, only a little bit for ibm bios self tests
9096//#define EXP_ON
9197
92static ADDRESS_MAP_START( pc_map, ADDRESS_SPACE_PROGRAM, 8 )
93   AM_RANGE(0x00000, 0x9ffff) AM_READWRITE(MRA8_BANK10, MWA8_BANK10)
98static ADDRESS_MAP_START( pc8_map, ADDRESS_SPACE_PROGRAM, 8 )
99   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK(10)
94100   AM_RANGE(0xa0000, 0xbffff) AM_NOP
95101   AM_RANGE(0xc0000, 0xc7fff) AM_ROM
96102   AM_RANGE(0xc8000, 0xcffff) AM_ROM
r870r871
100106
101107
102108
103static ADDRESS_MAP_START(pc_io, ADDRESS_SPACE_IO, 8)
104   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,            dma8237_0_w)
105   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,            pic8259_0_w)
106   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,            pit8253_0_w)
107   AM_RANGE(0x0060, 0x0063) AM_READWRITE(ppi8255_0_r,            ppi8255_0_w)
108   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,            pc_page_w)
109   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,               pc_JOY_w)
109static ADDRESS_MAP_START( pc16_map, ADDRESS_SPACE_PROGRAM, 16 )
110   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK(10)
111   AM_RANGE(0xa0000, 0xbffff) AM_NOP
112   AM_RANGE(0xc0000, 0xc7fff) AM_ROM
113   AM_RANGE(0xc8000, 0xcffff) AM_ROM
114   AM_RANGE(0xd0000, 0xeffff) AM_NOP
115   AM_RANGE(0xf0000, 0xfffff) AM_ROM
116ADDRESS_MAP_END
117
118
119
120static ADDRESS_MAP_START(pc8_io, ADDRESS_SPACE_IO, 8)
121   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,         dma8237_0_w)
122   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,         pic8259_0_w)
123   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,         pit8253_0_w)
124   AM_RANGE(0x0060, 0x0063) AM_READWRITE(ppi8255_0_r,         ppi8255_0_w)
125   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,         pc_page_w)
126   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,            pc_JOY_w)
110127#ifdef EXP_ON
111   AM_RANGE(0x0210, 0x0217) AM_READWRITE(pc_EXP_r,               pc_EXP_w)
128   AM_RANGE(0x0210, 0x0217) AM_READWRITE(pc_EXP_r,            pc_EXP_w)
112129#endif
113   AM_RANGE(0x0240, 0x0257) AM_READWRITE(pc_rtc_r,               pc_rtc_w)
114   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,      pc_parallelport2_w)
115   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,            uart8250_3_w)
116   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,            uart8250_1_w)
117   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,            pc_HDC1_w)
118   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,            pc_HDC2_w)
130   AM_RANGE(0x0240, 0x0257) AM_READWRITE(pc_rtc_r,            pc_rtc_w)
131   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,   pc_parallelport2_w)
132   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,         uart8250_3_w)
133   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,         uart8250_1_w)
134   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,         pc_HDC1_w)
135   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,         pc_HDC2_w)
119136   AM_RANGE(0x0340, 0x0357) AM_READ(return8_FF) /* anonymous bios should not recogniced realtimeclock */
120   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_parallelport1_r,      pc_parallelport1_w)
137   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_parallelport1_r,   pc_parallelport1_w)
121138#ifdef ADLIB
122139   AM_RANGE(0x0388, 0x0388) AM_READWRITE(YM3812_status_port_0_r,   YM3812_control_port_0_w)
123   AM_RANGE(0x0389, 0x0389) AM_WRITE(                        YM3812_write_port_0_w)
140   AM_RANGE(0x0389, 0x0389) AM_WRITE(                     YM3812_write_port_0_w)
124141#endif
125   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc_parallelport0_r,      pc_parallelport0_w)
126   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,            uart8250_2_w)
127   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,               pc_fdc_w)
128   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,            uart8250_0_w)
142   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc_parallelport0_r,   pc_parallelport0_w)
143   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,         uart8250_2_w)
144   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,            pc_fdc_w)
145   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,         uart8250_0_w)
129146ADDRESS_MAP_END
130147
131148
132149
150static ADDRESS_MAP_START(pc16_io, ADDRESS_SPACE_IO, 16)
151   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_16le_0_r,         dma8237_16le_0_w)
152   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_16le_0_r,         pic8259_16le_0_w)
153   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_16le_0_r,         pit8253_16le_0_w)
154   AM_RANGE(0x0060, 0x0063) AM_READWRITE(ppi8255_16le_0_r,         ppi8255_16le_0_w)
155   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page16le_r,         pc_page16le_w)
156   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc16le_JOY_r,            pc16le_JOY_w)
157#ifdef EXP_ON
158   AM_RANGE(0x0210, 0x0217) AM_READWRITE(pc_EXP_r,               pc_EXP_w)
159#endif
160   AM_RANGE(0x0240, 0x0257) AM_READWRITE(pc16le_rtc_r,            pc16le_rtc_w)
161   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc16le_parallelport2_r,   pc16le_parallelport2_w)
162   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_16le_3_r,      uart8250_16le_3_w)
163   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_16le_1_r,      uart8250_16le_1_w)
164   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc16le_HDC1_r,         pc16le_HDC1_w)
165   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc16le_HDC2_r,         pc16le_HDC2_w)
166   AM_RANGE(0x0340, 0x0357) AM_READ(return16_FFFF) /* anonymous bios should not recogniced realtimeclock */
167   AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc16le_parallelport1_r,   pc16le_parallelport1_w)
168#ifdef ADLIB
169   AM_RANGE(0x0388, 0x0388) AM_READWRITE(pc16le_YM3812_status_port_0_r,   pc16le_YM3812_control_port_0_w)
170   AM_RANGE(0x0389, 0x0389) AM_WRITE(                        pc16le_YM3812_write_port_0_w)
171#endif
172   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc16le_parallelport0_r,   pc16le_parallelport0_w)
173   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_16le_2_r,      uart8250_16le_2_w)
174   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc16le_fdc_r,            pc16le_fdc_w)
175   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_16le_0_r,      uart8250_16le_0_w)
176ADDRESS_MAP_END
177
178
179
133180static ADDRESS_MAP_START( europc_map, ADDRESS_SPACE_PROGRAM, 8 )
134   AM_RANGE(0x00000, 0x9ffff) AM_READWRITE(MRA8_BANK10, MWA8_BANK10)
181   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK(10)
135182   AM_RANGE(0xa0000, 0xaffff) AM_NOP
136183   AM_RANGE(0xb0000, 0xbffff) AM_READWRITE(pc_aga_videoram_r, pc_aga_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
137184   AM_RANGE(0xc0000, 0xc7fff) AM_NOP
r870r871
143190
144191
145192static ADDRESS_MAP_START(europc_io, ADDRESS_SPACE_IO, 8)
146   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,            dma8237_0_w)
147   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,            pic8259_0_w)
148   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,            pit8253_0_w)
149   AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r,            europc_pio_w)
150   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,            pc_page_w)
151   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,               pc_JOY_w)
152   AM_RANGE(0x0250, 0x025f) AM_READWRITE(europc_jim_r,            europc_jim_w)
153   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,      pc_parallelport2_w)
193   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,         dma8237_0_w)
194   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,         pic8259_0_w)
195   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,         pit8253_0_w)
196   AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r,         europc_pio_w)
197   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,         pc_page_w)
198   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,            pc_JOY_w)
199   AM_RANGE(0x0250, 0x025f) AM_READWRITE(europc_jim_r,         europc_jim_w)
200   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,   pc_parallelport2_w)
154201   AM_RANGE(0x02e0, 0x02e0) AM_READ     (europc_jim2_r)
155   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,            uart8250_3_w)
156   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,            uart8250_1_w)
157   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,            pc_HDC1_w)
158   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,            pc_HDC2_w)
159   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc_parallelport1_r,      pc_parallelport1_w)
202   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,         uart8250_3_w)
203   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,         uart8250_1_w)
204   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,         pc_HDC1_w)
205   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,         pc_HDC2_w)
206   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc_parallelport1_r,   pc_parallelport1_w)
160207#ifdef ADLIB
161208   AM_RANGE(0x0388, 0x0388) AM_READWRITE(YM3812_status_port_0_r,   YM3812_control_port_0_w)
162209   AM_RANGE(0x0389, 0x0389) AM_WRITE(                        YM3812_write_port_0_w)
163210#endif
164//   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc_parallelport0_r,      pc_parallelport0_w)
165   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,            uart8250_2_w)
166   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,               pc_fdc_w)
167   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,            uart8250_0_w)
211//   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc16le_parallelport0_r,   pc16le_parallelport0_w)
212   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,         uart8250_2_w)
213   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,            pc_fdc_w)
214   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,         uart8250_0_w)
168215ADDRESS_MAP_END
169216
170217
171218
172219static ADDRESS_MAP_START(tandy1000_map, ADDRESS_SPACE_PROGRAM, 8 )
173   AM_RANGE(0x00000, 0x9ffff) AM_READWRITE(MRA8_BANK10, MWA8_BANK10)
220   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK(10)
174221   AM_RANGE(0xa0000, 0xaffff) AM_RAM
175222   AM_RANGE(0xb0000, 0xb7fff) AM_NOP
176223   AM_RANGE(0xb8000, 0xbffff) AM_READWRITE(pc_t1t_videoram_r, pc_video_videoram_w)
r870r871
203250
204251
205252
206static ADDRESS_MAP_START(pc200_io, ADDRESS_SPACE_IO, 8)
207   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,            dma8237_0_w)
208   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,            pic8259_0_w)
209   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,            pit8253_0_w)
210   AM_RANGE(0x0060, 0x0065) AM_READWRITE(pc1640_port60_r,         pc1640_port60_w)
211   AM_RANGE(0x0078, 0x0078) AM_READWRITE(pc1640_mouse_x_r,         pc1640_mouse_x_w)
212   AM_RANGE(0x007a, 0x007a) AM_READWRITE(pc1640_mouse_y_r,         pc1640_mouse_y_w)
213   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,            pc_page_w)
214   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,               pc_JOY_w)
215   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,      pc_parallelport2_w)
216   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,            uart8250_3_w)
217   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,            uart8250_1_w)
218   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,            pc_HDC1_w)
219   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,            pc_HDC2_w)
220   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc200_port378_r,         pc_parallelport1_w)
221   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc_parallelport0_r,      pc_parallelport0_w)
222   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,            uart8250_2_w)
223   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,               pc_fdc_w)
224   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,            uart8250_0_w)
253static ADDRESS_MAP_START(pc200_io, ADDRESS_SPACE_IO, 16)
254   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_16le_0_r,            dma8237_16le_0_w)
255   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_16le_0_r,            pic8259_16le_0_w)
256   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_16le_0_r,            pit8253_16le_0_w)
257   AM_RANGE(0x0060, 0x0065) AM_READWRITE(pc1640_16le_port60_r,         pc1640_16le_port60_w)
258   AM_RANGE(0x0078, 0x0078) AM_READWRITE(pc1640_16le_mouse_x_r,         pc1640_16le_mouse_x_w)
259   AM_RANGE(0x007a, 0x007a) AM_READWRITE(pc1640_16le_mouse_y_r,         pc1640_16le_mouse_y_w)
260   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page16le_r,            pc_page16le_w)
261   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc16le_JOY_r,               pc16le_JOY_w)
262   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc16le_parallelport2_r,      pc16le_parallelport2_w)
263   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_16le_3_r,            uart8250_16le_3_w)
264   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_16le_1_r,            uart8250_16le_1_w)
265   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc16le_HDC1_r,            pc16le_HDC1_w)
266   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc16le_HDC2_r,            pc16le_HDC2_w)
267   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc200_16le_port378_r,         pc16le_parallelport1_w)
268   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc16le_parallelport0_r,      pc16le_parallelport0_w)
269   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_16le_2_r,            uart8250_16le_2_w)
270   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc16le_fdc_r,               pc16le_fdc_w)
271   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_16le_0_r,            uart8250_16le_0_w)
225272ADDRESS_MAP_END
226273
227274
228275
229static ADDRESS_MAP_START( pc1640_map, ADDRESS_SPACE_PROGRAM, 8 )
230   AM_RANGE(0x00000, 0x9ffff) AM_READWRITE(MRA8_BANK10, MWA8_BANK10)
276static ADDRESS_MAP_START( pc1640_map, ADDRESS_SPACE_PROGRAM, 16 )
277   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK(10)
231278   AM_RANGE(0xa0000, 0xbffff) AM_NOP
232279   AM_RANGE(0xc0000, 0xc7fff) AM_ROM
233280   AM_RANGE(0xc8000, 0xcffff) AM_ROM
r870r871
236283ADDRESS_MAP_END
237284
238285
239static ADDRESS_MAP_START(pc1640_io, ADDRESS_SPACE_IO, 8)
240   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_0_r,            dma8237_0_w)
241   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_0_r,            pic8259_0_w)
242   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_0_r,            pit8253_0_w)
243   AM_RANGE(0x0060, 0x0065) AM_READWRITE(pc1640_port60_r,         pc1640_port60_w)
244   AM_RANGE(0x0070, 0x0071) AM_READWRITE(mc146818_port_r,         mc146818_port_w)
245   AM_RANGE(0x0078, 0x0078) AM_READWRITE(pc1640_mouse_x_r,         pc1640_mouse_x_w)
246   AM_RANGE(0x007a, 0x007a) AM_READWRITE(pc1640_mouse_y_r,         pc1640_mouse_y_w)
247   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r,            pc_page_w)
248   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc_JOY_r,               pc_JOY_w)
249   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc_parallelport2_r,      pc_parallelport2_w)
250   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_3_r,            uart8250_3_w)
251   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_1_r,            uart8250_1_w)
252   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc_HDC1_r,            pc_HDC1_w)
253   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc_HDC2_r,            pc_HDC2_w)
254   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc1640_port378_r,         pc_parallelport1_w)
255   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc_parallelport0_r,      pc_parallelport0_w)
256   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_2_r,            uart8250_2_w)
257   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc_fdc_r,               pc_fdc_w)
258   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_0_r,            uart8250_0_w)
286static ADDRESS_MAP_START(pc1640_io, ADDRESS_SPACE_IO, 16)
287   AM_RANGE(0x0000, 0x000f) AM_READWRITE(dma8237_16le_0_r,         dma8237_16le_0_w)
288   AM_RANGE(0x0020, 0x0021) AM_READWRITE(pic8259_16le_0_r,         pic8259_16le_0_w)
289   AM_RANGE(0x0040, 0x0043) AM_READWRITE(pit8253_16le_0_r,         pit8253_16le_0_w)
290   AM_RANGE(0x0060, 0x0065) AM_READWRITE(pc1640_16le_port60_r,         pc1640_16le_port60_w)
291   AM_RANGE(0x0070, 0x0071) AM_READWRITE(mc146818_port16le_r,      mc146818_port16le_w)
292   AM_RANGE(0x0078, 0x0078) AM_READWRITE(pc1640_16le_mouse_x_r,   pc1640_16le_mouse_x_w)
293   AM_RANGE(0x007a, 0x007a) AM_READWRITE(pc1640_16le_mouse_y_r,   pc1640_16le_mouse_y_w)
294   AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page16le_r,            pc_page16le_w)
295   AM_RANGE(0x0200, 0x0207) AM_READWRITE(pc16le_JOY_r,            pc16le_JOY_w)
296   AM_RANGE(0x0278, 0x027b) AM_READWRITE(pc16le_parallelport2_r,      pc16le_parallelport2_w)
297   AM_RANGE(0x02e8, 0x02ef) AM_READWRITE(uart8250_16le_3_r,      uart8250_16le_3_w)
298   AM_RANGE(0x02f8, 0x02ff) AM_READWRITE(uart8250_16le_1_r,      uart8250_16le_1_w)
299   AM_RANGE(0x0320, 0x0323) AM_READWRITE(pc16le_HDC1_r,         pc16le_HDC1_w)
300   AM_RANGE(0x0324, 0x0327) AM_READWRITE(pc16le_HDC2_r,         pc16le_HDC2_w)
301   AM_RANGE(0x0378, 0x037b) AM_READWRITE(pc1640_16le_port378_r,         pc16le_parallelport1_w)
302   AM_RANGE(0x03bc, 0x03be) AM_READWRITE(pc16le_parallelport0_r,      pc16le_parallelport0_w)
303   AM_RANGE(0x03e8, 0x03ef) AM_READWRITE(uart8250_16le_2_r,      uart8250_16le_2_w)
304   AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(pc16le_fdc_r,            pc16le_fdc_w)
305   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE(uart8250_16le_0_r,      uart8250_16le_0_w)
259306ADDRESS_MAP_END
260307
261308
r870r871
10921139
10931140static MACHINE_DRIVER_START( pcmda )
10941141   /* basic machine hardware */
1095   MDRV_CPU_PC(pc, pc, V20, 4772720, pc_mda_frame_interrupt)   /* 4,77 Mhz */
1142   MDRV_CPU_PC(pc8, pc8, V20, 4772720, pc_mda_frame_interrupt)   /* 4,77 Mhz */
10961143
10971144   MDRV_SCREEN_REFRESH_RATE(60)
10981145   MDRV_SCREEN_VBLANK_TIME(DEFAULT_REAL_60HZ_VBLANK_DURATION)
r870r871
11321179
11331180static MACHINE_DRIVER_START( pccga )
11341181   /* basic machine hardware */
1135   MDRV_CPU_PC(pc, pc, I8088, 4772720, pc_cga_frame_interrupt)   /* 4,77 Mhz */
1182   MDRV_CPU_PC(pc8, pc8, I8088, 4772720, pc_cga_frame_interrupt)   /* 4,77 Mhz */
11361183
11371184   MDRV_SCREEN_REFRESH_RATE(60)
11381185   MDRV_SCREEN_VBLANK_TIME(DEFAULT_REAL_60HZ_VBLANK_DURATION)
r870r871
11981245
11991246static MACHINE_DRIVER_START( xtcga )
12001247   /* basic machine hardware */
1201   MDRV_CPU_PC(pc, pc, I8086, 12000000, pc_cga_frame_interrupt)
1248   MDRV_CPU_PC(pc16, pc16, I8086, 12000000, pc_cga_frame_interrupt)
12021249
12031250   MDRV_SCREEN_REFRESH_RATE(60)
12041251   MDRV_SCREEN_VBLANK_TIME(DEFAULT_REAL_60HZ_VBLANK_DURATION)
r870r871
12991346
13001347static MACHINE_DRIVER_START( xtvga )
13011348   /* basic machine hardware */
1302   MDRV_CPU_PC(pc, pc, I8086, 12000000, pc_vga_frame_interrupt)
1349   MDRV_CPU_PC(pc16, pc16, I8086, 12000000, pc_vga_frame_interrupt)
13031350
13041351   MDRV_SCREEN_REFRESH_RATE(60)
13051352   MDRV_SCREEN_VBLANK_TIME(DEFAULT_REAL_60HZ_VBLANK_DURATION)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team