Libretro Team Working on FPGA Compatible RetroArch

The place for all discussion on gaming hardware
Post Reply
syboxez
Posts: 99
Joined: Sun Jul 24, 2016 4:33 am

Libretro Team Working on FPGA Compatible RetroArch

Post by syboxez »

https://www.patreon.com/posts/12886887

This seems like very big news, especially considering the track record of the Libretro team's commitment to openness.

Would be nice to know if it's running an actual HDL coded emulator or an existing software emulator on some existing CPU core.
User avatar
Guspaz
Posts: 3242
Joined: Tue Oct 06, 2015 7:37 pm
Location: Montréal, Canada

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Guspaz »

I'm not sure what the thing actually does, because they say it's running "a random libretro core", but emulation and FPGA are totally different. That makes it sound more like they're doing regular software emulation on the board (many FPGAs have permanent ARM cores onboard) and intend to use the FPGA for video scaling and effects?
syboxez
Posts: 99
Joined: Sun Jul 24, 2016 4:33 am

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by syboxez »

Guspaz wrote:I'm not sure what the thing actually does, because they say it's running "a random libretro core", but emulation and FPGA are totally different. That makes it sound more like they're doing regular software emulation on the board (many FPGAs have permanent ARM cores onboard) and intend to use the FPGA for video scaling and effects?
They didn't exactly make that clear. I'd like to think that they're using an existing FPGA NES core like FPGANES, but only they would know for sure. Would kind of suck if it was just for shaders/video processing, as my GPU already does that just fine.
User avatar
Hoagtech
Posts: 1025
Joined: Mon Apr 27, 2015 3:53 am
Location: Bellingham, WA

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Hoagtech »

syboxez wrote:
Guspaz wrote:I'm not sure what the thing actually does, because they say it's running "a random libretro core", but emulation and FPGA are totally different. That makes it sound more like they're doing regular software emulation on the board (many FPGAs have permanent ARM cores onboard) and intend to use the FPGA for video scaling and effects?
They didn't exactly make that clear. I'd like to think that they're using an existing FPGA NES core like FPGANES, but only they would know for sure. Would kind of suck if it was just for shaders/video processing, as my GPU already does that just fine.
Shaders would be amazing for an internal add on board for the consoles themselves.. Lakka is based on retro arch and may bring us one step closer to composite 240p with offset RGB like color space on your yellow RCA cable or Rf antenna.

I would be able to have progressive video on some cool super old tv's without RGB modding

Composite 240p vs Composite Interlaced


Image

Composite 240p old tv
Spoiler
Image
I am also confused on its purpose but a real nes core with shaders would cool too
Copyright 1987
User avatar
Unseen
Posts: 738
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Unseen »

Guspaz wrote:That makes it sound more like they're doing regular software emulation on the board (many FPGAs have permanent ARM cores onboard) and intend to use the FPGA for video scaling and effects?
The board from their picture appears to be a Myir Z-Turn. It uses a Zynq FPGA which has two Cortex A9 ARM cores running at 667MHz, so at minimum they would just need to implement a frame buffer in the FPGA - which IIRC is available as a sample project for this chip anyway.
User avatar
bobrocks95
Posts: 3663
Joined: Mon Apr 30, 2012 2:27 am
Location: Kentucky

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by bobrocks95 »

Hoagtech wrote:
syboxez wrote:
Guspaz wrote:I'm not sure what the thing actually does, because they say it's running "a random libretro core", but emulation and FPGA are totally different. That makes it sound more like they're doing regular software emulation on the board (many FPGAs have permanent ARM cores onboard) and intend to use the FPGA for video scaling and effects?
They didn't exactly make that clear. I'd like to think that they're using an existing FPGA NES core like FPGANES, but only they would know for sure. Would kind of suck if it was just for shaders/video processing, as my GPU already does that just fine.
Shaders would be amazing for an internal add on board for the consoles themselves.. Lakka is based on retro arch and may bring us one step closer to composite 240p with offset RGB like color space on your yellow RCA cable or Rf antenna.

I would be able to have progressive video on some cool super old tv's without RGB modding

Composite 240p vs Composite Interlaced


Image

Composite 240p old tv
Spoiler
Image
I am also confused on its purpose but a real nes core with shaders would cool too
I have no clue what on earth you're talking about. RGB-like colorspace over composite? A Sega Genesis outputting 480i? What?
PS1 Disc-Based Game ID BIOS patch for MemCard Pro and SD2PSX automatic VMC switching.
User avatar
Hoagtech
Posts: 1025
Joined: Mon Apr 27, 2015 3:53 am
Location: Bellingham, WA

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Hoagtech »

bobrocks95 wrote:
I have no clue what on earth you're talking about. RGB-like colorspace over composite? A Sega Genesis outputting 480i? What?
Composite 240p on 480i (yellow rca jack). Blew my mind

http://filthypants.blogspot.com/2017/03 ... t.html?m=1

So far it's an exclusive feature of pi. But is based on retro arch shaders through a multi emulator called Lakka.

The palette can be tweaked to show more prominent colors seen in RGB so it's not real RGB but it's a progressive image output through composite.

I can't wait till there is a video processor or fpga that can take a console image through 480i composite and output to 240p composite.
Copyright 1987
syboxez
Posts: 99
Joined: Sun Jul 24, 2016 4:33 am

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by syboxez »

Hoagtech wrote:
bobrocks95 wrote:
I have no clue what on earth you're talking about. RGB-like colorspace over composite? A Sega Genesis outputting 480i? What?
Composite 240p on 480i (yellow rca jack). Blew my mind

http://filthypants.blogspot.com/2017/03 ... t.html?m=1

So far it's an exclusive feature of pi. But is based on retro arch shaders through a multi emulator called Lakka.

The palette can be tweaked to show more prominent colors seen in RGB so it's not real RGB but it's a progressive image output through composite.

I can't wait till there is a video processor or fpga that can take a console image through 480i composite and output to 240p composite.
Lakka is RetroArch running on top of LibreELEC. Think of it as an official RetroArch OS (the same team made it).

Also what you're calling 480i is actually just called composite video (or CVBS for short). 480i is a resolution, much like 240p or 1080p.
User avatar
Hoagtech
Posts: 1025
Joined: Mon Apr 27, 2015 3:53 am
Location: Bellingham, WA

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Hoagtech »

syboxez wrote:
Hoagtech wrote:
bobrocks95 wrote:
I have no clue what on earth you're talking about. RGB-like colorspace over composite? A Sega Genesis outputting 480i? What?
Composite 240p on 480i (yellow rca jack). Blew my mind

http://filthypants.blogspot.com/2017/03 ... t.html?m=1

So far it's an exclusive feature of pi. But is based on retro arch shaders through a multi emulator called Lakka.

The palette can be tweaked to show more prominent colors seen in RGB so it's not real RGB but it's a progressive image output through composite.

I can't wait till there is a video processor or fpga that can take a console image through 480i composite and output to 240p composite.
Lakka is RetroArch running on top of LibreELEC. Think of it as an official RetroArch OS (the same team made it).

Also what you're calling 480i is actually just called composite video (or CVBS for short). 480i is a resolution, much like 240p or 1080p.
Sort of. The 240p runs in 480i mode blanking lines in between the 240p image.

The software meshes the 2 fields of frame together and leaves a space (blanked line) resulting in a 240p image inside of a 480i signal with scanlines and no line trembling or jitter like the shaky interlaced signal we are used to.

This is a first to my knowledge of a 240p running through composite RCA or composite RF instead of through scart or scart to transcoder.
Copyright 1987
User avatar
mikejmoffitt
Posts: 629
Joined: Fri Jan 08, 2016 7:26 am
Location: Tokyo, Japan

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by mikejmoffitt »

If what you are saying is accurate, then you're left with half of the visible framerate
Image
User avatar
Fudoh
Posts: 13044
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Fudoh »

If what you are saying is accurate
it isn't. Don't worry.
syboxez
Posts: 99
Joined: Sun Jul 24, 2016 4:33 am

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by syboxez »

Sort of. The 240p runs in 480i mode blanking lines in between the 240p image.

The software meshes the 2 fields of frame together and leaves a space (blanked line) resulting in a 240p image inside of a 480i signal with scanlines and no line trembling or jitter like the shaky interlaced signal we are used to.

This is a first to my knowledge of a 240p running through composite RCA or composite RF instead of through scart or scart to transcoder.
That isn't how it works at all. First, to understand how 240p works, you must know how 480i works in the NTSC standard.

In a 480i 60Hz signal (regardless of how it is transmitted: composite, S-Video, Component, RGB, etc.), there are fields being displayed at 60Hz, or 1 field every 1/60 of a second (technically 59.94Hz for NTSC standard, but that varies from system to system). The image as a whole contains a total of 525 scanlines every 2 fields. 240 of these scanlines are visable on any given field. The rest of the scanlines are used for other things, but notice how 525 divided by 2 is 262.5. Every field has either 262 or 263 scanlines in a field, alternating back and forth to tell the TV whether to scan on an even field or odd field. This means that in 1 frame, the TV will scan 240 visible lines on the even lines, then on the next field will scan 240 visable lines on the odd lines.

The way 240p works is the system simply feeds a constant 262 (or 263) lines to the TV, making the TV scan only odd (or even) lines without alternating. This gives you the rock solid 240p @ 60Hz picture on your CRT. Nintendo called this method "double strike."

The Raspberry Pi's 240p works in exactly the same way.
User avatar
Fudoh
Posts: 13044
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: Libretro Team Working on FPGA Compatible RetroArch

Post by Fudoh »

The Raspberry Pi's 240p works in exactly the same way.
except that it (= the composite port on the Pi itself) uses a full horizontal output resolution, hence the different "appearance" of certain chroma effects. That's what most of the linked article is actually about.
Post Reply