randyrossi / bmc64

A bare metal Commodore 64 emulator for the Raspberry Pi with true 50hz/60hz smooth scrolling, low input latency and better audio/video sync.
GNU General Public License v3.0
488 stars 59 forks source link

Having GERT-VGA-666 compatiblity should be a must. #84

Closed K-rnivoro closed 4 years ago

K-rnivoro commented 4 years ago

Raspberry is able to output VGA video using DPI signal already available in GPIO:(https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md) Using GERT-VGA-666 is the easiest and cheapest way: (https://github.com/PiSupply/Gert-VGA-666). The VGA666 not only allows standard VGA 31 KHZ signal, but also 15KHz signal!!!! So RGB output using NTSC and PAL timings are also possible. You could use a RGB input monitor, or a RGB to Y/Pb/Pr converter for your (no too) old CRT TV and having a perfect image!!! Clearly, RGB analog signal should have much more quality than the "not so good" composite output of the Raspberry.

randyrossi commented 4 years ago

Should be possible. I think all I'd have to do is add another GPIO config option and set the required pins to ALT2 function like the doc says. I can try this out and probe the pins with my oscilloscope to see activity but I don't have the GERT-VGA-666 board or a display to actually try it out.

K-rnivoro commented 4 years ago

Is a cheap device, anyway I can help you with that. Dont mind being beta tester :D I was about to try modifying the actual config.txt but not sure if it going to work anyway.

El vie., 13 dic. 2019 10:13, randyrossi notifications@github.com escribió:

Should be possible. I think all I'd have to do is add another GPIO config option and set the required pins to ALT2 function like the doc says. I can try this out and probe the pins with my oscilloscope to see activity but I don't have the GERT-VGA-666 board or a display to actually try it out.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKHPLV4N2VTUPZH6YJ3QYODA5A5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGZ6C7I#issuecomment-565436797, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKBMZ63LHHOK43GCTSTQYODA5ANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

Would you be able to try a custom kernel with DPI enabled? I enabled the vga666 DPI mode and added an option to set the pins properly and can see the pixel clock on GPIO0 now. HDMI went blank so I think it's working. I can post a link to a kernel if you can test.

randyrossi commented 4 years ago

Here are the kernels if you want to try:

https://accentual.com/bmc64/downloads/dpi/kernel8-32.img https://accentual.com/bmc64/downloads/dpi/kernel7.img

Add dpi_enabled=true to cmdline.txt

Then add one of the dpi configurations to config.txt from the link you sent me.

If you configure the machine to be PAL, try to configure a 50hz mode. If you can only get a 60hz mode, switch the machine to NTSC.

I'll eventually have to add those dpi options to the machine switch logic so you can configure things via the machines.txt like you do hdmi/composite modes.

K-rnivoro commented 4 years ago

You are more than welcome!! I'll be happy to help!!

El vie., 20 dic. 2019 18:01, randyrossi notifications@github.com escribió:

Would you be able to try a custom kernel with DPI enabled? I enabled the vga666 DPI mode and added an option to set the pins properly and can see the pixel clock on GPIO0 now. HDMI went blank so I think it's working. I can post a link to a kernel if you can test.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKELNERIA23QRVG74HTQZUXD7A5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHOE7CI#issuecomment-568086409, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKDHPCVN234GDLUQNXLQZUXD7ANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

I got my hands on one of the vga666 boards and tried this today. It worked. This will be in the next release. Thanks!

K-rnivoro commented 4 years ago

Glad you made it!!! If you don't mind put my name somewhere like "suggested by" I'll apreciate it. Thanks.

El dom., 22 dic. 2019 20:59, randyrossi notifications@github.com escribió:

I got my hands on one of the vga666 boards and tried this today. It worked. This will be in the next release. Thanks!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKEAM2UYLLPQ4SLQN3LQZ75OVA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP4TBQ#issuecomment-568314246, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKGCMKC5C34PYA3FJL3QZ75OVANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

Will do. Thx!

K-rnivoro commented 4 years ago

Thanks! I think next step is getting 15KHz RGB signal (instead of 31KHz of standard VGA). That would allow to connect to RGB input monitors (those with CRT) or externally convert it to YPbPr or S-Video for complete scanline (and high quality image) experience.

El lun., 23 dic. 2019 12:42, randyrossi notifications@github.com escribió:

Will do. Thx!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKASOY2REA5Q7CQOKCTQ2DL7TA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHRL2WY#issuecomment-568507739, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKG6BNVYOT25MIJU2Y3Q2DL7TANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

Available in 3.3

K-rnivoro commented 4 years ago

Thanks!!

El sáb., 28 dic. 2019 21:12, randyrossi notifications@github.com escribió:

Available in 3.3

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKCU45D4HJ5AGT5WZ4DQ27TQVA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHYUZKY#issuecomment-569461931, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKGGRXXCOQW4YU5GIJ3Q27TQVANCNFSM4JRR2LJQ .

K-rnivoro commented 4 years ago

Randy, is there any mention to people who has suggested you new features? Maybe It's there and I cannot find it.

El sáb., 28 dic. 2019 21:12, randyrossi notifications@github.com escribió:

Available in 3.3

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKCU45D4HJ5AGT5WZ4DQ27TQVA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHYUZKY#issuecomment-569461931, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKGGRXXCOQW4YU5GIJ3Q27TQVANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

I mentioned it in the lemon64 post. I just added a note in the DPI section of the README. Let me know if you want me to use your real name or if your github name is okay.

K-rnivoro commented 4 years ago

That's okay Randy. Thanks. After all you did the hard work. :D

El mar., 31 dic. 2019 13:18, randyrossi notifications@github.com escribió:

I mentioned it in the lemon64 post. I just added a note in the DPI section of the README. Let me know if you want me to use your real name or if your github name is okay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKHI25HTLN46DFOHURLQ3NWEFA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4MVKA#issuecomment-569952936, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKGJVPKZD5U5XRSNWSLQ3NWEFANCNFSM4JRR2LJQ .

K-rnivoro commented 4 years ago

Hi Randy. Is there any way that BMC does not show a particular machines I do not want in the "switch" section? Thanks!

El mar., 31 dic. 2019 13:18, randyrossi notifications@github.com escribió:

I mentioned it in the lemon64 post. I just added a note in the DPI section of the README. Let me know if you want me to use your real name or if your github name is okay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKHI25HTLN46DFOHURLQ3NWEFA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4MVKA#issuecomment-569952936, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKGJVPKZD5U5XRSNWSLQ3NWEFANCNFSM4JRR2LJQ .

randyrossi commented 4 years ago

You can remove them from machines.txt. But the empty dir names might stlil show up. I would have to add something to remove the menu items if there are no machines defined underneath them.

On Tue, Jan 14, 2020 at 7:49 AM K-rnivoro notifications@github.com wrote:

Hi Randy. Is there any way that BMC does not show a particular machines I do not want in the "switch" section? Thanks!

El mar., 31 dic. 2019 13:18, randyrossi notifications@github.com escribió:

I mentioned it in the lemon64 post. I just added a note in the DPI section of the README. Let me know if you want me to use your real name or if your github name is okay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKHI25HTLN46DFOHURLQ3NWEFA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4MVKA#issuecomment-569952936 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AGTSRKGJVPKZD5U5XRSNWSLQ3NWEFANCNFSM4JRR2LJQ

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AAI3HKF7I4MMXUR7YZPGAF3Q5WYGXA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI4POZA#issuecomment-574158692, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAI3HKERND2TBD5OFUJ5D3DQ5WYGXANCNFSM4JRR2LJQ .

-- Randy Rossi

C:(+1)416-605-5112 (Canada)

K-rnivoro commented 4 years ago

Maybe checking the roms present in the directores. Only show machines with the complete set of roms.

El mar., 14 ene. 2020 12:25, randyrossi notifications@github.com escribió:

You can remove them from machines.txt. But the empty dir names might stlil show up. I would have to add something to remove the menu items if there are no machines defined underneath them.

On Tue, Jan 14, 2020 at 7:49 AM K-rnivoro notifications@github.com wrote:

Hi Randy. Is there any way that BMC does not show a particular machines I do not want in the "switch" section? Thanks!

El mar., 31 dic. 2019 13:18, randyrossi notifications@github.com escribió:

I mentioned it in the lemon64 post. I just added a note in the DPI section of the README. Let me know if you want me to use your real name or if your github name is okay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <

https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKHI25HTLN46DFOHURLQ3NWEFA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4MVKA#issuecomment-569952936

, or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AGTSRKGJVPKZD5U5XRSNWSLQ3NWEFANCNFSM4JRR2LJQ

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub < https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AAI3HKF7I4MMXUR7YZPGAF3Q5WYGXA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI4POZA#issuecomment-574158692 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAI3HKERND2TBD5OFUJ5D3DQ5WYGXANCNFSM4JRR2LJQ

.

-- Randy Rossi

C:(+1)416-605-5112 (Canada)

  • "There are only two things that are hard about computer science; Naming things, Cache Invalidation, and Off-by-one errors."

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AGTSRKBLMDO5NN2E2NLR4K3Q5XKPHA5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI5AJFA#issuecomment-574227604, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGTSRKHUJ4XB7HIOCLTU5G3Q5XKPHANCNFSM4JRR2LJQ .

CemTezcan commented 4 years ago

Hello, I have a 1024 x 600 DPI screen, but having difficulties on connecting it to BMC64. Possibly it's caused by the 720p signal which isn't supported by my screen. Is

there a way to crop or resize the frame buffer in a config file, like sending a 576p pal-composite output resolution to DPI screen?

randyrossi commented 4 years ago

That should be controlled with dpi_group and dpi_mode and the resolutions should match the documentation in the hdmi tables here: https://www.raspberrypi.org/documentation/configuration/config-txt/video.md

Try dpi_group=1 dpi_mode=17 maybe?

On Wed, Jan 15, 2020 at 2:08 AM CemTezcan notifications@github.com wrote:

Hello, I have a 1024 x 600 DPI screen, but having difficulties on connecting it to BMC64. Possibly it's caused by the 720p signal which isn't supported by my screen. Is

there a way to crop or resize the frame buffer in a config file, like sending a 576p pal-composite output resolution to DPI screen?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/84?email_source=notifications&email_token=AAI3HKDBBAJROGOHP5MTB23Q52YZ3A5CNFSM4JRR2LJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI7JFJA#issuecomment-574526116, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAI3HKFSYPABS3TJR7Y5VL3Q52YZ3ANCNFSM4JRR2LJQ .

-- Randy Rossi

C:(+1)416-605-5112 (Canada)