mirror of
https://github.com/libretro/Mu.git
synced 2026-07-08 17:57:01 +00:00
Move stuff, set proper ARM CPU ID
This commit is contained in:
@@ -7,7 +7,8 @@ void do_cp15_mrc(uint32_t insn)
|
||||
uint32_t value;
|
||||
switch (insn & 0xEF00EF) {
|
||||
case 0x000000: /* MRC p15, 0, <Rd>, c0, c0, 0: ID Code Register */
|
||||
value = 0x41069264; /* ARM926EJ-S revision 4 */
|
||||
//value = 0x41069264; /* ARM926EJ-S revision 4 */
|
||||
value = 0x69052100;//Intel PXA255 "01101001000001010010000100000000"
|
||||
break;
|
||||
case 0x000010: /* MRC p15, 0, <Rd>, c0, c0, 1: Cache Type Register */
|
||||
value = 0x1D112152; /* ICache: 16KB 4-way 8 word, DCache: 8KB 4-way 8 word */
|
||||
|
||||
44
src/dbvz.c
44
src/dbvz.c
@@ -1162,6 +1162,28 @@ void dbvzReset(void){
|
||||
flx68000Reset();
|
||||
}
|
||||
|
||||
void dbvzLoadBootloader(uint8_t* data, uint32_t size){
|
||||
uint16_t index;
|
||||
|
||||
if(!data)
|
||||
size = 0;
|
||||
|
||||
size = u32Min(size, DBVZ_BOOTLOADER_SIZE);
|
||||
|
||||
//copy size bytes from buffer to bootloader area
|
||||
for(index = 0; index < size; index++)
|
||||
registerArrayWrite8(DBVZ_REG_SIZE - DBVZ_BOOTLOADER_SIZE + index, data[index]);
|
||||
|
||||
//fill remainig space with 0x00
|
||||
for(; index < DBVZ_BOOTLOADER_SIZE; index++)
|
||||
registerArrayWrite8(DBVZ_REG_SIZE - DBVZ_BOOTLOADER_SIZE + index, 0x00);
|
||||
}
|
||||
|
||||
void dbvzSetRtc(uint16_t days, uint8_t hours, uint8_t minutes, uint8_t seconds){
|
||||
registerArrayWrite32(RTCTIME, hours << 24 & 0x1F000000 | minutes << 16 & 0x003F0000 | seconds & 0x0000003F);
|
||||
registerArrayWrite16(DAYR, days & 0x01FF);
|
||||
}
|
||||
|
||||
uint32_t dbvzStateSize(void){
|
||||
uint32_t size = 0;
|
||||
|
||||
@@ -1385,28 +1407,6 @@ void dbvzLoadStateFinished(void){
|
||||
flx68000LoadStateFinished();
|
||||
}
|
||||
|
||||
void dbvzLoadBootloader(uint8_t* data, uint32_t size){
|
||||
uint16_t index;
|
||||
|
||||
if(!data)
|
||||
size = 0;
|
||||
|
||||
size = u32Min(size, DBVZ_BOOTLOADER_SIZE);
|
||||
|
||||
//copy size bytes from buffer to bootloader area
|
||||
for(index = 0; index < size; index++)
|
||||
registerArrayWrite8(DBVZ_REG_SIZE - DBVZ_BOOTLOADER_SIZE + index, data[index]);
|
||||
|
||||
//fill remainig space with 0x00
|
||||
for(; index < DBVZ_BOOTLOADER_SIZE; index++)
|
||||
registerArrayWrite8(DBVZ_REG_SIZE - DBVZ_BOOTLOADER_SIZE + index, 0x00);
|
||||
}
|
||||
|
||||
void dbvzSetRtc(uint16_t days, uint8_t hours, uint8_t minutes, uint8_t seconds){
|
||||
registerArrayWrite32(RTCTIME, hours << 24 & 0x1F000000 | minutes << 16 & 0x003F0000 | seconds & 0x0000003F);
|
||||
registerArrayWrite16(DAYR, days & 0x01FF);
|
||||
}
|
||||
|
||||
void dbvzExecute(void){
|
||||
uint32_t samples;
|
||||
|
||||
|
||||
@@ -118,14 +118,13 @@ void dbvzSetRegister32(uint32_t address, uint32_t value);
|
||||
|
||||
//config
|
||||
void dbvzReset(void);
|
||||
void dbvzLoadBootloader(uint8_t* data, uint32_t size);
|
||||
void dbvzSetRtc(uint16_t days, uint8_t hours, uint8_t minutes, uint8_t seconds);
|
||||
uint32_t dbvzStateSize(void);
|
||||
void dbvzSaveState(uint8_t* data);
|
||||
void dbvzLoadState(uint8_t* data);
|
||||
void dbvzLoadStateFinished(void);
|
||||
|
||||
void dbvzLoadBootloader(uint8_t* data, uint32_t size);
|
||||
void dbvzSetRtc(uint16_t days, uint8_t hours, uint8_t minutes, uint8_t seconds);
|
||||
|
||||
void dbvzExecute(void);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user