trunk/src/mess/drivers/a2600.c
| r18078 | r18079 | |
| 1501 | 1501 | { |
| 1502 | 1502 | UINT16 last_address, prev_address; |
| 1503 | 1503 | UINT8 last_byte, prev_byte; |
| 1504 | address_space& prog_space = machine().device("maincpu")->memory().space(AS_PROGRAM); |
| 1504 | 1505 | |
| 1505 | 1506 | last_address = machine().device("maincpu")->safe_pc() - 1; |
| 1506 | 1507 | if ( ! ( last_address & 0x1080 ) ) |
| 1507 | 1508 | { |
| 1508 | 1509 | return offset; |
| 1509 | 1510 | } |
| 1510 | | last_byte = space.read_byte(last_address ); |
| 1511 | last_byte = prog_space.read_byte(last_address ); |
| 1511 | 1512 | if ( last_byte < 0x80 || last_byte == 0xFF ) |
| 1512 | 1513 | { |
| 1513 | 1514 | return last_byte; |
| r18078 | r18079 | |
| 1517 | 1518 | { |
| 1518 | 1519 | return last_byte; |
| 1519 | 1520 | } |
| 1520 | | prev_byte = space.read_byte(prev_address ); |
| 1521 | prev_byte = prog_space.read_byte(prev_address ); |
| 1521 | 1522 | if ( prev_byte == 0xB1 ) |
| 1522 | 1523 | { /* LDA (XX),Y */ |
| 1523 | | return space.read_byte(last_byte + 1 ); |
| 1524 | return prog_space.read_byte(last_byte + 1 ); |
| 1524 | 1525 | } |
| 1525 | 1526 | return last_byte; |
| 1526 | 1527 | } |