Re: [hatari-devel] Problems with some FPU tests

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


On Montag, 23. April 2018 23:30:39 CEST Eero Tamminen wrote:

> Could you provide command line options with which you can reproduce this

> with default Hatari config.

 

I guess the crash does not happen with default hatari config (assuming that this will be the same as when running without any hatari.cfg at all). The crash only happens when i run it with my hatari.cfg (attached below) which is set up for a TT, then calling

 

$ SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy <path-to>/hatari --log-level fatal --sound off --cpuclock 32 --tos none --natfeats on --bios-intercept on --vdi off --run-vbls 500 --cpulevel 0 ./test-inf.ttp

>Please tell also which compiler you use.

 

gcc 7.3.1 on suse-linux, kernel 4.15.13, glibc 2.27. But i doubt that is has anything to do with it. I guess there needs to be something changed when running tests and using a non-default machine configuration. I don't get a crash when adding --machine st to the options for example. Strangely, --disable-video 1 does not help. But of course there should later be the possibility to run tests using other machine options.

 

>Attached is a small update to the script (clean it up a bit +

>add FPU option

 

I had added that option already, automatically when using cpu 3,4 or 6, because otherwise the tests currently will only produce lots of bus-errors.

 

>make error message more visible

 

That does not really help, because the tmp directory is removed when the script exits ;) Something that has to be to refined, maybe.

 

>Hatari already supports redirecting Atari console out with

>normal TOS versions, by catching xconout vector.

 

Yes, but without a TOS redirecting those vectors, you need something else ;)

 

>Tests should output something so that they can be tested also

>on real HW, so emulating that seems kind of necessary.

 

That's why i've done it by catching Fwrite(). Alternatively you could use the NF_STDERR function, but then the output won't be visible on real hardware.

 

Of course the supplied c runtime is really minimalistic, i had to remove Pdomain() and Ssystem() calls from the startup code which would otherwise kill the test program, and you can't pass any arguments, but at least you can use just normal printf() for output.

 

[Log]
sLogFileName = stderr
sTraceFileName = stderr
nExceptionDebugMask = 515
nTextLogLevel = 3
nAlertDlgLogLevel = 1
bConfirmQuit = FALSE
bNatFeats = TRUE
bConsoleWindow = FALSE

[Debugger]
nNumberBase = 10
nDisasmLines = -1
nMemdumpLines = -1
nDisasmOptions = 15
bDisasmUAE = FALSE

[Screen]
nMonitorType = 1
nFrameSkips = 5
bFullScreen = FALSE
bKeepResolution = TRUE
bKeepResolutionST = FALSE
bAllowOverscan = TRUE
nSpec512Threshold = 1
nForceBpp = 0
bAspectCorrect = TRUE
bUseExtVdiResolutions = TRUE
nVdiWidth = 1280
nVdiHeight = 960
nVdiColors = 2
bMouseWarp = TRUE
bShowStatusbar = TRUE
bShowDriveLed = FALSE
bCrop = FALSE
bForceMax = FALSE
nMaxWidth = 1280
nMaxHeight = 960

[Joystick0]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Joystick1]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Joystick2]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Joystick3]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Joystick4]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Joystick5]
nJoystickMode = 0
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
nJoyId = -1
kUp = Up
kDown = Down
kLeft = Left
kRight = Right
kFire = Right Ctrl

[Keyboard]
bDisableKeyRepeat = FALSE
nKeymapType = 2
szMappingFileName = /home/sebilla/.hatari/keymap.cfg

[KeyShortcutsWithMod]
kOptions = O
kFullScreen = F
kMouseMode = M
kColdReset = C
kWarmReset = R
kScreenShot = G
kBossKey = I
kCursorEmu = J
kFastForward = X
kRecAnim = A
kRecSound = Y
kSound = S
kPause =
kDebugger = Pause
kQuit = Q
kLoadMem = L
kSaveMem = K
kInsertDiskA = D
kSwitchJoy0 = F1
kSwitchJoy1 = F2
kSwitchPadA = F3
kSwitchPadB = F4

[KeyShortcutsWithoutMod]
kOptions = F12
kFullScreen = F11
kMouseMode =
kColdReset =
kWarmReset =
kScreenShot =
kBossKey =
kCursorEmu =
kFastForward =
kRecAnim =
kRecSound =
kSound =
kPause = Pause
kDebugger =
kQuit =
kLoadMem =
kSaveMem =
kInsertDiskA =
kSwitchJoy0 =
kSwitchJoy1 =
kSwitchPadA =
kSwitchPadB =

[Sound]
bEnableMicrophone = TRUE
bEnableSound = TRUE
bEnableSoundSync = FALSE
nPlaybackFreq = 44100
nSdlAudioBufferSize = 0
szYMCaptureFileName = /home/sebilla/.hatari/hatari.wav
YmVolumeMixing = 2

[Memory]
nMemorySize = 14336
nTTRamSize = 0
bAutoSave = FALSE
szMemoryCaptureFileName = /home/sebilla/.hatari/hatari.sav
szAutoSaveFileName = /home/sebilla/.hatari/auto.sav

[Floppy]
bAutoInsertDiskB = FALSE
FastFloppy = FALSE
EnableDriveA = TRUE
DriveA_NumberOfHeads = 2
EnableDriveB = FALSE
DriveB_NumberOfHeads = 2
nWriteProtection = 0
szDiskAZipPath =
szDiskAFileName = /home/sebilla/.stonx/new_disk.st
szDiskBZipPath =
szDiskBFileName =
szDiskImageDirectory = /home/sebilla/.stonx/

[HardDisk]
nGemdosDrive = 0
bBootFromHardDisk = TRUE
bUseHardDiskDirectory = TRUE
szHardDiskDirectory = /home/sebilla/.hatari/drives
nGemdosCase = 0
nWriteProtection = 0
bFilenameConversion = FALSE
bUseHardDiskImage = FALSE
szHardDiskImage = /home/sebilla/.stonx/tos.dsk
bUseIdeMasterHardDiskImage = FALSE
bUseIdeSlaveHardDiskImage = FALSE
szIdeMasterHardDiskImage = /home/sebilla/.stonx/tos.dsk
szIdeSlaveHardDiskImage = /home/sebilla/atari/hatari-1.9.0
bGemdosHostTime = FALSE

[ROM]
szTosImageFileName = /home/sebilla/atari/roms/tos306de.img
bPatchTos = TRUE
szCartridgeImageFileName =

[RS232]
bEnableRS232 = FALSE
szOutFileName = /dev/modem
szInFileName = /dev/modem

[Printer]
bEnablePrinting = FALSE
szPrintToFileName = /home/sebilla/.hatari/hatari.prn

[Midi]
bEnableMidi = FALSE
sMidiInFileName = /dev/snd/midiC1D0
sMidiOutFileName = /dev/snd/midiC1D0

[System]
nCpuLevel = 3
nCpuFreq = 32
bCompatibleCpu = FALSE
nModelType = 4
bBlitter = FALSE
nDSPType = 0
bPatchTimerD = TRUE
bFastBoot = TRUE
bFastForward = TRUE
bAddressSpace24 = FALSE
bCycleExactCpu = FALSE
n_FPUType = 68882
bMMU = FALSE
VideoTiming = 3
bSoftFloatFPU = FALSE

[Video]
AviRecordVcodec = 2
AviRecordFps = 0
AviRecordFile = /home/sebilla/.hatari/hatari.avi


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/