trunk/src/mess/drivers/apf.c
r32678 | r32679 | |
31 | 31 | - A very few games need 16K which requires hacking the pcb (-ram 16K) |
32 | 32 | - Basic will work with 8K or 16K. |
33 | 33 | |
34 | | - On the M1000, ram options (8K and 16K) are ignored. |
35 | | - On the IMAG, ram options (8K and 16K) work. |
36 | 34 | |
37 | | |
38 | 35 | Status of cart-based games |
39 | 36 | -------------------------- |
40 | 37 | backgammon - works, needs offset of 0x120, bottom line is coming from 0x3E0, should be 0x380 |
r32678 | r32679 | |
126 | 123 | virtual void machine_start(); |
127 | 124 | virtual void machine_reset(); |
128 | 125 | required_device<m6800_cpu_device> m_maincpu; |
129 | | required_device<ram_device> m_ram; |
| 126 | optional_device<ram_device> m_ram; |
130 | 127 | required_device<mc6847_base_device> m_crtc; |
131 | 128 | required_device<speaker_sound_device> m_speaker; |
132 | 129 | required_device<pia6821_device> m_pia0; |
r32678 | r32679 | |
261 | 258 | m_portb = 0; |
262 | 259 | m_ca2 = 0; |
263 | 260 | |
264 | | if (m_cass) // apfimag only |
265 | | { |
| 261 | // apfimag only |
| 262 | if (m_cass) |
266 | 263 | m_cass->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR); |
267 | 264 | |
| 265 | // apfimag only |
| 266 | if (m_ram) |
| 267 | { |
268 | 268 | /* if we specified 8K of RAM, delete the extended RAM */ |
269 | 269 | if (m_ram->size() < 16*1024) |
270 | 270 | space.unmap_readwrite(0xc000, 0xdfff); |
r32678 | r32679 | |
551 | 551 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) |
552 | 552 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) |
553 | 553 | |
554 | | /* internal ram */ |
555 | | MCFG_RAM_ADD(RAM_TAG) |
556 | | MCFG_RAM_DEFAULT_SIZE("8K") |
557 | | MCFG_RAM_EXTRA_OPTIONS("16K") |
558 | | |
559 | 554 | MCFG_APF_CARTRIDGE_ADD("cartslot", apf_cart, NULL) |
560 | 555 | |
561 | 556 | /* software lists */ |
r32678 | r32679 | |
566 | 561 | MCFG_CPU_MODIFY( "maincpu" ) |
567 | 562 | MCFG_CPU_PROGRAM_MAP( apfimag_map) |
568 | 563 | |
| 564 | /* internal ram */ |
| 565 | MCFG_RAM_ADD(RAM_TAG) |
| 566 | MCFG_RAM_DEFAULT_SIZE("8K") |
| 567 | MCFG_RAM_EXTRA_OPTIONS("16K") |
| 568 | |
569 | 569 | MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") |
570 | 570 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) |
571 | 571 | |