Runs on Wii now, until it tries to start the shell, then it crashes (although it gives you a chance to exit first if you prefer). Saving the config file is disabled to avoid another crash. But hey, it's better than a black screen, right?

This commit is contained in:
Carl.Kenner 2009-05-03 14:46:25 +00:00
parent 0127b6dab7
commit b82d8c6374
6 changed files with 26 additions and 12 deletions

View File

@ -39,9 +39,7 @@ LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--cref
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with
#---------------------------------------------------------------------------------
LIBS := -lSDL_ttf -lSDL_gfx -lSDL_mixer -lSDL_image -ljpeg -lpng -lz -lSDL -lfreetype \
-ldb -ldi -lpngu -lmxml -lmetaphrasis \
-lfat -lwiiuse -lz -lbte -logc -lasnd -ltremor -lfreetype -ltinysmb
LIBS := -lSDL -lfat -lwiiuse -lbte -logc
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,9 @@
// disable this to reduce the size of the TLB
// NOTE: does not work with the dynamic core (dynrec is fine)
#ifndef HW_RVL
#define USE_FULL_TLB
#endif
class PageDirectory;

View File

@ -32,6 +32,9 @@
#include <signal.h>
#include <process.h>
#endif
#ifdef HW_RVL
#include <wiiuse/WPAD.h>
#endif
#include "SDL.h"
@ -1598,7 +1601,9 @@ int main(int argc, char* argv[]) {
if(!parsed_anyconfigfile) {
//Try to create the userlevel configfile.
config_file.clear();
#ifndef HW_RVL
Cross::CreatePlatformConfigDir(config_path);
#endif
Cross::GetPlatformConfigName(config_file);
config_path += config_file;
if(control->PrintConfig(config_path.c_str())) {

View File

@ -19,8 +19,7 @@
#define C_HEAVY_DEBUG 0
/* The type of cpu this host has */
//#define C_TARGETCPU X86
//#define C_TARGETCPU X86_64
#define C_TARGETCPU POWERPC
/* Define to 1 to use x86 dynamic cpu core */
#define C_DYNAMIC_X86 0
@ -58,10 +57,6 @@
#define INLINE inline
//#define DB_FASTCALL __fastcall
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
#pragma warning(disable : 4996)
#endif
typedef double Real64;
/* The internal types */
typedef unsigned char Bit8u;
@ -69,7 +64,7 @@ typedef signed char Bit8s;
typedef unsigned short Bit16u;
typedef signed short Bit16s;
typedef unsigned long Bit32u;
typedef signed long Bit32s;
typedef int Bit32s;
typedef unsigned long long Bit64u;
typedef signed long long Bit64s;
typedef unsigned int Bitu;

View File

@ -21,6 +21,9 @@
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#ifdef HW_RVL
#include <wiiuse/WPAD.h>
#endif
#include "dosbox.h"
#include "regs.h"
#include "control.h"
@ -628,8 +631,19 @@ void SHELL_Init() {
dos.dta(RealMake(psp_seg,0x80));
dos.psp(psp_seg);
SHELL_ProgramStart(&first_shell);
#ifdef HW_RVL
printf("Press A to continue to a crash, or Home to exit.\n");
while (1) {
WPAD_ScanPads();
u16 buttonsDown = WPAD_ButtonsDown(0);
if( buttonsDown & WPAD_BUTTON_A ) break;
if( buttonsDown & WPAD_BUTTON_HOME ) exit(0);
}
#endif
first_shell->Run();
delete first_shell;
first_shell = 0;//Make clear that it shouldn't be used anymore