Update: The error only occurs when the program has been run once. Edited 2024-12-25 07:55 by twofingers
Posted: 10:08pm 24 Dec 2024 Copy link to clipboard
phil99 Guru
The problem doesn't appear to affect all variants of RC10. Xmodem Send works on VGA.
Does the program use a framebuffer? I have a vague recollection that someone found it necessary to close them before using Xmodem.
Posted: 10:15pm 24 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Peter63,
If you replace
Print @(pp(i),yy(i)) "*"
With
Text pp(i),yy(i),"*"
The snow fall is even more fluent (no output to console, only to screen) It also works in mode 1 (2040 and 2350)
Volhout Edited 2024-12-25 08:16 by Volhout
Posted: 10:33pm 24 Dec 2024 Copy link to clipboard
twofingers Guru
@Phil
no, no framebuffer. The error only occurs when the program has been run once. Must be related to the program's activity somehow. Regards Michael
Posted: 08:33am 25 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Peter, Geoff,
Merry Christmas, and Happy 2025. I hope you can enjoy the days with your loved ones, And stay healthy (avoid fireworks...)
Volhout
Posted: 09:40pm 25 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Peter,
I am aware that I may be asking something very complicated, but one issue I would like to get resolved is the USB maintenance task latency. This is for PS2 based systems. When you print text to a VGA screen using the print command, once per second there is a 200ms system freeze. Only when the PC console is attached, and a terminal program running.
The freeze does not exist when the PC console is attached, but the serial port is closed. Only when it is open. You can run the vgasnow program few posts back to see what I mean. This is not new, it existed in 5.08.00 already.
It may be related tou text output, but maybe also to keyboard input being handles in those 200ms. It is one of the reasons I implemented PS2 support in pettscii, since the console caused irregular player moves. I remember that minimizing the PS2 key repeat rate influenced the freeze time due to USB console.
Volhout
Edit: maybe it is the external terminal scrolling? Edited 2024-12-26 08:10 by Volhout
Posted: 10:18pm 25 Dec 2024 Copy link to clipboard
Mark Regular Member
I've been mostly using MMBASIC VGA 5.08 on a Pico (non-W) with a Land-Boards PicoMite VGA(3) board. I did load MMBASIC VGA 6.00.01 on a Pico 2 with the same PicoMite VGA board.
I noticed that with 6.00.01 occasionally the PS/2 keyboard would stop working. I could get the keyboard to work again by unplugging the replugging the PS/2 connector, but sometimes I would have to do that several times. I have not experienced the keyboard no working with 5.08.
Just a comment reporting an issue.
Mark
Posted: 08:07am 26 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Peter,
I did some more investigation, and it is not caused by MMBasic. The freezes are only showing in relation with MMCC, not with Putty. So it is related to the terminal program. Since I mostly develop using MMEdit/MMCC I was not aware of this difference.
Please disregard above request.
Volhout
Posted: 08:29am 26 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Mark,
About the PS2 keyboard issue. Is it possible for you to test 6.00.01 on a pico 1 (2040) on that same land board. The land board uses a TXS0104 level shifter (other than the FET's used in reference design, it has fast edge circuits inside). This may not work well with the RP2350 GPIO pin bug.
And RP2040 does not have that bug, and may work fine with 6.00.01.
Volhout
Posted: 09:10am 26 Dec 2024 Copy link to clipboard
Volhout Guru
@Peter,
Is it possible the FRAMEBUFFER LAYER in VGA mode 1 has changed.? This is 2040 VGA PS2 build of 6.00.01rc9
mode 2 cls 'clear layer N text 0,0,"Hello" 'write text on layer L framebuffer layer 'create overlay framebuffer write L 'write to overlay cls 'clear L to default transparent color text 0,20,"Hello" 'write text on layer L do:loop
Above program shows 2x text "Hello" on the VGA screen. One text is on layer N, the other on layer L. All in black and white (although mode 2 is 16 colors).
If I change the first line (mode 2) into mode 1, I would expect the same behavior (2x text "Hello"), but I see nothing. Removing the second CLS shows part of the problem, then we see 1 single Hello (the text on layer N). This indicates that the transparent color of layer L is not transparent in mode 1. This actually makes layer L useless in mode 1.
But why is there not second "Hello". The Layer L should show the text, even when the black is not transparent.
Layer L does not behave as documented in the user manual.
Any idea ?
Volhout Edited 2024-12-26 19:55 by Volhout
Posted: 10:02am 26 Dec 2024 Copy link to clipboard
matherp Guru
Mode 1 doesn't support an active layer and looking back at my source archive has never supported layers (5.07, 5.08, 5.09) Mode 1 supports tiles and layers and tiles don't mix. A layer buffer in mode 1 is just another framebuffer
Posted: 10:10am 26 Dec 2024 Copy link to clipboard
Volhout Guru
Hi Peter,
Understood, but the behavior is strange. The second cls would not clear screen until a framebuffer copy was executed. So L is overlaying N, only the mixing does not include a transparency.
Volhout
Posted: 10:15am 26 Dec 2024 Copy link to clipboard
matherp Guru
Of course not, you are clearing the layer buffer
Edited 2024-12-26 20:16 by matherp
Posted: 10:22am 26 Dec 2024 Copy link to clipboard
Volhout Guru
If I execute the program using framebuffer create, and framebuffer write f, the second cls is not visible until you do a framebuffer copy f,n.
Using framebuffer layer the effect of cls is immediately visible. So L is not the same as F
Volhout
Posted: 10:32am 26 Dec 2024 Copy link to clipboard
matherp Guru
What version are you running on what processor?
Posted: 11:27am 26 Dec 2024 Copy link to clipboard
Volhout Guru
Peter,
Apologize, I cannot reproduce it anymore, Was running 6.00.01rc10. But put all aside for brunch, and after building the set again, it behaves as you suggested. I must have been confused.
Volhout
Posted: 09:01pm 26 Dec 2024 Copy link to clipboard
homa Guru
Hi Peter,
Is it possible to send content with an error message e.g. 404 with "WEB TRANSMIT CODE"? The reason for this is that Firefox (133.0.3) displays an empty page even though the header is received with 404. The Edge shows a default 404 error page instead. This is actually better and FF's behaviour is annoying. My two attempts to send content failed. fzf%() (four zero four) simply contains some “html” and sending a “default” 404.html file does not work after sending the error either (duplicate header?).
Matthias
> option list WebMite MMBasic RP2350A Edition V6.00.01RC10 OPTION FLASH SIZE 4194304 OPTION LIBRARY_FLASH_SIZE 34000 OPTION COLOURCODE ON OPTION CPUSPEED 150000 'KHz OPTION WIFI ***, *****************, PICO2 OPTION TCP SERVER PORT 80 OPTION TELNET CONSOLE ON >
... On ERROR SKIP Open file$ For INPUT As #1 ' check that the file exists If MM.Errno Then Print MM.Errno WEB TRANSMIT CODE a%, 404 'WEB TCP SEND a%, fzf%() 'WEB TRANSMIT file a%, "404.html", "text/html" Continue For EndIf Close #1 ...
Posted: 05:52pm 27 Dec 2024 Copy link to clipboard
karlelch Senior Member
Hi,
a comment regarding I2C: The preliminary manual for version 6 says under "I2C OPEN speed, timeout": "... ‘speed’ is the clock speed (in KHz) to use and must be one of 100, 400 or 1000." For 1000 KHz, I get: