Welcome, Guest. Please login or register.

Author Topic: Is Amiga Emulation better than the real thing?  (Read 18446 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Is Amiga Emulation better than the real thing?
« Reply #194 from previous page: January 23, 2009, 02:37:31 PM »
Quote

amigaksi wrote:
Good so you agee you do need to synchronize emulation to the electron beam.  This translates to having something that can time things at 3.58Mhz or greater.  But you're wrong that it's used in most emulators as there's no way to run the corresponding number of cycles with respect to their own clocks without an accurate timer.  Remember that current processors based on caching, power management, dynamic frequency shifts, etc. can give different cycle counts running the same exact code.


"Cycles" in this case is the number of cycles the hardware in question would have completed given a particular number of pixels. It's not based on timers. And caches etc won't have any impact whatsoever on that value, since it's a relationship between the subsystems in the emulated context. You're confusing the "real" CPU with the emulated dito. The emulated CPU can run perfectly in sync with the emulated hardware regardles of performance fluctuations in the host environment.

It's like this. You know how many cycles a particular subsystem would complete during e.g. 16 pixels. In case of the CPU, let's say it's 4. Another hypothetical device completes 12 cycles during the same time span. You let the emulated CPU run 4 emulated cycles. Then you run the other hypothetical device for 12 cycles. Then you draw 16 pixels. Then you repeat this process. If needed, you can increase the resolution of this approach even further down to 1 cycle, but in many cases this is not necessary since the subsystems in question require a certain number of cycles for each task. If the granularity is right, the behavior and interaction between the subsystems in the emulator will equal that of their hardware counterparts. You've achieved cycle accuracy in the emulated context.

Quote
If on an Atari 800, I plot a pixel each time the CRT reaches point A, B, C, etc. on the screen, it resolves to a certain frequency.  That frequency will not be the same if you use FAKE time.


In the emulated context - and that's what we're discussing - it'll have the same frequency as the original. The application cannot detect the difference, nor does the user - given that the emulator runs fast enough.

Quote
I think we have different definitions of emulation.


Amigaski - I do get what you're after - but you've got the terms "emulation" and "cycle accuracy" wrong. I go by the common definition, and you clearly have your own one. Check wikipedia, for example. It'll confirm my definition of the word "emulator".

I claim that it's possible to emulate an Amiga or a A800 percectly accurate - and the definition of accurate in this case means A: the software can't tell the difference between an emulated machine and a real one, and B: the user perceives the framerate, response time etc. as a real machine.

I suspect that your definition is a comparison in real time - where the emulated machine won't be perfectly in sync with a "real" one at any given moment. Problem is, this is not even true for two "real" machines, given different hardware revisions, CPUs - it's not even true for two identical machines due to clock drifting.

Quote
>>Just read what you wrote-- where's the argument? All you did was give your opinion. If I simulate a 10-bit DAC on an OCS Amiga using Volume registers and AUDxDAT, you better get your fake time cycles to correspond to real time cycles else the output will be "bull" as you put it. That's just one example just to see if you'll insult me or reply logically.


I did answer that, at least I was under the impression that I did. The solution is pretty fundamental and you'll find the same kind of coding techniques in any modern music application. You use buffering - one buffer is calculated while another one is being replayed. This causes a slight sound latency, depending on buffer size. Given that the sound emulation catches register changes at a per sample basis, it'll sound like the original. On top of that you can apply filters etc. to mimic analog filters etc. present on the original sound hardware. Faster systems can have a smaller buffer, and hence less latency, naturally.

Quote

But your emulator won't buffer up writes to volume registers done via some IRQ/Copper unless it knows the timing of the IRQ/Copper and that it's audio; it would be bufferring up DAC data going to AUDxDat.


But the emulator will know the timing of the IRQ/Copper and the audio circuitry - in relation to eachother. It doesn't do that by keeping some hardware timer, it does so by keeping track of the cycle count of each subsystem. That cycle count is then synchronized to "real life" by means of throttling, at regular intervals.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: Is Amiga Emulation better than the real thing?
« Reply #195 on: January 23, 2009, 02:52:42 PM »
Quote
I claim that it's possible to emulate an Amiga or a A800 percectly accurate


Of course it is possible.  Just because it has never actually happened does not mean that it is not possible.

I claim that it is possible to move from point A to point B at 256x the speed of light.  Just because it has never actually happened does not mean that it is not possible.

Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #196 on: January 25, 2009, 09:09:20 PM »
by bloodline on 2009/1/23 9:13:16

amigaksi wrote:
>>>As long as the VHPOSR and the counter are synchronized to the same clock, then the effect would be the same as on the real hardware, taking your unstated assumption that they are synchronized to the same clock on the real hardware...

>>Hey, we agreed on something. Just name the clock or register on the PC that you would use.

>Given this is a display issue, I would sync it with a virtual electron beam, as Long as the PC can perform all the operations required by the emulator before the real hardware could do it, then by the time of the screen refresh (the point where both the emulator and real hardware interface with the human), the states of the Emulator and the real machine would be identical.

>-Edit- @Chaoslord

If you had the Amiga VBI perfectly synched to PC VBI, than you would be resynching every 1/60 second, but still what happens in between those refreshes will be out of sync given different cycles times.  Usually, PC VBI isn't the same rate as Amiga VBI and PC emulation has the latency to begin with and may also be out of phase.
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #197 on: January 25, 2009, 09:13:23 PM »
>by ChaosLord on 2009/1/23 9:26:18

>@Amigaski

>I am currently trying to port my game from real Amigas over to WinUAE/UAE/etc.

>One of the things I do is like this:

>IF (UAE) THEN
  // don't bother reading VPOSR on WinUAE. No point.
>ELSE
  // take VPOSR into account when drawing realtime gfx
>END_IF


>Am I doing the correct thing?

I don't program for the UAE platform specifically so I don't know what they are substituting for the VHPOSR register.  In the example, I was using it to time something so it's better to put something in than nothing.
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #198 on: January 25, 2009, 09:33:58 PM »
>by shoggoth on 2009/1/23 9:37:31

>>amigaksi wrote:
>>Good so you agee you do need to synchronize emulation to the electron beam. This translates to having something that can time things at 3.58Mhz or greater. But you're wrong that it's used in most emulators as there's no way to run the corresponding number of cycles with respect to their own clocks without an accurate timer. Remember that current processors based on caching, power management, dynamic frequency shifts, etc. can give different cycle counts running the same exact code.

>"Cycles" in this case is the number of cycles the hardware in question would have completed given a particular number of pixels...

>It's like this. You know how many cycles a particular subsystem would complete during e.g. 16 pixels. In case of the CPU, let's say it's 4. Another hypothetical device completes 12 cycles during the same time span...
certain number of cycles for each task. If the granularity is right, the behavior and interaction between the subsystems in the emulator will equal that of their hardware counterparts. You've achieved cycle accuracy in the emulated context.

I agree in the "emulated context" (fake time) you have (basically everything was done in order).  The only problem you would have in the emulated context is if the cycles become fractional for a subsystem.  However, this is not cycle accuracy if the time elapsed makes a difference like in the audio example I gave or even in the VHPOSR if timing adds up to a critical value.

>>If on an Atari 800, I plot a pixel each time the CRT reaches point A, B, C, etc. on the screen, it resolves to a certain frequency. That frequency will not be the same if you use FAKE time.

>In the emulated context - and that's what we're discussing - it'll have the same frequency as the original. The application cannot detect the difference, nor does the user - given that the emulator runs fast enough.

The application cannot detect the difference but user can if the elapsed time for the cycle makes a difference.  You are synching up during refresh but humans can detect much higher frequencies than 60Hz especially for audio and even the 60Hz has latency and may be phase shifted and not exactly 60Hz (which it is not in NTSC).

>I claim that it's possible to emulate an Amiga or a A800 percectly accurate - and the definition of accurate in this case means A: the software can't tell the difference between an emulated machine and a real one, and B: the user perceives the framerate, response time etc. as a real machine.

This is where we differ; user may get close to the real framerate (depends on hardware support), but response time will always have the minimum of 1/60 latency.  And other things will also have latency or be perceived to be different depending on hardware support.

>I suspect that your definition is a comparison in real time - where the emulated machine won't be perfectly in sync with a "real" one at any given moment. Problem is, this is not even true for two "real" machines, given different hardware revisions, CPUs - it's not even true for two identical machines due to clock drifting.

Sorry, but if you do Copper-based, IRQ-based, Audio Intr-based, etc. operations on any Amiga (OCS, ECS, AGA), you are in-sync on a per cycle basis.  Yes, the CPU varies in speed, but your emulation is not just a CPU speed enhancer.  No clock drifting in Copper, IRQs, Audio Interrupts, and other things based on their hardware spec.

>...calculated while another one is being replayed. This causes a slight sound latency, depending on buffer size. Given that the sound emulation catches register changes at a per sample basis, it'll sound like the original. On top of that you can apply filters etc. to mimic analog filters etc. present on the original sound hardware. Faster systems can have a smaller buffer, and hence less latency, naturally.

Latency is always there unless you are doing cycle by cycle emulation in real-time AND your hardware supports similar audio registers to that on the Amiga.  Another problems is that you don't know what the user may modify dynamically so you don't know which registers to buffer up.

>But the emulator will know the timing of the IRQ/Copper and the audio circuitry - in relation to eachother. It doesn't do that by keeping some hardware timer, it does so by keeping track of the cycle count of each subsystem. That cycle count is then synchronized to "real life" by means of throttling, at regular intervals.

If it does not buffer it up, it needs an accurate timer.  If it can guess to buffer up, it has latency.

--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #199 on: January 25, 2009, 09:42:34 PM »
>by ChaosLord on 2009/1/23 9:52:42

>>I claim that it's possible to emulate an Amiga or a A800 percectly accurate

>Of course it is possible. Just because it has never actually happened does not mean that it is not possible.

His definition of emulation is the ATTEMPT to mimic the machine and for it to be accurate all its cycles (using fake time) of various subsystems are in chronological order in right ratios.  Then the "MAGICAL" WM_TIMER will come and put everything in real-time order and you won't notice the difference from the real machine.

>I claim that it is possible to move from point A to point B at 256x the speed of light. Just because it has never actually happened does not mean that it is not possible.

He was taking it out of context; I stated that it's impossible to emulate the Atari/Amiga given the standard PC hardware like 1.19Mhz timer, 2-channel audio card, zero sprites, etc.  Taking your example, traveling from A to B at 256X the speed of light IS impossible using today's rocket.  

Sorry, for the delay in replying but this thread has a latency of 1 year.  
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #200 on: January 25, 2009, 09:48:05 PM »
>Amigaski - I do get what you're after - but you've got the terms "emulation" and "cycle accuracy" wrong. I go by the common definition, and you clearly have your own one. Check wikipedia, for example. It'll confirm my definition of the word "emulator".

One more thing; it's not my definition.  Emulate means to equal or excel in the dictionary.  And this thread is discussing whether emulation is better than the real thing so my definition makes sense.  Cycle accuracy can also mean 1/7.16Mhz (140 ns).
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Is Amiga Emulation better than the real thing?
« Reply #201 on: January 27, 2009, 09:23:42 AM »
Quote

amigaksi wrote:
One more thing; it's not my definition.  Emulate means to equal or excel in the dictionary.  And this thread is discussing whether emulation is better than the real thing so my definition makes sense.  Cycle accuracy can also mean 1/7.16Mhz (140 ns).


You obviously don't know how to read a dictionary either.

http://dictionary.reference.com/search?q=emulate
http://www.thefreedictionary.com/emulate
http://www.merriam-webster.com/dictionary/emulator
http://encarta.msn.com/dictionary_/emulator.html

In the context of computers, emulation does *not* mean "to equal or excel". You've chosen a definition intended for *behavioral* *science*, and while that might suit your twisted view of things, it's about as wrong as things get. Maybe - just maybe - you should use a definition which can be considered to be the *correct* one from a linguistic point of view.

I think wikipedia makes it quite clear. The following link is about computer emulation: http://en.wikipedia.org/wiki/Emulator

The following link is about behavior science, which is the definition you're using: http://en.wikipedia.org/wiki/Emulation_(observational_learning)

This is getting sillier than I could ever imagine. I don't know why I even bother. Judging by your previous posts, I guess you won't check those links - simply because "you already know better". Please grow up. I mean honestly. Please.

EDIT: Don't blame me for getting of topic. I'm merely trying to correct some *very* inaccurate posts about how emulators work. I find that highly relevant in this context.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Is Amiga Emulation better than the real thing?
« Reply #202 on: January 27, 2009, 09:38:55 AM »
Quote

amigaksi wrote:
by bloodline on 2009/1/23 9:13:16

amigaksi wrote:
>>>As long as the VHPOSR and the counter are synchronized to the same clock, then the effect would be the same as on the real hardware, taking your unstated assumption that they are synchronized to the same clock on the real hardware...

>>Hey, we agreed on something. Just name the clock or register on the PC that you would use.

>Given this is a display issue, I would sync it with a virtual electron beam, as Long as the PC can perform all the operations required by the emulator before the real hardware could do it, then by the time of the screen refresh (the point where both the emulator and real hardware interface with the human), the states of the Emulator and the real machine would be identical.

>-Edit- @Chaoslord

If you had the Amiga VBI perfectly synched to PC VBI, than you would be resynching every 1/60 second, but still what happens in between those refreshes will be out of sync given different cycles times.  Usually, PC VBI isn't the same rate as Amiga VBI and PC emulation has the latency to begin with and may also be out of phase.


I'm not even sure anything you just said made any sense... But hey ho... I can easily run my gfx cards at 60hz, then use the gfx card's VBI to sync the emulation's virtual VBI to the real world... That would give me a nice NTSC emulation. But if I want a 50hz interrupt for PAL emulation, then I would run the gfx card at 100hz and sync the emulation every two real frames. Given the fact that re granularity of this system is based on the frame rate, since a human being's senses are being refreshed at 50/60hz on both the real and emulated Amiga (and the fact that a PC can do all work that a real Amiga can normally do in 25ms, in ~1ms so it spends most of it's time just waiting for the sync), the emulation and real Amiga will be in the same state WRT the user at all times. This really is elementary stuff...

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Is Amiga Emulation better than the real thing?
« Reply #203 on: January 27, 2009, 09:40:38 AM »
Quote

amigaksi wrote:
His definition of emulation is the ATTEMPT to mimic the machine and for it to be accurate all its cycles (using fake time) of various subsystems are in chronological order in right ratios.  Then the "MAGICAL" WM_TIMER will come and put everything in real-time order and you won't notice the difference from the real machine.


I'm using the same definition as other emulator coders. It's just you who have a definition which happens to deviate from that of common dictionaries and wikipedia (well - and common sense too).

EDIT: I added the word "wikipedia", since I accidentally erased it prior to posting.

Quote

He was taking it out of context; I stated that it's impossible to emulate the Atari/Amiga given the standard PC hardware like 1.19Mhz timer, 2-channel audio card, zero sprites, etc.  Taking your example, traveling from A to B at 256X the speed of light IS impossible using today's rocket.  


You don't need sprites to emulate sprites accurately. You don't need for channel audio to emulate four channel audio. You don't need a timer to emulate something with an accuracy of one cycle.

You would know that if you actually checked how emulators are written today - something you've refused to do - probably because it would fundamentally contradict your earlier statements.
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #204 on: January 27, 2009, 11:07:20 AM »
>You obviously don't know how to read a dictionary either.

http://dictionary.reference.com/search?q=emulate
http://www.thefreedictionary.com/emulate
http://www.merriam-webster.com/dictionary/emulator
http://encarta.msn.com/dictionary_/emulator.html

"to try to equal of surpass; imitate so as to excel: to emulate the success of great writers." - Page 258, Dictionary by Harcourt Brace Jovanovich, Inc.

>In the context of computers, emulation does *not* mean "to equal or excel". You've chosen a definition intended for *behavioral* *science*, and while that might suit your twisted view of things, it's about as wrong as things get.

It doesn't say it's behavioral science in the dictionary.  Regardless, isn't the defintion I quoted what people assume when they hear "PC can emulate the Amiga in a cycle-exact manner."

>EDIT: Don't blame me for getting of topic. I'm merely trying to correct some *very* inaccurate posts about how emulators work. I find that highly relevant in this context.

I don't know which posts you are referring to.  All my posts are accurate given the definition above.  If I take your definition, then it gets silly-- Atari 800 can emulate a Pentium IV, Quad core given enough time.
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #205 on: January 27, 2009, 11:14:32 AM »
>>If you had the Amiga VBI perfectly synched to PC VBI, than you would be resynching every 1/60 second, but still what happens in between those refreshes will be out of sync given different cycles times. Usually, PC VBI isn't the same rate as Amiga VBI and PC emulation has the latency to begin with and may also be out of phase.

>I'm not even sure anything you just said made any sense... But hey ho... I can easily run my gfx cards at 60hz, then use the gfx card's VBI to sync the emulation's virtual VBI to the real world... That would give me a nice NTSC emulation. But if I want a 50hz interrupt for PAL emulation, then I would run the gfx card at 100hz and sync the emulation every two real frames.

NTSC rate isn't exactly 60Hz, it's more like 60/1.001.  And anyway, your video card isn't doing 262.5 scanlines per field nor is a user response showing up in same time as on emulator given the buffer approach.  

>Given the fact that re granularity of this system is based on the frame rate, since a human being's senses are being refreshed at 50/60hz on both the real and emulated Amiga (and the fact that a PC can do all work that a real Amiga can normally do in 25ms, in ~1ms so it spends most of it's time just waiting for the sync), the emulation and real Amiga will be in the same state WRT the user at all times. This really is elementary stuff...

Not true so not elementary.  For example, if Amiga moves a screen full of sprites in a few microseconds, the PC will take much longer since most video cards can't update their display in a few microseconds so emulators will hope that time will be made up for by other things.  Our senses aren't being refreshed at 60Hz on real Amiga but higher frequency.  Only display is around 50/60Hz.
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline amigaksi

  • Hero Member
  • *****
  • Join Date: Dec 2006
  • Posts: 827
    • Show only replies by amigaksi
    • http://www.krishnasoft.com
Re: Is Amiga Emulation better than the real thing?
« Reply #206 on: January 27, 2009, 11:20:13 AM »
by shoggoth on 2009/1/27 4:40:38

amigaksi wrote:
>>He was taking it out of context; I stated that it's impossible to emulate the Atari/Amiga given the standard PC hardware like 1.19Mhz timer, 2-channel audio card, zero sprites, etc. Taking your example, traveling from A to B at 256X the speed of light IS impossible using today's rocket.

>You don't need sprites to emulate sprites accurately. You don't need for channel audio to emulate four channel audio. You don't need a timer to emulate something with an accuracy of one cycle.

Yes, you do for all three of your statements above.  I recently timed how long a field takes on an Amiga in interlaced and non-interlaced mode.  How would your word jugglery of the word "interleave" come up with the correct answer (barring you hard-code it)?

>You would know that if you actually checked how emulators are written today - something you've refused to do - probably because it would fundamentally contradict your earlier statements.

You are being vague.  I have stuck to my position for many years now although in the process HPET got introduced and Vista came out.
--------
Use PC peripherals with your amiga: http://www.mpdos.com
 

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Is Amiga Emulation better than the real thing?
« Reply #207 on: January 27, 2009, 11:23:15 AM »
Quote

amigaksi wrote:
"to try to equal of surpass; imitate so as to excel: to emulate the success of great writers." - Page 258, Dictionary by Harcourt Brace Jovanovich, Inc.


"verb, -lat⋅ed, -lat⋅ing, adjective
–verb (used with object)
1.   to try to equal or excel; imitate with effort to equal or surpass: to emulate one's father as a concert violinist.
2.   to rival with some degree of success: Some smaller cities now emulate the major capitals in their cultural offerings.
3.   Computers.
a.   to imitate (a particular computer system) by using a software system, often including a microprogram or another computer that enables it to do the same work, run the same programs, etc., as the first.
b.   to replace (software) with hardware to perform the same task."

Hmm.... I wonder which definition that applies to this discussion.

Most up-to-date dictionares share this definition. This one is from http://dictionary.reference.com/search?q=emulate.

Quote
It doesn't say it's behavioral science in the dictionary.  Regardless, isn't the defintion I quoted what people assume when they hear "PC can emulate the Amiga in a cycle-exact manner."


You'd have to be a complete moron not to understand that it does, especcially when there is an additional definition for the word when used in the context of *computers*.

To clarify this I added the two definitions from wikipedia, something which you convieniently ignored completely:

http://en.wikipedia.org/wiki/Emulator

vs.

http://en.wikipedia.org/wiki/Emulation_(observational_learning)

Quote

I don't know which posts you are referring to.  All my posts are accurate given the definition above.  If I take your definition, then it gets silly-- Atari 800 can emulate a Pentium IV, Quad core given enough time.


That's taken out of context. In theory the statement is true, given enough time and memory - that was the point of it. In practice it's completely retarded. Just like some posters in this forum.
 

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Is Amiga Emulation better than the real thing?
« Reply #208 on: January 27, 2009, 11:39:12 AM »
Quote

amigaksi wrote:
>You would know that if you actually checked how emulators are written today - something you've refused to do - probably because it would fundamentally contradict your earlier statements.


You are being vague.  I have stuck to my position for many years now although in the process HPET got introduced and Vista came out.
[/quote]

No. I entered this discussion because:
A: You make claims about how emulators work.
B: Those claims are completely wrong.

Given that, the statement is highly relevant. You've stuck to your position for many years because you refuse to take facts into the equation.

I've got a question for you, Amigaski:
A: You know how emulators work internally, and therefore your statements about emulators are true.
B: You don't know how emulators work internally, but you do know for a fact that your statements are true anyway.

Which one is it, Amigaski? A or B?
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Is Amiga Emulation better than the real thing?
« Reply #209 on: January 27, 2009, 11:55:42 AM »
Quote

amigaksi wrote:
>>If you had the Amiga VBI perfectly synched to PC VBI, than you would be resynching every 1/60 second, but still what happens in between those refreshes will be out of sync given different cycles times. Usually, PC VBI isn't the same rate as Amiga VBI and PC emulation has the latency to begin with and may also be out of phase.

>I'm not even sure anything you just said made any sense... But hey ho... I can easily run my gfx cards at 60hz, then use the gfx card's VBI to sync the emulation's virtual VBI to the real world... That would give me a nice NTSC emulation. But if I want a 50hz interrupt for PAL emulation, then I would run the gfx card at 100hz and sync the emulation every two real frames.

NTSC rate isn't exactly 60Hz, it's more like 60/1.001.  And anyway, your video card isn't doing 262.5 scanlines per field nor is a user response showing up in same time as on emulator given the buffer approach.  


True actually, NTSC is 59.98 or something and that is very slightly too slow but I know the human eye can't see the difference between the two rates... And I personally run my stuff in PAL anyway and 50hz is possible on modern cards by halving the 100hz rate. As for your dislike of the "buffer approach", I suggest you throw away all your amiga games as they all use double buffering... Have you ever writen a game on an Amiga?  

Quote

>Given the fact that re granularity of this system is based on the frame rate, since a human being's senses are being refreshed at 50/60hz on both the real and emulated Amiga (and the fact that a PC can do all work that a real Amiga can normally do in 25ms, in ~1ms so it spends most of it's time just waiting for the sync), the emulation and real Amiga will be in the same state WRT the user at all times. This really is elementary stuff...

Not true so not elementary.  For example, if Amiga moves a screen full of sprites in a few microseconds, the PC will take much longer since most video cards can't update their display in a few microseconds so emulators will hope that time will be made up for by other things.  Our senses aren't being refreshed at 60Hz on real Amiga but higher frequency.  Only display is around 50/60Hz.


A modern gfx chip can redraw an entire screen, perform thausands of blitter operations and render a 3D scene... At many times the resolution of the Amiga in far less time than it takes for an Amiga to update the sprite registers...