dirkwhoffmann / virtualc64

VirtualC64 is a cycle-accurate C64 emulator for macOS
https://dirkwhoffmann.github.io/virtualc64
Other
356 stars 33 forks source link

Emulator preferences problems #486

Closed Alessandro1970 closed 5 years ago

Alessandro1970 commented 5 years ago

Hi, in the new alpha 3 I have this situation:

schermata 2018-12-16 alle 22 37 43

If I change in this way:

schermata 2018-12-16 alle 22 38 53

The D64 option square disappears and it is impossible to change until reset default

schermata 2018-12-16 alle 22 42 54

Other if I select flash into memory and run (example errata.prg) it doesn't start [RUN also if is selected it is not written after file was flashed into memory (probably the file was not flashed)].

schermata 2018-12-16 alle 22 47 35
Alessandro1970 commented 5 years ago

I cannot deselect it and if Insert a D64 none is typed on the screen (Load"*",8,1: doesn't be written it works only if using first option)

schermata 2018-12-16 alle 22 52 20
Alessandro1970 commented 5 years ago

After reset and using these setting:

schermata 2018-12-16 alle 22 56 46

None is typed in the emulator and the d64 is not loaded automatically

Alessandro1970 commented 5 years ago

In this situation:

schermata 2018-12-16 alle 23 03 36

If I press here, in the red circle:

schermata 2018-12-16 alle 23 03 36

Appears this:

schermata 2018-12-16 alle 23 05 24
Alessandro1970 commented 5 years ago

Here if I decide to deselect the option in the red circle ...I cannot, it is blocked

schermata 2018-12-16 alle 23 08 05
Alessandro1970 commented 5 years ago

This should be corrected:

schermata 2018-12-16 alle 23 20 00
Alessandro1970 commented 5 years ago

In short, for me only the "open contents browser" and "insert into drive" options work, the "Type" are in contrast with each other and by releasing one, the next one disappears or one of them disappears. Furthermore, the commands with "TYPE" in the emulator malfunction with the "FLASH ..." option and others

dirkwhoffmann commented 5 years ago

Alessandro, thank you so much for testing so thoroughly! Actually, we have two separate issues here. First, I connected a couple of GUI items to the wrong outlets in the code. Fortunately, this is easy to fix. Secondly, we have a problem which I did not realise. If a D64 image is opened via the File menu and auto-typing is enabled, the following steps are performed:

  1. VirtualC64 creates a new document.
  2. The new document creates and launches a C64 emulator core.
  3. The D64 image is inserted into the drive.
  4. VirtualC64 types something on the keyboard.
  5. The emulator core returns from the Kernal boot routine and shows the blinking cursor.

The problem is that auto-typing needs to be delayed until step 5 has been completed. If the emulator core is still "booting", all key presses are ignored. We can simply fix this by delaying step 4 a couple of seconds. A nicer solution would be to delay step 4 until the emulator core is ready to accept key events. However, this would be possible only by using ugly hacks which I want to avoid.

dirkwhoffmann commented 5 years ago

Hopefully fixed in

http://www.dirkwhoffmann.de/virtualc64/VirtualC64_3.3_alpha4.zip

Auto-type and flash events are delayed by 2.5 seconds if they are applied on a "booting" C64. The boot process itself takes approx. 2 seconds.

Please reopen if there are still issues.