Fixed most bugs in Olivetti machines.
This commit is contained in:
@@ -557,25 +557,6 @@ machine_at_pja511m_init(const machine_t *model)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static uint8_t
|
||||
m290_read(uint16_t port, void *priv)
|
||||
{
|
||||
uint8_t ret = 0x0;
|
||||
switch (port) {
|
||||
/*
|
||||
* port 69:
|
||||
* dip-switch bank on mainboard (off=1)
|
||||
* bit 3 - use OCG/CGA display adapter (off) / other display adapter (on)
|
||||
*/
|
||||
case 0x69:
|
||||
if(video_is_cga())
|
||||
ret |= 0x8|0x4;
|
||||
ret |= 0x1|0x2;
|
||||
}
|
||||
return (ret);
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_olim290_init(const machine_t *model)
|
||||
{
|
||||
@@ -588,10 +569,10 @@ machine_at_olim290_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_at_device);
|
||||
device_add(&keyboard_at_olivetti_device);
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
io_sethandler(0x069, 1, m290_read, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
device_add(&olivetti_m290_registers_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -790,6 +790,7 @@ machine_xt_olim240_init(const machine_t *model)
|
||||
* Current bugs:
|
||||
* - 640x400x2 graphics mode not supported (bit 0 of register 0x3de cannot be set)
|
||||
* - optional mouse emulation missing
|
||||
* - setting CPU speed at 4.77MHz sometimes throws a timer error. If the machine is hard-resetted, the error disappears.
|
||||
*/
|
||||
int
|
||||
machine_xt_olim19_init(const machine_t *model)
|
||||
|
||||
@@ -71,7 +71,7 @@ const machine_t machines[] = {
|
||||
{ "[8088] Juko XT clone", "jukopc", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_jukopc_init, NULL },
|
||||
{ "[8088] Multitech PC-700", "multitech_pc700", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 64, 0, machine_xt_multitechpc700_init, NULL },
|
||||
{ "[8088] NCR PC4i", "ncr_pc4i", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 640, 256, 0, machine_xt_ncrpc4i_init, NULL },
|
||||
{ "[8088] Olivetti M19", "olivetti_m19", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 256, 640, 256, 0, machine_xt_olim19_init, NULL },
|
||||
{ "[8088] Olivetti M19", "olivetti_m19", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 7159092, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 256, 640, 256, 0, machine_xt_olim19_init, NULL },
|
||||
{ "[8088] OpenXT", "open_xt", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 64, 640, 64, 0, machine_xt_open_xt_init, NULL },
|
||||
{ "[8088] Philips P3105/NMS9100", "philips_p3105", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 768, 256, 0, machine_xt_p3105_init, NULL },
|
||||
{ "[8088] Philips P3120", "philips_p3120", MACHINE_TYPE_8088, CPU_PKG_8088, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 256, 768, 256, 0, machine_xt_p3120_init, NULL },
|
||||
|
||||
Reference in New Issue
Block a user