dangiu / PicoMemcard

Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico
GNU General Public License v3.0
529 stars 38 forks source link

SSD1331 OLED screen support & bank switching #13

Closed darrena092 closed 1 year ago

darrena092 commented 1 year ago

Hey,

So as discussed this is kind of in support of what @Helder1981 is doing with his hardware project. The OLED screen at the minute must be an SSD1331 module - and I have used some MIT and BSD licensed pieces of code for the OLED in here with the relevant licenses displayed where necessary.

In the future it should be possible to adapt this to use other displays.

Also adds bank switching support, via buttons attached to GPIOs 2 and 3.

darrena092 commented 1 year ago

Demo: https://twitter.com/darrena092/status/1547146334213382144

dangiu commented 1 year ago

Awesome work @darrena092! This is sick!

DobaMuffin commented 1 year ago

What happened to the code from this pull request. It seems to have been removed from this repo.

darrena092 commented 1 year ago

I think it was too big a departure from the goal of this project which is a simple DIY memory card, so just some of the SD card parts were kept, and Daniele also used some of the bank switching work and adapted it to work via controller inputs. I wouldn't recommend directly using the code in this PR though, I've since discovered a lot of issues with it.

I'm still continuing down this path though, me and another guy (Helder Silva: https://twitter.com/AngryHelder) have been working on a card that he'll have for sale on his site in the near future, you can see a prototype here: https://twitter.com/darrena092/status/1565530728917602304

The firmware for that will be open source etc, and I'll have it available on Github really soon.

DobaMuffin commented 1 year ago

Makes sense. I was more curious as I see this as a replacement for the memcard pro.

dangiu commented 1 year ago

It's totally my fault. At the time I wasn't able to keep up with the project and darren was eager to add it's contribution (which was awesome) but then some of the original features were cut (like the USB support) and the OLED support was not quite ready for prime time since after merging this pull request it would have been mandatory to have one in order to build the device. For this reason I decided to scrap the code and only keep some of the changes... It was definetly not the best way to handle the repo... Anyway adding support for an OLED is definetly something planned for the future but I want it to be implemented in a way that is incremental and allowing to keep the compatibility with devices that do not have one :) Darren did a great work on it! And his spin-off version looks very promising!