oric.cpp, oric1_cass.xml: Added a software list for Oric 1 and Atmos cassettes. (#10992)

This commit is contained in:
Erik 2023-03-25 17:46:27 +00:00 committed by GitHub
parent 2519765abd
commit 3b62566cc9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4267 additions and 9 deletions

4260
hash/oric1_cass.xml Normal file

File diff suppressed because it is too large Load diff

View file

@ -36,6 +36,7 @@
#include "emupal.h"
#include "screen.h"
#include "softlist_dev.h"
#include "speaker.h"
#include "utf8.h"
@ -145,7 +146,8 @@ public:
m_hyperbas(*this, "hyperbas"),
m_telmon24(*this, "telmon24"),
m_joy1(*this, "JOY1"),
m_joy2(*this, "JOY2")
m_joy2(*this, "JOY2"),
m_floppies(*this, "fdc:%d", 0U)
{ }
void via2_a_w(uint8_t data);
@ -185,7 +187,7 @@ protected:
required_ioport m_joy1;
required_ioport m_joy2;
floppy_image_device *m_floppies[4];
required_device_array<floppy_connector, 4> m_floppies;
uint8_t m_port_314;
uint8_t m_via2_a, m_via2_b;
bool m_via2_ca2, m_via2_cb2, m_via2_irq;
@ -434,12 +436,6 @@ void oric_state::machine_reset()
void telestrat_state::machine_start()
{
machine_start_common();
for(u8 i=0; i<4; i++)
{
char name[32];
sprintf(name, "fdc:%d", i);
m_floppies[i] = subdevice<floppy_connector>(name)->get_device();
}
m_fdc_irq = m_fdc_drq = m_fdc_hld = false;
m_acia_irq = false;
@ -513,7 +509,7 @@ WRITE_LINE_MEMBER(telestrat_state::via2_irq_w)
void telestrat_state::port_314_w(u8 data)
{
m_port_314 = data;
floppy_image_device *floppy = m_floppies[(m_port_314 >> 5) & 3];
floppy_image_device *floppy = m_floppies[(m_port_314 >> 5) & 3]->get_device();
m_fdc->set_floppy(floppy);
m_fdc->dden_w(m_port_314 & P_DDEN);
if(floppy) {
@ -847,6 +843,8 @@ void oric_state::oric(machine_config &config, bool add_ext) // this variable not
m_cassette->set_formats(oric_cassette_formats);
m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
m_cassette->set_interface("oric1_cass");
SOFTWARE_LIST(config, "oric1_cass").set_original("oric1_cass");
/* via */
MOS6522(config, m_via, 12_MHz_XTAL / 12);