Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user tomek ! (Registered 2024-11-24) You are not logged in - nap
CSDb User Forums


Forums > CSDb Discussions > Emulator checks are evil
2008-05-13 13:15
madcrow
Account closed

Registered: Oct 2003
Posts: 39
Emulator checks are evil

Seriously. I'm stuck in NTSC-land, so all this cool PAL stuff you Euros code is inaccessible to me on real hardware. When you add emulator checks/blocks, you keep "casual" fans who enjoy seeing C64 demos, but don't care to import a PAL '64 and monitor and associated high-end transformers to turn 110V/60Hz into 220V/50Hz from ever seeing cool stuff. So PLEASE ignore the advice in the emulator bugs document and keep on making no-check demos.
--------------------------------------
please have pity on the n00bish emu kiddie responsible for the post above.
 
... 33 posts hidden. Click here to view all posts....
 
2008-05-14 10:37
WVL

Registered: Mar 2002
Posts: 896
Quote: in reality there are many more possibilities than AR or FC. if it was only a matter of AR and FC i think it would have been already emulated in Hoxs64.

about the VIC effects occuring between cycles afaik they are emulated correctly in Hoxs64 to the best of the knowledge of David. for instance Pinball Dreams required a shift of a VIC register delay of 2 pixels (1 quarter of a clock cycle).

Quote:
Only if the emulator is EXACTLY emulating the real thing and the developers have nothing else to do...

But only when they're done... 100% emu has priority!

i doubt that any emu will ever reach the absolute accuracy.

edit:

Quote:
The C64 also dont have sounddelay or stutters when windows like to swap stuff.

The sound delay in a correctly written emulator is kept to a minimum and hardly observable. if your emu stutters when your windows swaps stuff its not a fault of the emulator. the are multiple solutions to the problem including closing any other interfering apps,assigning high priority to the "emu.exe" process in your task manager or just expanding memory in your PC and disabling the swap file.


LoL! Didnt know I already forced David to change the emulation :D Is it the writes to $d01c in the display-area?
2008-05-14 11:50
assiduous
Account closed

Registered: Jun 2007
Posts: 343
Quote:
In theory or practice?
If the quirks aren't detectable by any routine, it's good enough for me, even if in theory there might be a difference with the hardware.

a perfect emulator would display EVERY software released for the C64 pixel exact. if it doesnt then the probability is high that it can be detected by a clever ASM routine. such emulator doesnt exist and i doubt it will ever exist as its plain impossible to test all C64 software in the existence. even if it could be done some details are so tiny it takes a good eye to spot them,many would be overlooked. you must note that several flaws of the emulation havent been exploited yet,creative coders going beyond the standards are likely to stumble upon them.

Quote:
LoL! Didnt know I already forced David to change the emulation :D Is it the writes to $d01c in the display-area?

correct
2008-05-14 20:14
WVL

Registered: Mar 2002
Posts: 896
Just to show that neither Hoxs nor Vice are anywhere close :

Real Thang, Vice or Hoxs?

This will discriminate nicely between a real machine, hoxs 1.0.5.19 and vice 1.22.

You see how easy it is to tell what is what.

Anyway, since the trend seems to be to exclude emulators from running the demos (in the hope that the authors will improve them), I'm seriously thinking to exclude Hoxs to run my next demo, simply by requiring an Action Replay to run.

OOPSIE :D apparently new VIC's seem to behave the same way as Hoxs, but I have no way to test a new VIC.. Anyway, old CMOS VIC should be the standard ;) Since HOXS doesnt emulate new VIC, as there are no grey dots.
2008-05-14 23:17
Oswald

Registered: Apr 2002
Posts: 5086
I will have to resort to watch your demo on a youtube cap then or something :) anyways whats good in shrinking your audience, even putting efforts into it ?
2008-05-15 09:52
assiduous
Account closed

Registered: Jun 2007
Posts: 343
Quote:
You see how easy it is to tell what is what.

not that easy as you already know. the 4 pixel shift on $d016 writes introduced in Hoxs64 v1.0.5.19 seems to behave in a slightly different manner on the 8565 compared to the 6569. Ive seen software that displays a 4 pixel glitch on the breadbin while no glitch atall is shown on the C64C. Hoxs64 displays no glitch in v1.0.5.19. you've probably exploited this difference and your real VIC detector became a 6569 detector in effect.

one thing needs a further investigation though- heres how the glitch would look on my C64C:



Hoxs64:



this will need to be corrected if David decides to go further down the 8565 route.

you wrote in the comments that the screenshot from VICE looks wrong. how does it differ from the breadbin ? i have no breadbin to check my self.

Quote:
Anyway, old CMOS VIC should be the standard ;) Since HOXS doesnt emulate new VIC, as there are no grey dots.

not really,the VIC-II in Hoxs64 is quite like the 8565 but without the grey dots. other tiny differences between the old and the new VIC exist,your detector fails on one of them.
2008-05-15 12:04
enthusi

Registered: May 2004
Posts: 677
ec64:


How is it supposed to look after all?
2008-05-15 12:41
WVL

Registered: Mar 2002
Posts: 896
Quote: Quote:
You see how easy it is to tell what is what.

not that easy as you already know. the 4 pixel shift on $d016 writes introduced in Hoxs64 v1.0.5.19 seems to behave in a slightly different manner on the 8565 compared to the 6569. Ive seen software that displays a 4 pixel glitch on the breadbin while no glitch atall is shown on the C64C. Hoxs64 displays no glitch in v1.0.5.19. you've probably exploited this difference and your real VIC detector became a 6569 detector in effect.

one thing needs a further investigation though- heres how the glitch would look on my C64C:



Hoxs64:



this will need to be corrected if David decides to go further down the 8565 route.

you wrote in the comments that the screenshot from VICE looks wrong. how does it differ from the breadbin ? i have no breadbin to check my self.

Quote:
Anyway, old CMOS VIC should be the standard ;) Since HOXS doesnt emulate new VIC, as there are no grey dots.

not really,the VIC-II in Hoxs64 is quite like the 8565 but without the grey dots. other tiny differences between the old and the new VIC exist,your detector fails on one of them.


There's the white one-pixel sprite at the right top. In your vice screenshot, there's 3 yellow pixels around it and those shouldnt be there..

Anyway, the major difference is also in the 2nd set of orange 'bars'. Mine looks like your shot from the real c64.

I didnt know there was a difference between the NMOS and CMOS VICS regarding these things :P Is there any document about it?
2008-05-15 12:44
WVL

Registered: Mar 2002
Posts: 896
Quote: ec64:


How is it supposed to look after all?


OMG! that looks even more wrong :D

I see green in your screenshot, and that definately should not be there. Also the bottom 'mess' looks 1 cycle shifted to the right.
2008-05-15 12:55
assiduous
Account closed

Registered: Jun 2007
Posts: 343
Quote:
There's the white one-pixel sprite at the right top. In your vice screenshot, there's 3 yellow pixels around it and those shouldnt be there..

hmmm im puzzled now. these 3 yellow pixels are present in Hoxs64 upto v1.0.5.18 where a real C64 is detected. in v1.0.5.19 these pixels have disappeared (cant see any other difference) and it is now detected as Hoxs. what does your routine check for if not these yellow pixels ? i thought the logic was: if the 3 yellow pixels are present then report it as a real C64.

EDIT:
Quote:
I didnt know there was a difference between the NMOS and CMOS VICS regarding these things :P Is there any document about it?
no,its undocumented afaik.
2008-05-15 13:08
WVL

Registered: Mar 2002
Posts: 896
Quote: Quote:
There's the white one-pixel sprite at the right top. In your vice screenshot, there's 3 yellow pixels around it and those shouldnt be there..

hmmm im puzzled now. these 3 yellow pixels are present in Hoxs64 upto v1.0.5.18 where a real C64 is detected. in v1.0.5.19 these pixels have disappeared (cant see any other difference) and it is now detected as Hoxs. what does your routine check for if not these yellow pixels ? i thought the logic was: if the 3 yellow pixels are present then report it as a real C64.

EDIT:
Quote:
I didnt know there was a difference between the NMOS and CMOS VICS regarding these things :P Is there any document about it?
no,its undocumented afaik.


Let me think.

Yellow pixels are %01, so they count as background. The should not give a detection. As you can see in the hoxs screenshot you posted, the pixel below my sprite pixel is now orange-colored. -> orange is a %1 pixel, so does give a hit (hoxs detected). Vice has a yellow pixel there -> no hit == vice detected (or real machine).

On the left there's an area which looks the same, i have a red sprite pixel there. In your Hoxs screenshot, there's a yellow pixel underneath -> no hit. So the combination of left = no hit and right = hit tells me it is Hoxs.

My old vic seems to have no hit on the right OR left side.. Basically there's %0 beneath my white sprite pixel.


Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
wacek/arise
Hoild/Ultimate Newco..
Scooby/G★P/Light
Mojzesh/TGR🇬🇧
grass/LETHARGY
icon/The Silents, Sp..
TheRyk/MYD!
Gildan Jondal/Suicyc..
iAN CooG/HVSC
katon/Lepsi De
FABS/HF
Scorpie/F4CG
Scrap/Genesis Project
Hagar/The Supply Team
zscs
psych
astaroth/TRSI
mutetus/Ald ^ Ons
lotus_skylight
wil
t0m3000/hf^boom!^ibx
Guests online: 123
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 The Demo Coder  (9.6)
8 Wonderland XIV  (9.6)
9 Comaland 100%  (9.6)
10 No Bounds  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Censor Design  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.04 sec.