-
Made up a few of these beautiful boards and tried with two official RPi Pico H - both work fine (very excited) Then I tried with three RPi Pico RP240 clones (4M and 16M veresions, non LED) and none of them work - no sound and no config menu? all three of these boards work with the blink.uf2? what could I be doing wrong, I'm afraid my knowlege of RPi ends about here? Awesome project!! what is the difference between the LED and RGB uf2 files (where do I find that info? - sorry pretty new to github too) |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 32 replies
-
I hope you did not try the purple clones? Because they have another pinout and won't work... (flash size 4M, 16M, ... does not matter) LED = firmware that lets the status LED blink, RGB = firmware for clones with RGB LED on the PCB. |
Beta Was this translation helpful? Give feedback.
-
I think the pinout is the same except for 3V3_EN, but I have no real Picos. https://github.com/initdc/YD-RP2040/blob/master/YD-2040-PIN.png
I’m super interested in your projects because for a long time I wanted to experiment with C64 bus interfacing—your stuff is great! If you want I can send you detailed documentation of what I know so far, but using the v0.1 PCB in a PAL 326298 and Kawari clock I find the following (I don’t think this is the problem because friend reproduced similar behavior in a stock NTSC machine with the uf2 files in the 0.202 release):
1. V0.14 .uf2 gitHub release works perfectly
1. V0.20+ .uf2 gitHub release makes sound, but version string is trash, on initial entry configurator screen has some other garbage, save/load config doesn’t result in any changes, prg launcher screen is filled with garbage and crashes C64. However, it emulates some SID configuration and makes sound OK. It just seems when interacting with flash there is a problem. I tried several different .uf2 files from the release for both PCB versions. They all behave identically in this respect.
1. Because flash seemed implicated I wanted to investigate, and I tried to build from the .zip archive in the release—I did not clone the repo bc I am experimenting with sandboxing VSCode. Anyway, it would not build initially because RESET and bRESET are undefined but used, and extern resetEverything() is nowhere in that zip archive. On PCB v0.1 SID reset is connected to RUN so there is no way to define RESET or bRESET mask so I just commented out the offending stuff. I found resetEverything() in the firmware v0.10 archive. Builds OK but does nothing in the C64.
1. I next looked at the GPIO mapping to start to understand the interface—it was clear to me that there was no way the code could work because the code suggested that RESET was connected to a GPIO but in the circuit it was not. I discovered that in the .zip source release, the code had (for example) phi2 on GPIO 12 when it is actually on GPIO 9 (passing through the lower FET buffer) on the PCB I have. Someone gave me the boards and said they were from PCBWay; that’s all I know about the origin. It has the same silkscreen etc as the photos in your repo but maybe this design is somehow different? After probing around with a multimeter and logic analyzer, I had to redefine all of the GPIO mappings except for D0-7 and the LEDs.
1. After redefining the GPIO mappings the config menu started to work, but had the same corrupt version string and graphics, but also no sound. I increased the flash size in pico.h (actually created a new board definition) and rebuilt the pico-sdk. After increasing the size, all of the flash-related problems went away, no corruption of version or graphics, prg launcher menu works, etc.
1. Sound emulation (DAC and PWM) and the onboard LED do not work with my modified build yet. It’s weird because the config/launcher works, and even the paddles work. So either reSID isn’t running properly, or possibly RW is somehow stuck and the CPU can only read from the SIDkick. It’s possible that reSID is somehow not happy because of the workarounds I put in for RESET and bRESET, but the LED (not the RGB LED) doesn’t show activity either so maybe something else is stuck in runEmulation. The bus handling otherwise seems ok.
When I rebuilt with the larger flash size, I only rebuilt the SDK. It occurs to me that the memmap copy to ram or whatever also has the wrong size hard-coded in it so maybe I should adjust.
If you have any specific requests for things to try to further debug or for testing on weird machines let me know. Currently I have one mostly stock 64C from Germany (has a TOLB clock in it though), a US locale breadbin with a VIC-II^2 switcher ntsc and pal, and a US locale breadbin with a VIC-II Kawari. The friend that gave me the unpopulated PCBs probably has 30 more 😊 Once I get this to work I’m curious to see how it behaves with my own long-neglected project (https://github.com/rsquared68/schreckenstein64/releases/tag/rc1.0) – I added sound at the last minute and since I don’t fully understand hard-restart the gating is done with extreme violence at the moment. It also relies on OSC3 for fast random number generation, and some emulations really mess up the game progress if this isn’t working well.
Best regards
…________________________________
From: frntc ***@***.***>
Sent: Wednesday, July 17, 2024 11:34:19 PM
To: frntc/SIDKick-pico ***@***.***>
Cc: rsquared68 ***@***.***>; Comment ***@***.***>
Subject: Re: [frntc/SIDKick-pico] What am I doing wrong? (Discussion #39)
As long as the pinout is the same, these YD-RP2040 boards should work (do you have a link?). The flash size does not make any difference, no need to recompile the firmware. (I'm mostly using 16MB boards.)
—
Reply to this email directly, view it on GitHub<#39 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/BFFUBRORSLHHHWZRZ6Y6YJDZM5OWXAVCNFSM6AAAAABF5N7CHGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMBYGA3DMMY>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'll follow up--I found by building from the source that my specific problem with the released .uf2 was related to flash memory speed and everything else was a red herring. The memcpy from flash commands in readConfiguration() didn't work properly for me when the clock is 300MHz—maybe the flash is slower on this clone board. The code listing in the source .zip archive does SET_CLOCK_FAST after the memcpy, but nothing performs a SET_CLOCK_125MHZ before. Maybe the slowdown macro had been in the code at some point and got deleted as unnecessary, but I still need it for things to work. Slowing the clock down before the memcpy fixed all the save/load problems and issues with corrupt strings etc. in my case. It works great and I'm quite happy with it. |
Beta Was this translation helpful? Give feedback.
-
Thanks for flash,i will try and post results. i dont have RAD only AR
VI and epyx fastload but most of time use arVI
thanks again for helping me.
pet, 15. stu 2024. u 00:30 rsquared68 ***@***.***> napisao je:
… These builds are what I'm using and built with only LED and no RGB; one is
PWM-only and the other DAC-only:
r2-build.zip
<https://github.com/user-attachments/files/17758987/r2-build.zip>
Consistent with the above discussion I'm not sure why these work but they
do work for me. If the flash starts behaving better (trash in menu gone,
save/load works, PRG menu works) but you have other problems you'll still
need to tune the timings with the patcher. Notably, in my case everything
worked except the Flex tune accessed by hitting 'p' in the menu would not
play until I adjusted the timings. In my case judging by my shell history I
used .\SKpicopatch.exe .\SKpico202-DAC-LED-RJR.uf2 10 11
If this works I can rebuild for you with more features enabled. Note if
you also use the RAD Expansion it probably won't properly detect these
builds because I think the version string is different.
—
Reply to this email directly, view it on GitHub
<#39 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BM6HUTBMWAMH2PMJBNRORP32AUXB3AVCNFSM6AAAAABF5N7CHGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMRWGA4TANY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Correct.
sri, 20. stu 2024. 22:05 frntc ***@***.***> je napisao:
… Ok, I was asking because with this version you could route the right
channel through the mainboard (but that's not recommended, and I assume
you're not doing that, correct?)
—
Reply to this email directly, view it on GitHub
<#39 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BM6HUTEJCVDMTCN625S7ZVL2BT2TNAVCNFSM6AAAAABF5N7CHGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMZSHA3DOOI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Ok,thanks for help 👍🏻
sri, 20. stu 2024. 22:10 frntc ***@***.***> je napisao:
… Ok, then you should double and triple check the soldering and that the
pins tightly fit into the SID-socket. I think it's unlikely that one of the
CBTD3861 is defective.
—
Reply to this email directly, view it on GitHub
<#39 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BM6HUTBCN4QVVHJIAWDOOML2BT3FPAVCNFSM6AAAAABF5N7CHGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMZSHA3TCNA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi, I've been searching everywhere for an answer. My pico was working fine but I decided to use Mssiah and add Pin7 for adding $de00. It worked well... However... Now almost every time I go in to the SIDKick menu it's garbled. Even overwrites settings by itself. Hitting F8 sometimes stabilizes it. I unsoldered the pin and reflashed it but the problem still persists. I have no idea what's gone wrong. I think it keeps thinking it's got a conflict with the expansion port. Perhaps the CBTD3861is fried? lol Maybe the auto detection goes nuts somehow? Hmmpf. It's the same black board as pictured above. Leds work. It actually worked perfectly before I added $de00. Edit: I see another post with the same issue. Seems to maybe be a hardware fault? In that case maybe it might be better to flash the pico without a menu but already with the required SID options pre-set in the chosen uf2. Because so far It does seem to retain the SID settings as long as you don't enter the menu. |
Beta Was this translation helpful? Give feedback.
Color aside :-) -- is the pinout the same as for the original Pi Pico?
Several people experience bad build quality for the cheap clones (wrongly soldered parts, solder bridges etc), so the best thing is to also try a "blink" example to see if it works at all