diff options
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 |
commit | d19a2771a554308e290afac52399f961af44ea31 (patch) | |
tree | bc50bb0b0ca15c169e73bfea464c9916eb4f3dbf /src/devices | |
parent | 9c3a6f8f872eaeea16a8db492f5862c2f5c1a9c4 (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.cpp | 8 | ||||
-rw-r--r-- | src/devices/bus/a2bus/laser128.h | 4 |
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; |