summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2021-11-26 19:30:30 -0500
committer arbee <rb6502@users.noreply.github.com>2021-11-26 19:30:30 -0500
commitd19a2771a554308e290afac52399f961af44ea31 (patch)
treebc50bb0b0ca15c169e73bfea464c9916eb4f3dbf /src/devices
parent9c3a6f8f872eaeea16a8db492f5862c2f5c1a9c4 (diff)
apple2e.cpp updates: [R. Belmont]
- All Laser 128 models now use the correct character set - Laser 128 now supports the serial/parallel printer switch and the parallel port Machines added as MACHINE NOT WORKING ------------------------------------- Franklin Ace 500 [R. Belmont]
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/bus/a2bus/laser128.cpp8
-rw-r--r--src/devices/bus/a2bus/laser128.h4
2 files changed, 10 insertions, 2 deletions
diff --git a/src/devices/bus/a2bus/laser128.cpp b/src/devices/bus/a2bus/laser128.cpp
index bf0319751db..ecddbc66b14 100644
--- a/src/devices/bus/a2bus/laser128.cpp
+++ b/src/devices/bus/a2bus/laser128.cpp
@@ -43,8 +43,7 @@ void a2bus_laser128_device::device_add_mconfig(machine_config &config)
a2bus_laser128_device::a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
- device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_slot7_bank(0), m_slot7_ram_bank(0)
-
+ device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_slot7_bank(0), m_bParPrinter(false), m_slot7_ram_bank(0)
{
}
@@ -86,6 +85,11 @@ void a2bus_laser128_device::write_c0nx(uint8_t offset, uint8_t data)
uint8_t a2bus_laser128_device::read_cnxx(uint8_t offset)
{
+ if ((!m_bParPrinter) && (slotno() == 1))
+ {
+ return m_rom[offset + 0x5100];
+ }
+
return m_rom[offset + (slotno() * 0x100) + 0x4000];
}
diff --git a/src/devices/bus/a2bus/laser128.h b/src/devices/bus/a2bus/laser128.h
index 3ea016ad983..9858e3889f7 100644
--- a/src/devices/bus/a2bus/laser128.h
+++ b/src/devices/bus/a2bus/laser128.h
@@ -27,6 +27,9 @@ public:
// construction/destruction
a2bus_laser128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // special config API
+ void set_parallel_printer(bool bPrinterIsParallel) { m_bParPrinter = bPrinterIsParallel; }
+
protected:
a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -45,6 +48,7 @@ protected:
uint8_t *m_rom;
uint8_t m_slot7_ram[0x800];
int m_slot7_bank;
+ bool m_bParPrinter;
private:
int m_slot7_ram_bank;