summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2022-06-22 21:25:38 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2022-06-22 21:40:55 +0100
commit6d2442d82467a2259a842b06921202af5dcd429e (patch)
tree3913fe2f0933e2c15bb90ee655b9796ab2fa3e29 /src/devices
parent1ebcd7cfd5149cac82529d86310e64563ce5c464 (diff)
bbc_sdcard: Added CB1 callback for CLK.
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/bus/bbc/userport/sdcard.cpp17
-rw-r--r--src/devices/bus/bbc/userport/sdcard.h2
2 files changed, 9 insertions, 10 deletions
diff --git a/src/devices/bus/bbc/userport/sdcard.cpp b/src/devices/bus/bbc/userport/sdcard.cpp
index 25d93816823..ccd5337d840 100644
--- a/src/devices/bus/bbc/userport/sdcard.cpp
+++ b/src/devices/bus/bbc/userport/sdcard.cpp
@@ -37,10 +37,6 @@
CB2 ==> S_MOSI (Din)
0V ==> S_SEL (Select)
- TODO:
- - implement SR Mode 0 in via6522_device.
- - implement SPI Mode 0 in spi_sdcard_device.
-
**********************************************************************/
@@ -120,21 +116,23 @@ void bbc_sdcardt_device::device_start()
void bbc_sdcard_device::write_cb1(int state)
{
m_sdcard->spi_ss_w(1);
- m_sdcard->spi_clock_w(!state);
+ m_sdcard->spi_clock_w(state);
}
void bbc_sdcard_device::pb_w(uint8_t data)
{
m_sdcard->spi_ss_w(1);
m_sdcard->spi_mosi_w(BIT(data, 0));
- m_sdcard->spi_clock_w(!BIT(data, 1));
+ m_sdcard->spi_clock_w(BIT(data, 1));
+
+ m_slot->cb1_w(BIT(data, 1));
}
void bbc_sdcardt_device::write_cb1(int state)
{
m_sdcard->spi_ss_w(1);
- m_sdcard->spi_clock_w(!state);
+ m_sdcard->spi_clock_w(state);
}
void bbc_sdcardt_device::write_cb2(int state)
@@ -151,5 +149,8 @@ void bbc_sdcardt_device::pb_w(uint8_t data)
m_turbo = (data & 0x1c) == 0x14;
m_sdcard->spi_ss_w(1);
- m_sdcard->spi_clock_w(!BIT(data, 1));
+ m_sdcard->spi_mosi_w(BIT(data, 0));
+ m_sdcard->spi_clock_w(BIT(data, 1));
+
+ m_slot->cb1_w(BIT(data, 1));
}
diff --git a/src/devices/bus/bbc/userport/sdcard.h b/src/devices/bus/bbc/userport/sdcard.h
index 85db37e199e..bfa86ad359b 100644
--- a/src/devices/bus/bbc/userport/sdcard.h
+++ b/src/devices/bus/bbc/userport/sdcard.h
@@ -27,8 +27,6 @@ public:
// construction/destruction
bbc_sdcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- static constexpr feature_type unemulated_features() { return feature::MEDIA; }
-
protected:
bbc_sdcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);