should be fixed in latest nightly
Good find, thanks. Something seems to be wrong with the update. I'll fix it.
Debug Monitor shows inconsistent RAM contents compared to actual memory (SMON verification)
Debug Monitor shows inconsistent RAM contents compared to actual memory (SMON verification)
Problem with 1581-drive floppy sound
Fire King glitching up
We're talking past each other. It works perfectly fine as I described. If you find "0" confusing, use "c". Then it will match the game's internal labeling. But exactly this, some users wanted to have in this eab.abime thread. Look here, for example: https://eab.abime.net/showpost.php?p=1754735&postcount=578 That's not the intended purpose of the function, but rather a circumstance that has arisen. However, in your previous post, one got the impression that you were reducing the function to that....
Fire King glitching up
We're talking past each other. It works perfectly fine as I described. If you find "0" confusing, use "c". Then it will match the game's internal labeling. This is exactly that nonsense, I wrote about and it seems, that the latest changes in the search-mechanism, was made because of such useless suggestions and because of these latest changes, we now have the problems with bootdisk-software. That's not the intended purpose of the function, but rather a circumstance that has arisen. However, in your...
because then this disk "0" is the first disk of the set in the disksearch-mechanism ("0" is before "a" (and also before 1, if numbers were used)), but it must be the third disk, because normally this disk is disk 3 (or disk c, if you use letters) What exactly is your problem? Are you bothered by the file order in File Explorer? It works perfectly fine with Disk "0" or "C" in the filename. We're somehow talking past each other. Or you're seriously claiming, that it's normal and makes sense for someone,...
because then this disk "0" is the first disk of the set in the disksearch-mechanism ("0" is before "a" (and also before 1, if numbers were used)), but it must be the third disk, because normally this disk is disk 3 (or disk c, if you use letters) What exactly is your problem? Are you bothered by the file order in File Explorer? It works perfectly fine with Disk "0" or "C" in the filename. We're somehow talking past each other. Or you're seriously claiming, that it's normal and makes sense for someone,...
I already thought about this, at the beginning, before I even reported this problem here. But only replacing '(boot)' with '0' would only work for such bootdisk games (or demos), in which this bootdisk really is the first disk of such a software. But as we already know, there are also games, in which this isn't the case (for example my 'California Games' disks) and here this would not work. Therefore this is also not a real solution. if one is not willing to compromise... How much software with a...
I already thought about this, at the beginning, before I even reported this problem here. But only replacing '(boot)' with '0' would only work for such bootdisk games (or demos), in which this bootdisk really is the first disk of such a software. But as we already know, there are also games, in which this isn't the case (for example my 'California Games' disks) and here this would not work. Therefore this is also not a real solution. if one is not willing to compromise... How much software with a...
The best thing to do is replace "boot" with 0. Then it should work. I would advise against further modifications for now, as something else will probably stop working. This is a good application for AI. It could be trained on all naming conventions with the goal of eliminating the need for anyone to rename their files.
The latest nightly build includes a graphical debugger for C64 and SuperCPU. floppy CPU is not yet included.
[requested] Shaders.
Contact
CRT file unsupported
How can I switch the emulated 1351-mouse to joystick-mode, in Denise?
This should be fixed in the current nightly build.
Okay, I'll add residFP to the to-do list.
This is a nasty bug in VIA emulation. The write operation is terminated by switching from CB2 output to input. The pin becomes high-impedance. (don't emulate this) Please do not confirm the write operation until the bug is fixed or the disk is broken.
This is a nasty bug in VIA emulation. The write operation is terminated by switching from CB2 output to input. The pin becomes high-impedance. Please do not confirm the write operation until the bug is fixed or the disk is broken.
Wish: Emulator Crash with AR6 for specific program
1571 emulation accuracy
Incompatibility of the Warp (normal and aggressive) in Amiga emulation of Denise
Spy Hunter Glitch
Probably a problem in Denise with the new Amiga-demo "Bacon of Hope"?
CIA ICR bug when switching serial port direction
but then it should no longer be claimed, that Denise fully works with Win7, if you don't feel like fixing bugs for this operating system anymore. Again, FSE has been removed from Denise. Therefore, there is no compatibility issue with Win7 and XP ...
Problem in newer Denise versions found, when combination "Exclusive Fullscreen" and "Direct3D9" is used
but then it should no longer be claimed, that Denise fully works with Win7, if you don't feel like fixing bugs for this operating system anymore. Again, FSE has been removed from Denise. Therefore, there is no compatibility issue.
but then it should no longer be claimed, that Denise fully works with Win7, if you don't feel like fixing bugs for this operating system anymore. Again, FSE has been removed from Denise. Therefore, there is no compatibility issue. Just in case it needed mentioning.
Joysticks problem
Two problems in the new 1581-drive emulation found
Gamepad ID
Screenshot only saves in default
VIC20 Support
This bug-report here however, is about a problem, that came into Denise in version 2.4 or 2.5 and then a "won't fix" is somewhat problematic, since it used to work perfectly, up to version 2.3 and it seems to be some kind of D3D9 problem with the window-mode in Win7, that should be fixable, without bringing in new problems for D3D11 users. I assume you're a programmer and can assess this. Now one might say: "Not many people use Win7 anymore", which may be true in some way, but on the other side,...
Problem in newer Denise versions found, when combination "Exclusive Fullscreen" and "Direct3D9" is used
But a fixed wrong value is just wrong 😉 and tickles my OCD As an interim solution, the ideal value is now used. To ensure that not every flank (20 ms) has the exact same cycle length when the mains frequency changes, a few cycles are alternately added to and subtracted from the ideal value. This way, the average cycle length always remains the ideal length. at least it should now be a fixed right value. :-) auto init( unsigned ticksPerSecond, unsigned powerFrequency ) -> void { this->ticksPerSecond...
But a fixed wrong value is just wrong 😉 and tickles my OCD As an interim solution, the ideal value is now used. To ensure that not every flank (20 ms) has the exact same cycle length when the mains frequency changes, a few cycles are alternately added to and subtracted from the ideal value. This way, the average cycle length always remains the ideal length. at least it should now be a fixed right value. :-)
[Feature request] Machine code monitor.
Exclusive fullscreen mode doesn't work reliably (it never has), depending on the settings in Denise and the Windows version. Windows 10/11 has an automatic replacement (FSO) for this, and FSE should no longer be used. If I change something else, something else will break, and eventually someone will notice. I'm fed up with it. Currently, I see no way to get this working reliably. Sorry.
depends on uninitialized memory: configuration -> memory
I will remove all srand(time(NULL)) + rand() code from Denise (from time to time). The TOD counter is one of these. This type of random number generation is neither efficient nor reliable. Furthermore, the exact state cannot be restored during debugging. I will replace this with an XOR shifter. This, like rand(), isn't true randomness, but it generates the exact same internal emulator state without any external influence, such as a key press. Admittedly, this isn't realistic, but it's not wrong either....
I will remove all srand(time(NULL)) + rand() code from Denise (from time to time). The TOD counter is one of these. This type of random number generation is neither efficient nor reliable. Furthermore, the exact state cannot be restored during debugging. I will replace this with an XOR shifter. This, like rand(), isn't true randomness, but it generates the exact same internal emulator state without any external influence, such as a key press. Admittedly, this isn't realistic, but it's not wrong either....
I will remove all srand(time(NULL)) + rand() code from Denise (from time to time). The TOD counter is one of these. This type of random number generation is neither efficient nor reliable. Furthermore, the exact state cannot be restored during debugging. I will replace this with an XOR shifter. This, like rand(), isn't true randomness, but it generates the exact same internal emulator state without any external influence, such as a key press. Admittedly, this isn't realistic, but it's not wrong either....
The code for calculating the cycles between power supply frequency changes is quite old. It calculates the quotient of the CPU frequency and the power supply frequency, e.g., PAL: 985248 / 50 or NTSC: 1022730 / 60. A small random fluctuation is added on top. A fixed value should also be avoided in emulation. What do you suggest?
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
the game runs, as long as no WARP (whether normal or aggressive) is used, also with 512kb chipram + 512kb fastram, Kickstart 1.3, one drive and OCS. when WARP is used in Denise (no matter if normal or aggressive WARP), the game only produces graphical garbage. but when the user set 1MB chipram, then it works without garbage, even when a WARP is used in Denise (rest of the config again is Kickstart 1.3, OCS chipset and only one drive). For me, the situation is exactly the opposite. With 1 MB of chip...
Whatever the problem is, it is highly unlikely to be an emulator problem, since only the OS decides whether an APP is authorized to write to a specific folder.
With the method you're describing however, the user always has to take action afterward and insert the following disks manually That's obvious, but that's not the point. I think everyone understands that if all disks are inserted at startup and additional drives are supported, fewer subsequent disk swaps will be necessary. If the game supports multiple drives, you can insert the disks into the free drives later. Most of the time, you don't need all four disks. It's not like you have to constantly...
With the method you're describing however, the user always has to take action afterward and insert the following disks manually That's obvious, but that's not the point. I think everyone understands that if all disks are inserted at startup and additional drives are supported, fewer subsequent disk swaps will be necessary. If the game supports multiple drives, you can insert the disks into the free drives later. Most of the time, you don't need all four disks. It's not like you have to constantly...
The version I randomly downloaded from CSDB works. (Smoke bomb) Possible reasons: Broken version; test in a different emulator or, better yet, confirm on the real device. maybe depends on uninitialized memory (try a different pre-configuration under Configuration -> Memory; this requires reloading the game; loading a save game is not sufficient).
The version I randomly downloaded from CSDB works. Possible reasons: Broken version; test in a different emulator or, better yet, confirm on the real device. maybe depends on uninitialized memory (try a different pre-configuration under Configuration -> Memory; this requires reloading the game; loading a save game is not sufficient).
WIC64 is on todo list
Yes, that's planned but it takes a while. next tasks: v2.8: Debugger / Disassembler for Amiga, C64 and SuperCPU v2.9: 68020 CPU for Amiga
Yes, that's planned but it takes a while. next tasks: v2.8: Debugger / Disassembler v2.9: 68020 CPU for Amiga
If you insert up to four disks for each game, your suggestion will certainly speed things up. Knowing that this is always the best approach That sounds rather self-righteous, I doubt that the majority of users will proceed this way if it's unclear whether the game supports multiple drives. In most cases, the first two disks are sufficient; if you want to continue playing, the next disk can be inserted later. I don't want Denise to become a jungle of options, most of which are unclear in terms of...
Why don't you select all four game disks at once using D'n'D and drag them all into the Denise window in one go? Furthermore, subsequent disks can be inserted via hotkey, and another hotkey "select disk drive" can be used to control which drive the subsequent disks are inserted into.
Why don't you select all four game disks at once using D&D and drag them all into the Denise window in one go? Furthermore, subsequent disks can be inserted via hotkey, and another hotkey "select disk drive" can be used to control which drive the subsequent disks are inserted into.
SD2IEC support?
Obviously, nobody wants to implement this feature.
new nightly fixes both bugs - extra bacon logo - when left coloured twister is showing a few seconds later. ... background dots are still displayed.
I'm pleased that groups and discussions about Denise are springing up in various places, and it shows me that I'm not just developing the emulator to fulfill my own needs, but that other people are also spending some of their time with it. Over time, I've given several interviews, separately for C64 and Amiga emulation, and discussed numerous posts, feature requests, and improvements. My limited free time is currently barely enough for further development. One can find me on forum64 and eab.abime.net....
look at the "nfo" link at the upper right on Pouet page of this demo. There's a description of the error in Denise there. It says it affects the "Twister part". I'll take a look at it as soon as I have time.
look at the "nfo" link at the upper right on Pouet page of this demo. There's a description of the error in Denise there. It says it affects the "Twiser part". I'll take a look at it as soon as I have time.
That's certainly a subjective assessment, as it's not true. In recent years, several adjustments have been made to reSID (from author of reSIDfp, It seems), which I've incorporated into Denise. (last year) The differences mentioned by the author compared to residfp seem rather minor. I wonder if the effort is worthwhile.
That's certainly a subjective assessment, as it's not true. In recent years, several adjustments have been made to reSID (from author of reSIDfp, It seems), which I've incorporated into Denise. The differences mentioned by the author compared to residfp seem rather minor. I wonder if the effort is worthwhile.
if ((sdrShiftCount > 1 && sdrShiftCount < 15) || (sdrShiftCount == 15 && !(delay & CIA_CNT2)) { events.add( &finishSdr, 2, Emulator::SystemTimer::Action::UpdateExisting ); } Thank you, that works well and I've added it. if (0 /* This code path is for the outlier CIA chips marked 6526 4485 */) I just noticed that the testbench has been changed so that "4485" is no longer set as the default for old CIA serial direction change tests. I think that's good, since "4485" is the exception. A few years ago,...
The installer installs following Dependencies: libgtk-3-0,libpulse0,libudev1,libxcb-xinput0,libxcb-xfixes0,libmp3lame0 One of them might be causing a problem in your system.
One could implement it so that as soon as the configuration contains media, it is started if no CRT is selected in the configuration. Priority: Disk/Tape/PRG I'll add it to the to-do list.
I was able to use Denise 2.7 in Mint Cinnamon 22.2 without any problems. An incorrect setting might be causing the issue. You could try renaming the Denise settings files "C64_settings, Amiga_settings, global_settings" in the .config folder. This will revert to the default settings. If it then works without problems, please send me the problematic config files. "Installed-Size is not available KiB" This is just display information. I'll see if I can change it.
I was able to use Denise 2.7 in Mint Cinnamon 22.2 without any problems. An incorrect setting might be causing the issue. You could try renaming the Denise settings files in the .config folder. This will revert to the default settings. If it then works without problems, please send me the problematic config files. "Installed-Size is not available KiB" This is just display information. I'll see if I can change it.
Impossible installation on Linux
I'll leave the ticket open and as soon as I have time, I'll install a Linux system with Ubuntu 24.04 as a base and see if I can reproduce the problem.
This version is for Linux with Ubuntu 22.04 as the base. Ignore the 20.04 in the filename, I forgot to rename it. Cinnamon 22.2 is based on Ubuntu 24.04 and requires a separate DEB package. But you can easily build it from the source code. Install dependencies. Most will already be installed. sudo apt install libgtk-3-dev sudo apt install mesa-common-dev sudo apt install libpulse-dev sudo apt install libudev-dev sudo apt install libxcb-xinput-dev && apt install libxcb-xfixes0 sudo apt install libusb-1.0-0-dev...
The following patch only affects the 85xx emulation. Index: src/viciisc/vicii-draw-cycle.c =================================================================== --- src/viciisc/vicii-draw-cycle.c (Revision 45887) +++ src/viciisc/vicii-draw-cycle.c (Arbeitskopie) @@ -367,9 +367,11 @@ sbuf_pixel_reg[s] = (uint8_t)((sbuf_reg[s] >> 22) & 0x03); } sbuf_mc_flops ^= m; - } else { + } else if ((sbuf_mc_flops & m) || vicii.color_latency) { /* fetch 1 bit and make it 0 or 2 */ sbuf_pixel_reg[s] = (uint8_t)(((sbuf_reg[s]...
[Feature request] Support for KCS Power Cartridge
Thank you, I've added it. Nightly should be built. A few more hints for carts. - constructor: do not use system functions such as "changeExpansionPortMemoryMode", as not everything may be initialized at this time. - BIN compatibility: CRTs can be converted to BINs using "cartconv". BINs do not contain information about the cart's structure. This information must be added using "assumeChips", if the chunks are not 8k. I haven't tested this with KCS or Structured Basic, but it should work in both cases,...
Thank you, I've added it. Nightly should be built. A few more hints for carts. - constructor: do not use system functions such as "changeExpansionPortMemoryMode", as not everything may be initialized at this time. BIN compatibility: CRTs can be converted to BINs using "cartconv". BINs do not contain information about the cart's structure. This information must be added using "assumeChips", if the chunks are not 8k. I haven't tested this with KCS or Structured Basic, but it should work in both cases,...
Thank you for your work. I'll integrate it in a few days.
already on todo list.
Save Joypad Profiles.
Hardware SID: USBSID-Pico support
[Feature request] Support for KCS Power Cartridge
Okay. I'll put the ticket on "pending" until I or someone else has time for it.
Home
when your current (logged in) Windows user can write to this folder, then Denise should it too.
That works for me. Does the emulator crash, or does no image appear in that folder? The emulator might not have write permissions to that folder.
UI Language different
Patch: Structured Basic (.CRT) Cartridge Support
Please use the option to save configurations.
I've applied the diff. Can you please check if it works? Thanks again.
Hi, nice, thank you. I'll add it this weekend and get back to you to test it.