//--------------------------------------------------------------------------- UINT8 PortRead (UINT16 PortNo) { switch (PortNo & 0xff) { case 0x0: pending_command = 0; return sound_code; break; case 0x4: return YM2610_status_port_0_A_r (0); break; case 0x5: return YM2610_read_port_0_r (0); break; case 0x6: return YM2610_status_port_0_B_r (0); break; default: //printf("Unimplemented Z80 Read Port: %d\n",PortNo&0xff); break; }; return 0; }
uint8 mame_z80_readport16(uint16 PortNo) #endif { //static int bank[4]; //printf ("read _port_ %x \n",(PortNo & 0xff)); switch( PortNo & 0xff) { case 0x0: pending_command = 0; return sound_code; break; case 0x4: return YM2610_status_port_0_A_r(0); break; case 0x5: return YM2610_read_port_0_r(0); break; case 0x6: return YM2610_status_port_0_B_r(0); break; /* case 0x08: { bank[3] = 0x0800 * ((PortNo >> 8) & 0x7f); return 0; break; } case 0x09: { bank[2] = 0x1000 * ((PortNo >> 8) & 0x3f); return 0; break; } case 0x0a: { bank[1] = 0x2000 * ((PortNo >> 8) & 0x1f); return 0; break; } case 0x0b: { bank[0] = 0x4000 * ((PortNo >> 8) & 0x0f); return 0; break; } */ default: //printf("Unimplemented Z80 Read Port: %d\n",PortNo&0xff); break; }; return 0; }
/* Z80 IO port handler */ inline uint8 z80_port_read(uint16 PortNo) { // printf("z80_port_read PC=%04x p=%04x ",cpu_z80_get_pc(),PortNo); switch (PortNo & 0xff) { case 0x0: pending_command = 0; return sound_code; break; case 0x4: //printf("v=%02x\n",YM2610_status_port_0_A_r(0)); return YM2610_status_port_0_A_r(0); break; case 0x5: //printf("v=%02x\n",YM2610_read_port_0_r(0)); return YM2610_read_port_0_r(0); break; case 0x6: //printf("v=%02x\n",YM2610_status_port_0_B_r(0)); return YM2610_status_port_0_B_r(0); break; /* case 0x08: //printf("v=00 (sb3)\n"); //cpu_z80_switchbank(3, PortNo); return 0; break; case 0x09: //printf("v=00 (sb2)\n"); //cpu_z80_switchbank(2, PortNo); return 0; break; case 0x0a: //printf("v=00 (sb1)\n"); //cpu_z80_switchbank(1, PortNo); return 0; break; case 0x0b: //printf("v=00 (sb0)\n"); //cpu_z80_switchbank(0, PortNo); return 0; break; */ default: break; }; return 0; }
//--------------------------------------------------------------------------- UINT16 PortRead(UINT16 PortNo, struct z80PortRead *ptr) { //static int bank[4]; switch( PortNo & 0xff) { case 0x0: pending_command = 0; return sound_code; break; case 0x4: return YM2610_status_port_0_A_r(0); break; case 0x5: return YM2610_read_port_0_r(0); break; case 0x6: return YM2610_status_port_0_B_r(0); break; /* case 0x08: { bank[3] = 0x0800 * ((PortNo >> 8) & 0x7f); //NG AES/MVS? return 0; break; } case 0x09: { bank[2] = 0x1000 * ((PortNo >> 8) & 0x3f);//NG AES/MVS? return 0; break; } case 0x0a: { bank[1] = 0x2000 * ((PortNo >> 8) & 0x1f);//NG AES/MVS? return 0; break; } case 0x0b: { bank[0] = 0x4000 * ((PortNo >> 8) & 0x0f);//NG AES/MVS? return 0; break; } */ default: break; }; return 0; }