mamedev / mame

MAME
https://www.mamedev.org/
Other
8.27k stars 2.02k forks source link

f1gp and f1gp2 emulation very slow #3055

Closed katananja closed 6 years ago

katananja commented 6 years ago

mame0193-491-g8a3082de0a-dirty Debian 9 x64 Build command: make clean && make VERBOSE=1 OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 SANITIZE=address -j7

./mame64d f1gp

Available videodrivers: x11 wayland dummy 
Current Videodriver: x11
    Display #0
        Renderdrivers:
                opengl (0x0)
             opengles2 (0x0)
              software (0x0)
Available audio drivers: 
    pulseaudio          
    alsa                
    sndio               
    dsp                 
    disk                
    dummy               
Build version:      0.193 (mame0193-491-g8a3082de0a-dirty)
Build architecure:  
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1 
Build defines 1:    LSB_FIRST=1 PTR64=1 MAME_DEBUG=1 
SDL/OpenGL defines: SDL_COMPILEDVERSION=2005 USE_OPENGL=1 
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=2 __GNUC_PATCHLEVEL__=1 __VERSION__="4.2.1 Compatible Clang 3.9.1 (tags/RELEASE_391/rc2)" 
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1 
Compiler defines C: __USE_FORTIFY_LEVEL=0 
Enter init_monitors
Adding monitor screen0 (1920 x 1080)
Leave init_monitors
Enter sdlwindow_init
Using SDL multi-window OpenGL driver (SDL 2.0+)

Hints:
    SDL_FRAMEBUFFER_ACCELERATION             (null)
    SDL_RENDER_DRIVER                        (null)
    SDL_RENDER_OPENGL_SHADERS                (null)
    SDL_RENDER_SCALE_QUALITY                 (null)
    SDL_RENDER_VSYNC                         (null)
    SDL_VIDEO_X11_XVIDMODE                   (null)
    SDL_VIDEO_X11_XINERAMA                   (null)
    SDL_VIDEO_X11_XRANDR                     (null)
    SDL_GRAB_KEYBOARD                        (null)
    SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS         (null)
    SDL_IOS_IDLE_TIMER_DISABLED              (null)
    SDL_IOS_ORIENTATIONS                     (null)
    SDL_XINPUT_ENABLED                       (null)
    SDL_GAMECONTROLLERCONFIG                 (null)
    SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS     (null)
    SDL_ALLOW_TOPMOST                        (null)
    SDL_TIMER_RESOLUTION                     (null)
    SDL_RENDER_DIRECT3D_THREADSAFE           (null)
    SDL_VIDEO_ALLOW_SCREENSAVER              (null)
    SDL_ACCELEROMETER_AS_JOYSTICK            (null)
    SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK   (null)
    SDL_VIDEO_WIN_D3DCOMPILER                (null)
    SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT      (null)
    SDL_VIDEO_MAC_FULLSCREEN_SPACES          (null)
    SDL_MOUSE_RELATIVE_MODE_WARP             (null)
    SDL_RENDER_DIRECT3D11_DEBUG              (null)
    SDL_VIDEO_HIGHDPI_DISABLED               (null)
    SDL_WINRT_PRIVACY_POLICY_URL             (null)
    SDL_WINRT_PRIVACY_POLICY_LABEL           (null)
    SDL_WINRT_HANDLE_BACK_BUTTON             (null)
Leave sdlwindow_init
Enter sdl_info::create
OpenGL: X.Org
OpenGL: Gallium 0.4 on AMD CAPE VERDE (DRM 2.49.0 / 4.9.0-5-amd64, LLVM 3.9.1)
OpenGL: 3.0 Mesa 13.0.6
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 16384 x 16384
Leave renderer_ogl::create
Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 25600 bytes
Audio: End initialization
Keyboard: Start initialization
Input: Adding keyboard #0: System keyboard (device id: System keyboard)
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding mouse #0: System mouse (device id: System mouse)
Mouse: Registered System mouse
Mouse: End initialization
Joystick: Start initialization
Input: Adding joystick #0: GreenAsiaInc.USBJoystick (device id: GreenAsiaInc.USBJoystick)
Joystick: GreenAsia Inc.    USB Joystick     
Joystick:   ...  5 axes, 12 buttons 1 hats 0 balls
Joystick:   ...  Physical id 0 mapped to logical id 1
Joystick: End initialization
Searching font Liberation Sans in -. path/s
Matching font: /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
Region ':maincpu' created
unzip: opened archive file roms/f1gp.zip
unzip: found roms/f1gp.zip ECD
unzip: roms/f1gp.zip has no ZIP64 ECD locator
unzip: read roms/f1gp.zip central directory
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':user1' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':user2' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':sub' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':audiocpu' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':gfx1' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':gfx2' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':gfx3' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':gfx4' created
Region ':ymsnd.deltat' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Region ':ymsnd' created
unzip: found roms/f1gp.zip in cache
unzip: opened archive file roms/f1gp.zip
unzip: closing archive file roms/f1gp.zip and sending to cache
Optional device ':vsystem_spr' not found
Optional shared pointer ':rozregs' not found
Optional shared pointer ':fgregs' not found
Optional shared pointer ':spriteram' not found
Optional shared pointer ':spritelist' not found
Optional shared pointer ':sprcgram' not found
Optional memory region ':palette:finder_dummy_tag' not found
Starting F-1 Grand Prix ':'
  (missing dependencies; rescheduling)
Starting M68000 ':maincpu'
Starting M68000 ':sub'
Starting Z80 ':audiocpu'
Starting MC6850 ACIA ':acia'
Starting Clock ':acia_clock'
Starting Video Screen ':screen'
  (missing dependencies; rescheduling)
Starting gfxdecode ':gfxdecode'
Starting palette ':palette'
Starting Video System C7-01 GGA ':gga'
  (missing dependencies; rescheduling)
Starting Video System Sprites Type 2 ':vsystem_spr_old'
Starting Video System Sprites Type 2 ':vsystem_spr_ol2'
Starting K053936 Video Controller ':k053936'
Starting Speaker ':lspeaker'
  (missing dependencies; rescheduling)
Starting Speaker ':rspeaker'
  (missing dependencies; rescheduling)
Starting Generic 8-bit latch ':soundlatch'
Starting YM2610 OPNB ':ymsnd'
Starting F-1 Grand Prix ':'
  (missing dependencies; rescheduling)
Starting Video Screen ':screen'
Starting Video System C7-01 GGA ':gga'
Starting Speaker ':lspeaker'
Starting Speaker ':rspeaker'
Starting F-1 Grand Prix ':'
Attempting to parse: default.cfg
Attempting to parse: f1gp.cfg
GL texture: copy 1, shader 0, dynamic 1, 320x240 320x240 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 512,320/16384], bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 320x240 320x240 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 512,320/16384], bytes/pix 4
Average speed: 60.12% (19 seconds)
sdl_kill: closing audio
Sound buffer: overflows=0 underflows=680
Enter sdlwindow_exit
Leave sdlwindow_exit
Speaker ":lspeaker" - max = 7514 (gain *= 4.360793) - 0% samples clipped
Speaker ":rspeaker" - max = 7514 (gain *= 4.360793) - 0% samples clipped

ldd mame64d

linux-vdso.so.1 (0x00007fff30d2d000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe00c49b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe00c293000)
    libSDL2-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007fe00bf73000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe00bc6b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe00ba4b000)
    libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fe00b843000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fe00b5cb000)
    libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fe00b2bb000)
    libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fe00ac53000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fe00a713000)
    libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fe00a243000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe009f03000)
    libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fe009cfb000)
    libSDL2_ttf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2_ttf-2.0.so.0 (0x00007fe009af3000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fe0098b3000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe009603000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe00927b000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe009063000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe008cc3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe00c6a3000)
    libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007fe008abb000)
    libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007fe008863000)
    libsndio.so.6.1 => /usr/lib/x86_64-linux-gnu/libsndio.so.6.1 (0x00007fe008653000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fe00843b000)
    libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fe00822b000)
    libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fe00801b000)
    libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fe007e0b000)
    libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1 (0x00007fe007c03000)
    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fe0079fb000)
    libwayland-egl.so.1 => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007fe0077f3000)
    libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007fe0075e3000)
    libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007fe0073db000)
    libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fe00719b000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe006f6b000)
    libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fe006d63000)
    libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fe006b5b000)
    libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fe006953000)
    libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fe00674b000)
    libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fe00651b000)
    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fe006313000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fe00610b000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fe005f03000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe005cdb000)
    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fe005abb000)
    libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fe0058b3000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fe0056a3000)
    libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fe00540b000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe0051eb000)
    libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fe004fb3000)
    libicui18n.so.57 => /usr/lib/x86_64-linux-gnu/libicui18n.so.57 (0x00007fe004b33000)
    libicuuc.so.57 => /usr/lib/x86_64-linux-gnu/libicuuc.so.57 (0x00007fe00478b000)
    libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007fe00451b000)
    libdouble-conversion.so.1 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1 (0x00007fe004303000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe003feb000)
    libpulsecommon-10.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so (0x00007fe003d63000)
    libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fe003b5b000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fe00390b000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fe0036f3000)
    libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fe0034e3000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fe0032d3000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe0030cb000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fe002ec3000)
    libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fe002c93000)
    libicudata.so.57 => /usr/lib/x86_64-linux-gnu/libicudata.so.57 (0x00007fe001213000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe000f9b000)
    libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fe000d7b000)
    libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fe000b73000)
    libXtst.so.6 => /usr/lib/x86_64-linux-gnu/libXtst.so.6 (0x00007fe00096b000)
    libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fe00c7fb000)
    libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fe00075b000)
    libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007fe0004e3000)
    libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007fe0002db000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fe0000d3000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fdfffeab000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fdfffc83000)
    liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fdfffa6b000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fdfff75b000)
    libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fdfff543000)
    libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007fdfff2cb000)
    libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fdfff0bb000)
    libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fdffee8b000)
    libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fdffebdb000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fdffe9c3000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fdffe7ab000)

mame.ini mame.zip

happppp commented 6 years ago

I don't know your computer specs, but yes it's running about 5x slower than before. Reason is the high frequency for the ACIA clock writes. It still needs to be measured from a PCB, probably lower freq than 1MHz.

katananja commented 6 years ago

I'm sure the speed is normal without the SANITIZE=address option, this also affects another machine named aoh. I'll compile a new one without SANITIZE=address to make sure.

This are the specs of the computer testing MAME.

CPU: AMD FX(tm)-8350 Eight-Core Processor
Clock: 4002 MHz
Cache: 2048 kb
Memory: Corsair Vengeance 16GB 1866MHz CL9 DDR3 2x8GB
Video: ATI Radeon R7 250E 256Bit DDR5 2GB
Gigabyte 990FXA-UD5 R5
Storage: Seagate Barracuda SATA III 7200RPM 3TB
katananja commented 6 years ago

I can confirm that without SANITIZE=address, figp, f1gp2 and aoh runs with normal speed, otherwise it runs in slow motion. It doesn't affect other machines so far, tested with sf2, ssf2, elevator, galaga, nrallyx and radr.

Build options: make clean && make OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 -j7

Will check other SANITIZE options if it has the same effect.

katananja commented 6 years ago

SANITIZE=address and SANITIZE=alignment cause emulation slowdown, SANITIZE=function doesn't. SANITIZE=nullability is unsupported here. clang: error: unsupported argument 'nullability' to option 'fsanitize='

At the last patch https://github.com/mamedev/mame/commit/35e5a752439c927bd762518370d039f510975225 is -fsanitize=nullability or -fno-sanitize=nullability?

Without SANITIZE emulation run normal as expected. Build command used: address make clean && make VERBOSE=1 OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 SUBTARGET=arcade REGENIE=1 SANITIZE=address SOURCES=src/mame/drivers/f1gp.cpp -j7

function for f in $(find . -name *.[oa]); do rm -rf $f; done && make VERBOSE=1 OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 SUBTARGET=arcade REGENIE=1 SANITIZE=function SOURCES=src/mame/drivers/f1gp.cpp -j7

alignment for f in $(find . -name *.[oa]); do rm -rf $f; done && make VERBOSE=1 OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 SUBTARGET=arcade REGENIE=1 SANITIZE=alignment SOURCES=src/mame/drivers/f1gp.cpp -j7

nullability for f in $(find . -name *.[oa]); do rm -rf $f; done && make VERBOSE=1 OVERRIDE_CC=/usr/bin/clang-3.9 OVERRIDE_CXX=/usr/bin/clang++-3.9 DEBUG=1 SYMBOLS=1 SYMLEVEL=1 SUBTARGET=arcade REGENIE=1 SANITIZE=nullability SOURCES=src/mame/drivers/f1gp.cpp -j7

clang: error: unsupported argument 'nullability' to option 'fsanitize='
precompile.make:307: recipe for target '../../../../linux_clang/obj/x64/Debug/src/emu/drivers/empty.o' failed
make[2]: *** [../../../../linux_clang/obj/x64/Debug/src/emu/drivers/empty.o] Error 1
Makefile:82: recipe for target 'precompile' failed
make[1]: *** [precompile] Error 2
make[1]: Leaving directory '/home/wellington/tmp/mame/build/projects/sdl/mamearcade/gmake-linux-clang'
makefile:1276: recipe for target 'linux_x64_clang' failed
make: *** [linux_x64_clang] Error 2

以上です。

firewave commented 6 years ago

As per documentation using the address sanitizer will decrease the speed by 2x - but I have seen cases with a bigger drop off. Using the undefined sanitizer will be even slower depending on what the code is doing. It seems nullability was just recently introduced and I will remove the implicit usage before the next release.

katananja commented 6 years ago

Good to know. Thank you @Firehawke

ajrhacker commented 6 years ago

On Sat, Jan 13, 2018 at 8:16 AM hap notifications@github.com wrote:

I don't know your computer specs, but yes it's running about 5x slower than before. Reason is the high frequency for the ACIA clock writes. It still needs to be measured from a PCB, probably lower freq than 1MHz.

I'd assume that the F-1 GP ACIA clocks would have the same rate as the ones in Tail to Nose/Super Formula and Grand Striker.

AJR