trunk/src/mame/audio/segasnd.c
| r31705 | r31706 | |
| 250 | 250 | m_in_latch(0), |
| 251 | 251 | m_out_latch(0), |
| 252 | 252 | m_last_p2_value(0), |
| 253 | | m_program_ram(NULL), |
| 254 | | m_work_ram(NULL), |
| 253 | m_program_ram(*this, "pgmram"), |
| 254 | m_work_ram(*this, "workram"), |
| 255 | 255 | m_work_ram_bank(0), |
| 256 | 256 | m_t1_clock(0), |
| 257 | 257 | m_t1_clock_mask(0), |
| r31705 | r31706 | |
| 264 | 264 | usb_sound_device::usb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 265 | 265 | : device_t(mconfig, SEGAUSB, "Sega Universal Sound Board", tag, owner, clock, "segausb", __FILE__), |
| 266 | 266 | device_sound_interface(mconfig, *this), |
| 267 | | m_ourcpu(*this, "ourcpu") |
| 267 | m_ourcpu(*this, "ourcpu"), |
| 268 | m_program_ram(*this, "pgmram"), |
| 269 | m_work_ram(*this, "workram") |
| 268 | 270 | { |
| 269 | 271 | } |
| 270 | 272 | |
| 271 | 273 | //------------------------------------------------- |
| 272 | | // device_config_complete - perform any |
| 273 | | // operations now that the configuration is |
| 274 | | // complete |
| 275 | | //------------------------------------------------- |
| 276 | | |
| 277 | | void usb_sound_device::device_config_complete() |
| 278 | | { |
| 279 | | } |
| 280 | | |
| 281 | | //------------------------------------------------- |
| 282 | 274 | // device_start - device-specific startup |
| 283 | 275 | //------------------------------------------------- |
| 284 | 276 | |
| r31705 | r31706 | |
| 291 | 283 | m_maincpu = machine().device("maincpu"); |
| 292 | 284 | assert(m_maincpu != NULL); |
| 293 | 285 | |
| 294 | | /* allocate RAM */ |
| 295 | | m_program_ram = (UINT8 *)memshare("pgmram")->ptr(); |
| 296 | | m_work_ram = auto_alloc_array(machine(), UINT8, 0x400); |
| 297 | | |
| 298 | 286 | /* create a sound stream */ |
| 299 | 287 | m_stream = machine().sound().stream_alloc(*this, 0, 1, SAMPLE_RATE); |
| 300 | 288 | |
| r31705 | r31706 | |
| 866 | 854 | ADDRESS_MAP_END |
| 867 | 855 | |
| 868 | 856 | static ADDRESS_MAP_START( usb_portmap, AS_IO, 8, usb_sound_device ) |
| 869 | | AM_RANGE(0x00, 0xff) AM_READWRITE(workram_r, workram_w) |
| 857 | AM_RANGE(0x00, 0xff) AM_READWRITE(workram_r, workram_w) AM_SHARE("workram") |
| 870 | 858 | AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READWRITE(p1_r, p1_w) |
| 871 | 859 | AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(p2_w) |
| 872 | 860 | AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(t1_r) |
trunk/src/mame/audio/segasnd.h
| r31705 | r31706 | |
| 138 | 138 | protected: |
| 139 | 139 | // device-level overrides |
| 140 | 140 | virtual machine_config_constructor device_mconfig_additions() const; |
| 141 | | virtual void device_config_complete(); |
| 142 | 141 | virtual void device_start(); |
| 143 | 142 | virtual void device_reset(); |
| 144 | 143 | |
| r31705 | r31706 | |
| 152 | 151 | UINT8 m_in_latch; /* input latch */ |
| 153 | 152 | UINT8 m_out_latch; /* output latch */ |
| 154 | 153 | UINT8 m_last_p2_value; /* current P2 output value */ |
| 155 | | UINT8 * m_program_ram; /* pointer to program RAM */ |
| 156 | | UINT8 * m_work_ram; /* pointer to work RAM */ |
| 154 | optional_shared_ptr<UINT8> m_program_ram; /* pointer to program RAM */ |
| 155 | required_shared_ptr<UINT8> m_work_ram; /* pointer to work RAM */ |
| 157 | 156 | UINT8 m_work_ram_bank; /* currently selected work RAM bank */ |
| 158 | 157 | UINT8 m_t1_clock; /* T1 clock value */ |
| 159 | 158 | UINT8 m_t1_clock_mask; /* T1 clock mask (configured via jumpers) */ |