Previous 15994 Revisions Next

r930 Thursday 6th September, 2007 at 00:25:52 UTC by Nathan Woods
[COMPIS] Fixed recent regressions due to I8086 core fix (bug #1346)
[src/mess/drivers]compis.c
[src/mess/includes]compis.h
[src/mess/machine]compis.c
[src/mess/video]i82720.c i82720.h

src/mess/includes/compis.h
r929r930
1313INTERRUPT_GEN(compis_vblank_int);
1414
1515/* PPI 8255 */
16READ8_HANDLER (compis_ppi_r);
17WRITE8_HANDLER (compis_ppi_w);
16READ16_HANDLER (compis_ppi_r);
17WRITE16_HANDLER (compis_ppi_w);
1818
1919/* PIT 8253 */
20READ8_HANDLER (compis_pit_r);
21WRITE8_HANDLER (compis_pit_w);
20READ16_HANDLER (compis_pit_r);
21WRITE16_HANDLER (compis_pit_w);
2222
2323/* PIC 8259 (80150/80130) */
24READ8_HANDLER (compis_osp_pic_r);
25WRITE8_HANDLER (compis_osp_pic_w);
24READ16_HANDLER (compis_osp_pic_r);
25WRITE16_HANDLER (compis_osp_pic_w);
2626
2727/* PIT 8254 (80150/80130) */
28READ8_HANDLER (compis_osp_pit_r);
29WRITE8_HANDLER (compis_osp_pit_w);
28READ16_HANDLER (compis_osp_pit_r);
29WRITE16_HANDLER (compis_osp_pit_w);
3030
3131/* USART 8251 */
32READ8_HANDLER (compis_usart_r);
33WRITE8_HANDLER (compis_usart_w);
32READ16_HANDLER (compis_usart_r);
33WRITE16_HANDLER (compis_usart_w);
3434
3535/* 80186 Internal */
36READ8_HANDLER (i186_internal_port_r);
37WRITE8_HANDLER (i186_internal_port_w);
36READ16_HANDLER (i186_internal_port_r);
37WRITE16_HANDLER (i186_internal_port_w);
3838
3939/* FDC 8272 */
40READ8_HANDLER (compis_fdc_dack_r);
41READ8_HANDLER (compis_fdc_r);
42WRITE8_HANDLER (compis_fdc_w);
40READ16_HANDLER (compis_fdc_dack_r);
41READ16_HANDLER (compis_fdc_r);
42WRITE16_HANDLER (compis_fdc_w);
4343
4444/* RTC 58174 */
45READ8_HANDLER (compis_rtc_r);
46WRITE8_HANDLER (compis_rtc_w);
45READ16_HANDLER (compis_rtc_r);
46WRITE16_HANDLER (compis_rtc_w);
src/mess/video/i82720.c
r929r930
12371237/* Name: compis_gdc_w                                                      */
12381238/* Desc: GDC - 82720 Write handler   GDC   82720                           */
12391239/*-------------------------------------------------------------------------*/
1240WRITE8_HANDLER ( compis_gdc_w )
1240WRITE16_HANDLER ( compis_gdc_w )
12411241{
12421242   /* FIXME: Move to better place. Must be signed and larger than 8 bits */ 
12431243   static INT16 last_command = -1;
r929r930
12631263
12641264         break;
12651265
1266      case 0x02:   /* Command into FIFO */
1266      case 0x01:   /* Command into FIFO */
12671267         if (LOG_PORTS)
12681268            logerror("GDC Port %04X (CMD) Write %02X\n", offset, data);
12691269         
r929r930
12971297/* Name: compis_gdc_r                                                      */
12981298/* Desc: GDC - 82720 Read handler                                          */
12991299/*-------------------------------------------------------------------------*/
1300 READ8_HANDLER (compis_gdc_r)
1300READ16_HANDLER (compis_gdc_r)
13011301{
13021302   UINT16 data;
13031303   
13041304   data = 0xff;
13051305   
1306   switch(offset & 0x0f) {
1306   switch(offset & 0x07) {
13071307      case 0x00:   /* Status register */
13081308         
13091309         GDC_LOG_CMD_3("%04X: GDC Port %04X (Status) Read",
r929r930
13181318         }
13191319         break;
13201320
1321      case 0x02:   /* FIFO Read */
1321      case 0x01:   /* FIFO Read */
13221322         
13231323         GDC_LOG_CMD_3("%04X: GDC Port %04X (Fifo) Read",
13241324                       activecpu_get_pc(),
src/mess/video/i82720.h
r929r930
1515** The I/O functions
1616*/
1717
18READ8_HANDLER ( compis_gdc_r );
19WRITE8_HANDLER ( compis_gdc_w );
18READ16_HANDLER ( compis_gdc_r );
19WRITE16_HANDLER ( compis_gdc_w );
2020
2121/*
2222** This next function must be called 50 times per second,
src/mess/machine/compis.c
r929r930
198198   pic8259_set_irq_line(0, irq, 0);
199199}
200200
201 READ8_HANDLER ( compis_osp_pic_r )
201READ16_HANDLER ( compis_osp_pic_r )
202202{
203   return pic8259_0_r (offset >> 1);
203   return pic8259_0_r (offset);
204204}
205205
206WRITE8_HANDLER ( compis_osp_pic_w )
206WRITE16_HANDLER ( compis_osp_pic_w )
207207{
208   pic8259_0_w (offset >> 1, data);
208   pic8259_0_w (offset, data);
209209}
210210
211211/*-------------------------------------------------------------------------*/
r929r930
317317   compis_fdc_dma_drq
318318};
319319
320 READ8_HANDLER (compis_fdc_dack_r)
320READ16_HANDLER (compis_fdc_dack_r)
321321{
322322   UINT16 data;
323323   data = 0xffff;
r929r930
330330   return data;
331331}
332332
333WRITE8_HANDLER (compis_fdc_w)
333WRITE16_HANDLER (compis_fdc_w)
334334{
335335   switch(offset)
336336   {
r929r930
343343   }
344344}
345345
346 READ8_HANDLER (compis_fdc_r)
346READ16_HANDLER (compis_fdc_r)
347347{
348348   UINT16 data;
349349   data = 0xffff;
r929r930
352352      case 0:
353353         data = nec765_status_r(0);
354354         break;
355      case 2:
355      case 1:
356356         data = nec765_data_r(0);
357357         break;
358358      default:
r929r930
393393/* Bit 6: J7-13 Centronics SELECT                            */
394394/* Bit 7: Tmr0                                                     */
395395/*-------------------------------------------------------------------------*/
396static READ8_HANDLER ( compis_ppi_port_b_r )
396static READ8_HANDLER ( compis_ppi_port_b_r )
397397{
398398   UINT8 data;
399399
r929r930
442442    {compis_ppi_port_c_w}
443443};
444444
445 READ8_HANDLER ( compis_ppi_r )
445READ16_HANDLER ( compis_ppi_r )
446446{
447   return ppi8255_0_r (offset >> 1);
447   return ppi8255_0_r (offset);
448448}
449449
450WRITE8_HANDLER ( compis_ppi_w )
450WRITE16_HANDLER ( compis_ppi_w )
451451{
452   ppi8255_0_w (offset >> 1, data);
452   ppi8255_0_w (offset, data);
453453}
454454
455455/*-------------------------------------------------------------------------*/
r929r930
482482}
483483};
484484
485 READ8_HANDLER ( compis_pit_r )
485READ16_HANDLER ( compis_pit_r )
486486{
487   return pit8253_0_r (offset >> 1);
487   return pit8253_0_r (offset);
488488}
489489
490WRITE8_HANDLER ( compis_pit_w )
490WRITE16_HANDLER ( compis_pit_w )
491491{
492   pit8253_0_w (offset >> 1 , data);
492   pit8253_0_w (offset , data);
493493}
494494
495495/*-------------------------------------------------------------------------*/
496496/*  OSP PIT 8254                                                           */
497497/*-------------------------------------------------------------------------*/
498498
499READ8_HANDLER ( compis_osp_pit_r )
499READ16_HANDLER ( compis_osp_pit_r )
500500{
501   return pit8253_1_r (offset >> 1);
501   return pit8253_1_r (offset);
502502}
503503
504WRITE8_HANDLER ( compis_osp_pit_w )
504WRITE16_HANDLER ( compis_osp_pit_w )
505505{
506   pit8253_1_w (offset >> 1, data);
506   pit8253_1_w (offset, data);
507507}
508508
509509/*-------------------------------------------------------------------------*/
510510/*  RTC 58174                                                              */
511511/*-------------------------------------------------------------------------*/
512 READ8_HANDLER ( compis_rtc_r )
512
513READ16_HANDLER ( compis_rtc_r )
513514{
514   return mm58274c_r(0, offset >> 1);
515   return mm58274c_r(0, offset);
515516}
516517
517WRITE8_HANDLER ( compis_rtc_w )
518WRITE16_HANDLER ( compis_rtc_w )
518519{
519   mm58274c_w(0, offset >> 1, data);
520   mm58274c_w(0, offset, data);
520521}
521522
522523/*-------------------------------------------------------------------------*/
r929r930
537538   compis_usart_rxready
538539};
539540
540 READ8_HANDLER ( compis_usart_r )
541READ16_HANDLER ( compis_usart_r )
541542{
542   UINT8 data = 0xff;
543
544   return msm8251_data_r ( offset >> 1 );
545   
546   switch (offset)
547   {
548      case 0x00:
549         if (compis.usart.status & COMPIS_USART_STATUS_RX_READY)
550         {
551            switch (compis.usart.bytes_sent)
552            {
553               case 0:
554                  data = compis.keyboard.key_code;
555                  compis.usart.bytes_sent = 1;
556                  break;
557                 
558               case 1:
559                  data = compis.keyboard.key_status;
560                  compis.usart.bytes_sent = 0;
561                  compis.usart.status &= ~COMPIS_USART_STATUS_RX_READY;
562                  break;
563            }
564         }   
565         break;               
566
567      case 0x02:
568         data = compis.usart.status;
569         logerror("%04X: USART STATUS  Port Read %04X\n", activecpu_get_pc(),
570                  offset);
571         break;
572
573      default:
574         logerror("%04X: USART Unknown Port Read %04X\n", activecpu_get_pc(),
575                  offset);
576         break;
577   }
578
579   return data;
543   return msm8251_data_r ( offset);
580544}
581545
582WRITE8_HANDLER ( compis_usart_w )
546WRITE16_HANDLER ( compis_usart_w )
583547{
584548   switch (offset)
585549   {
586550      case 0x00:
587551         msm8251_data_w (0,data);
588552         break;
589      case 0x02:
553      case 0x01:
590554         msm8251_control_w (0,data);
591555         break;
592556      default:
r929r930
10641028 *************************************/
10651029
10661030
1067 READ8_HANDLER( i186_internal_port_r )
1031READ16_HANDLER( i186_internal_port_r )
10681032{
10691033   int shift = 8 * (offset & 1);
10701034   int temp, which;
10711035
10721036   switch (offset & ~1)
10731037   {
1074      case 0x22:
1038      case 0x11:
10751039         logerror("%05X:ERROR - read from 80186 EOI\n", activecpu_get_pc());
10761040         break;
10771041
1078      case 0x24:
1042      case 0x12:
10791043         if (LOG_PORTS)
10801044            logerror("%05X:read 80186 interrupt poll\n", activecpu_get_pc());
10811045         if (i186.intr.poll_status & 0x8000)
10821046            int_callback(0);
10831047         return (i186.intr.poll_status >> shift) & 0xff;
10841048
1085      case 0x26:
1049      case 0x13:
10861050         if (LOG_PORTS)
10871051            logerror("%05X:read 80186 interrupt poll status\n",
10881052                     activecpu_get_pc());
10891053         return (i186.intr.poll_status >> shift) & 0xff;
10901054
1091      case 0x28:
1055      case 0x14:
10921056         if (LOG_PORTS) logerror("%05X:read 80186 interrupt mask\n",
10931057                                 activecpu_get_pc());
10941058         temp  = (i186.intr.timer  >> 3) & 0x01;
r929r930
11001064         temp |= (i186.intr.ext[3] << 4) & 0x80;
11011065         return (temp >> shift) & 0xff;
11021066
1103      case 0x2a:
1067      case 0x15:
11041068         if (LOG_PORTS)
11051069            logerror("%05X:read 80186 interrupt priority mask\n",
11061070                     activecpu_get_pc());
11071071         return (i186.intr.priority_mask >> shift) & 0xff;
11081072
1109      case 0x2c:
1073      case 0x16:
11101074         if (LOG_PORTS)
11111075            logerror("%05X:read 80186 interrupt in-service\n",
11121076                     activecpu_get_pc());
11131077         return (i186.intr.in_service >> shift) & 0xff;
11141078
1115      case 0x2e:
1079      case 0x17:
11161080         if (LOG_PORTS)
11171081            logerror("%05X:read 80186 interrupt request\n",
11181082                     activecpu_get_pc());
r929r930
11211085            temp |= 1;
11221086         return (temp >> shift) & 0xff;
11231087
1124      case 0x30:
1088      case 0x18:
11251089         if (LOG_PORTS)
11261090            logerror("%05X:read 80186 interrupt status\n", activecpu_get_pc());
11271091         return (i186.intr.status >> shift) & 0xff;
11281092
1129      case 0x32:
1093      case 0x19:
11301094         if (LOG_PORTS)
11311095            logerror("%05X:read 80186 timer interrupt control\n",
11321096                     activecpu_get_pc());
11331097         return (i186.intr.timer >> shift) & 0xff;
11341098
1135      case 0x34:
1099      case 0x1a:
11361100         if (LOG_PORTS)
11371101            logerror("%05X:read 80186 DMA 0 interrupt control\n",
11381102                     activecpu_get_pc());
11391103         return (i186.intr.dma[0] >> shift) & 0xff;
11401104
1141      case 0x36:
1105      case 0x1b:
11421106         if (LOG_PORTS)
11431107            logerror("%05X:read 80186 DMA 1 interrupt control\n",
11441108                     activecpu_get_pc());
11451109         return (i186.intr.dma[1] >> shift) & 0xff;
11461110
1147      case 0x38:
1111      case 0x1c:
11481112         if (LOG_PORTS)
11491113            logerror("%05X:read 80186 INT 0 interrupt control\n",
11501114                     activecpu_get_pc());
11511115         return (i186.intr.ext[0] >> shift) & 0xff;
11521116
1153      case 0x3a:
1117      case 0x1d:
11541118         if (LOG_PORTS)
11551119            logerror("%05X:read 80186 INT 1 interrupt control\n",
11561120                     activecpu_get_pc());
11571121         return (i186.intr.ext[1] >> shift) & 0xff;
11581122
1159      case 0x3c:
1123      case 0x1e:
11601124         if (LOG_PORTS)
11611125            logerror("%05X:read 80186 INT 2 interrupt control\n",
11621126                     activecpu_get_pc());
11631127         return (i186.intr.ext[2] >> shift) & 0xff;
11641128
1165      case 0x3e:
1129      case 0x1f:
11661130         if (LOG_PORTS)
11671131            logerror("%05X:read 80186 INT 3 interrupt control\n",
11681132                     activecpu_get_pc());
11691133         return (i186.intr.ext[3] >> shift) & 0xff;
11701134
1171      case 0x50:
1172      case 0x58:
1173      case 0x60:
1135      case 0x28:
1136      case 0x2c:
1137      case 0x30:
11741138         if (LOG_PORTS)
11751139            logerror("%05X:read 80186 Timer %d count\n",
11761140                     activecpu_get_pc(), (offset - 0x50) / 8);
r929r930
11791143            internal_timer_sync(which);
11801144         return (i186.timer[which].count >> shift) & 0xff;
11811145
1182      case 0x52:
1183      case 0x5a:
1184      case 0x62:
1146      case 0x29:
1147      case 0x2d:
1148      case 0x31:
11851149         if (LOG_PORTS) logerror("%05X:read 80186 Timer %d max A\n",
11861150                                 activecpu_get_pc(), (offset - 0x50) / 8);
11871151         which = (offset - 0x50) / 8;
11881152         return (i186.timer[which].maxA >> shift) & 0xff;
11891153
1190      case 0x54:
1191      case 0x5c:
1154      case 0x2a:
1155      case 0x2e:
11921156         logerror("%05X:read 80186 Timer %d max B\n",
11931157                  activecpu_get_pc(), (offset - 0x50) / 8);
11941158         which = (offset - 0x50) / 8;
11951159         return (i186.timer[which].maxB >> shift) & 0xff;
11961160
1197      case 0x56:
1198      case 0x5e:
1199      case 0x66:
1161      case 0x2b:
1162      case 0x2f:
1163      case 0x33:
12001164         if (LOG_PORTS)
12011165            logerror("%05X:read 80186 Timer %d control\n",
12021166                     activecpu_get_pc(), (offset - 0x50) / 8);
12031167         which = (offset - 0x50) / 8;
12041168         return (i186.timer[which].control >> shift) & 0xff;
12051169
1206      case 0xa0:
1170      case 0x50:
12071171         if (LOG_PORTS)
12081172            logerror("%05X:read 80186 upper chip select\n",
12091173                     activecpu_get_pc());
12101174         return (i186.mem.upper >> shift) & 0xff;
12111175
1212      case 0xa2:
1176      case 0x51:
12131177         if (LOG_PORTS)
12141178            logerror("%05X:read 80186 lower chip select\n",
12151179                     activecpu_get_pc());
12161180         return (i186.mem.lower >> shift) & 0xff;
12171181
1218      case 0xa4:
1182      case 0x52:
12191183         if (LOG_PORTS)
12201184            logerror("%05X:read 80186 peripheral chip select\n",
12211185                     activecpu_get_pc());
12221186         return (i186.mem.peripheral >> shift) & 0xff;
12231187
1224      case 0xa6:
1188      case 0x53:
12251189         if (LOG_PORTS)
12261190            logerror("%05X:read 80186 middle chip select\n",
12271191                     activecpu_get_pc());
12281192         return (i186.mem.middle >> shift) & 0xff;
12291193
1230      case 0xa8:
1194      case 0x54:
12311195         if (LOG_PORTS)
12321196            logerror("%05X:read 80186 middle P chip select\n",
12331197                     activecpu_get_pc());
12341198         return (i186.mem.middle_size >> shift) & 0xff;
12351199
1236      case 0xc0:
1237      case 0xd0:
1200      case 0x60:
1201      case 0x68:
12381202         if (LOG_PORTS)
12391203            logerror("%05X:read 80186 DMA%d lower source address\n",
12401204                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
12421206//         stream_update(dma_stream, 0);
12431207         return (i186.dma[which].source >> shift) & 0xff;
12441208
1245      case 0xc2:
1246      case 0xd2:
1209      case 0x61:
1210      case 0x69:
12471211         if (LOG_PORTS)
12481212            logerror("%05X:read 80186 DMA%d upper source address\n",
12491213                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
12511215//         stream_update(dma_stream, 0);
12521216         return (i186.dma[which].source >> (shift + 16)) & 0xff;
12531217
1254      case 0xc4:
1255      case 0xd4:
1218      case 0x62:
1219      case 0x6a:
12561220         if (LOG_PORTS)
12571221            logerror("%05X:read 80186 DMA%d lower dest address\n",
12581222                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
12601224//         stream_update(dma_stream, 0);
12611225         return (i186.dma[which].dest >> shift) & 0xff;
12621226
1263      case 0xc6:
1264      case 0xd6:
1227      case 0x63:
1228      case 0x6b:
12651229         if (LOG_PORTS)
12661230            logerror("%05X:read 80186 DMA%d upper dest address\n",
12671231                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
12691233//         stream_update(dma_stream, 0);
12701234         return (i186.dma[which].dest >> (shift + 16)) & 0xff;
12711235
1272      case 0xc8:
1273      case 0xd8:
1236      case 0x64:
1237      case 0x6c:
12741238         if (LOG_PORTS)
12751239            logerror("%05X:read 80186 DMA%d transfer count\n",
12761240                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
12781242//         stream_update(dma_stream, 0);
12791243         return (i186.dma[which].count >> shift) & 0xff;
12801244
1281      case 0xca:
1282      case 0xda:
1245      case 0x65:
1246      case 0x6d:
12831247         if (LOG_PORTS)
12841248            logerror("%05X:read 80186 DMA%d control\n",
12851249                     activecpu_get_pc(), (offset - 0xc0) / 0x10);
r929r930
13011265 *
13021266 *************************************/
13031267
1304WRITE8_HANDLER( i186_internal_port_w )
1268WRITE16_HANDLER( i186_internal_port_w )
13051269{
1306   static UINT8 even_byte;
1307   int temp, which, data16;
1270   int temp, which, data16 = data;
13081271
1309   /* warning: this assumes all port writes here are word-sized */
1310   if (!(offset & 1))
1311   {
1312      even_byte = data;
1313      return;
1314   }
1315   data16 = (data << 8) | even_byte;
1316
13171272   switch (offset & ~1)
13181273   {
13191274      case 0x22:
r929r930
15391494         temp = (data16 & 0x0fff) << 8;
15401495         if (data16 & 0x1000)
15411496         {
1542            memory_install_read8_handler(2, ADDRESS_SPACE_PROGRAM, temp, temp + 0xff, 0, 0, i186_internal_port_r);
1543            memory_install_write8_handler(2, ADDRESS_SPACE_PROGRAM, temp, temp + 0xff, 0, 0, i186_internal_port_w);
1497            memory_install_read16_handler(2, ADDRESS_SPACE_PROGRAM, temp, temp + 0xff, 0, 0, i186_internal_port_r);
1498            memory_install_write16_handler(2, ADDRESS_SPACE_PROGRAM, temp, temp + 0xff, 0, 0, i186_internal_port_w);
15441499         }
15451500         else
15461501         {
15471502            temp &= 0xffff;
1548            memory_install_read8_handler(2, ADDRESS_SPACE_IO, temp, temp + 0xff, 0, 0, i186_internal_port_r);
1549            memory_install_write8_handler(2, ADDRESS_SPACE_IO, temp, temp + 0xff, 0, 0, i186_internal_port_w);
1503            memory_install_read16_handler(2, ADDRESS_SPACE_IO, temp, temp + 0xff, 0, 0, i186_internal_port_r);
1504            memory_install_write16_handler(2, ADDRESS_SPACE_IO, temp, temp + 0xff, 0, 0, i186_internal_port_w);
15501505         }
15511506/*         popmessage("Sound CPU reset");*/
15521507         break;
src/mess/drivers/compis.c
r929r930
4040#include "formats/cpis_dsk.h"
4141#include "cpuintrf.h"
4242
43static ADDRESS_MAP_START( compis_mem , ADDRESS_SPACE_PROGRAM, 8)
43static ADDRESS_MAP_START( compis_mem , ADDRESS_SPACE_PROGRAM, 16)
4444   AM_RANGE( 0x00000, 0x3ffff) AM_RAM
4545   AM_RANGE( 0x40000, 0x4ffff) AM_RAM
4646   AM_RANGE( 0x50000, 0x5ffff) AM_RAM
r929r930
5050   AM_RANGE( 0xf0000, 0xfffff) AM_ROM
5151ADDRESS_MAP_END
5252
53static ADDRESS_MAP_START( compis_io, ADDRESS_SPACE_IO, 8)
54   AM_RANGE( 0x0001, 0x0008) AM_READWRITE( compis_ppi_r, compis_ppi_w )   /* PPI 8255         */
53static ADDRESS_MAP_START( compis_io, ADDRESS_SPACE_IO, 16)
54   AM_RANGE( 0x0000, 0x0008) AM_READWRITE( compis_ppi_r, compis_ppi_w )   /* PPI 8255         */
5555   AM_RANGE( 0x0080, 0x0087) AM_READWRITE( compis_pit_r, compis_pit_w )   /* PIT 8253         */
5656   AM_RANGE( 0x0100, 0x011a) AM_READWRITE( compis_rtc_r, compis_rtc_w )    /* RTC 58174         */
5757   AM_RANGE( 0x0280, 0x0282) AM_READWRITE( compis_osp_pic_r, compis_osp_pic_w ) /* PIC 8259 (80150/80130)   */
5858//  AM_RANGE( 0x0288, 0x028e) AM_READWRITE( compis_osp_pit_r, compis_osp_pit_w ) /* PIT 8254 (80150/80130)   */
59   AM_RANGE( 0x0311, 0x031f) AM_READWRITE( compis_usart_r, compis_usart_w )   /* USART 8251 Keyboard      */
59   AM_RANGE( 0x0310, 0x031f) AM_READWRITE( compis_usart_r, compis_usart_w )   /* USART 8251 Keyboard      */
6060   AM_RANGE( 0x0330, 0x033e) AM_READWRITE( compis_gdc_r, compis_gdc_w )   /* GDC 82720 PCS6:6      */
6161   AM_RANGE( 0x0340, 0x0342) AM_READWRITE( compis_fdc_r, compis_fdc_w )   /* iSBX0 (J8) FDC 8272      */
62   AM_RANGE( 0x0351, 0x0351) AM_READ( compis_fdc_dack_r)   /* iSBX0 (J8) DMA ACK      */
62   AM_RANGE( 0x0350, 0x0351) AM_READ( compis_fdc_dack_r)   /* iSBX0 (J8) DMA ACK      */
6363   AM_RANGE( 0xff00, 0xffff) AM_READWRITE( i186_internal_port_r, i186_internal_port_w)/* CPU 80186         */
6464//{ 0x0100, 0x017e, compis_null_r },   /* RTC            */
6565//{ 0x0180, 0x01ff, compis_null_r },   /* PCS3?         */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team