So, I finally been able to test you work (patch3, I need to test with
patch4). It was interesting as I realize my current regression test
design is based on master branch commit with a core/rsp/video relation.
So technically, I have done the regression test for you manually.
First, some warning during compilation:
CC _obj/ai/controller.o
CC _obj/api/callbacks.o
CC _obj/api/common.o
CC _obj/api/config.o
CC _obj/api/debugger.o
CC _obj/api/frontend.o
CC _obj/api/vidext.o
CC _obj/main/main.o
CC _obj/main/util.o
CC _obj/main/cheat.o
CC _obj/main/eventloop.o
CC _obj/main/md5.o
CC _obj/main/profile.o
CC _obj/main/rom.o
CC _obj/main/savestates.o
CC _obj/main/sdl_key_converter.o
CC _obj/main/workqueue.o
CC _obj/memory/memory.o
CC _obj/pi/controller.o
CC _obj/pi/flashram.o
CC _obj/pi/sram.o
CC _obj/plugin/plugin.o
CC _obj/plugin/dummy_video.o
CC _obj/plugin/dummy_audio.o
CC _obj/plugin/dummy_input.o
CC _obj/plugin/dummy_rsp.o
CC _obj/r4300/r4300.o
CC _obj/r4300/cached_interp.o
CC _obj/r4300/cp0.o
CC _obj/r4300/cp1.o
CC _obj/r4300/exception.o
CC _obj/r4300/instr_counters.o
CC _obj/r4300/interupt.o
CC _obj/r4300/mi.o
CC _obj/r4300/pure_interp.o
CC _obj/r4300/recomp.o
CC _obj/r4300/reset.o
CC _obj/r4300/tlb.o
CC _obj/ri/controller.o
CC _obj/rdp/core.o
CC _obj/rsp/core.o
CC _obj/si/controller.o
CC _obj/si/eeprom.o
CC _obj/si/game_controller.o
CC _obj/si/mempack.o
CC _obj/si/n64_cic_nus_6105.o
CC _obj/si/pif.o
CC _obj/vi/controller.o
CC _obj/osal/dynamiclib_unix.o
CC _obj/osal/files_unix.o
CC _obj/r4300/x86_64/assemble.o
CC _obj/r4300/x86_64/gbc.o
CC _obj/r4300/x86_64/gcop0.o
CC _obj/r4300/x86_64/gcop1.o
CC _obj/r4300/x86_64/gcop1_d.o
CC _obj/r4300/x86_64/gcop1_l.o
CC _obj/r4300/x86_64/gcop1_s.o
CC _obj/r4300/x86_64/gcop1_w.o
CC _obj/r4300/x86_64/gr4300.o
../../src/r4300/x86_64/gr4300.c: In function ‘genlb’:
../../src/r4300/x86_64/gr4300.c:1328:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1328:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1328:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1328:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: In function ‘genlh’:
../../src/r4300/x86_64/gr4300.c:1378:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1378:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1378:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1378:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: In function ‘genlw’:
../../src/r4300/x86_64/gr4300.c:1436:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1436:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1436:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1436:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: In function ‘genlbu’:
../../src/r4300/x86_64/gr4300.c:1486:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1486:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1486:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1486:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: In function ‘genlhu’:
../../src/r4300/x86_64/gr4300.c:1537:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1537:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1537:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1537:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: In function ‘genlwu’:
../../src/r4300/x86_64/gr4300.c:1596:27: warning: unused variable
‘base2’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1596:20: warning: unused variable
‘base1’ [-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1596:14: warning: unused variable ‘gpr2’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c:1596:8: warning: unused variable ‘gpr1’
[-Wunused-variable]
int gpr1, gpr2, base1, base2 = 0;
^
../../src/r4300/x86_64/gr4300.c: At top level:
../../src/r4300/x86_64/gr4300.c:219:13: warning: ‘ld_register_alloc’
defined but not used [-Wunused-function]
static void ld_register_alloc(int *pGpr1, int *pGpr2, int *pBase1, int
*pBase2)
^
CC _obj/r4300/x86_64/gregimm.o
CC _obj/r4300/x86_64/gspecial.o
CC _obj/r4300/x86_64/gtlb.o
CC _obj/r4300/x86_64/regcache.o
CC _obj/r4300/x86_64/rjump.o
CC _obj/main/zip/ioapi.o
CC _obj/main/zip/zip.o
CC _obj/main/zip/unzip.o
CXX _obj/osd/screenshot.o
CXX _obj/osd/OGLFT.o
CXX _obj/osd/osd.o
LD libmupen64plus.so.2.0.0
And finally:
__ __ __ _ _ ____ _
| \/ |_ _ _ __ ___ _ __ / /_ | || | | _ \| |_ _ ___
| |\/| | | | | '_ \ / _ \ '_ \| '_ \| || |_| |_) | | | | / __|
| | | | |_| | |_) | __/ | | | (_) |__ _| __/| | |_| \__ \
|_| |_|\__,_| .__/ \___|_| |_|\___/ |_| |_| |_|\__,_|___/
|_|
http://code.google.com/p/mupen64plus/
Mupen64Plus Console User-Interface Version 2.0.0
UI-Console: attached to core library 'Mupen64Plus Core' version 2.0.0
UI-Console: Includes support for Dynamic Recompiler.
Core: Goodname: 1080 Snowboarding (E) (M4) [!]
Core: Name: 1080 SNOWBOARDING
Core: MD5: 632C98CF281CDA776E66685B278A4FA6
Core: CRC: 58fd3f25 d92eaa8d
Core: Imagetype: .v64 (byteswapped)
Core: Rom size: 16777216 bytes (or 16 Mb or 128 Megabits)
Core: Version: 1449
Core: Manufacturer: Nintendo
Core: Country: Europe (0x50)
UI-Console Status: Cheat codes disabled.
Video Warning: No version number in 'Rice-Video' config section. Setting
defaults.
Video Warning: Old parameter config version detected : 0, updating to 1;
UI-Console: using Video plugin: 'Mupen64Plus OpenGL Video Plugin by
Rice' v2.0.0
UI-Console: using Audio plugin: <dummy>
UI-Console: using Input plugin: <dummy>
UI-Console: using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP
Plugin' v2.0.0
Core Warning: No audio plugin attached. There will be no sound output.
Core Warning: No input plugin attached. You won't be able to control
the game.
Video: SSE processing enabled.
Video: Found ROM '1080 SNOWBOARDING', CRC 253ffd588daa2ed9-50
Video: Initializing OpenGL Device Context.
Core: Setting 32-bit video mode: 640x480
Video Warning: Failed to set GL_SWAP_CONTROL to 0. (it's 24)
Video Warning: Failed to set GL_BUFFER_SIZE to 32. (it's 24)
Video Warning: Failed to set GL_DEPTH_SIZE to 16. (it's 24)
Video: Using OpenGL: NVIDIA Corporation - GeForce GT 730/PCIe/SSE2 :
4.4.0 NVIDIA 331.113
Core: Starting R4300 emulator: Dynamic Recompiler
Core: R4300: starting 64-bit dynamic recompiler at: 0x7fa0be58ff10
Core Warning: pif_ram[0x3c] -> 00000000
Core Warning: pif_ram[0x3c] <- 00000008 & ffffffff
This fail with this error on every game I manually tested.
Next time. I will test a simple game instead of spend my time fighting
against my regression test suite script lol and realize it simply fail
at load time.
About the unit test on the RSP, it's interesting but current RSP HLE
lack of dev. :(
Reading your commit:
https://github.com/bsmiles32/mupen64plus-rsp-hle/commit/fc4269ec6ddb1e81ce10ab883a2db8680f835ab4
It seems quite intrusive, I would have isolate this in a special
unit_test folder. And as you state, such unit tests are highly dependent
of hle_t struct. Maybe a silly bit compare between two hle_t would be
enougth.
Dorian
> --
> You received this message because you are subscribed to the Google
> Groups "mupen64plus" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
mupen64plus...@googlegroups.com
> <mailto:
mupen64plus...@googlegroups.com>.
> <mailto:
mupen...@googlegroups.com>.