summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/coco/cococart.cpp
diff options
context:
space:
mode:
author andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
committer andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
commitb380514764cf857469bae61c11143a19f79a74c5 (patch)
tree63c8012e262618f08a332da31dd714281aa2c5ed /src/devices/bus/coco/cococart.cpp
parentc24473ddff715ecec2e258a6eb38960cf8c8e98e (diff)
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat (limited to 'src/devices/bus/coco/cococart.cpp')
-rw-r--r--src/devices/bus/coco/cococart.cpp40
1 files changed, 37 insertions, 3 deletions
diff --git a/src/devices/bus/coco/cococart.cpp b/src/devices/bus/coco/cococart.cpp
index 6bf6360d24b..2c009aa8724 100644
--- a/src/devices/bus/coco/cococart.cpp
+++ b/src/devices/bus/coco/cococart.cpp
@@ -412,11 +412,11 @@ image_init_result cococart_slot_device::call_load()
{
memory_region *cart_mem = m_cart->get_cart_memregion();
uint8_t *base = cart_mem->base();
- offs_t read_length, cart_length = cart_mem->bytes();;
+ offs_t read_length, cart_legnth = cart_mem->bytes();;
if (!loaded_through_softlist())
{
- read_length = fread(base, cart_length);
+ read_length = fread(base, cart_legnth);
}
else
{
@@ -424,7 +424,7 @@ image_init_result cococart_slot_device::call_load()
memcpy(base, get_software_region("rom"), read_length);
}
- while (read_length < cart_length)
+ while (read_length < cart_legnth)
{
offs_t len = std::min(read_length, m_cart->get_cart_size() - read_length);
memcpy(base + read_length, base, len);
@@ -597,6 +597,40 @@ address_space &device_cococart_interface::cartridge_space()
//-------------------------------------------------
+// install_read_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_read_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler)
+{
+ address_space &space(cartridge_space());
+ space.install_read_handler(addrstart, addrend, rhandler);
+}
+
+
+//-------------------------------------------------
+// install_write_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_write_handler(uint16_t addrstart, uint16_t addrend, write8_delegate whandler)
+{
+ address_space &space(cartridge_space());
+ space.install_write_handler(addrstart, addrend, whandler);
+}
+
+
+//-------------------------------------------------
+// install_readwrite_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_readwrite_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler, write8_delegate whandler)
+{
+ address_space &space(cartridge_space());
+ space.install_read_handler(addrstart, addrend, rhandler);
+ space.install_write_handler(addrstart, addrend, whandler);
+}
+
+
+//-------------------------------------------------
// set_line_value
//-------------------------------------------------