Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : PicoMite V6.00.01 release candidates - please test thoroughly

   Page 21 of 23    
Posted: 02:35pm
23 Dec 2024
Copy link to clipboard
matherp
Guru

Will do
 
Posted: 07:46am
24 Dec 2024
Copy link to clipboard
Peter63
Regular Member

merry christmas to all

vgasnow.zip

/Peter63
 
Posted: 09:27pm
24 Dec 2024
Copy link to clipboard
twofingers
Guru


  Peter63 said  merry christmas to all

Dito!  
Michael

PicoMiteHDMI MMBasic RP2350A Edition V6.00.01RC10

@Peter
I'm trying to send a small program with xmodem and I get an error message. If you have a lot of time ...?
> save"laes_015x
> XMODEM SEND
Error : Not enough Heap memory
> ? mm.info(heap)
181248
> memory
Program:
  5K ( 2%) Program (209 lines)
175K (98%) Free

Saved Variables:
 16K (100%) Free

RAM:
  0K ( 0%) 0 Variables
  3K ( 1%) General
225K (99%) Free

But
XMODEM SEND filename$

works!

I wish you relaxing holidays too.
Michael

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

  Peter63 said  merry christmas to all

vgasnow.zip

/Peter63


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

  Quote  The second cls would not clear screen until a framebuffer copy was executed.

Of course not, you are clearing the layer buffer
  Quote  A layer buffer in mode 1 is just another framebuffer

Edited 2024-12-26 20:16 by matherp
 
Posted: 10:22am
26 Dec 2024
Copy link to clipboard
Volhout
Guru

  matherp said  
  Quote  The second cls would not clear screen until a framebuffer copy was executed.

Of course not, you are clearing the layer buffer
  Quote  A layer buffer in mode 1 is just another framebuffer


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:
[52] I2C Open 1000, 200
Error : Valid speeds 100, 400

Same for default CPUPSPEED. Is 1000 KHz supported or not?
Best
Thomas

PicoMite MMBasic USB RP2350A Edition V6.00.01RC10
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM SPI GP18,GP19,GP16
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION HEARTBEAT OFF
OPTION PICO OFF
OPTION CPUSPEED  252000 'KHz
OPTION DISPLAY 64, 80
OPTION LCDPANEL ST7789_320, PORTRAIT,GP22,GP15,GP17,GP14
 
   Page 21 of 23    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025