trunk/src/emu/cpu/m6502/om65ce02.lst
| r243208 | r243209 | |
| 245 | 245 | TMP = read_pc(); |
| 246 | 246 | TMP = set_h(TMP, read_pc()); |
| 247 | 247 | if(!(P & F_C)) |
| 248 | | PC += TMP-1; |
| 248 | PC += TMP; |
| 249 | 249 | prefetch(); |
| 250 | 250 | |
| 251 | 251 | bcs_ce_rel |
| r243208 | r243209 | |
| 258 | 258 | TMP = read_pc(); |
| 259 | 259 | TMP = set_h(TMP, read_pc()); |
| 260 | 260 | if(P & F_C) |
| 261 | | PC += TMP-1; |
| 261 | PC += TMP; |
| 262 | 262 | prefetch(); |
| 263 | 263 | |
| 264 | 264 | beq_ce_rel |
| r243208 | r243209 | |
| 271 | 271 | TMP = read_pc(); |
| 272 | 272 | TMP = set_h(TMP, read_pc()); |
| 273 | 273 | if(P & F_Z) |
| 274 | | PC += TMP-1; |
| 274 | PC += TMP; |
| 275 | 275 | prefetch(); |
| 276 | 276 | |
| 277 | 277 | bit_ce_abx |
| r243208 | r243209 | |
| 307 | 307 | TMP = read_pc(); |
| 308 | 308 | TMP = set_h(TMP, read_pc()); |
| 309 | 309 | if(P & F_N) |
| 310 | | PC += TMP-1; |
| 310 | PC += TMP; |
| 311 | 311 | prefetch(); |
| 312 | 312 | |
| 313 | 313 | bne_ce_rel |
| r243208 | r243209 | |
| 320 | 320 | TMP = read_pc(); |
| 321 | 321 | TMP = set_h(TMP, read_pc()); |
| 322 | 322 | if(!(P & F_Z)) |
| 323 | | PC += TMP-1; |
| 323 | PC += TMP; |
| 324 | 324 | prefetch(); |
| 325 | 325 | |
| 326 | 326 | bpl_ce_rel |
| r243208 | r243209 | |
| 333 | 333 | TMP = read_pc(); |
| 334 | 334 | TMP = set_h(TMP, read_pc()); |
| 335 | 335 | if(!(P & F_N)) |
| 336 | | PC += TMP-1; |
| 336 | PC += TMP; |
| 337 | 337 | prefetch(); |
| 338 | 338 | |
| 339 | 339 | bra_ce_rel |
| r243208 | r243209 | |
| 379 | 379 | write(SP, PC); |
| 380 | 380 | dec_SP_ce(); |
| 381 | 381 | TMP = set_h(TMP, read_pc()); |
| 382 | | PC += TMP-1; |
| 382 | PC += TMP; |
| 383 | 383 | prefetch(); |
| 384 | 384 | |
| 385 | 385 | bvc_ce_rel |
| r243208 | r243209 | |
| 392 | 392 | TMP = read_pc(); |
| 393 | 393 | TMP = set_h(TMP, read_pc()); |
| 394 | 394 | if(!(P & F_V)) |
| 395 | | PC += TMP-1; |
| 395 | PC += TMP; |
| 396 | 396 | prefetch(); |
| 397 | 397 | |
| 398 | 398 | bvs_ce_rel |
| r243208 | r243209 | |
| 405 | 405 | TMP = read_pc(); |
| 406 | 406 | TMP = set_h(TMP, read_pc()); |
| 407 | 407 | if(P & F_V) |
| 408 | | PC += TMP-1; |
| 408 | PC += TMP; |
| 409 | 409 | prefetch(); |
| 410 | 410 | |
| 411 | 411 | clc_ce_imp |
trunk/src/emu/machine/jvshost.c
| r243208 | r243209 | |
| 48 | 48 | // - have the message length without the two header bytes but with the checksum byte in the second byte |
| 49 | 49 | // - have at least one command byte |
| 50 | 50 | if(send_size < 3 || send_buffer[0] == 0x00 || send_buffer[1] != send_size-1) { |
| 51 | | logerror("JVS checksum error\n"); |
| 52 | | } /* |
| 53 | | Naomi suchie3 have bad working controls with this |
| 54 | | |
| 55 | | // "This message is crap" doesn't exist so call it checksum error |
| 56 | | recv_buffer[0] = 0x00; |
| 57 | | recv_buffer[1] = 0x02; |
| 58 | | recv_buffer[2] = 0x03; |
| 59 | | recv_size = 3; |
| 60 | | |
| 61 | | } else */ { |
| 51 | logerror("JVS checksum error\n"); |
| 52 | // "This message is crap" doesn't exist so call it checksum error |
| 53 | recv_buffer[0] = 0x00; |
| 54 | recv_buffer[1] = 0x02; |
| 55 | recv_buffer[2] = 0x03; |
| 56 | recv_size = 3; |
| 57 | } else { |
| 62 | 58 | if(first_device) { |
| 63 | 59 | first_device->message(send_buffer[0], send_buffer+2, send_size-2, recv_buffer+2, recv_size); |
| 64 | 60 | recv_is_encoded = false; |
| r243208 | r243209 | |
| 146 | 142 | if(!size) |
| 147 | 143 | return; |
| 148 | 144 | UINT32 pos = 0; |
| 149 | | for(UINT32 i=0; i<size-1; i++) { |
| 145 | for(UINT32 i=0; i<size; i++) { |
| 150 | 146 | UINT8 t = buffer[i]; |
| 151 | 147 | if(!i && t == 0xe0) |
| 152 | 148 | continue; |
| r243208 | r243209 | |
| 156 | 152 | } |
| 157 | 153 | buffer[pos++] = t; |
| 158 | 154 | } |
| 159 | | size = pos; |
| 155 | size = pos ? pos - 1 : 0; |
| 160 | 156 | } |
trunk/src/mame/drivers/cabal.c
| r243208 | r243209 | |
| 484 | 484 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 485 | 485 | |
| 486 | 486 | MCFG_YM2151_ADD("ymsnd", XTAL_3_579545MHz) /* verified on pcb */ |
| 487 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler)) |
| 487 | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) |
| 488 | 488 | MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.80) |
| 489 | 489 | |
| 490 | 490 | MCFG_SOUND_ADD("adpcm1", SEIBU_ADPCM, 8000) /* it should use the msm5205 */ |
trunk/src/mame/drivers/shanghai.c
| r243208 | r243209 | |
| 514 | 514 | |
| 515 | 515 | /* same as standard seibu ym2203, but "ym1" also reads "DSW" */ |
| 516 | 516 | MCFG_SOUND_ADD("ym1", YM2203, XTAL_16MHz/4) |
| 517 | | MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2203_irqhandler)) |
| 517 | MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) |
| 518 | 518 | MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW")) |
| 519 | 519 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) |
| 520 | 520 | |
trunk/src/mame/machine/mie.c
| r243208 | r243209 | |
| 33 | 33 | AM_RANGE(0x00, 0x07) AM_READWRITE(gpio_r, gpio_w) |
| 34 | 34 | AM_RANGE(0x08, 0x08) AM_READWRITE(gpiodir_r, gpiodir_w) |
| 35 | 35 | AM_RANGE(0x0f, 0x0f) AM_READWRITE(adc_r, adc_w) |
| 36 | | AM_RANGE(0x10, 0x10) AM_READWRITE(jvs_r, jvs_w) |
| 36 | AM_RANGE(0x10, 0x10) AM_READWRITE(jvs_r, jvs_w) // ports 1x and 2x is standard UARTs, TODO handle it properly |
| 37 | 37 | AM_RANGE(0x12, 0x12) AM_WRITE(jvs_dest_w) |
| 38 | AM_RANGE(0x13, 0x13) AM_WRITE(jvs_lcr_w) |
| 38 | 39 | AM_RANGE(0x15, 0x15) AM_READ(jvs_status_r) |
| 39 | 40 | AM_RANGE(0x30, 0x30) AM_READWRITE(irq_enable_r, irq_enable_w) |
| 40 | 41 | AM_RANGE(0x50, 0x50) AM_READWRITE(maple_irqlevel_r, maple_irqlevel_w) |
| r243208 | r243209 | |
| 319 | 320 | |
| 320 | 321 | READ8_MEMBER(mie_device::jvs_r) |
| 321 | 322 | { |
| 323 | if (jvs_lcr & 0x80) |
| 324 | return 0; |
| 325 | |
| 322 | 326 | const UINT8 *buf; |
| 323 | 327 | UINT32 size; |
| 324 | 328 | jvs->get_encoded_reply(buf, size); |
| r243208 | r243209 | |
| 329 | 333 | |
| 330 | 334 | WRITE8_MEMBER(mie_device::jvs_w) |
| 331 | 335 | { |
| 332 | | // Hack until the ports are better understood |
| 333 | | if(jvs_dest == 2) |
| 334 | | jvs->push(data); |
| 336 | if (jvs_lcr & 0x80) |
| 337 | return; |
| 338 | |
| 339 | jvs->push(data); |
| 335 | 340 | } |
| 336 | 341 | |
| 337 | 342 | WRITE8_MEMBER(mie_device::jvs_dest_w) |
| r243208 | r243209 | |
| 359 | 364 | jvs_control = data; |
| 360 | 365 | } |
| 361 | 366 | |
| 367 | WRITE8_MEMBER(mie_device::jvs_lcr_w) |
| 368 | { |
| 369 | jvs_lcr = data; |
| 370 | } |
| 371 | |
| 362 | 372 | READ8_MEMBER(mie_device::jvs_sense_r) |
| 363 | 373 | { |
| 364 | 374 | return 0x8c | (jvs->get_address_set_line() ? 2 : 0) | (jvs->get_presence_line() ? 0 : 1); |
trunk/src/mame/machine/mie.h
| r243208 | r243209 | |
| 61 | 61 | DECLARE_READ8_MEMBER(jvs_status_r); |
| 62 | 62 | DECLARE_WRITE8_MEMBER(jvs_control_w); |
| 63 | 63 | DECLARE_READ8_MEMBER(jvs_sense_r); |
| 64 | DECLARE_WRITE8_MEMBER(jvs_lcr_w); |
| 64 | 65 | |
| 65 | 66 | DECLARE_READ8_MEMBER(read_ff); |
| 66 | 67 | DECLARE_READ8_MEMBER(read_00); |
| r243208 | r243209 | |
| 106 | 107 | UINT8 gpiodir, gpio_val[8]; |
| 107 | 108 | UINT8 irq_enable, irq_pending, maple_irqlevel; |
| 108 | 109 | UINT8 jvs_control, jvs_dest; |
| 110 | UINT8 jvs_lcr; |
| 109 | 111 | |
| 110 | 112 | void raise_irq(int level); |
| 111 | 113 | void recalc_irq(); |