Ported the PIT fix and LPT1 fix for the Compaq Portable from PCem
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "../game/gameport.h"
|
#include "../game/gameport.h"
|
||||||
#include "../keyboard.h"
|
#include "../keyboard.h"
|
||||||
|
#include "../lpt.h"
|
||||||
#include "machine.h"
|
#include "machine.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -50,6 +51,8 @@ machine_xt_compaq_init(machine_t *model)
|
|||||||
|
|
||||||
switch(model->id) {
|
switch(model->id) {
|
||||||
case ROM_PORTABLE:
|
case ROM_PORTABLE:
|
||||||
|
lpt1_remove();
|
||||||
|
lpt1_init(0x03bc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ int64_t pit_get_timer_0()
|
|||||||
static int64_t pit_read_timer(PIT *pit, int64_t t)
|
static int64_t pit_read_timer(PIT *pit, int64_t t)
|
||||||
{
|
{
|
||||||
timer_clock();
|
timer_clock();
|
||||||
if (pit->using_timer[t])
|
if (pit->using_timer[t] && !(pit->m[t] == 3 && !pit->gate[t]))
|
||||||
{
|
{
|
||||||
int64_t read = (int64_t)((pit->c[t] + ((1 << TIMER_SHIFT) - 1)) / PITCONST) >> TIMER_SHIFT;
|
int64_t read = (int64_t)((pit->c[t] + ((1 << TIMER_SHIFT) - 1)) / PITCONST) >> TIMER_SHIFT;
|
||||||
if (pit->m[t] == 2)
|
if (pit->m[t] == 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user