RGB output from C64

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

RGB output from C64

Justin-2
RGB output using an FPGA, on hackaday today.

https://github.com/c0pperdragon/C64-Video-Enhancement

Justin

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Groepaz
Am Sonntag, 10. März 2019, 17:00:28 CET schrieb Justin Cordesman:
> RGB output using an FPGA, on hackaday today.
>
> https://github.com/c0pperdragon/C64-Video-Enhancement

Component, not RGB :)

Would be interesting to see some details on how it works (i am hoping for
something else than plain VICII emulation... it could be a nice way to make
pixel perfect screenshots from a real VICII eventually)

--

http://hitmen.eu                 http://ar.pokefinder.org
http://vice-emu.sourceforge.net  http://magicdisk.untergrund.net

Digital files cannot be made uncopyable, any more than water can be made not
wet.





Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Michał Pleban
Hello!

[hidden email] wrote:

> Would be interesting to see some details on how it works (i am hoping for
> something else than plain VICII emulation... it could be a nice way to make
> pixel perfect screenshots from a real VICII eventually)

>From the project description:

"So the way to go was then to bypass the chrominance/luminance signal
generation of the VIC-II and make a solution that computes a YPbPr
signal directly from the digital information available inside the
computer. As it turns out, it is enough to passively listen to just
about 22 pins of the VIC-II to figure out what video signal it actually
intends to generate. Using the information from these pins and some
logic implemented in an FPGA, a pixel-perfect replication of the video
image can be generated."

Regards,
Michau.



Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Segher Boessenkool
In reply to this post by Groepaz
On Sun, Mar 10, 2019 at 05:57:09PM +0100, [hidden email] wrote:
> Would be interesting to see some details on how it works (i am hoping for
> something else than plain VICII emulation... it could be a nice way to make
> pixel perfect screenshots from a real VICII eventually)

It has to be emulation, a lot of state is needed to create the picture
that cannot be seen from anything happening on the pins (like ECM/MCM
modes, sprite X coordinate, sprite/data priority), so all that has to
be emulated, and you are looking at pretty much all of a VIC-II by then.
(Well, you don't need anything for accessing memory of course, all that
is done by the real chip and you can sniff it).


Segher

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

MiaM
Den Sun, 10 Mar 2019 12:32:28 -0500 skrev Segher Boessenkool
<[hidden email]>:

> On Sun, Mar 10, 2019 at 05:57:09PM +0100, [hidden email] wrote:
> > Would be interesting to see some details on how it works (i am
> > hoping for something else than plain VICII emulation... it could be
> > a nice way to make pixel perfect screenshots from a real VICII
> > eventually)
>
> It has to be emulation, a lot of state is needed to create the picture
> that cannot be seen from anything happening on the pins (like ECM/MCM
> modes, sprite X coordinate, sprite/data priority), so all that has to
> be emulated, and you are looking at pretty much all of a VIC-II by
> then. (Well, you don't need anything for accessing memory of course,
> all that is done by the real chip and you can sniff it).

On the other hand, the S-video signal out from the VIC-II is really
enough to "know" what's going on, and it could most likely be sampled
and cleaned, and PAL/NTSC demodulated, to generate a perfect signal.

With some automatic level detection, the hardware could learn how the
signals from the VIC-II particular actually look re unwanted stripes
and similar problems. I.e. a kind of auto-lumafix.


--
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Segher Boessenkool
On Sun, Mar 10, 2019 at 08:15:16PM +0100, Mia Magnusson wrote:

> Den Sun, 10 Mar 2019 12:32:28 -0500 skrev Segher Boessenkool
> <[hidden email]>:
> > On Sun, Mar 10, 2019 at 05:57:09PM +0100, [hidden email] wrote:
> > > Would be interesting to see some details on how it works (i am
> > > hoping for something else than plain VICII emulation... it could be
> > > a nice way to make pixel perfect screenshots from a real VICII
> > > eventually)
> >
> > It has to be emulation, a lot of state is needed to create the picture
> > that cannot be seen from anything happening on the pins (like ECM/MCM
> > modes, sprite X coordinate, sprite/data priority), so all that has to
> > be emulated, and you are looking at pretty much all of a VIC-II by
> > then. (Well, you don't need anything for accessing memory of course,
> > all that is done by the real chip and you can sniff it).
>
> On the other hand, the S-video signal out from the VIC-II is really
> enough to "know" what's going on, and it could most likely be sampled
> and cleaned, and PAL/NTSC demodulated, to generate a perfect signal.
>
> With some automatic level detection, the hardware could learn how the
> signals from the VIC-II particular actually look re unwanted stripes
> and similar problems. I.e. a kind of auto-lumafix.

But that won't use 22 signals (the VIC-II has 12 address and 12 data pins;
you only need 8 of the address pins, but apparently they sample at least
some of these, there are only 40 pins total :-)


Segher

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

nejat76
In reply to this post by MiaM
By the way, that's already done by a fellow forum member.
Skip to the 1:40 in the video. Video signal is sampled by a FPGA and
the RGB image is constructed with a line buffer.
https://www.youtube.com/watch?v=m3WKGK-J-IA

Regards,

Nejat

On Sun, Mar 10, 2019 at 10:15 PM Mia Magnusson <[hidden email]> wrote:

>
> Den Sun, 10 Mar 2019 12:32:28 -0500 skrev Segher Boessenkool
> <[hidden email]>:
> > On Sun, Mar 10, 2019 at 05:57:09PM +0100, [hidden email] wrote:
> > > Would be interesting to see some details on how it works (i am
> > > hoping for something else than plain VICII emulation... it could be
> > > a nice way to make pixel perfect screenshots from a real VICII
> > > eventually)
> >
> > It has to be emulation, a lot of state is needed to create the picture
> > that cannot be seen from anything happening on the pins (like ECM/MCM
> > modes, sprite X coordinate, sprite/data priority), so all that has to
> > be emulated, and you are looking at pretty much all of a VIC-II by
> > then. (Well, you don't need anything for accessing memory of course,
> > all that is done by the real chip and you can sniff it).
>
> On the other hand, the S-video signal out from the VIC-II is really
> enough to "know" what's going on, and it could most likely be sampled
> and cleaned, and PAL/NTSC demodulated, to generate a perfect signal.
>
> With some automatic level detection, the hardware could learn how the
> signals from the VIC-II particular actually look re unwanted stripes
> and similar problems. I.e. a kind of auto-lumafix.
>
>
> --
> (\_/) Copy the bunny to your mails to help
> (O.o) him achieve world domination.
> (> <) Come join the dark side.
> /_|_\ We have cookies.
>

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

silverdr@wfmh.org.pl
In reply to this post by Groepaz


> On 2019-03-10, at 17:57, [hidden email] wrote:
>
> Am Sonntag, 10. März 2019, 17:00:28 CET schrieb Justin Cordesman:
>> RGB output using an FPGA, on hackaday today.
>>
>> https://github.com/c0pperdragon/C64-Video-Enhancement
>
> Component, not RGB :)
>
> Would be interesting to see some details on how it works (i am hoping for
> something else than plain VICII emulation... it could be a nice way to make
> pixel perfect screenshots from a real VICII eventually)

https://github.com/c0pperdragon/A-VideoBoard/blob/master/c64mod/quartus/VIC2Emulation.vhd

--
SD!




Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

silverdr@wfmh.org.pl
In reply to this post by nejat76


> On 2019-03-10, at 23:53, Nejat Dilek <[hidden email]> wrote:
>
> By the way, that's already done by a fellow forum member.
> Skip to the 1:40 in the video. Video signal is sampled by a FPGA and
> the RGB image is constructed with a line buffer.
> https://www.youtube.com/watch?v=m3WKGK-J-IA

Could you (or someone who knows the language) transcribe the relevant part?

--
SD!




Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Groepaz
In reply to this post by silverdr@wfmh.org.pl
Am Dienstag, 12. März 2019, 08:40:27 CET schrieb [hidden email]:

> > On 2019-03-10, at 17:57, [hidden email] wrote:
> >
> > Am Sonntag, 10. März 2019, 17:00:28 CET schrieb Justin Cordesman:
> >> RGB output using an FPGA, on hackaday today.
> >>
> >> https://github.com/c0pperdragon/C64-Video-Enhancement
> >
> > Component, not RGB :)
> >
> > Would be interesting to see some details on how it works (i am hoping for
> > something else than plain VICII emulation... it could be a nice way to
> > make
> > pixel perfect screenshots from a real VICII eventually)
>
> https://github.com/c0pperdragon/A-VideoBoard/blob/master/c64mod/quartus/VIC2
> Emulation.vhd

yeah found that already... not what i hoped for, unfortunately.

--

http://hitmen.eu                 http://ar.pokefinder.org
http://vice-emu.sourceforge.net  http://magicdisk.untergrund.net

When Im working I code in whatever language is required, Ive even had to code
on a Mac.
<radiantx>





Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

nejat76
In reply to this post by silverdr@wfmh.org.pl
The project link is here (Turkish -> English translated)
https://translate.google.com/translate?sl=tr&tl=en&u=http%3A%2F%2Fcommodore.gen.tr%2Fforum%2Findex.php%3Ftopic%3D12046

Original link (in Turkish) if somewhat above link gets mangled.
http://commodore.gen.tr/forum/index.php?topic=12046

There are FPGA code snippets in the above discussion. Google translate
sucks translating Turkish to English at least some parts should be
intelligible.

Regards,

Nejat

ps: I'll ask the project owner to open contributions in the youtube
video for others to add subtitle.

On Tue, Mar 12, 2019 at 10:48 AM <[hidden email]> wrote:

>
>
>
> > On 2019-03-10, at 23:53, Nejat Dilek <[hidden email]> wrote:
> >
> > By the way, that's already done by a fellow forum member.
> > Skip to the 1:40 in the video. Video signal is sampled by a FPGA and
> > the RGB image is constructed with a line buffer.
> > https://www.youtube.com/watch?v=m3WKGK-J-IA
>
> Could you (or someone who knows the language) transcribe the relevant part?
>
> --
> SD!
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Per Olofsson-2
In reply to this post by Groepaz
Den Sön 10 mar 2019 kl 18:03 skrev [hidden email]:

> Am Sonntag, 10. März 2019, 17:00:28 CET schrieb Justin Cordesman:
> > RGB output using an FPGA, on hackaday today.
> >
> > https://github.com/c0pperdragon/C64-Video-Enhancement
>
> Component, not RGB :)
>
> Would be interesting to see some details on how it works (i am hoping for
> something else than plain VICII emulation... it could be a nice way to make
> pixel perfect screenshots from a real VICII eventually)

I'm one of the lucky people who managed to sign up for a component mod board. It doesn't implement a full VIC-II core (like the Chameleon or Ultimate64), but snoops the bus to know when to display sprite or bitmap data, and it watches register writes to know the internal state. I think it's a really neat approach and I'm looking forward to seeing how well it performs.

--
  Per Olofsson
  [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: RGB output from C64

Groepaz
Am Montag, 18. März 2019, 13:36:59 CET schrieb Per Olofsson:

> Den Sön 10 mar 2019 kl 18:03 skrev [hidden email]:
> > Am Sonntag, 10. März 2019, 17:00:28 CET schrieb Justin Cordesman:
> > > RGB output using an FPGA, on hackaday today.
> > >
> > > https://github.com/c0pperdragon/C64-Video-Enhancement
> >
> > Component, not RGB :)
> >
> > Would be interesting to see some details on how it works (i am hoping for
> > something else than plain VICII emulation... it could be a nice way to
> > make
> > pixel perfect screenshots from a real VICII eventually)
>
> I'm one of the lucky people who managed to sign up for a component mod
> board. It doesn't implement a full VIC-II core (like the Chameleon or
> Ultimate64), but snoops the bus to know when to display sprite or bitmap
> data, and it watches register writes to know the internal state. I think
> it's a really neat approach and I'm looking forward to seeing how well it
> performs.

its actually not much different to what the chameleon does (in cartridge
mode)... it HAS to emulate most of the VICII, since all you can see at the bus
are register writes and memory fetches. you still have to implement the whole
$d011 magic, the sprite engine, the graphic modes, and some other details.
(and you can see it does all that in the vhdl code)

it'd be very interesting how well it works though, and if it can deal with all
the fancy things used in demos :)

--

http://hitmen.eu                 http://ar.pokefinder.org
http://vice-emu.sourceforge.net  http://magicdisk.untergrund.net

If you can't beat them, join them. Family time can include playing a video
game.
<Dr. Ken Haller, Saint Louis University School of Medicine>