Welcome, Guest. Please login or register.

Author Topic: FPGA for dummies  (Read 32016 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline psxphill

Re: FPGA for dummies
« Reply #44 from previous page: December 23, 2012, 06:52:22 PM »
Quote from: Lord Aga;720129
Regardless of whether you are right or not, and whatever the definition of an emulator might be, whenever someone feels excited about new FPGA stuff here comes one of the "captain technicalities" and drags on about it not being a real hardware implementation but only an emulation. It is damn right annoying and obnoxious.
 
If someone had a hand drawing of a computer and called it his Amiga I would support him, and not lecture him about that not being a real computer.
 
Be positive and supportive.

I'm not sure where to go with that, I don't think I'd be excited if I ordered an FPGA arcade and a hand drawn picture turned up. Patronising people doesn't help them.
 
The FPGA arcade isn't an Amiga, it can emulate lots of different computers/consoles.
 
You only consider it dragging it down because you are being unsupportive and negative about emulators.
 
And yes, people emulate others.
 
em·u·late  
/ˈemyəˌlāt/

Verb
  • Match or surpass (a person or achievement), typically by imitation.
  • Imitate.
 

Offline psxphill

Re: FPGA for dummies
« Reply #45 on: December 23, 2012, 07:45:52 PM »
Quote from: Lord Aga;720142
I can stubbornly defend my point till the end of time (since there is no 21st apocalypse apparently) and pollute the thread to the point of unreadability. Would anyone want that ?

You appear to want that, I'm so sick of hearing that emulators are bad and fpga's isn't emulation that I can be just as stubborn as you.
 
Quote from: Lord Aga;720142
Well, when someone says:
"Yaaay a cool piece of hardware, this is gonna be my new Amiga"
Do you feel that comments like:
"No no no, this is not a hardware Amiga this is an emulator BLAH BLAH BLAH sheets of text how this is an emulator and not the real stuff."
Actually help, or do something good ?

I only get involved when people are slagging off emulators and saying that using an fpga isn't emulation. My "contribution" to the debate is just as valid as theirs.
 

Offline psxphill

Re: FPGA for dummies
« Reply #46 on: December 23, 2012, 08:37:29 PM »
Quote from: Lord Aga;720145
So in other words, you are behaving like a ten year old ?

Sometimes you have to sink to other peoples levels when they throw a tantrum that you suggested that an fgpa is emulation. It's all they understand. If you could figure out a better way to shut them up then I'm all ears.
 

Offline psxphill

Re: FPGA for dummies
« Reply #47 on: December 23, 2012, 09:10:43 PM »
Quote from: Lord Aga;720149
Just don't do it.
FPGA threads are FPGA threads. Of course they will attract some people who think FPGA projects are the best thing since sliced bread. Some will think it's better than sex, better than bacon. Some will think it's better than all classic Amigas just because it's brand new.
And who's to say they are wrong ?

You're getting confused between me saying that the fpga is emulation and whether I like fpga's.
 
I already have a 1541ultimate2, which is a 1541 emulation in an fpga. I would probably buy a fpga arcade when it becomes available.
 

Offline psxphill

Re: FPGA for dummies
« Reply #48 on: December 24, 2012, 01:06:52 PM »
Quote from: kedawa;720176
Oh I see. So if you run an ECS game on an A1200, I guess that's emulation?

You're being too vague. What do you guess is emulation?
 
Going into the early boot menu and disabling the caches on your 68020 so it emulates the behaviour of a 68000, or setting the chipset to OCS so that it disables 32 bit fetches so that it emulates the OCS chipset more closely.
 
There is some emulation going on there, it's probably not what you think of as emulation.
 
Whether you use an a500, WinUAE or FPGA arcade. It's not going to look the same on a modern LCD as a 1084. I still use old commodore/philips monitors for this reason.
« Last Edit: December 24, 2012, 01:11:50 PM by psxphill »
 

Offline psxphill

Re: FPGA for dummies
« Reply #49 on: December 24, 2012, 07:53:56 PM »
Quote from: gaula92;720228
WinUAE runs under a deffective OS: it's software broken by definition.
-Running on a propietary closed-source OS means you depend on Micro**** to have a compatible OS.
-And more importantly: Windows is a broken OS, bloated an slow, wich you can't optimize much. There's no real way to ensure the defective OS won't take CPU from WinUAE to run any ****ty app in the background and cause desyncs, stalls or slowdowns. A real OS where you can configure and even modify scheduler is needed to avoid this broken emulation.
-Windows adds a lot of output delay.

Your argument became absurd when you changed Microsoft to put a swear word in.
 
Are you saying that UAE on Linux or MacOS is ok? In which case just don't run Windows.
 

Offline psxphill

Re: FPGA for dummies
« Reply #50 on: December 28, 2012, 04:55:10 PM »
Quote from: freqmax;720252
When the possibility exist to model a signal system which is what the electrical circuitry really implement. The design thought process can focus on the modeling instead of explicit response times and time critical signal hooks. And when the model is correct it will "just work(tm)". Instead of having to figure out how to implement this as sequential code. So it is in the essence signal path description vs sequential code equalient.

Actually it's software emulation where you can focus on modelling the original hardware, writing code for an fpga is much harder. Ram access for instance is free with software emulation, but on an fpga you're not only emulating ram but you're having to talk to modern ram as well. Coupled with propagation delays, you might have to do things differently in the fpga than the original hardware did it to achieve the same result.
 
Most software emulation inaccuracies come down to lack of understanding about how the original hardware works. That understanding doesn't magically appear because you're writing code for an fpga.
 
Sometimes it can be due to conscious decisions to keep make it run fast enough, like if you're running an old emulator that was designed for a previous cpu generation. I don't know if that's the case with WinUAE as I haven't looked at the code, but it's been around a long time.
 
An fpga is going to be more efficient than a software emulator, cost and availability are more of an issue though. But there is no magic that means it's going to be more accurate.
 
You could for instance write a software emulator that locks all it's memory so it can't be paged out and run it at a high priority.
 

Offline psxphill

Re: FPGA for dummies
« Reply #51 on: December 28, 2012, 09:51:42 PM »
Quote from: mikej;720556
In theory perhaps, although usually you are not in control of the entire software stack.

No, but that has pro's and con's. You can use any input device (keyboard as joystick or PS3/Xbox 360 gamepad) or any host operating system graphics card or printer driver. But that isn't an emulation accuracy issue.
 
Quote from: mikej;720556
how does it actually get audio or vidio data out to an external device in real time?

Latency is one of the drawbacks of software emulation. Whether it's noticeable is arguable.
 
A lot of modern TV's have worse latency in their up scaling and post-processing, some gamers complain and others don't. Even "game mode" on your TV doesn't guarantee you won't have any latency.
 
If you're worried about it then I'd recommend using a 1084.
 
Quote from: mikej;720556
tricky as hardware is inherently parallel and I assume you are running a single CPU to do your emulation

Today you'd use a single CPU core, but that isn't a big deal. While hardware is parallel, everything gets triggered off clock edges which effectively makes it sequential. Each clock tick might require 100 actual instructions, but think of those as propagation delays. It all works out in the end and nobody notices.
« Last Edit: December 28, 2012, 10:22:13 PM by psxphill »
 

Offline psxphill

Re: FPGA for dummies
« Reply #52 on: December 28, 2012, 10:52:30 PM »
Quote from: mikej;720571
Even if you sync at each horizontal blank interrupt you are not going to stay in sync as the pixel clock is not locked to the "hardware" as it is in the real (and FPGA clone) hardware.

Some graphics cards can be configured to produce the correct frame rate when running fullscreen. Otherwise you'd need to transcode it. There is an msx emulator that does 50hz to 60hz transcoding that is supposed to be very good.
« Last Edit: December 28, 2012, 11:07:08 PM by psxphill »
 

Offline psxphill

Re: FPGA for dummies
« Reply #53 on: December 29, 2012, 01:16:00 AM »
Quote from: mikej;720575
but it will always be more laggy as you need to hold this to the next vsync.

Yeah, you'll get a frame of latency, but on modern displays one frame is the least of your problems.
 
Quote from: mikej;720575
Unless the video clock is locked (it won't be) then you will always get tearing

Tearing only comes from frame rate differences, pixel clock is irrelevant. You may be able to get the exact frame rate, depending on the graphics card. But if you can't then you don't have to have tearing, you can use various techniques for generating the number of frames the graphics card wants from the source video. There are people claiming good results for 50fps -> 60fps transcoding, so you can run PAL games on a TV/monitor that only supports 60fps. I don't know how well it looks for
something like 59.9hz -> 60hz (I don't know whether the Amiga outputs NTSC as 59.9fps or 60fps and whether PC monitors that say 60fps actually support 59.9fps).
 
If you need to then Powerstrip can be used to generate custom modes on the fly & it works on most graphics cards
 
Speeding up/slowing down the frame rate is simpler, but then you have to time stretch and then pitch correct the sound. You'll notice with an A/B test as the frame rate will drift eventually, you'd get accuracy issues with things like serial port output or CIA TOD clock.
« Last Edit: December 29, 2012, 01:40:02 AM by psxphill »
 

Offline psxphill

Re: FPGA for dummies
« Reply #54 on: December 29, 2012, 11:34:53 AM »
Quote from: freqmax;720587
So I agree with all of MikeJ:s statements.

I understand his points, but on most computers you can set the refresh rate so it matches the Amiga's output anyway. For those cases when you can't then there are various techniques that have their own pros and cons.
 
Post processing and latency is something that you have to put up with modern TV's. So unless you're going to use a 1084 then any argument you're going to use against software emulation is going to be equally valid for an Amiga.
 
That isn't something that is generally considered part of the accuracy of the emulation, it's considered part of the human experience.
 
Feel free to say that real hardware or an FPGA based Amiga can offer a better human experience.