Vastly overhauled the UI, there's now a completely new Settings dialog as well as a status bar with disk activity icons and removable drive menus;
Thoroughly clean up the code to vastly reduce the number of compiler warnings and found and fixed several bugs in the process; Applied all mainline PCem commits; Added SCSI hard disk emulation; Commented out all unfinished machines and graphics cards; Added the AOpen AP53 and ASUS P/I-P55T2 machines as well as another Tyan 440FX machine, all three with AMI WinBIOS (patch from TheCollector1995); Added the Diamond Stealth 3D 3000 (S3 ViRGE/VX) graphics card (patch from TheCollector1995); Added the PS/2 XT IDE (AccuLogic) HDD Controller (patch from TheCollector1995); Added Microsoft/Logitech Bus Mouse emulation (patch from waltje); Overhauled the makefiles (patch from waltje); Added the Adaptec AHA-1542CF SCSI controller (patch from waltje); Added preliminary (but still unfinished) Adaptec AHA-154x SCSI controller BIOS support (patch from waltje); Added an ISABugger debugging device (patch from waltje); Added sanity checks to the Direct3D code.
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "mem.h"
|
||||
#include "nmi.h"
|
||||
#include "pic.h"
|
||||
#include "pit.h"
|
||||
#include "sound.h"
|
||||
#include "sound_sn76489.h"
|
||||
#include "sound_speaker.h"
|
||||
@@ -52,7 +53,6 @@ void keyboard_pcjr_poll()
|
||||
int p = 0;
|
||||
uint8_t key = key_queue[key_queue_start];
|
||||
|
||||
// pclog("Reading %02X from the key queue at %i\n", key, key_queue_start);
|
||||
key_queue_start = (key_queue_start + 1) & 0xf;
|
||||
|
||||
keyboard_pcjr.latched = 1;
|
||||
@@ -102,25 +102,18 @@ void keyboard_pcjr_poll()
|
||||
keyboard_pcjr.serial_pos++;
|
||||
if (keyboard_pcjr.serial_pos == 42+1)
|
||||
keyboard_pcjr.serial_pos = 0;
|
||||
// pclog("Keyboard poll %i %i\n", keyboard_pcjr.data, keyboard_pcjr.serial_pos);
|
||||
}
|
||||
}
|
||||
|
||||
void keyboard_pcjr_adddata(uint8_t val)
|
||||
{
|
||||
key_queue[key_queue_end] = val;
|
||||
// pclog("keyboard_pcjr : %02X added to key queue at %i\n", val, key_queue_end);
|
||||
key_queue_end = (key_queue_end + 1) & 0xf;
|
||||
return;
|
||||
}
|
||||
|
||||
void keyboard_pcjr_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
// pclog("keyboard_pcjr : write %04X %02X %02X\n", port, val, keyboard_pcjr.pb);
|
||||
/* if (ram[8] == 0xc3)
|
||||
{
|
||||
output = 3;
|
||||
}*/
|
||||
switch (port)
|
||||
{
|
||||
case 0x60:
|
||||
@@ -138,7 +131,7 @@ void keyboard_pcjr_write(uint16_t port, uint8_t val, void *priv)
|
||||
speaker_enable = val & 2;
|
||||
if (speaker_enable)
|
||||
was_speaker_enable = 1;
|
||||
pit_set_gate(2, val & 1);
|
||||
pit_set_gate(&pit, 2, val & 1);
|
||||
sn76489_mute = speaker_mute = 1;
|
||||
switch (val & 0x60)
|
||||
{
|
||||
@@ -153,7 +146,7 @@ void keyboard_pcjr_write(uint16_t port, uint8_t val, void *priv)
|
||||
|
||||
case 0xa0:
|
||||
nmi_mask = val & 0x80;
|
||||
pit_set_using_timer(1, !(val & 0x20));
|
||||
pit_set_using_timer(&pit, 1, !(val & 0x20));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -161,7 +154,6 @@ void keyboard_pcjr_write(uint16_t port, uint8_t val, void *priv)
|
||||
uint8_t keyboard_pcjr_read(uint16_t port, void *priv)
|
||||
{
|
||||
uint8_t temp;
|
||||
// pclog("keyboard_pcjr : read %04X ", port);
|
||||
switch (port)
|
||||
{
|
||||
case 0x60:
|
||||
@@ -178,21 +170,19 @@ uint8_t keyboard_pcjr_read(uint16_t port, void *priv)
|
||||
temp |= (ppispeakon ? 0x10 : 0);
|
||||
temp |= (ppispeakon ? 0x20 : 0);
|
||||
temp |= (keyboard_pcjr.data ? 0x40: 0);
|
||||
// temp |= 0x04;
|
||||
if (keyboard_pcjr.data)
|
||||
temp |= 0x40;
|
||||
break;
|
||||
|
||||
case 0xa0:
|
||||
keyboard_pcjr.latched = 0;
|
||||
temp = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
pclog("\nBad XT keyboard read %04X\n", port);
|
||||
//dumpregs();
|
||||
//exit(-1);
|
||||
temp = 0xff;
|
||||
}
|
||||
// pclog("%02X\n", temp);
|
||||
return temp;
|
||||
}
|
||||
|
||||
@@ -202,7 +192,6 @@ void keyboard_pcjr_reset()
|
||||
|
||||
void keyboard_pcjr_init()
|
||||
{
|
||||
//return;
|
||||
io_sethandler(0x0060, 0x0004, keyboard_pcjr_read, NULL, NULL, keyboard_pcjr_write, NULL, NULL, NULL);
|
||||
io_sethandler(0x00a0, 0x0008, keyboard_pcjr_read, NULL, NULL, keyboard_pcjr_write, NULL, NULL, NULL);
|
||||
keyboard_pcjr_reset();
|
||||
|
||||
Reference in New Issue
Block a user