c64-pico-ram-interface
c64-pico-ram-interface copied to clipboard
Need BOM
I am really interested in this project and have just ordered a set of boards so that I can build 1 for myself. I would have preferred to order the boards populated but I can order the parts separately and solder the surface mount components. A BOM would help with ordering the boards. Also I was having a hard time finding the actual components on the JLCPCB site so I decided to just get the boards and then order the parts later if I didn't have the resistors and capacitors already.
I was also wanting to reach out and see what I can do to contribute to this project. I have recently gotten back into retro computing and have obtained both an actual C64 and C128 that I have been doing some assembly development on. I had the idea earlier to see about using a Raspberry Pi to interface to a C64 and started to do some research into what existing projects there were and ran across your use of the Pico. I have done some development with the Pico and it is a brilliant solution to the interface that I am thinking about.
Also, I saw the 2 Pico solution that would allow for more capabilities, and I am interested in that also. I also saw another project where a Raspberry Pi was used to generate HDMI directly from a cartridge port.
Would something like this work? picocart.csv
KiCad has a lot of BOM output generators, this one is from bom_csv_grouped_by_value.py
. If that looks useful, I'll add it to the repo.
I'll be interested to see if it works on the C128. Are they PAL or NTSC machines? As far as I know, this has only been tested on NTSC (though I can't imagine PAL would cause a problem).
The BOM is a start I will see if I can get exact part numbers and specifications. I think I was trying to find the exact parts @ JLCPCB so they could pre-populate the board. I am new to ordering the boards prepopulated so wanted I make sure I got everything exactly right. If you are thinking of moving forward with the 2 Pico solution, I would be interested in helping with the development of that and I can help by paying for and ordering the boards and testing the boards. This solution would allow for some great solutions with the available add-ons to the Pico that are available: LCD display, HDMI output etc... I could see a lot of different ideas going out of this. I am also involved with the Foenix system and have a Mega65 on order so 6502, 4510 and the 65816 processors so I am improving my assembly skills.
I will let you know when I get the blank boards and start populating them...
The C128 is NTSC (rasterOverscan = $06) and the C64 is PAL (rasterOverscan is $37). I found some assembly that would determine the machine type through code by getting the rasterOverscan. I made this into a routine so I could the timing so that I could use the jiffyTimer to time executions:
FUNCTION GetRasterOverflow() : byte; BEGIN ASM SEI System_GetRasterOverflow_WaitBMI: LDA $D011 BMI System_GetRasterOverflow_WaitBMI
System_GetRasterOverflow_WaitBPL: LDA $D011 BPL System_GetRasterOverflow_WaitBPL
System_GetRasterOverflow_WaitNoBPL: LDA $D012 BIT $D011 BPL System_GetRasterOverflow_WaitDone STA System_rasterOverflow BMI System_GetRasterOverflow_WaitNoBPL
System_GetRasterOverflow_WaitDone: CLI END;
RETURNVALUE(rasterOverflow);
END;
For the ICs, the exact model doesn't matter so much. I used TI SN74LV244APWRG3, SN74LV244APWRG4, SN74LV244ATPWR; as well as Nexperia 74LV244APWJ when I was prototyping these.
I do plan on spending some time on the 2 pico idea at some point soon. I have a new design I'll put in a new repo once I can do some testing.