lowercasing filenames, part1; makefile adjustments

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@574 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2008-08-28 12:21:04 +00:00
parent 6a13ef3f56
commit efcba75f8a
82 changed files with 240 additions and 443 deletions

View file

@ -1,4 +1,4 @@
#include "../PicoInt.h" #include "../pico_int.h"
#include "../sound/sn76496.h" #include "../sound/sn76496.h"
#ifndef UTYPES_DEFINED #ifndef UTYPES_DEFINED

View file

@ -1,4 +1,4 @@
#include "../PicoInt.h" #include "../pico_int.h"
// x: 0x03c - 0x19d // x: 0x03c - 0x19d
// y: 0x1fc - 0x2f7 // y: 0x1fc - 0x2f7

View file

@ -4,7 +4,7 @@
* best sounding of the ones that I tried. * best sounding of the ones that I tried.
*/ */
#include "../PicoInt.h" #include "../pico_int.h"
#define ADPCMSHIFT 8 #define ADPCMSHIFT 8
#define ADFIX(f) (int) ((double)f * (double)(1<<ADPCMSHIFT)) #define ADFIX(f) (int) ((double)f * (double)(1<<ADPCMSHIFT))

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
// ym2612 // ym2612
#include "sound/ym2612.h" #include "sound/ym2612.h"

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
#include "../zlib/zlib.h" #include "../zlib/zlib.h"
#include "../unzip/unzip.h" #include "../unzip/unzip.h"
#include "../unzip/unzip_stream.h" #include "../unzip/unzip_stream.h"

View file

@ -9,7 +9,7 @@
* while the game runs, memcpy will suffice. * while the game runs, memcpy will suffice.
*/ */
#include "../PicoInt.h" #include "../pico_int.h"
/* 12-in-1 and 4-in-1. Assuming >= 2MB ROMs here. */ /* 12-in-1 and 4-in-1. Assuming >= 2MB ROMs here. */

View file

@ -3,7 +3,7 @@
// (c) Copyright 2008, Grazvydas "notaz" Ignotas // (c) Copyright 2008, Grazvydas "notaz" Ignotas
// Free for non-commercial use. // Free for non-commercial use.
#include "../../PicoInt.h" #include "../../pico_int.h"
#include "compiler.h" #include "compiler.h"
#define u32 unsigned int #define u32 unsigned int

View file

@ -6,8 +6,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "../../PicoInt.h" #include "../../pico_int.h"
#include "../../PicoInt.h"
#ifndef UTYPES_DEFINED #ifndef UTYPES_DEFINED
typedef unsigned char u8; typedef unsigned char u8;

View file

@ -12,8 +12,6 @@
* Useful for homebrew or if a new VR revision pops up. */ * Useful for homebrew or if a new VR revision pops up. */
//#define DO_CHECKS //#define DO_CHECKS
#include "../../PicoInt.h"
/* /*
* Register info * Register info
* *
@ -188,7 +186,7 @@
* ops not used by VR are not implemented * ops not used by VR are not implemented
*/ */
#include "../../PicoInt.h" #include "../../pico_int.h"
#define u32 unsigned int #define u32 unsigned int

View file

@ -6,7 +6,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "../../PicoInt.h" #include "../../pico_int.h"
#include "compiler.h" #include "compiler.h"
#ifdef __GP2X__ #ifdef __GP2X__
#include <sys/mman.h> #include <sys/mman.h>

View file

@ -7,7 +7,7 @@
* * * *
***********************************************************/ ***********************************************************/
#include "../PicoInt.h" #include "../pico_int.h"
#define CDC_DMA_SPEED 256 #define CDC_DMA_SPEED 256

View file

@ -2,7 +2,7 @@
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
// ym2612 // ym2612
#include "../sound/ym2612.h" #include "../sound/ym2612.h"

View file

@ -1,7 +1,7 @@
// Buffering handling // Buffering handling
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
int PicoCDBuffers = 0; int PicoCDBuffers = 0;
static unsigned char *cd_buffer = NULL; static unsigned char *cd_buffer = NULL;

View file

@ -7,7 +7,7 @@
* * * *
***********************************************************/ ***********************************************************/
#include "../PicoInt.h" #include "../pico_int.h"
#include "cd_file.h" #include "cd_file.h"
#include "cue.h" #include "cue.h"

View file

@ -9,7 +9,7 @@
#include <stdio.h> #include <stdio.h>
#include "../PicoInt.h" #include "../pico_int.h"
#include "cd_sys.h" #include "cd_sys.h"
#include "cd_file.h" #include "cd_file.h"

View file

@ -72,7 +72,7 @@ typedef struct {
PICO_INTERNAL void LBA_to_MSF(int lba, _msf *MSF); PICO_INTERNAL void LBA_to_MSF(int lba, _msf *MSF);
PICO_INTERNAL int Track_to_LBA(int track); PICO_INTERNAL int Track_to_LBA(int track);
// moved to Pico.h // moved to pico.h
// int Insert_CD(char *iso_name, int is_bin); // int Insert_CD(char *iso_name, int is_bin);
// void Stop_CD(void); // void Stop_CD(void);

View file

@ -3,7 +3,7 @@
#include <string.h> #include <string.h>
#include "cue.h" #include "cue.h"
#include "../PicoInt.h" #include "../pico_int.h"
// #define elprintf(w,f,...) printf(f "\n",##__VA_ARGS__); // #define elprintf(w,f,...) printf(f "\n",##__VA_ARGS__);
#ifdef _MSC_VER #ifdef _MSC_VER

View file

@ -5,7 +5,7 @@
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
#define _rot_comp Pico_mcd->rot_comp #define _rot_comp Pico_mcd->rot_comp

View file

@ -3,7 +3,7 @@
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
#include "../sound/ym2612.h" #include "../sound/ym2612.h"
#include "../sound/sn76496.h" #include "../sound/sn76496.h"
@ -452,7 +452,7 @@ static void OtherWrite8End(u32 a, u32 d, int realsize)
#ifndef _ASM_CD_MEMORY_C #ifndef _ASM_CD_MEMORY_C
#define _CD_MEMORY_C #define _CD_MEMORY_C
#undef _ASM_MEMORY_C #undef _ASM_MEMORY_C
#include "../MemoryCmn.c" #include "../memory_cmn.c"
#include "cell_map.c" #include "cell_map.c"
#endif #endif

View file

@ -1,7 +1,7 @@
// Some misc stuff // Some misc stuff
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
unsigned char formatted_bram[4*0x10] = unsigned char formatted_bram[4*0x10] =
{ {

View file

@ -2,7 +2,7 @@
// Based on Gens code by Stéphane Dallongeville // Based on Gens code by Stéphane Dallongeville
// (c) Copyright 2007, Grazvydas "notaz" Ignotas // (c) Copyright 2007, Grazvydas "notaz" Ignotas
#include "../PicoInt.h" #include "../pico_int.h"
#include "pcm.h" #include "pcm.h"
static unsigned int g_rate = 0; // 18.14 fixed point static unsigned int g_rate = 0; // 18.14 fixed point

View file

@ -1,7 +1,7 @@
// (c) Copyright 2007 notaz, All rights reserved. // (c) Copyright 2007 notaz, All rights reserved.
#include "../PicoInt.h" #include "../pico_int.h"
#include "../sound/ym2612.h" #include "../sound/ym2612.h"
extern unsigned char formatted_bram[4*0x10]; extern unsigned char formatted_bram[4*0x10];
@ -235,7 +235,7 @@ static __inline void getSamples(int y)
#define PICO_CD #define PICO_CD
#include "../PicoFrameHints.c" #include "../pico_cmn.c"
PICO_INTERNAL void PicoFrameMCD(void) PICO_INTERNAL void PicoFrameMCD(void)

View file

@ -1,7 +1,7 @@
// (c) Copyright 2007 notaz, All rights reserved. // (c) Copyright 2007 notaz, All rights reserved.
#include "../PicoInt.h" #include "../pico_int.h"
int SekCycleCntS68k=0; // cycles done in this frame int SekCycleCntS68k=0; // cycles done in this frame

View file

@ -1,8 +1,8 @@
// some debug code, just for fun of it // some debug code, just for fun of it
// (c) Copyright 2008 notaz, All rights reserved. // (c) Copyright 2008 notaz, All rights reserved.
#include "PicoInt.h" #include "pico_int.h"
#include "Debug.h" #include "debug.h"
#define bit(r, x) ((r>>x)&1) #define bit(r, x) ((r>>x)&1)
#define MVP dstrp+=strlen(dstrp) #define MVP dstrp+=strlen(dstrp)

View file

@ -1,4 +1,4 @@
#include "PicoInt.h" #include "pico_int.h"
typedef unsigned char u8; typedef unsigned char u8;

View file

@ -18,7 +18,7 @@
* AS is enabled by user and takes priority over "sonic mode". * AS is enabled by user and takes priority over "sonic mode".
*/ */
#include "PicoInt.h" #include "pico_int.h"
int (*PicoScanBegin)(unsigned int num) = NULL; int (*PicoScanBegin)(unsigned int num) = NULL;
int (*PicoScanEnd) (unsigned int num) = NULL; int (*PicoScanEnd) (unsigned int num) = NULL;

View file

@ -9,7 +9,7 @@
// this is a frame-based renderer, alternative to Dave's line based which is in Draw.c // this is a frame-based renderer, alternative to Dave's line based which is in Draw.c
#include "PicoInt.h" #include "pico_int.h"
// port_config.h include must define these 2 defines: // port_config.h include must define these 2 defines:
// #define START_ROW 1 // which row of tiles to start rendering at? // #define START_ROW 1 // which row of tiles to start rendering at?

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
#include "sound/ym2612.h" #include "sound/ym2612.h"
#include "sound/sn76496.h" #include "sound/sn76496.h"
@ -317,7 +317,7 @@ static void OtherWrite8End(u32 a,u32 d,int realsize)
Pico.m.prot_bytes[(a>>2)&1] = (u8)d; Pico.m.prot_bytes[(a>>2)&1] = (u8)d;
} }
#include "MemoryCmn.c" #include "memory_cmn.c"
// ----------------------------------------------------------------- // -----------------------------------------------------------------

View file

@ -6,7 +6,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
// H-counter table for hvcounter reads in 40col mode // H-counter table for hvcounter reads in 40col mode
// based on Gens code // based on Gens code

View file

@ -25,8 +25,8 @@
//#include <string.h> //#include <string.h>
#include <ctype.h> #include <ctype.h>
#include "PicoInt.h" #include "pico_int.h"
#include "Patch.h" #include "patch.h"
struct patch struct patch
{ {

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
#include "sound/ym2612.h" #include "sound/ym2612.h"
int PicoVer=0x0133; int PicoVer=0x0133;
@ -287,9 +287,7 @@ static __inline void getSamples(int y)
#endif #endif
} }
#include "pico_cmn.c"
#include "PicoFrameHints.c"
int z80stopCycle; int z80stopCycle;
int z80_cycle_cnt; /* 'done' z80 cycles before z80_run() */ int z80_cycle_cnt; /* 'done' z80 cycles before z80_run() */
@ -316,21 +314,6 @@ void PicoFrame(void)
{ {
Pico.m.frame_count++; Pico.m.frame_count++;
#if 0
if ((Pico.m.frame_count & 0x3f) == 0)
{
extern int idlehit_addrs[], idlehit_counts[];
int i;
printf("--\n");
for (i = 0; i < 128 && idlehit_addrs[i] != 0; i++) {
if (idlehit_counts[i] != 0) {
printf("%06x %i %i\n", idlehit_addrs[i], idlehit_counts[i], idlehit_counts[i] >> 6);
idlehit_counts[i] = 0;
}
}
}
#endif
if (PicoAHW & PAHW_MCD) { if (PicoAHW & PAHW_MCD) {
PicoFrameMCD(); PicoFrameMCD();
return; return;

View file

@ -12,7 +12,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "Pico.h" #include "pico.h"
#include "carthw/carthw.h" #include "carthw/carthw.h"
// //

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
int SekCycleCnt=0; // cycles done in this frame int SekCycleCnt=0; // cycles done in this frame

View file

@ -10,8 +10,7 @@
#include <string.h> #include <string.h>
#include "ym2612.h" #include "ym2612.h"
#include "sn76496.h" #include "sn76496.h"
#include "../pico_int.h"
#include "../PicoInt.h"
#include "../cd/pcm.h" #include "../cd/pcm.h"
#include "mix.h" #include "mix.h"

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
int PicuAnd=0xf7de; int PicuAnd=0xf7de;

View file

@ -7,7 +7,7 @@
// For commercial use, separate licencing terms must be obtained. // For commercial use, separate licencing terms must be obtained.
#include "PicoInt.h" #include "pico_int.h"
#include "cd/gfx_cd.h" #include "cd/gfx_cd.h"
extern const unsigned char hcounts_32[]; extern const unsigned char hcounts_32[];

View file

@ -15,7 +15,7 @@
#if PICODRIVE_HACKS #if PICODRIVE_HACKS
#undef EMU_M68K #undef EMU_M68K
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#endif #endif
#ifndef ALIGN_DATA #ifndef ALIGN_DATA

View file

@ -1,3 +1,31 @@
# asm stuff
ifeq "$(asm_render)" "1"
DEFINC += -D_ASM_DRAW_C
OBJS += pico/draw_arm.o pico/draw2_arm.o
endif
ifeq "$(asm_memory)" "1"
DEFINC += -D_ASM_MEMORY_C
OBJS += pico/memory_arm.o
endif
ifeq "$(asm_ym2612)" "1"
DEFINC += -D_ASM_YM2612_C
OBJS += pico/sound/ym2612_arm.o
endif
ifeq "$(asm_misc)" "1"
DEFINC += -D_ASM_MISC_C
OBJS += pico/misc_arm.o
OBJS += pico/cd/misc_arm.o
endif
ifeq "$(asm_cdpico)" "1"
DEFINC += -D_ASM_CD_PICO_C
OBJS += pico/cd/pico_arm.o
endif
ifeq "$(asm_cdmemory)" "1"
DEFINC += -D_ASM_CD_MEMORY_C
OBJS += pico/cd/memory_arm.o
endif
.c.o: .c.o:
@echo ">>>" $< @echo ">>>" $<
$(CC) $(CFLAGS) $(DEFINC) -c $< -o $@ $(CC) $(CFLAGS) $(DEFINC) -c $< -o $@
@ -18,47 +46,18 @@ mkdirs:
mkdir -p $(DIRS) mkdir -p $(DIRS)
# deps # deps
Pico/carthw/svp/compiler.o : ../../Pico/carthw/svp/ssp16.o ../../Pico/carthw/svp/gen_arm.c pico/carthw/svp/compiler.o : ../../pico/carthw/svp/ssp16.o ../../pico/carthw/svp/gen_arm.c
Pico/Pico.o Pico/cd/Pico.o : ../../Pico/PicoFrameHints.c ../../Pico/PicoInt.h pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
Pico/Memory.o Pico/cd/Memory.o : ../../Pico/MemoryCmn.c ../../Pico/PicoInt.h pico/memory.o pico/cd/memory.o : ../../pico/memory_cmn.c ../../pico/pico_int.h
# individual rules
Pico/draw_asm.o : ../../Pico/Draw.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/draw2_asm.o : ../../Pico/Draw2.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/memory_asm.o : ../../Pico/Memory.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/sound/ym2612_asm.o : ../../Pico/sound/ym2612.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/sound/mix_asm.o : ../../Pico/sound/mix.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/misc_asm.o : ../../Pico/Misc.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/cd/pico_asm.o : ../../Pico/cd/Pico.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/cd/memory_asm.o : ../../Pico/cd/Memory.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
Pico/cd/misc_asm.o : ../../Pico/cd/Misc.s
@echo ">>>" $@
$(AS) $(ASFLAGS) $< -o $@
#Pico/carthw/svp/stub_arm.o : ../../Pico/carthw/svp/stub_arm.S
# @echo ">>>" $@
# $(GCC) $(CFLAGS) $(DEFINC) -c $< -o $@
# build Cyclone # build Cyclone
cpu/Cyclone/proj/Cyclone.s: cpu/Cyclone/proj/Cyclone.s:
@echo building Cyclone... @echo building Cyclone...
@make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h @make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h
../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi
# build helix libs # build helix libs
../common/helix/$(CROSS)helix-mp3.a: ../common/helix/$(CROSS)helix-mp3.a:
make -C ../common/helix clean all make -C ../common/helix clean all

View file

@ -18,7 +18,7 @@ static char *mystrip(char *str);
#include "menu.h" #include "menu.h"
#include "emu.h" #include "emu.h"
#include <Pico/Pico.h> #include <pico/pico.h>
extern menu_entry opt_entries[]; extern menu_entry opt_entries[];
extern menu_entry opt2_entries[]; extern menu_entry opt2_entries[];

View file

@ -17,9 +17,9 @@
#include "config.h" #include "config.h"
#include "common.h" #include "common.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <Pico/cd/cue.h> #include <pico/cd/cue.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>

View file

@ -338,8 +338,8 @@ int me_process(menu_entry *entries, int count, menu_id id, int is_next)
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <Pico/Pico.h> #include <pico/pico.h>
#include <Pico/Debug.h> #include <pico/debug.h>
void SekStepM68k(void); void SekStepM68k(void);

View file

@ -6,8 +6,8 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "../../Pico/PicoInt.h" #include "../../pico/pico_int.h"
#include "../../Pico/sound/mix.h" #include "../../pico/sound/mix.h"
#include "helix/pub/mp3dec.h" #include "helix/pub/mp3dec.h"
#include "lprintf.h" #include "lprintf.h"

View file

@ -44,54 +44,27 @@ OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o pla
# Pico # Pico
ifeq "$(amalgamate)" "1" ifeq "$(amalgamate)" "1"
OBJS += PicoAll.o OBJS += picoAll.o
else else
OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o \
Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o pico/videoport.o pico/draw2.o pico/draw.o pico/patch.o pico/debug.o
# Pico - CD # Pico - CD
OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/gfx_cd.o Pico/cd/cue.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/gfx_cd.o pico/cd/cue.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
endif endif
# Pico - Pico # Pico - Pico
OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
# Pico - carthw # Pico - carthw
OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o pico/carthw/svp/ssp16.o pico/carthw/svp/compiler.o pico/carthw/svp/stub_arm.o
# asm stuff
ifeq "$(asm_render)" "1"
DEFINC += -D_ASM_DRAW_C
OBJS += Pico/draw_asm.o Pico/draw2_asm.o
endif
ifeq "$(asm_memory)" "1"
DEFINC += -D_ASM_MEMORY_C
OBJS += Pico/memory_asm.o
endif
ifeq "$(asm_ym2612)" "1"
DEFINC += -D_ASM_YM2612_C
OBJS += Pico/sound/ym2612_asm.o
endif
ifeq "$(asm_misc)" "1"
DEFINC += -D_ASM_MISC_C
OBJS += Pico/misc_asm.o
OBJS += Pico/cd/misc_asm.o
endif
ifeq "$(asm_cdpico)" "1"
DEFINC += -D_ASM_CD_PICO_C
OBJS += Pico/cd/pico_asm.o
endif
ifeq "$(asm_cdmemory)" "1"
DEFINC += -D_ASM_CD_MEMORY_C
OBJS += Pico/cd/memory_asm.o
endif
# Pico - sound # Pico - sound
ifneq "$(amalgamate)" "1" ifneq "$(amalgamate)" "1"
OBJS += Pico/sound/sound.o OBJS += pico/sound/sound.o
endif endif
OBJS += Pico/sound/mix_asm.o OBJS += pico/sound/mix_asm.o
OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
# zlib # zlib
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
@ -108,7 +81,7 @@ OBJS += cpu/DrZ80/drz80.o
vpath %.c = ../.. vpath %.c = ../..
vpath %.s = ../.. vpath %.s = ../..
vpath %.S = ../.. vpath %.S = ../..
DIRS = platform platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80 zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80

View file

@ -16,7 +16,7 @@
#include "giz.h" #include "giz.h"
#include "asm_utils.h" #include "asm_utils.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#ifdef BENCHMARK #ifdef BENCHMARK
#define OSD_FPS_X 220 #define OSD_FPS_X 220

View file

@ -26,8 +26,8 @@
#include "../common/readpng.h" #include "../common/readpng.h"
#include "version.h" #include "version.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>

View file

@ -18,9 +18,9 @@
#include "../common/arm_utils.h" #include "../common/arm_utils.h"
#include "../common/menu.h" #include "../common/menu.h"
#include "../common/emu.h" #include "../common/emu.h"
#include "../../Pico/PicoInt.h" #include "../../pico/pico_int.h"
#include "../../Pico/sound/ym2612.h" #include "../../pico/sound/ym2612.h"
#include "../../Pico/sound/mix.h" #include "../../pico/sound/mix.h"
/* we will need some gp2x internals here */ /* we will need some gp2x internals here */
extern volatile unsigned short *gp2x_memregs; /* from minimal library rlyeh */ extern volatile unsigned short *gp2x_memregs; /* from minimal library rlyeh */

View file

@ -64,54 +64,27 @@ OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o pla
# Pico # Pico
ifeq "$(amalgamate)" "1" ifeq "$(amalgamate)" "1"
OBJS += ../../PicoAll.o OBJS += ../../picoAll.o
else else
OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o \
Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o pico/videoport.o pico/draw2.o pico/draw.o pico/patch.o pico/debug.o
# Pico - CD # Pico - CD
OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
endif endif
# Pico - Pico # Pico - Pico
OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
# Pico - carthw # Pico - carthw
OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o pico/carthw/svp/ssp16.o pico/carthw/svp/compiler.o pico/carthw/svp/stub_arm.o
# asm stuff
ifeq "$(asm_render)" "1"
DEFINC += -D_ASM_DRAW_C
OBJS += Pico/draw_asm.o Pico/draw2_asm.o
endif
ifeq "$(asm_memory)" "1"
DEFINC += -D_ASM_MEMORY_C
OBJS += Pico/memory_asm.o
endif
ifeq "$(asm_ym2612)" "1"
DEFINC += -D_ASM_YM2612_C
OBJS += Pico/sound/ym2612_asm.o
endif
ifeq "$(asm_misc)" "1"
DEFINC += -D_ASM_MISC_C
OBJS += Pico/misc_asm.o
OBJS += Pico/cd/misc_asm.o
endif
ifeq "$(asm_cdpico)" "1"
DEFINC += -D_ASM_CD_PICO_C
OBJS += Pico/cd/pico_asm.o
endif
ifeq "$(asm_cdmemory)" "1"
DEFINC += -D_ASM_CD_MEMORY_C
OBJS += Pico/cd/memory_asm.o
endif
# Pico - sound # Pico - sound
ifneq "$(amalgamate)" "1" ifneq "$(amalgamate)" "1"
OBJS += Pico/sound/sound.o OBJS += pico/sound/sound.o
endif endif
OBJS += Pico/sound/mix_asm.o OBJS += pico/sound/mix_arm.o
OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
# zlib # zlib
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
@ -119,7 +92,7 @@ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
OBJS += unzip/unzip.o unzip/unzip_stream.o OBJS += unzip/unzip.o unzip/unzip_stream.o
# debug # debug
ifeq "$(debug_cyclone)" "1" ifeq "$(debug_cyclone)" "1"
OBJS += Pico/DebugCPU.o cpu/musashi/m68kdasm.o OBJS += pico/DebugCPU.o cpu/musashi/m68kdasm.o
endif endif
# CPU cores # CPU cores
ifeq "$(use_musashi)" "1" ifeq "$(use_musashi)" "1"
@ -142,12 +115,14 @@ endif
vpath %.c = ../.. vpath %.c = ../..
vpath %.s = ../.. vpath %.s = ../..
vpath %.S = ../.. vpath %.S = ../..
DIRS = platform platform/gp2x platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/gp2x platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80 zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80
all: mkdirs PicoDrive.gpe all: mkdirs PicoDrive.gpe
include ../common/common_arm.mak
PicoDrive.gpe : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a PicoDrive.gpe : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a
@echo ">>>" $@ @echo ">>>" $@
$(CC) -o $@ $(CFLAGS) $^ -lm -lpng -Wl,-Map=PicoDrive.map $(CC) -o $@ $(CFLAGS) $^ -lm -lpng -Wl,-Map=PicoDrive.map
@ -158,22 +133,14 @@ endif
up: PicoDrive.gpe up: PicoDrive.gpe
@cp -v PicoDrive.gpe /mnt/gp2x/mnt/sd/emus/PicoDrive/ @cp -v PicoDrive.gpe /mnt/gp2x/mnt/sd/emus/PicoDrive/
# @cmd //C copy PicoDrive.gpe \\\\10.0.1.2\\gp2x\\mnt\\sd\\games\\PicoDrive\\
# cleanup
clean: tidy clean: tidy
$(RM) PicoDrive.gpe $(RM) PicoDrive.gpe
tidy: tidy:
$(RM) $(OBJS) $(RM) $(OBJS)
# rm -rf $(DIRS) # don't clean, gcda may be there
# @make -C ../../cpu/Cyclone/proj -f Makefile.linux clean
readme.txt: ../../tools/textfilter ../base_readme.txt readme.txt: ../../tools/textfilter ../base_readme.txt
../../tools/textfilter ../base_readme.txt $@ GP2X ../../tools/textfilter ../base_readme.txt $@ GP2X
include ../common/common_arm.mak
# ----------- release ----------- # ----------- release -----------
ifneq ($(findstring rel,$(MAKECMDGOALS)),) ifneq ($(findstring rel,$(MAKECMDGOALS)),)
ifeq ($(VER),) ifeq ($(VER),)

View file

@ -24,9 +24,9 @@
#include "../common/config.h" #include "../common/config.h"
#include "cpuctrl.h" #include "cpuctrl.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <Pico/sound/mix.h> #include <pico/sound/mix.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>
//#define PFRAMES //#define PFRAMES

View file

@ -20,8 +20,8 @@
#include "../common/readpng.h" #include "../common/readpng.h"
#include "version.h" #include "version.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>
#ifndef _DIRENT_HAVE_D_TYPE #ifndef _DIRENT_HAVE_D_TYPE

View file

@ -8,13 +8,13 @@
#include <fcntl.h> #include <fcntl.h>
#include <errno.h> #include <errno.h>
#include "../../Pico/sound/ym2612.h" #include "../../pico/sound/ym2612.h"
#include "../gp2x/gp2x.h" #include "../gp2x/gp2x.h"
#include "../gp2x/emu.h" #include "../gp2x/emu.h"
#include "../gp2x/menu.h" #include "../gp2x/menu.h"
#include "../gp2x/code940/940shared.h" #include "../gp2x/code940/940shared.h"
#include "../common/helix/pub/mp3dec.h" #include "../common/helix/pub/mp3dec.h"
#include "../../Pico/PicoInt.h" #include "../../pico/pico_int.h"
// static _940_data_t shared_data_; // static _940_data_t shared_data_;

View file

@ -35,19 +35,19 @@ OBJS += platform/common/emu.o platform/common/menu.o platform/common/config.o pl
platform/common/readpng.o platform/common/mp3_helix.o platform/common/readpng.o platform/common/mp3_helix.o
# Pico # Pico
OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o \
Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o pico/videoport.o pico/draw2.o pico/draw.o pico/patch.o pico/debug.o
# Pico - CD # Pico - CD
OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
# Pico - Pico # Pico - Pico
OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
# Pico - sound # Pico - sound
OBJS += Pico/sound/sound.o Pico/sound/sn76496.o Pico/sound/ym2612.o Pico/sound/mix.o OBJS += pico/sound/sound.o pico/sound/sn76496.o pico/sound/ym2612.o pico/sound/mix.o
# Pico - carthw # Pico - carthw
OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o pico/carthw/svp/ssp16.o pico/carthw/svp/compiler.o
# zlib # zlib
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o
@ -73,13 +73,14 @@ endif
# misc # misc
ifeq "$(use_fame)" "1" ifeq "$(use_fame)" "1"
ifeq "$(use_musashi)" "1" ifeq "$(use_musashi)" "1"
OBJS += Pico/DebugCPU.o OBJS += pico/debugCPU.o
OBJS += cpu/musashi/m68kdasm.o OBJS += cpu/musashi/m68kdasm.o
endif endif
endif endif
OBJS += cpu/musashi/m68kdasm.o
vpath %.c = ../.. vpath %.c = ../..
DIRS = platform platform/gp2x platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/gp2x platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80 zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80
all: mkdirs PicoDrive all: mkdirs PicoDrive
@ -98,9 +99,9 @@ PicoDrive : $(OBJS) ../common/helix/helix_mp3_x86.a
mkdirs: mkdirs:
mkdir -p $(DIRS) mkdir -p $(DIRS)
Pico/carthw/svp/compiler.o : ../../Pico/carthw/svp/gen_arm.c pico/carthw/svp/compiler.o : ../../pico/carthw/svp/gen_arm.c
Pico/Pico.o Pico/cd/Pico.o : ../../Pico/PicoFrameHints.c ../../Pico/PicoInt.h pico/pico.o pico/cd/pico.o : ../../pico/pico_cmn.c ../../pico/pico_int.h
Pico/Memory.o Pico/cd/Memory.o : ../../Pico/MemoryCmn.c ../../Pico/PicoInt.h pico/memory.o pico/cd/memory.o : ../../pico/memory_cmn.c ../../pico/pico_int.h
../../cpu/musashi/m68kops.c : ../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi @make -C ../../cpu/musashi
@ -123,7 +124,7 @@ cpu/mz80/mz80.o : ../../cpu/mz80/mz80.asm
$(GCC) $(COPT) $(DEFINC) -c $< -o $@ $(GCC) $(COPT) $(DEFINC) -c $< -o $@
Pico/sound/ym2612.o : ../../Pico/sound/ym2612.c pico/sound/ym2612.o : ../../pico/sound/ym2612.c
@echo ">>>" $@ @echo ">>>" $@
$(GCC) $(COPT_COMMON) $(DEFINC) -c $< -o $@ $(GCC) $(COPT_COMMON) $(DEFINC) -c $< -o $@

View file

@ -41,9 +41,10 @@ endif
ifeq "$(profile)" "2" ifeq "$(profile)" "2"
COPT_COMMON += -fprofile-use COPT_COMMON += -fprofile-use
endif endif
COPT = $(COPT_COMMON) CFLAGS = $(COPT_COMMON)
ASOPT = SFLAGS = $(CFLAGS)
GCC = $(CROSS)gcc ASFLAGS = -mcpu=cortex-a8
CC = $(CROSS)gcc
STRIP = $(CROSS)strip STRIP = $(CROSS)strip
AS = $(CROSS)as AS = $(CROSS)as
LD = $(CROSS)ld LD = $(CROSS)ld
@ -58,54 +59,27 @@ OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o pla
# Pico # Pico
ifeq "$(amalgamate)" "1" ifeq "$(amalgamate)" "1"
OBJS += ../../PicoAll.o OBJS += ../../picoAll.o
else else
OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o \
Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o pico/videoport.o pico/draw2.o pico/draw.o pico/patch.o pico/debug.o
# Pico - CD # Pico - CD
OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
endif endif
# Pico - Pico # Pico - Pico
OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
# Pico - carthw # Pico - carthw
OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o pico/carthw/svp/ssp16.o pico/carthw/svp/compiler.o pico/carthw/svp/stub_arm.o
# asm stuff
ifeq "$(asm_render)" "1"
DEFINC += -D_ASM_DRAW_C
OBJS += Pico/draw_asm.o Pico/draw2_asm.o
endif
ifeq "$(asm_memory)" "1"
DEFINC += -D_ASM_MEMORY_C
OBJS += Pico/memory_asm.o
endif
ifeq "$(asm_ym2612)" "1"
DEFINC += -D_ASM_YM2612_C
OBJS += Pico/sound/ym2612_asm.o
endif
ifeq "$(asm_misc)" "1"
DEFINC += -D_ASM_MISC_C
OBJS += Pico/misc_asm.o
OBJS += Pico/cd/misc_asm.o
endif
ifeq "$(asm_cdpico)" "1"
DEFINC += -D_ASM_CD_PICO_C
OBJS += Pico/cd/pico_asm.o
endif
ifeq "$(asm_cdmemory)" "1"
DEFINC += -D_ASM_CD_MEMORY_C
OBJS += Pico/cd/memory_asm.o
endif
# Pico - sound # Pico - sound
ifneq "$(amalgamate)" "1" ifneq "$(amalgamate)" "1"
OBJS += Pico/sound/sound.o OBJS += pico/sound/sound.o
endif endif
OBJS += Pico/sound/mix_asm.o OBJS += pico/sound/mix_arm.o
OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
# zlib # zlib
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
@ -113,7 +87,7 @@ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
OBJS += unzip/unzip.o unzip/unzip_stream.o OBJS += unzip/unzip.o unzip/unzip_stream.o
# debug # debug
ifeq "$(debug_cyclone)" "1" ifeq "$(debug_cyclone)" "1"
OBJS += Pico/DebugCPU.o cpu/musashi/m68kdasm.o OBJS += pico/DebugCPU.o cpu/musashi/m68kdasm.o
endif endif
# CPU cores # CPU cores
ifeq "$(use_musashi)" "1" ifeq "$(use_musashi)" "1"
@ -145,99 +119,29 @@ endif
vpath %.c = ../.. vpath %.c = ../..
vpath %.s = ../.. vpath %.s = ../..
vpath %.S = ../.. vpath %.S = ../..
DIRS = platform platform/gp2x platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/gp2x platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80 zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80
all: mkdirs PicoDrive all: mkdirs PicoDrive
include ../common/common_arm.mak
PicoDrive : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a PicoDrive : $(OBJS) ../common/helix/$(CROSS)helix-mp3.a
@echo ">>>" $@ @echo ">>>" $@
$(GCC) -o $@ $(COPT) $^ -lm -Wl,-Map=PicoDrive.map # -lpng $(CC) -o $@ $(CFLAGS) $^ -lm -Wl,-Map=PicoDrive.map # -lpng
ifeq ($(DEBUG),) ifeq ($(DEBUG),)
$(STRIP) $@ $(STRIP) $@
endif endif
# cleanup
clean: tidy clean: tidy
$(RM) PicoDrive $(RM) PicoDrive
tidy: tidy:
$(RM) $(OBJS) $(RM) $(OBJS)
# rm -rf $(DIRS) # don't clean, gcda may be there
# @make -C ../../cpu/Cyclone/proj -f Makefile.linux clean
clean_prof:
find ../.. -name '*.gcno' -delete
find ../.. -name '*.gcda' -delete
mkdirs:
mkdir -p $(DIRS)
.c.o:
@echo ">>>" $<
$(GCC) $(COPT) $(DEFINC) -c $< -o $@
.s.o:
@echo ">>>" $<
$(GCC) $(COPT) $(DEFINC) -c $< -o $@
.S.o:
@echo ">>>" $<
$(GCC) $(COPT) $(DEFINC) -c $< -o $@
Pico/carthw/svp/compiler.o : ../../Pico/carthw/svp/ssp16.o ../../Pico/carthw/svp/gen_arm.c
Pico/draw_asm.o : ../../Pico/Draw.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/draw2_asm.o : ../../Pico/Draw2.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/memory_asm.o : ../../Pico/Memory.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/sound/ym2612_asm.o : ../../Pico/sound/ym2612.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/sound/mix_asm.o : ../../Pico/sound/mix.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/misc_asm.o : ../../Pico/Misc.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/cd/pico_asm.o : ../../Pico/cd/Pico.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/cd/memory_asm.o : ../../Pico/cd/Memory.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
Pico/cd/misc_asm.o : ../../Pico/cd/Misc.s
@echo ">>>" $<
$(AS) $(ASOPT) $< -o $@
# build Cyclone
../../cpu/Cyclone/proj/Cyclone.s :
@echo building Cyclone...
@make -C ../../cpu/Cyclone/proj CONFIG_FILE=config_pico.h
../../cpu/musashi/m68kops.c :
@make -C ../../cpu/musashi
Pico/Pico.o Pico/cd/Pico.o: ../../Pico/PicoFrameHints.c ../../Pico/PicoInt.h
Pico/Memory.o Pico/cd/Memory.o : ../../Pico/MemoryCmn.c ../../Pico/PicoInt.h
# build helix libs
../common/helix/$(CROSS)helix-mp3.a:
make -C ../common/helix clean all
readme.txt: ../../tools/textfilter ../base_readme.txt readme.txt: ../../tools/textfilter ../base_readme.txt
../../tools/textfilter ../base_readme.txt $@ GP2X ../../tools/textfilter ../base_readme.txt $@ GP2X
../../tools/textfilter: ../../tools/textfilter.c
make -C ../../tools/ textfilter
# ----------- release ----------- # ----------- release -----------
ifneq ($(findstring rel,$(MAKECMDGOALS)),) ifneq ($(findstring rel,$(MAKECMDGOALS)),)
$(error TODO) $(error TODO)

View file

@ -24,9 +24,9 @@
#include "../common/common.h" #include "../common/common.h"
#include "asm_utils.h" #include "asm_utils.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <Pico/sound/mix.h> #include <pico/sound/mix.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>
//#define PFRAMES //#define PFRAMES
@ -294,8 +294,8 @@ static int EmuScanEnd16(unsigned int num)
len = 256; len = 256;
} }
if (!sh && (rendstatus & PDRAW_ACC_SPRITES)) if (!sh && (rendstatus & PDRAW_SPR_LO_ON_HI))
mask=0x3f; // accurate sprites, upper bits are priority stuff mask=0x3f; // messed sprites, upper bits are priority stuff
#if 1 #if 1
clut_line(pd, ps, pal, (mask<<16) | len); clut_line(pd, ps, pal, (mask<<16) | len);
@ -775,6 +775,11 @@ void emu_forcedFrame(int opts)
currentConfig.EmuOpt = eo_old; currentConfig.EmuOpt = eo_old;
} }
void emu_platformDebugCat(char *str)
{
// nothing
}
static void simpleWait(int thissec, int lim_time) static void simpleWait(int thissec, int lim_time)
{ {
struct timeval tval; struct timeval tval;

View file

@ -10,7 +10,7 @@ for_15fw = 1
# :!touch platform/psp/psp.c # :!touch platform/psp/psp.c
CFLAGS += -I../.. -I. -DNO_SYNC CFLAGS += -I../.. -I. -DNO_SYNC -D_ASM_DRAW_C_AMIPS
CFLAGS += -Wall -Winline -G0 CFLAGS += -Wall -Winline -G0
#CFLAGS += -DLPRINTF_STDIO #CFLAGS += -DLPRINTF_STDIO
#CFLAGS += -pg #CFLAGS += -pg
@ -32,28 +32,28 @@ OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o pla
# Pico # Pico
ifeq "$(amalgamate)" "1" ifeq "$(amalgamate)" "1"
OBJS += ../../PicoAll.o OBJS += ../../picoAll.o
else else
OBJS += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o Pico/VideoPort.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o pico/videoport.o \
Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Draw_amips.o Pico/Memory_amips.o \ pico/draw2.o pico/draw.o pico/patch.o pico/draw_amips.o pico/memory_amips.o \
Pico/Misc_amips.o Pico/Debug.o pico/misc_amips.o pico/debug.o
# Pico - CD # Pico - CD
OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
# Pico - carthw # Pico - carthw
OBJS += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o pico/carthw/svp/ssp16.o
# Pico - Pico # Pico - Pico
OBJS += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
endif endif
# Pico - sound # Pico - sound
ifneq "$(amalgamate)" "1" ifneq "$(amalgamate)" "1"
OBJS += Pico/sound/sound.o OBJS += pico/sound/sound.o
endif endif
OBJS += Pico/sound/mix.o OBJS += pico/sound/mix.o
OBJS += Pico/sound/sn76496.o Pico/sound/ym2612.o OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
# zlib (hacked) # zlib (hacked)
OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o \ zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o \
@ -81,7 +81,7 @@ OBJS += data/bg32.o data/bg40.o
vpath %.c = ../.. vpath %.c = ../..
vpath %.s = ../.. vpath %.s = ../..
DIRS = platform platform/psp platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/psp platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80 zlib unzip cpu cpu/musashi cpu/fame cpu/mz80 cpu/cz80
@ -125,23 +125,19 @@ cpu/fame/famec.o : ../../cpu/fame/famec.c
@echo ">>>" $< @echo ">>>" $<
$(CC) $(CFLAGS) -Wno-unused -c $< -o $@ $(CC) $(CFLAGS) -Wno-unused -c $< -o $@
Pico/Memory.o : ../../Pico/Memory.c pico/misc.o : ../../pico/misc.c
@echo ">>>" $<
$(CC) $(CFLAGS) -O2 -c $< -o $@ -D_ASM_MEMORY_C -D_ASM_MEMORY_C_AMIPS
Pico/cd/Memory.o : ../../Pico/cd/Memory.c
@echo ">>>" $<
$(CC) $(CFLAGS) -O2 -c $< -o $@
Pico/Draw.o : ../../Pico/Draw.c
@echo ">>>" $<
$(CC) $(CFLAGS) -c $< -o $@ -D_ASM_DRAW_C_AMIPS
Pico/Misc.o : ../../Pico/Misc.c
@echo ">>>" $< @echo ">>>" $<
$(CC) $(CFLAGS) -c $< -o $@ -D_ASM_MISC_C_AMIPS $(CC) $(CFLAGS) -c $< -o $@ -D_ASM_MISC_C_AMIPS
Pico/cd/gfx_cd.o : ../../Pico/cd/gfx_cd.c pico/memory.o : ../../pico/memory.c
@echo ">>>" $<
$(CC) $(CFLAGS) -O2 -c $< -o $@ -D_ASM_MEMORY_C -D_ASM_MEMORY_C_AMIPS
pico/cd/memory.o : ../../pico/cd/memory.c
@echo ">>>" $<
$(CC) $(CFLAGS) -O2 -c $< -o $@
pico/cd/gfx_cd.o : ../../pico/cd/gfx_cd.c
@echo ">>>" $< @echo ">>>" $<
$(CC) $(CFLAGS) -O2 -c $< -o $@ $(CC) $(CFLAGS) -O2 -c $< -o $@

View file

@ -21,8 +21,8 @@
#include "../common/emu.h" #include "../common/emu.h"
#include "../common/config.h" #include "../common/config.h"
#include "../common/lprintf.h" #include "../common/lprintf.h"
#include "../../Pico/PicoInt.h" #include <pico/pico_int.h>
#include "../../Pico/cd/cue.h" #include <pico/cd/cue.h>
#define OSD_FPS_X 432 #define OSD_FPS_X 432

View file

@ -27,8 +27,8 @@
#include "../common/lprintf.h" #include "../common/lprintf.h"
#include "version.h" #include "version.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include <Pico/Patch.h> #include <pico/patch.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>

View file

@ -11,8 +11,8 @@
#include <pspaudiocodec.h> #include <pspaudiocodec.h>
#include <kubridge.h> #include <kubridge.h>
#include "../../Pico/PicoInt.h" #include "../../pico/pico_int.h"
#include "../../Pico/sound/mix.h" #include "../../pico/sound/mix.h"
#include "../common/lprintf.h" #include "../common/lprintf.h"
int mp3_last_error = 0; int mp3_last_error = 0;

View file

@ -23,7 +23,7 @@
#include <string.h> #include <string.h>
#include "version.h" #include "version.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include "../common/emu.h" #include "../common/emu.h"
#include "engine/debug.h" #include "engine/debug.h"
#include "App.h" #include "App.h"

View file

@ -27,85 +27,58 @@ use_cyclone = 1
# objects # objects
# launcher # launcher
OBJ += App.o Engine.o Dialogs.o CSimpleTextParser.o emu.o OBJS += App.o Engine.o Dialogs.o CSimpleTextParser.o emu.o
# engine # engine
OBJ += engine/main.o engine/vid.o engine/polledas.o engine/audio_mediaserver.o engine/debug.o OBJS += engine/main.o engine/vid.o engine/polledas.o engine/audio_mediaserver.o engine/debug.o
ifeq "$(asm_blit)" "1" ifeq "$(asm_blit)" "1"
OBJ += engine/blit_asm.o OBJS += engine/blit_asm.o
else else
OBJ += engine/blit.o OBJS += engine/blit.o
endif endif
# common # common
OBJ += ../common/emu.o ../common/config.o ../common/menu.o ../common/mp3_helix.o OBJS += ../common/emu.o ../common/config.o ../common/menu.o ../common/mp3_helix.o
# Pico # Pico
OBJ += Pico/Area.o Pico/Cart.o Pico/Memory.o Pico/Misc.o Pico/Pico.o Pico/Sek.o \ OBJS += pico/area.o pico/cart.o pico/memory.o pico/misc.o pico/pico.o pico/sek.o \
Pico/VideoPort.o Pico/Draw2.o Pico/Draw.o Pico/Patch.o Pico/Debug.o pico/videoport.o pico/draw2.o pico/draw.o pico/patch.o pico/debug.o
# Pico - CD # Pico - CD
OBJ += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \ OBJS += pico/cd/pico.o pico/cd/memory.o pico/cd/sek.o pico/cd/LC89510.o \
Pico/cd/cd_sys.o Pico/cd/cd_file.o Pico/cd/cue.o Pico/cd/gfx_cd.o \ pico/cd/cd_sys.o pico/cd/cd_file.o pico/cd/cue.o pico/cd/gfx_cd.o \
Pico/cd/Area.o Pico/cd/Misc.o Pico/cd/pcm.o Pico/cd/buffering.o pico/cd/area.o pico/cd/misc.o pico/cd/pcm.o pico/cd/buffering.o
# Pico - Pico # Pico - Pico
OBJ += Pico/Pico/Pico.o Pico/Pico/Memory.o Pico/Pico/xpcm.o OBJS += pico/pico/pico.o pico/pico/memory.o pico/pico/xpcm.o
# Pico - carthw # Pico - carthw
OBJ += Pico/carthw/carthw.o Pico/carthw/svp/svp.o Pico/carthw/svp/Memory.o \ OBJS += pico/carthw/carthw.o pico/carthw/svp/svp.o pico/carthw/svp/memory.o \
Pico/carthw/svp/ssp16.o Pico/carthw/svp/compiler.o Pico/carthw/svp/stub_arm.o pico/carthw/svp/ssp16.o pico/carthw/svp/compiler.o pico/carthw/svp/stub_arm.o
# asm stuff
ifeq "$(asm_render)" "1"
CFLAGS += -D_ASM_DRAW_C
OBJ += Pico/draw_asm.o Pico/draw2_asm.o
endif
ifeq "$(asm_memory)" "1"
CFLAGS += -D_ASM_MEMORY_C
OBJ += Pico/memory_asm.o
endif
ifeq "$(asm_ym2612)" "1"
CFLAGS += -D_ASM_YM2612_C
OBJ += Pico/sound/ym2612_asm.o
endif
ifeq "$(asm_misc)" "1"
CFLAGS += -D_ASM_MISC_C
OBJ += Pico/misc_asm.o
OBJ += Pico/cd/misc_asm.o
endif
ifeq "$(asm_cdpico)" "1"
CFLAGS += -D_ASM_CD_PICO_C
OBJ += Pico/cd/pico_asm.o
endif
ifeq "$(asm_cdmemory)" "1"
CFLAGS += -D_ASM_CD_MEMORY_C
OBJ += Pico/cd/memory_asm.o
endif
# Pico - sound # Pico - sound
OBJ += Pico/sound/sound.o OBJS += pico/sound/sound.o
OBJ += Pico/sound/mix_asm.o OBJS += pico/sound/mix_arm.o
OBJ += Pico/sound/sn76496.o Pico/sound/ym2612.o OBJS += pico/sound/sn76496.o pico/sound/ym2612.o
# zlib # zlib
OBJ += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \ OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
# unzip # unzip
OBJ += unzip/unzip.o unzip/unzip_stream.o OBJS += unzip/unzip.o unzip/unzip_stream.o
# CPU cores # CPU cores
ifeq "$(use_musashi)" "1" ifeq "$(use_musashi)" "1"
CFLAGS += -DEMU_M68K CFLAGS += -DEMU_M68K
OBJ += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o OBJS += cpu/musashi/m68kops.o cpu/musashi/m68kcpu.o
endif endif
ifeq "$(use_cyclone)" "1" ifeq "$(use_cyclone)" "1"
CFLAGS += -DEMU_C68K CFLAGS += -DEMU_C68K
OBJ += cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o OBJS += cpu/Cyclone/proj/Cyclone.o cpu/Cyclone/tools/idle.o
endif endif
# drz80 # drz80
CFLAGS += -D_USE_DRZ80 CFLAGS += -D_USE_DRZ80
OBJ += cpu/DrZ80/drz80.o OBJS += cpu/DrZ80/drz80.o
# helix # helix
OBJ += ../common/helix/$(CROSS)helix-mp3.a OBJS += ../common/helix/$(CROSS)helix-mp3.a
vpath %.c = ../.. vpath %.c = ../..
vpath %.s = ../.. vpath %.s = ../..
vpath %.S = ../.. vpath %.S = ../..
DIRS = platform platform/common Pico Pico/cd Pico/Pico Pico/sound Pico/carthw/svp \ DIRS = platform platform/common pico pico/cd pico/pico pico/sound pico/carthw/svp \
zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80 zlib unzip cpu cpu/musashi cpu/Cyclone/proj cpu/Cyclone/tools cpu/mz80 cpu/DrZ80
ICONS := $(shell echo rsc/*.bmp) ICONS := $(shell echo rsc/*.bmp)
@ -125,8 +98,8 @@ EPOCRCFLAGS += -I./
all: mkdirs sis all: mkdirs sis
include uiq3.mak
include ../common/common_arm.mak include ../common/common_arm.mak
include uiq3.mak
$(NAME).mbg $(NAME).mbm : $(ICONS) $(NAME).mbg $(NAME).mbm : $(ICONS)

View file

@ -4,7 +4,7 @@
#include "../common/emu.h" #include "../common/emu.h"
#include "../common/config.h" #include "../common/config.h"
#include "../common/menu.h" #include "../common/menu.h"
#include "Pico/PicoInt.h" #include "pico/pico_int.h"
const char * const keyNames[] = { const char * const keyNames[] = {
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

View file

@ -17,7 +17,7 @@
#include "debug.h" #include "debug.h"
#include "../Engine.h" #include "../Engine.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include "../../common/emu.h" #include "../../common/emu.h"
#include "../emu.h" #include "../emu.h"
#include "vid.h" #include "vid.h"

View file

@ -5,7 +5,7 @@
#include "vid.h" #include "vid.h"
#include "../Engine.h" #include "../Engine.h"
#include <Pico/PicoInt.h> #include <pico/pico_int.h>
#include "../../common/emu.h" #include "../../common/emu.h"
#include "blit.h" #include "blit.h"
#include "debug.h" #include "debug.h"

View file

@ -77,7 +77,7 @@ REGDIR ?= ../reg
SRCH += $(shell echo ../inc/*.h) SRCH += $(shell echo ../inc/*.h)
SRC += $(shell echo ../src/*.cpp) SRC += $(shell echo ../src/*.cpp)
SRCRES ?= $(shell echo $(RSCDIR)/*.rss $(RSCDIR)/*.rls $(REGDIR)/*.rss $(REGDIR)/*.rls) SRCRES ?= $(shell echo $(RSCDIR)/*.rss $(RSCDIR)/*.rls $(REGDIR)/*.rss $(REGDIR)/*.rls)
OBJ ?= $(SRC:.cpp=.o) OBJS ?= $(SRC:.cpp=.o)
.PHONY : all mbm icon_mbm rsc reg loc bin sis run .PHONY : all mbm icon_mbm rsc reg loc bin sis run
@ -126,9 +126,9 @@ bin : bin_elf
bin_elf : $(NAME).elf.exe bin_elf : $(NAME).elf.exe
$(NAME).elf.exe : $(OBJ) $(EXTRALIB) $(NAME).elf.exe : $(OBJS) $(EXTRALIB)
@echo "Linking..." @echo "Linking..."
$(LD) $(LDFLAGS) $(OBJ) $(EXTRALIB) $(LDFLAGS2) $(LD) $(LDFLAGS) $(OBJS) $(EXTRALIB) $(LDFLAGS2)
.cpp.o : .cpp.o :
@echo "Compiling $< ..." @echo "Compiling $< ..."
@ -157,7 +157,7 @@ run : sis
$(CXX) -M -DDEPS $(SRC) $(CXXFLAGS) >> $@ $(CXX) -M -DDEPS $(SRC) $(CXXFLAGS) >> $@
clean : clean :
rm -f $(NAME).exe $(NAME).elf.exe $(OBJ) tags .deps $(NAME).exe.map rm -f $(NAME).exe $(NAME).elf.exe $(OBJS) tags .deps $(NAME).exe.map
rm -f *.bkp ../src/*.bkp ../inc/*.bkp $(RSCDIR)/*.bkp $(REGDIR)/*.bkp rm -f *.bkp ../src/*.bkp ../inc/*.bkp $(RSCDIR)/*.bkp $(REGDIR)/*.bkp
rm -f $(RSCDIR)/*.rsc $(RSCDIR)/*.rsg rm -f $(RSCDIR)/*.rsc $(RSCDIR)/*.rsg
rm -f $(REGDIR)/*.rsc $(REGDIR)/*.rsg rm -f $(REGDIR)/*.rsc $(REGDIR)/*.rsg

View file

@ -305,6 +305,8 @@ int DirectPresent()
} }
#ifdef USE_D3D #ifdef USE_D3D
#define PI 3.14159265f
static int MakeVertexList() static int MakeVertexList()
{ {
struct CustomVertex *vert=NULL,*pv=NULL; struct CustomVertex *vert=NULL,*pv=NULL;

View file

@ -7,9 +7,7 @@
#include <d3dx8.h> #include <d3dx8.h>
#include <Pico/Pico.h> #include <pico/pico.h>
#define PI 3.14159265f
#define RELEASE(x) if (x) x->Release(); x=NULL; #define RELEASE(x) if (x) x->Release(); x=NULL;