ZIP file includes Pico2 and Web2 .uf2 files
Does serial debug still work? Basic works and returns proper version but If I plug in serial, I can’t debug over serial. Have I forgotten a step, does it have to be enabled?
If serial debug requires the PicoCalc to send data out the serial port, then, no, it won’t work. The PicoCalc can receive serial data but not send it. This might be fixed soon. A very talented person is working on it. No, it’s not me. I’m just a hack. Stay tuned for further developments!
I found three items in the original source code that may need a bit of attention:
The Edit command has a problem when the display colors are set to a light background with a dark foreground (ie Black,White instead of Green,Black). The call to ClearRuntime causes a reset to the configured colors instead of WHITE on BLACK.
+++ PicoMiteRC23/Editor.c 2025-12-07 11:37:18.637569221 +0100
@@ -489,6 +489,8 @@
#endif
if (Option.ColourCode)
{
+ OriginalFC = gui_fcolour;
+ OriginalBC = gui_bcolour;
gui_fcolour = WHITE;
gui_bcolour = BLACK;
}
@@ -504,7 +506,9 @@
if (cmdfile)
{
ClearVars(0, true);
+ int tf = gui_fcolour; int tb = gui_bcolour;
ClearRuntime(true);
+ gui_bcolour = tb; gui_fcolour = tf;
}
if (HRes == 640 || HRes == 512 || HRes == 848 || HRes == 720)
{
@@ -1437,8 +1441,12 @@
#else
Option.Refresh = RefreshSave;
#endif
- if (c != ESC && TextChanged && fname == NULL)
+ if (c != ESC && TextChanged && fname == NULL) {
+ gui_bcolour = OriginalBC;
+ gui_fcolour = OriginalFC;
+ ClearScreen(gui_bcolour);
SaveToProgMemory();
+ }
if (c != ESC && TextChanged && fname)
{
int fnbr1;
In External.c a party event
has been inserted:
+++ PicoMiteRC23/External.c 2025-12-07 11:28:15.741030331 +0100
@@ -115,7 +115,7 @@
"PIO1",
"PIO2",
"FFIN",
-#ifdef PICONITE
+#ifdef PICOMITE
"KEYBOARD"
#endif
#else
And the last item could have, but did not, been involved with the serial port problem:
+++ PicoMiteRC23/PicoMite.c 2025-12-07 11:40:31.745802852 +0100
@@ -5486,7 +5486,7 @@
// negative timeout means exact delay (rather than delay between callbacks)
OptionErrorSkip = false;
#ifndef USBKEYBOARD
- if (!(Option.SerialConsole == 1 || Option.SerialConsole == 2) || Option.Telnet == -1)
+ if (!((Option.SerialConsole & 3) == 1 || (Option.SerialConsole & 3) == 2) || Option.Telnet == -1)
{
uint64_t t = time_us_64();
while (1)
All the above are part of the original sources and are not in the adaption for PicoCalc.
Here we go again, RC24 coming soon …..
Well, at least we know what changes should be made if necessary!
I think your last change is wrong although the inverted logic is scrambling the few brain cells I have left. Option.SerialConsole appears to encode whether the serial port used is com0 (bit 0) or com1 (bit 1) but also whether the console output should go both to the serial port and to the USB CDC output (bit 2). If bit 2 is set then the USB CDC device should be enabled but with your change it won’t be.
I will remove this line for RC24, I don’t think it will change much.
Where will the source code be? Do you have a GitHub fork?
I don’t have git hub and I do not want to learn another application system. In the past I have had contact with Michael Adcock about giving the changes to him so that he can publish the new version.