mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
arm_linux.S for cache ops and random fixes
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@587 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
1cfc5cc4ce
commit
16b0afd029
12 changed files with 51 additions and 36 deletions
|
@ -55,7 +55,8 @@ OBJS += pandora.o main.o emu.o asm_utils.o platform/gp2x/menu.o platform/gp2x/us
|
|||
|
||||
# common
|
||||
OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o platform/common/config.o \
|
||||
platform/common/arm_utils.o platform/common/mp3_helix.o # platform/common/readpng.o
|
||||
platform/common/arm_utils.o platform/common/mp3_helix.o platform/common/arm_linux.o
|
||||
# platform/common/readpng.o
|
||||
|
||||
# Pico
|
||||
ifeq "$(amalgamate)" "1"
|
||||
|
|
|
@ -1,14 +1,6 @@
|
|||
@ vim:filetype=armasm
|
||||
|
||||
|
||||
.global cache_flush_d_inval_i
|
||||
|
||||
cache_flush_d_inval_i:
|
||||
mov r2, #0x0 @ must be 0 ???
|
||||
swi 0x9f0002
|
||||
bx lr
|
||||
|
||||
|
||||
.global clut_line @ void *dest, void *src, unsigned short *pal, int pixels_mask
|
||||
|
||||
clut_line:
|
||||
|
|
|
@ -139,7 +139,7 @@ void emu_prepareDefaultConfig(void)
|
|||
defaultConfig.EmuOpt = 0x8f | 0x00600; // | <- confirm_save, cd_leds
|
||||
defaultConfig.s_PicoOpt = 0x0f | POPT_EXT_FM|POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC;
|
||||
defaultConfig.s_PicoOpt |= POPT_ACC_SPRITES|POPT_EN_MCD_GFX;
|
||||
defaultConfig.s_PicoOpt &= ~POPT_EN_SVP_DRC; // crashes :(
|
||||
// defaultConfig.s_PicoOpt &= ~POPT_EN_SVP_DRC; // crashes :(
|
||||
defaultConfig.EmuOpt &= ~8; // no save gzip
|
||||
defaultConfig.s_PsndRate = 44100;
|
||||
defaultConfig.s_PicoRegion = 0;
|
||||
|
@ -1001,7 +1001,8 @@ void emu_Loop(void)
|
|||
|
||||
if (currentConfig.Frameskip < 0 && tval.tv_usec - lim_time >= 300000) // slowdown detection
|
||||
reset_timing = 1;
|
||||
/* else if (PsndOut != NULL || currentConfig.Frameskip < 0)
|
||||
#if 1
|
||||
else if (PsndOut != NULL || currentConfig.Frameskip < 0)
|
||||
{
|
||||
// sleep or vsync if we are still too fast
|
||||
// usleep sleeps for ~20ms minimum, so it is not a solution here
|
||||
|
@ -1017,7 +1018,7 @@ void emu_Loop(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
#endif
|
||||
blit(fpsbuff, notice);
|
||||
|
||||
pframes_done++; pframes_shown++;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
#include "../gp2x/gp2x.h"
|
||||
#include "../gp2x/usbjoy.h"
|
||||
#include "../common/arm_utils.h"
|
||||
#include "../common/arm_linux.h"
|
||||
|
||||
static volatile unsigned int *memregs = MAP_FAILED;
|
||||
//static
|
||||
|
@ -64,13 +64,11 @@ void gp2x_video_wait_vsync(void)
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
void gp2x_video_flush_cache(void)
|
||||
{
|
||||
// flushcache(gp2x_screen, (char *)gp2x_screen + 320*240*2, 0);
|
||||
// cache_flush_d_inval_i(gp2x_screen, (char *)gp2x_screen + 320*240*2, 0);
|
||||
}
|
||||
|
||||
|
||||
void gp2x_memcpy_buffers(int buffers, void *data, int offset, int len)
|
||||
{
|
||||
}
|
||||
|
@ -89,6 +87,7 @@ void gp2x_memset_all_buffers(int offset, int byte, int len)
|
|||
|
||||
void gp2x_pd_clone_buffer2(void)
|
||||
{
|
||||
memset(gp2x_screen, 0, 800*480*2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -140,11 +139,10 @@ int gp2x_touchpad_read(int *x, int *y)
|
|||
}
|
||||
|
||||
|
||||
//static int s_oldrate = 0, s_oldbits = 0, s_oldstereo = 0;
|
||||
static int s_oldrate = 0, s_oldbits = 0, s_oldstereo = 0;
|
||||
|
||||
void gp2x_start_sound(int rate, int bits, int stereo)
|
||||
{
|
||||
#if 0
|
||||
int frag = 0, bsize, buffers;
|
||||
|
||||
// if no settings change, we don't need to do anything
|
||||
|
@ -171,13 +169,12 @@ void gp2x_start_sound(int rate, int bits, int stereo)
|
|||
rate, bits, stereo?"stereo":"mono", frag>>16, 1<<(frag&0xffff));
|
||||
|
||||
s_oldrate = rate; s_oldbits = bits; s_oldstereo = stereo;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void gp2x_sound_write(void *buff, int len)
|
||||
{
|
||||
// write(sounddev, buff, len);
|
||||
write(sounddev, buff, len);
|
||||
}
|
||||
|
||||
void gp2x_sound_sync(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue