comparison blastem.c @ 405:042c4ba4a838

Implement writes from 68K to Z80 bank register and make reads from port c control register return 0 again
author Mike Pavone <pavone@retrodev.com>
date Sun, 16 Jun 2013 13:25:45 -0700
parents 88fa2ad53e64
children c3abc4ada43d
comparison
equal deleted inserted replaced
404:88fa2ad53e64 405:042c4ba4a838
518 } else if(location & 2) { 518 } else if(location & 2) {
519 ym_address_write_part2(gen->ym, value); 519 ym_address_write_part2(gen->ym, value);
520 } else { 520 } else {
521 ym_address_write_part1(gen->ym, value); 521 ym_address_write_part1(gen->ym, value);
522 } 522 }
523 } else if (location == 0x6000) {
524 gen->z80->bank_reg = (gen->z80->bank_reg >> 1 | value << 8) & 0x1FF;
525 if (gen->z80->bank_reg < 0x80) {
526 gen->z80->mem_pointers[1] = (gen->z80->bank_reg << 15) + ((char *)gen->z80->mem_pointers[2]);
527 } else {
528 gen->z80->mem_pointers[1] = NULL;
529 }
523 } else { 530 } else {
524 printf("68K write to unhandled Z80 address %X\n", location); 531 printf("68K write to unhandled Z80 address %X\n", location);
525 exit(1); 532 exit(1);
526 } 533 }
527 } 534 }
658 case 0x4: 665 case 0x4:
659 value = gamepad_1.control; 666 value = gamepad_1.control;
660 break; 667 break;
661 case 0x5: 668 case 0x5:
662 value = gamepad_2.control; 669 value = gamepad_2.control;
670 break;
671 case 0x6://PORT C control
672 value = 0;
663 break; 673 break;
664 default: 674 default:
665 value = 0xFF; 675 value = 0xFF;
666 } 676 }
667 } else { 677 } else {