Home | Forums | What's new | Resources | |
New version of Phoenix emu + source code |
Denis - Nov 20, 2001 |
Denis | Nov 20, 2001 | |||
http://phemusat.tripod.com/ ISO file http://phemusat.tripod.com/satphx021.zip... source code http://phemusat.tripod.com/phemu021.zip... original source code by Jim Skilskyj http://phemusat.tripod.com/emulate.zip... documentation from "Arcde Emulation How-to" about writining Phoenix emulator Phoenix ROMs http://phemusat.tripod.com/phxroms.zip |
Denis | Nov 20, 2001 | |||
Current status. what to do: 1. Find what makes those annoying garbage on screen. (need to somehow reset/clear vram? or propertly init TV mode?) 2. Add controls. |
Denis | Nov 21, 2001 | |||
Wohoo! Thank you! Will try it right now. About controllers. Yes unsigned Z80_RDMEM(dword A) { Uint16 data; data = Smpc_Peripheral[0].data; if (A >= 0x7800 && A <=0x7bff) { if(DipSwitchSYNC == 1) { VideoDraw(); DipSwitchSYNC = 0; return 128; } else return 0; } else if (A >= 0x7000 && A <= 0x73FF) { byte hexdata = 0xff; if ((data & PER_DGT_TR) == 0)hexdata &= ~(1<<0); // Right shift = coin 1 if ((data & PER_DGT_ST) == 0)hexdata &= ~(1<<1); // START button = 1p start if ((data & PER_DGT_TC) == 0)hexdata &= ~(1<<4); // C button = fire if ((data & PER_DGT_KR) == 0)hexdata &= ~(1<<5); // D-Right = right if ((data & PER_DGT_KL) == 0)hexdata &= ~(1<<6); // D-Left = left if ((data & PER_DGT_TB) == 0)hexdata &= ~(1<<7); // B button = shield return hexdata; } else if (A < 0x8000) return RAM[A]; slPrint("WARNING! Reading from", slLocate(1,16)); return RAM[A]; } |