Disk drive 1540, 1541, 1541-II, 1570, 1571 - each 5,25" drive error
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
Hi!
I know this problem was described here earlier, but was closed and nothing changed.
So, I tested last Pokefinder build 3.1.33308 Win32 x86.
I tried each 5,25" Commodore disk drive (1540/1541/1541-II/1570/1571) for to be sure in default configuration.
Each at access produces error message:
"An unexpected error occurred, Received signal 8 ()."
I attached also log.
All emulated 3,5" disk drives working: 1581/FD-2000/FD-4000.
Please fix this bug, it's maybe forgotten or so...
Miro
Did you really use
x64sc -default
, the log file seems to indicate otherwise.I'm sorty, I meant that is enough select category C64DTV.
So, I need to add: x64dtv only
Miro
As I may have suggested before, how about using the command line option
-default
, which makes VICE use its default settings.Obviously you're not running xdtv with default settings, you're loading a lot of ROMS, which I suspect don't really work together, not to mention the DTV which was never meant to act like a proper C64.
When I'm using default option I add no other argument, even log not.
So, attached log is from configured DTV. I have available last version
But I can clearly see C128 ROMS being loaded in that log file. So that is not a clean start.
This is a clean start of x64dtv using -config;
``compyx@asus-p5k:~$ x64dtv -default > dtv.log compyx@asus-p5k:~$ cat dtv.log ffmpeg avformat lib has version 393865, VICE expects 393865: full match ffmpeg avcodec lib has version 394065, VICE expects 394065: full match ffmpeg avutil lib has version 372265, VICE expects 372265: full match ffmpeg swscale lib has version 040264, VICE expects 040264: full match ffmpeg swresample lib has version 020364, VICE expects 020364: full match Detecting ISA HardSID boards. Could not open '/dev/port'. Cannot get permission to access $300. Detecting PCI HardSID boards. No PCI HardSID boards found. Reading configuration file
/home/compyx/.vice/sdl-vicerc'.VICE Version 3.1, rev 33308M
OS compiled for: Linux glibc 2.24
GUI compiled for: SDL2
CPU compiled for: AMD64/x86_64
Compiler used: GCC-6.3.0
Current OS: Linux 4.9.0-3-amd64 (glibc 2.24)
Current CPU: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz
Welcome to x64dtv, the free portable C64DTV Emulator.
Current VICE team members:
Martin Pottendorfer, Marco van den Heuvel, Fabrizio Gennari, Groepaz,
Olaf Seibert, Marcus Sutton, Kajtar Zsolt, AreaScout, Bas Wassink.
This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.
Loading system file
/usr/local/lib64/vice/C64DTV/kernal'. Loading system file
/usr/local/lib64/vice/C64DTV/basic'.Loading system file
/usr/local/lib64/vice/C64DTV/chargen'. Loading system file
/usr/local/lib64/vice/PRINTER/mps803'.Palette: Loading palette
/usr/local/lib64/vice/PRINTER/mps803.vpl'. Loading system file
/usr/local/lib64/vice/PRINTER/nl10-cbm'.Palette: Loading palette
/usr/local/lib64/vice/PRINTER/nl10.vpl'. NL10: Printer driver initialized. Palette: Loading palette
/usr/local/lib64/vice/PRINTER/1520.vpl'.Loading system file
/usr/local/lib64/vice/DRIVES/dos1540'. Loading system file
/usr/local/lib64/vice/DRIVES/dos1541'.Loading system file
/usr/local/lib64/vice/DRIVES/d1541II'. Loading system file
/usr/local/lib64/vice/DRIVES/dos1570'.Loading system file
/usr/local/lib64/vice/DRIVES/dos1571'. Loading system file
/usr/local/lib64/vice/DRIVES/dos1581'.Loading system file
/usr/local/lib64/vice/DRIVES/dos2000'. Loading system file
/usr/local/lib64/vice/DRIVES/dos4000'.Loading system file
/usr/local/lib64/vice/DRIVES/dos2031'. Loading system file
/usr/local/lib64/vice/DRIVES/dos2040'.Loading system file
/usr/local/lib64/vice/DRIVES/dos3040'. Loading system file
/usr/local/lib64/vice/DRIVES/dos4040'.Loading system file
/usr/local/lib64/vice/DRIVES/dos1001'. Drive: Finished loading ROM images. Sound: Available sound devices: pulse alsa uss sdl dummy fs dump wav voc iff aiff mp3 flac ogg soundmovie Detecting PCI CatWeasel boards. No PCI CatWeasel found. Detecting Linux ParSIDs. Could not open /dev/parport0. Could not open /dev/parport1. Could not open /dev/parport2. No Linux ParSIDs found. Detecting direct I/O ParSIDs. Could not open '/dev/port'. Could not get permission to access 3BC. Could not open '/dev/port'. Could not get permission to access 378. Could not open '/dev/port'. Could not get permission to access 278. Detecting direct I/O ISA SSI2001. Could not open '/dev/port'. Cannot get permission to access $280. SDLJoystick: 1 joysticks found SDLJoystick: Device 0 "Logitech Logitech Dual Action" (4 axes, 12 buttons, 1 hats, 0 balls) SDLJoystick: Warning - Failed to open
/home/compyx/.vice/sdl-joymap-C64DTV.vjm'.SDLKeyboard: Warning - Failed to open
/home/compyx/.vice/sdl-hotkey-C64DTV.vkm'. Keyboard: Loading keymap
/usr/local/lib64/vice/C64DTV/sdl_sym.vkm'.SDLVideo: Available Renderers: opengl opengles2 software
SDLVideo: Vendor : NVIDIA Corporation
SDLVideo: Renderer : GeForce 7300 SE/7200 GS/PCIe/SSE2
SDLVideo: Version : OpenGL ES 2.0 NVIDIA 304.135 304.135
SDLVideo: VICII (active) 768x544 32bpp using opengles2
Main CPU: starting at ($FFFC).
Main CPU: RESET.
Sound: Opened device `pulse', speed 44100Hz, fragment size 2.9ms, buffer size 101ms
reSID: DTVSID, filter on, sampling rate 44100Hz - resampling, pass to 19845Hz
Drive 8: RESET.
Exiting...
Sound: Closing device `pulse'
```
As you can see, it doesn't load ROMS from "D:\whatever", nor does it complain about Traps.
So once again, you are not using a default config. And I'm getting tired of this.
As first - it loads no one C128 ROM - it's only in folder "D:\Commodore\Commodore 128\VICE NEW...:"
I attached DTV with default config and log, so:
x64dtv.exe -default -log <filepath>
Attached is log of each not working drive - 1540, 1541, 1541-II, 1570, 1571.
Miro
Works for me, using r33308 from pokefinder as mentioned in the initial posting, both regular and no-cpuhist builds.
I tested it again with revision 33345 with default option.
Default is drive 1541, I tried to load directory (LOAD"$",8) and it was working.
Then I tried to change drive to 1571 - in moment same error... so it works really in default configuration only? Attached is log.
Miro
The bug is in the "
Drive settings
->Drive settings...
" dialog. It's missing the "Drive RPM settings
" elements. Therefore, when we use that dialog, those resources are set to garbage. If that garbage happens to be zeroes, then we get a divide-by-zero crash at line 330 of "src/drive/rotation.c".Greg: Nice diagnosis! I have no clue about Win32 programming, but I attempted to fix it by just copying over a few missing resource entries from the standard C64 drive dialog.
Mirkosoft: If you had told us from the beginning that you manually changed the drive type in the menu instead of misleading people by claiming to use default settings, this problem could've been diagnosed a lot faster.
Yes, truth.
I set in config file for each drive 30000 RPM and wobble 50.
Then started DTV by command line
x64dtv -drive8type 1571
and it works.
But changing drive at running DTV always fails - looks like again is RPM set to 0...
Is it very hard to fix?
Miro
No, bug was reported 'cause I set only in command line drive to 1571 and at start it failed. When I selected drive to any 5,25" in dialog it was not possible to store - failed immediately after closing dialog.
I have only one Q off topic - is possible to give back in Keyboard settings button "Dump keyset"?
It was useful 'cause I had always current possibilities of mapping keyboard.
BTW: the keys 85 and 86 are in EU keyboards known... I mapped it succesfully.
So, boys, thank you for help. Nice will be if will be fixed drive dialog to possible change drive without crash.
Miro
I confirm that the fix works! The RPM settings are shown; and, the resources are set properly -- no more crashes.
Thank you. Will test in next release at pokefinder.
Miro