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

Any work on the Pi 4? #150

Open mrdoornbos opened 3 years ago

mrdoornbos commented 3 years ago

Have you done any work on a Pi4 Build? I'm going to fork and give a crack at it, but I don't want to duplicate efforts.

randyrossi commented 3 years ago

No. I compiled for the Pi4 a long time ago but there was no way to get the shader working. It is also much slower to boot. There may have been other issues too. I don't plan on releasing anything for the Pi4.

On Sat, Jan 2, 2021 at 7:23 AM Michael Doornbos notifications@github.com wrote:

Have you done any work on a Pi4 Build? I'm going to fork and give a crack at it, but I don't want to duplicate efforts.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAI3HKCA652K7RM2TYVPFSTSX4F5HANCNFSM4VRAWGJQ .

-- Randy Rossi

boras-pl commented 3 years ago

Couldn't be better to contribute in this project instead of making a fork for RPi4 only? If Randy doesn't mind, ofcourse.

mrdoornbos commented 3 years ago

Couldn't be better to contribute in this project instead of making a fork for RPi4 only? If Randy doesn't mind, ofcourse.

Well the idea with the fork was to work on a branch without disturbing this branch. Can always merge them back together. I wasn't suggesting parting ways or anything here.

erroneus0 commented 3 years ago

Couldn't be better to contribute in this project instead of making a fork for RPi4 only? If Randy doesn't mind, ofcourse.

Well the idea with the fork was to work on a branch without disturbing this branch. Can always merge them back together. I wasn't suggesting parting ways or anything here.

DO IT! It doesn't look like it's going to happen in any other way which is sad. The Raspberry Pi 400 (a variant of 4b) is an excellent bit of hardware and frankly it is the way moving forward. While I love the idea of installing BMC64 inside of my Periboard-409 as the best all-in-one solution, the existence of the Pi400 mostly makes this seem like a silly effort. I think, if BMC64 is to remain alive, it has to continue growing. And I do want to see it remain alive for now and for a long time to come.

mrdoornbos commented 3 years ago

I've sorta lost enthusiasm, but I do have this idea that a boot to 64 laptop like device would be really cool.

erroneus0 commented 3 years ago

I know some beautiful women who would really, really like it if you did! ;)

mrdoornbos commented 3 years ago

I know some beautiful women who would really, really like it if you did! ;)

It's a trap!

asphixmx commented 3 years ago

Would be great to have it for the Pi 4 or 400 ! I am doing an experiment with DietPi and vice to boot it directly to C64.

erroneus0 commented 3 years ago

Without question, I believe BMC64 will always yield the best possible results because most other Linux distribution/foundations start off as general purpose whereas BMC64 is, as I understand it, is more "bare metal" (that's the name!) and has the most potential to have all of the best and correct timings and capacity for tweaks to maintain that.

All that said, if we don't see the project expanded to include the latest hardware platform, this project itself will fade into obscurity so other things are certainly welcome into my Raspberry Pi 400. Please document what you're doing and I'll be sure to follow!

AlejandroFNadal commented 3 years ago

I agree. Most people these days buy a RP4 instead of a 3, myself included :-(

frenchfaso commented 3 years ago

BMC-128 on the Pi400 with its dual display out would make a perfect (and awesome) modern C128 dual monitor setup!

oemsysadm commented 2 years ago

I know you said no RPi4, but it looks like the 3(b(+)) has been discontinued by the RPi foundation. With the insane prices that Pi's command right now, this project is essentially going to die, which is sad.

Is there a library/driver we can at least use to get the gpio work you did onto a regular OS running on any Pi? The 4 should have enough horsepower to run Vice or anything else on top of RPi OS or something else.

mcgurk commented 2 years ago

RPi3 is not discontinued. Additionally to RPi3(AB+), RPi Zero 2 W is more or less RPi3. Shortage is with every RPi version . Keep eye on rpilocator: https://rpilocator.com/

What GPIO functions you need?

VGA-gpio output works exactly same with RPi OS as in BMC64.

With db9_gpio_rpi kernel module (made for Retropie) you can connect two Atari joystick to GPIO. If you want, edit db9_gpio_rpi.c to get same GPIO pin numbering as in BMC64: https://github.com/marqs85/db9_gpio_rpi

    PORT1_PIN1_GPIO = 17, //bmc64
    PORT1_PIN2_GPIO = 18, //bmc64
    PORT1_PIN3_GPIO = 27, //bmc64
    PORT1_PIN4_GPIO = 22, //bmc64
    PORT1_PIN5_GPIO = 23, //bmc64
    PORT1_PIN6_GPIO = 11,
    PORT1_PIN7_GPIO = 14,
    PORT2_PIN1_GPIO = 5, //bmc64
    PORT2_PIN2_GPIO = 6, //bmc64
    PORT2_PIN3_GPIO = 12, //bmc64
    PORT2_PIN4_GPIO = 13, //bmc64
    PORT2_PIN5_GPIO = 19, //bmc64
    PORT2_PIN6_GPIO = 24,
    PORT2_PIN7_GPIO = 25

More versatile way is to do Atari-USB-adapter: https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter

If you want connect C64 keyboard, I don't know if there is keyboard controller kernel module for rpi, but I recommend anyway to do USB-adapter. Then C64-keyboard can be used with any device with USB-port: https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/tree/master/C64_keyboard

Edit: There is userspace GPIO keyboard matrix driver, so keyboard can also be connected directly to gpio: https://github.com/nutki/rpi-gpio-matrix-keyboard

Caution: With RPi4 and Linux result is not as good as with BMC64 and RPi3. Normal Vice doesn't sync internal emulation to screen refresh rate. Scrollers and multicolor modes where image consists from two frames looks bad. RPi4 extra cpu power doesn't help to sync problem.

oemsysadm commented 2 years ago

I could swear I heard rpi3 being discontinued. And yeah the keyboard gpio. There is a small pcb that fits in a C64/VIC20 case, being able to interface with that would be nice, but getting a specific rpi model is hard right now, but I have a 4 and some 0Ws. I wanted to build a working VIC20 with this. But it looks like only the C64 has a lite version?

mcgurk commented 2 years ago

https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/ "Raspberry Pi 3 Model B+ will remain in production until at least January 2026"

oemsysadm commented 2 years ago

Awesome. Too bad getting one is still impossible :D

Dennis97132 commented 8 months ago

I would like instructions for building for RP 4. I know there are issues with it, but I still would like to see if I can get it working better. Thanks