Add cassette emulation to IBM PCjr.
This commit is contained in:
parent
84a098bc98
commit
4b7328f06e
2 changed files with 11 additions and 1 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
#include "ibm.h"
|
#include "ibm.h"
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
|
#include "cassette.h"
|
||||||
|
#include "fdd.h"
|
||||||
#include "io.h"
|
#include "io.h"
|
||||||
#include "mem.h"
|
#include "mem.h"
|
||||||
#include "nmi.h"
|
#include "nmi.h"
|
||||||
|
|
@ -129,6 +131,8 @@ void keyboard_pcjr_write(uint16_t port, uint8_t val, void *priv)
|
||||||
timer_process();
|
timer_process();
|
||||||
timer_update_outstanding();
|
timer_update_outstanding();
|
||||||
|
|
||||||
|
cassette_set_motor((val & 8) ? 0 : 1);
|
||||||
|
|
||||||
speaker_update();
|
speaker_update();
|
||||||
speaker_gated = val & 1;
|
speaker_gated = val & 1;
|
||||||
speaker_enable = val & 2;
|
speaker_enable = val & 2;
|
||||||
|
|
@ -171,7 +175,12 @@ uint8_t keyboard_pcjr_read(uint16_t port, void *priv)
|
||||||
case 0x62:
|
case 0x62:
|
||||||
temp = (keyboard_pcjr.latched ? 1 : 0);
|
temp = (keyboard_pcjr.latched ? 1 : 0);
|
||||||
temp |= 0x02; /*Modem card not installed*/
|
temp |= 0x02; /*Modem card not installed*/
|
||||||
temp |= (ppispeakon ? 0x10 : 0);
|
if (fdd_get_type(0) == 0)
|
||||||
|
temp |= 0x04; /*Disc card not installed*/
|
||||||
|
if (!(keyboard_pcjr.pb & 8))
|
||||||
|
temp |= (cassette_input()) ? 0x10 : 0;
|
||||||
|
else
|
||||||
|
temp |= (ppispeakon ? 0x10 : 0);
|
||||||
temp |= (ppispeakon ? 0x20 : 0);
|
temp |= (ppispeakon ? 0x20 : 0);
|
||||||
temp |= (keyboard_pcjr.data ? 0x40: 0);
|
temp |= (keyboard_pcjr.data ? 0x40: 0);
|
||||||
// temp |= 0x04;
|
// temp |= 0x04;
|
||||||
|
|
|
||||||
|
|
@ -325,6 +325,7 @@ void pcjr_init()
|
||||||
keyboard_pcjr_init();
|
keyboard_pcjr_init();
|
||||||
device_add(&sn76489_device);
|
device_add(&sn76489_device);
|
||||||
nmi_mask = 0x80;
|
nmi_mask = 0x80;
|
||||||
|
device_add(&cassette_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tandy1k_init()
|
void tandy1k_init()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue