bus/bbc/1mhzbus/pms64k: Added ROM to initialise the device.

This commit is contained in:
Nigel Barnes 2023-11-17 18:36:07 +00:00
parent fccb3e2f47
commit c213897ffc
2 changed files with 26 additions and 8 deletions

View File

@ -4,9 +4,6 @@
PMS 64K Non-Volatile Ram Module
TODO:
- Find accompanying software, needed to install utilities to RAM.
**********************************************************************/
@ -21,6 +18,25 @@
DEFINE_DEVICE_TYPE(BBC_PMS64K, bbc_pms64k_device, "bbc_pms64k", "PMS 64K Non-Volatile Ram Module");
//-------------------------------------------------
// ROM( pms64k )
//-------------------------------------------------
ROM_START(pms64k)
ROM_REGION(0x4000, "exp_rom", 0)
ROM_LOAD("pms_utility_12d.rom", 0x0000, 0x4000, CRC(c630990e) SHA1(da9abe3b1b0bf34ee5d6ed7ee032686403436289))
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const tiny_rom_entry *bbc_pms64k_device::device_rom_region() const
{
return ROM_NAME(pms64k);
}
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
@ -54,6 +70,9 @@ void bbc_pms64k_device::device_start()
{
m_ram = std::make_unique<uint8_t[]>(0x10000);
m_nvram->set_base(m_ram.get(), 0x10000);
save_pointer(NAME(m_ram), 0x10000);
save_item(NAME(m_ram_page));
}

View File

@ -17,20 +17,19 @@
// TYPE DEFINITIONS
//**************************************************************************
class bbc_pms64k_device:
public device_t,
public device_bbc_1mhzbus_interface
class bbc_pms64k_device : public device_t, public device_bbc_1mhzbus_interface
{
public:
// construction/destruction
bbc_pms64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
// device_t overrides
virtual void device_start() override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void fred_w(offs_t offset, uint8_t data) override;
virtual uint8_t jim_r(offs_t offset) override;
@ -48,4 +47,4 @@ private:
DECLARE_DEVICE_TYPE(BBC_PMS64K, bbc_pms64k_device);
#endif /* MAME_BUS_BBC_1MHZBUS_PMS64K_H */
#endif // MAME_BUS_BBC_1MHZBUS_PMS64K_H