Login
Back to forumReply to this topicGo to last reply

Posted By

RKSoft
on 2007-09-09
11:32:42
 Plus4Emu v1.2.2

take a look at http://sourceforge.net/projects/plus4emu happy

Posted By

SVS
on 2007-09-11
15:10:47
 Re: Plus4Emu v1.2.2

Hi IstvanV,
thank u to have added on this release what I asked you for.
I've tested this version, but have some problems with D64 images. Do you confirm me that they work as well?

Posted By

IstvanV
on 2007-09-11
20:13:46
 Re: Plus4Emu v1.2.2

What was the problem ? Do you have an example that does not work ? For me, a quick test of formatting, writing, and reading seemed to be OK.

Posted By

SVS
on 2007-09-12
02:21:41
 Re: Plus4Emu v1.2.2

1) After I have connected a D64 image the speed of emulation lowers to 80% (from 100%);
2) No command to the drive works (even DIR)
3) The red lid of Drive remains on, even after an all-drives disconnection.
4) Without drive the measure of full-speed (ALT-W) achieves a 140% (I got an AMD 3000+)

If you consider these behaviors odd, I could try uninstall and re-install the emulator.
Bye

Posted By

IstvanV
on 2007-09-12
07:08:54
 Re: Plus4Emu v1.2.2

If no command works, and the LED is always on, that means that the drive ROM is possibly not loaded for some reason, e.g. the file is missing/corrupted, or there is an error in the configuration. To fix that, try these:
- open the Machine/Configure... window
- select the Memory tab
- at 'ROM images', check what is set for 1541; it should be roms\dos1541.rom (or roms\dos15412.rom for 1541-II) under the plus4emu installation directory, and the file offset should be zero
- check if the above mentioned files exist, and have a size of 16384 bytes; if there is any problem, just download http://www.sharemation.com/IstvanV/roms/plus4emu_roms.zip, and extract it to the roms\ directory, overwriting any existing files
- you can also reset the memory configuration by loading one of the files (the default is P4_64k_PAL_3PLUS1.cfg) from config\ with 'File/Configuration/Load from ASCII file'

The speed problem is indeed quite odd. On an AMD Athlon64 3200+ (2 GHz), running the Windows build, I get about 610% with the default settings and no floppy drive, 625% with the display quality set to zero, 325% with one 1541 drive and high timing accuracy, 350% with one 1551 drive, and 360% with 1541 and low timing accuracy. 64-bit Linux is about 1.15 times faster. While these are still not very good, I wonder if the difference in the CPUs could result in such a large (more than 4x) slowdown. So, the other possibilities are:
- differences in the operating system (Windows version)
- video driver problem (what happens if you turn off 'Enable display' in Display/Configure... ? for me, that allows the Windows version to run at 750% with no floppy drive)
- maybe the QueryPerformanceCounter() function that is used for timing is not working reliably, as has been reported earlier with some hardware and BIOS versions ?
It could also help if other people posted the maximum speed values on various configurations, so the results can be compared.

Posted By

SVS
on 2007-09-13
04:23:30
 Re: Plus4Emu v1.2.2

Hi!
Well: I managed the matter and yes I've solved the drive' problem by resetting the drive' ROM in the config pattern. Now it works as well.
The visualization of current loading track works, but I suggest to put it not in a separate window, but in the main window (the title bar for example) in order the user views it normally. You could even set a sort of 'progress bar' or any other mode instead of the real track numbers. For example I think the led could switch on/off (not flashing: a real flip/flop when track no. changes).
Regarding the problem of speed. I've only tested it with a busy working PC. I've seen that the showed % is correct because really the emulation is slow. The task uses all the remaining working time of CPU (that is about a 70%). This results in a 65% of emulation, 90% in full speed mode.
By disabling the screen as you suggested, I obtain a 15/20% more speed.
For your info my graphic card is an nVidia 6800 GT.
Thank you and best regards

Posted By

IstvanV
on 2007-09-13
12:03:02
 Re: Plus4Emu v1.2.2

I only have an nVidia 6200, so the card type is probably not the source of your problem (but you can still try running in software mode). It seems that for some reason the emulation performance is consistently about 4 times worse on your machine. You may try disabling the joystick emulation; I do not think it should make any noticeable difference, but there are no other settings left to change (sound is disabled in full speed mode, so that is ruled out, too). I would suggest looking at the task manager, to see if there are e.g. background tasks that cause the slowdown, or if there is a constant full CPU usage even if no floppy emulation or full speed is enabled (e.g. because a thread of the emulator is taking up all the CPU time), but you have apparently already checked that.
Does this slowdown problem also occur in old versions, or was it introduced in some specific version ? Did anyone else experience similar issues ?

I implemented the floppy head position display as a separate window so that it does not take up space on the title or menu bar (since there are up to 12 values). However, I did actually consider adding some simple effect to the drive LEDs - a small bar that moves from the left to the right according to the track number, with black/white color depending on the least significant bit of the track number, and hidden if the head position does not change for a while - but the separate window was easier to implement. But the LED effect could still be implemented in the next version.

Posted By

IstvanV
on 2007-09-13
17:58:55
 Re: Plus4Emu v1.2.2

I have created a stripped down version of the emulator for testing, with no threads, GUI, video, audio output, keyboard, and joystick. It can be downloaded from here:
http://www.sharemation.com/IstvanV/p4enogui.zip
This is a simple command line program that prints the emulation speed percentage to the console in an endless loop. But it does emulate all the hardware components, and uses any configuration settings saved by an earlier run of the "real" emulator, such as D64 files opened, etc. It may be interesting to see if this is still slow.
You can simply extract the .exe file from the package to the plus4emu installation directory, and run it from there (a console window should appear). Note that the uninstaller does not remove it, so you may want to delete the test program when it is no longer used.

Posted By

SVS
on 2007-09-14
05:52:54
 Re: Plus4Emu v1.2.2

Dear IstvanV,
I made some tests on my machine. After had closed any other aplication, I obtain the following results:
a) Without drive image: 130% standard mode; 200% full speed mode;
b) With D64 image connected: 70% standard mode; 100% full speed mode.
The job takes the whole remaining time of CPU, that is for example: if Explorer takes a 7%, Plus4emu takes the 93%. Memory use is about 12 Mb. My PC has a 1 Mb Ram then I do not think it's a memory problem.

I've run the test program you kindly prepared (thanx) and the results are:
a) 123 with Antivirus on;
b) 119 with Antivirus off.

I notices another little point to clarify: the drive' head position displayed seems (?) to indicate more than the effectively read tracks. Could be that it shows also the tracks "on the way" to achieve the destination track?

Ciao (from Italy)

Posted By

IstvanV
on 2007-09-14
08:14:27
 Re: Plus4Emu v1.2.2

Do you mean you get 130% speed when it should be 100% ? That looks like another problem.

The head position display does show the track number changing during a seek. Since the drive is emulated at the hardware level, it simply shows where the physical position of the head would be on a real disk at any time. For this reason, the sector number is not exactly accurate, and is always changing when the motor is on and the disk rotates.

There are two new test programs now (the zip file has been replaced): p4etest2.exe is basically the same as the previous one, but compiled with different flags. p4egprof.exe was built with profiling, and runs for three minutes of emulated (Plus/4) time; after that, it exits, and writes a 'gmon.out' file which you may send to me or upload somewhere. This file contains details about how much time it takes to run each function in the emulator.

Posted By

IstvanV
on 2007-09-14
09:33:06
 Re: Plus4Emu v1.2.2

By the way, the memory usage is lower when using the software video mode.

Posted By

IstvanV
on 2007-09-14
16:31:30
 Re: Plus4Emu v1.2.2

One more thing to test: what is the maximum speed of YAPE on your machine, without any drive emulation, and in the default ("very high") compatibility mode ? It would be interesting to see if the machine is generally slow for some reason, or it just does not like the plus4emu code in particular.

Posted By

SVS
on 2007-09-15
06:56:24
 Re: Plus4Emu v1.2.2

Hi,
>>Do you mean you get 130% speed when it should be 100% ?
Sorry, I made a mistake writing previous post. I rewrite it:

Full speed always on.
a) Without drive image: 130% screen on; 200% screen off;
b) With D64 image connected: 70% screen on; 100% screen off.

Regarding Yape, I used it very much to develope BalSys. I normally obtain a 450% in full speed mode with a 1551 drive (CPU) and a second 1551 (IEC). I can suppose that with no drive connected, I achieve a 700%.

Nextly I'll perform the tests with the new debugger routines, in the maintime goodbye

Posted By

IstvanV
on 2007-09-15
08:40:24
 Re: Plus4Emu v1.2.2

The 450% with a 1551 drive looks normal, and I get about the same. Is your AMD CPU a 64-bit one ?

Posted By

IstvanV
on 2007-09-15
12:29:27
 Re: Plus4Emu v1.2.2

Well, I could assume that the very slow performance might be caused by cache/memory issues, but I have just tried running the Windows version of plus4emu 1.2.2 on a machine that is theoretically much worse than yours (a 1300 MHz Pentium III Celeron with 256MB RAM, nVidia GeForce4 MX video card, and SB Live Value sound card), and it seems to run fine. Without floppy emulation, the maximum speed is about 340-350%, with one 1551 drive it is 210%, with a 1541 it is 180%, and with 1541 and SID emulation it is still 145%. I tried the Chaos demo and it ran smoothly (using a CRT monitor at 100 Hz and double buffered video even looks better than my current LCD monitor that does not support any integer multiples of 50 Hz happy). Given that the Pentium III Celeron also has a quite small cache, it is even more difficult to understand how you get so bad performance.

Posted By

SVS
on 2007-09-16
04:19:12
 Re: Plus4Emu v1.2.2

Hi,
the results of new tests are:
a) Test2: 289 (without disk and sound)
b) Gprof: 159 (without disk and sound)
Please supply me an email address to let me send you the gmon.out file if you need to analyze it.
I've tried many different ROMs configurations but with the same result.
Even changing video modes results is very close to previous ones.
The fact is that it seems Plus4emu uses all the available resourses of CPU (AMD 3000 not 64), so that utilization of CPU is always 100%... (main time 99% only to Plus4emu).
I exclude malware because I successful tested my PC by upadated Spybot yesterday.
Any idea?
Bye

Posted By

IstvanV
on 2007-09-16
06:26:33
 Re: Plus4Emu v1.2.2

The 289 is still bad, but it could be just enough to be usable with disk and maybe SID emulation. After all, it is almost as fast as the 1300 MHz Celeron happy. Should I upload a full Athlon-optimized build to SourceForge (either 1.2.2 or the current SVN which only has color changes and a minor TED fix so far) ?
I think I could try optimizing the serial bus code somewhat in the next release as well.
It is normal for the gprof build to be slower due to the profiling overhead, it is the gmon.out file that is interesting. You can send it to istvan_v at mailbox dot hu, or the SourceForge address shown in the "about" window.
Other than malware, it could be related to hardware/BIOS configuration, but if YAPE does run at the normal speed now, then I do not really know what causes the problem.

Posted By

IstvanV
on 2007-09-16
10:21:10
 Re: Plus4Emu v1.2.2

The Athlon optimized version (built with the same compiler flags as p4etest2.exe) is now available at the download page at http://sourceforge.net/project/showfiles.php?group_id=192837&package_id=226942&release_id=537738. It still does not solve the speed problem, though, but runs somewhat better hopefully.

Posted By

SVS
on 2007-09-21
05:51:20
 Re: Plus4Emu v1.2.2

I've tested the Athlon version. I do not noticed any appreciable difference against standard version.
Still the problem I'm experiencing (slowness) is caused by too much resources requested to CPU by Plus4emu (even with "empty" PC, it asks for 99%).
IstvanV or anybody has idea of the reason, and what other test could I perform?
(Thanx)

Posted By

IstvanV
on 2007-09-21
10:18:28
 Re: Plus4Emu v1.2.2

The CPU specific optimizations do not make a difference of more than a couple of percents for me, either, so I was somewhat surprised when you reported the Athlon optimized build to be ~40% faster earlier (by the way, the original version was compiled to use the instructions of the Pentium II and optimized for the Pentium 4). Maybe that was caused by differences in the configuration, system load, etc. I do not know why it is so slow on your machine, though. It would be interesting to see what the maximum speed is on various machines, so any reports are welcome. Maybe there are performance problems on specific types of CPUs (e.g. the 32-bit AMD you have), or it only occurs on some configurations.

Posted By

siz
on 2007-09-25
10:50:50
 Re: Plus4Emu v1.2.2

I've just tried the Athlon optimized version. (Athlon64 3200+, 2GHz, 1G RAM, 32bit WinXP Home)
In OpenGL mode with one 1541 emulation I got around 160FPS highest (regardless of using SID emulation or not).
In Software mode it's about 290FPS.

(YaPE gives 458%, VICE 2310% with similar settings)

Posted By

IstvanV
on 2007-09-25
11:39:42
 Re: Plus4Emu v1.2.2

If you enable the SID emulation, it will remain active until the next force/hard reset or snapshot loading, and cannot be turned off by clicking "Enable SID emulation" in the menu again. It is also automatically turned on if a SID register is written. The 290% is OK for a 1541 with high timing accuracy, and SID emulation (without SID, it is ~330%. on my machine with the same CPU type and speed). What video card do you use ? The GL mode is not slower than software for me, unless using the highest quality or buffering mode.

Posted By

siz
on 2007-09-25
15:07:41
 Re: Plus4Emu v1.2.2

I use an ATI Radeon X1800GTO. And yes, I noticed the fact that SID remains active, cannot be turned off. happy But I meant that the speed did not change when I turned on SID. (a quick check shows that actually it decreases maximum FPS by around 20% in OpenGL mode)

Posted By

IstvanV
on 2007-09-26
15:00:49
 Re: Plus4Emu v1.2.2

I recall that TLC reported OpenGL mode to perform well only if double buffering is set, and he used an ATI card on Linux. It was a long time ago, though, and the actual card type may have been different.

Posted By

IstvanV
on 2007-09-28
08:47:01
 Re: Plus4Emu v1.2.2

I was able to optimize the 1541 emulation somewhat, but the improvement is minor (a few percents only). Other than that, the already implemented changes are video recording to AVI files, slightly improved colors (particularly in NTSC mode), hopefully better TED sound emulation (mainly non-linear distortion and a few oddities at the $03fe frequency), fixed a bug in the audio output on Windows after turning off full speed mode, and added hue shift control (not very useful, but why not happy). SVS suggested better visualization of floppy track number changes, that still needs to be done. What else should be in 1.2.3 ? I see there is now 6551 emulation in YAPE, is that useful enough to try implementing in the next version ?

Posted By

IstvanV
on 2007-09-30
11:23:54
 Re: Plus4Emu v1.2.2

The simple drive position display (in addition to the info window) is now also done, as shown on this image: http://www.sharemation.com/IstvanV/disk.png. The small white line moves horizontally depending on the track number, and is black when the track number is even. It is hidden when the track/sector position is not changing.
If no one needs the 6551 emulation now, I could build a new release tomorrow.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024