![]() |
Forum Index : Microcontroller and PC projects : PicoMiteVGA V5.07.07b19 - Major enhancement - 640x480 edit in colour
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
homa![]() Guru ![]() Joined: 05/11/2021 Location: GermanyPosts: 454 |
Yes. This works, but not at default cpu speed! |
||||
homa![]() Guru ![]() Joined: 05/11/2021 Location: GermanyPosts: 454 |
here a small video of the bug as a zip file Vid 20230220 212235 Picomite VGA Bug B22.zip |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Peter, Chess, and the large game (including music) work okay now. Thanks for restoring the memory. Editing also works. But at 126MHz there are 3 artefacts I noticed (most likely related) 1 - in a large listing at every page down, the new page is displayed, but there is a "shiver" in some section of the screen. As if text was printed at the wrong place (1 pixel up) and is re-written at the correct place. But this is on an LCD monitor, and it may be the monitor that shows a sync loss (or sync timing problem) this way. 2 - in the same large listing, once every 10 screen that you page down, the screen is completely blanked (black), and comes back after 0.5 seconds. This could also be monitor related behavior (sync loss). The 2 artefacts get worse when scrolling up and down through the listing (there is also a horizontal white line, 1 pixel high, visible through the text in the lower half of the screen.It is briefly visible, when the screen stabilizes, it is gone. 3 - when loading from SD card, the screen shivers for 1 second (loading the famous "solar_eclips.bas" that is size 70k byte. All in all, the V50707b22 is working well at 252MHz, but there are video artefacts when running 126MHz. Since the recent issues with some pico platforms at 200+MHz, some more tweaking is needed. Not bad Peter !! I hope you can fix the last timing issues.... Volhout P.S. there may be an "in between" option. You mentioned 126MHz: ARM = 126MHz, SPI flash = 126MHz based 252MHz: ARM = 252MHz, SPI flash = 252MHz based 378MHz: ARM = 378MHz, SPI flash = 189MHz based (half speed) Maybe there is a solution for the boards that do not run 252MHz to run the ARM at 252MHz, but the SPI flash at 126MHz. That may be acceptable for this problem. Edited 2023-02-21 07:33 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 3989 |
I can't reproduce all the above but paging in EDIT through a longish listing I do see a small shiver sometimes (at default CPU speed). I don't have an SD card socket yet so can't check that :( John Edited 2023-02-21 07:36 by JohnS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
Hi Peter, Today I had the opportunity to test V50707B22 on a different VGA monitor (also LCD). This monitor is not very forgiving.... At literally every change in the video (cursor movement) it re-syncs. Just put a listing on screen, and move the cursor through the listing (text is not scrolling). I checked the HSYNC and VSYNC and the signals look good (levels), so it must be in the timing then. On the scope I could not observe jitter, but it is not a very good scope (so marginal jitter may stay hidden). Volhout EDIT: I double checked. With V50707B18 the video is rock stable on this same monitor. Edited 2023-02-22 20:19 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10012 |
Looks like I may have to restrict the small tiles and colour editing to 252MHz. I already restrict access to layers in this way. The firmware uses a different interrupt routine at the higher speeds so easy to do |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10012 |
Please find attached V5.07.07b23 PicoMiteVGAV5.07.07b23.zip A number of things to check please: First: at 126MHz the tile size can no longer be changed and defaults to 8x12 allowing colour editing. This saves me a couple of instructions in the interrupt routine. Please let me know if this solves the image stability problems - if not we will be back to only having 16x16 tiles at 126MHz. Volhout: you can change the logic analyser to use font 1 scaled by 2 to get large colour fonts Second: I have changed the flash clock divide ratio at 252MHz. If you have a Pico that was unstable at 252MHz please try this version and let me know if any improvement. The version also fixes the bug in the TRIANGLE command (1 character wrong in the source) |
||||
nbrok![]() Regular Member ![]() Joined: 13/02/2023 Location: NetherlandsPosts: 60 |
PicoMiteVGAV5.07.07b23.zip <font color="REDPlease execute the command OPTION CPUSPEED 126000 before doing anything else"> A number of things to check please: First: at 126MHz the tile size can no longer be changed and defaults to 8x12 allowing colour editing. This saves me a couple of instructions in the interrupt routine. Please let me know if this solves the image stability problems - if not we will be back to only having 16x16 tiles at 126MHz. Volhout: you can change the logic analyser to use font 1 scaled by 2 to get large colour fonts Second: I have changed the flash clock divide ratio at 252MHz. If you have a Pico that was unstable at 252MHz please try this version and let me know if any improvement. The version also fixes the bug in the TRIANGLE command (1 character wrong in the source) Did you do the same for the none vga picomite? So that I can test the triangle command also? Greetings, Nick de pe1goo |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Peter, Not sure what happened, but when I loaded b23 on my picomite, I could not connect to it through USB terminal. (on linux /dev/ttyACM0 did not exist). And when I tried to restore back to an earlier version, the bootloader would not connect. Only after some 20 tries, I was able to get the bootloader to connect to the PC. I nuked the flash, and retried with b23. And the same happened. On my pico on the V1.7 board (and even when I take the bare pico) I cannot connect to USB terminal. And it is very hard (many tries) to get the bootloader to connect to the PC. I had most luck when I connected the pico directly to the PC (normally it is in a 7 port hub). Observation: b23 is supposed to have small tiles only. But when you boot b23, in the options is OPTION TILE LARGE and no CPUSPEED option (so it would be 126000 ?). Not sure what you changed, but something has changed in the esence of the system, -or- my pico has finally started to degrade (after around 300 firmware updates). I have to try another when I get to it. PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10012 |
Try this. I hadn't forced a flash/option clear but it is possible depending on your setup something was conflicting. This one will reset everything PicoMiteVGAV5.07.07b23.zip |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Peter, Yes, working now at 126MHz. The monitor resync problem is gone. There is only 1 small artefact remaining. In the edit screen, right bottom corner shows line number. While scrolling that part of the screen is flickering, and in the command bar (bottom text line) there is a flashing white line visible during scrolling. Only when scrolling, when moving cursor this is not visible. But this is more an anoyance than it is a functional problem. Cosmetic. Once scolling stops, the white line and the flickering are gone. As if this part of the screen is not written during vertical blanking. Also the video problems when reading SD card are gone. Volhout EDIT: when 252MHz and OPTION TILE SIZE SMALL, the color editor works. When you run a program which uses TILE LARGE command, and want to edit after running this program, you do not return to small tiles (the editor is monochrome). Edited 2023-02-25 04:43 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10012 |
V5.07.07b24 PicoMiteVGAV5.07.07b24.zip This changes tiles again Now there are always 80 tiles across but you can select any height between 12 and 480 using the command TILE HEIGHT n On my monitors this version is still completely stable irrespective of sdcard activity etc. Hopefully it is on yours as well? This is now more flexible than anything that went before. Entering the editor will switch the tile height to 12 allowing full colour editing and then restore it to your setting on exit. I've also coordinated scrolling with frame blanking so there are fewer artefacts in the editor when scrolling up and down by a line Try: cls TILE HEIGHT 50 FONT 6:TEXT 8,50,"12:20:24",,,,rgb(red),rgb(blue) As you can see any TEXT command that aligns with the tile structure will correctly interpret the colour information even though the display framebuffer is still only using 1 bit per pixel |
||||
homa![]() Guru ![]() Joined: 05/11/2021 Location: GermanyPosts: 454 |
... Yes, working now at 126MHz. The monitor resync problem is gone. There is only 1 small artefact remaining. In the edit screen, right bottom corner shows line number. While scrolling that part of the screen is flickering, and in the command bar (bottom text line) there is a flashing white line visible during scrolling. Only when scrolling, when moving cursor this is not visible. But this is more an anoyance than it is a functional problem. Cosmetic. Once scolling stops, the white line and the flickering are gone. As if this part of the screen is not written during vertical blanking. Also the video problems when reading SD card are gone. ... @Peter I can confirm exactly the same. Thank you! Matthias |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10012 |
Is that with b24? |
||||
phil99![]() Guru ![]() Joined: 11/02/2018 Location: AustraliaPosts: 2407 |
Volhout's logic analyser adjusted for b24. LA_21_b24.zip |
||||
homa![]() Guru ![]() Joined: 05/11/2021 Location: GermanyPosts: 454 |
Is that with b24? No, b23, second version. > option list PicoMiteVGA MMBasic Version 5.07.07b23 OPTION SYSTEM I2C GP14,GP15 OPTION COLOURCODE ON OPTION KEYBOARD GR OPTION SDCARD GP13, GP10, GP11, GP12 OPTION RTC AUTO ENABLE Edited 2023-02-26 02:21 by homa |
||||
homa![]() Guru ![]() Joined: 05/11/2021 Location: GermanyPosts: 454 |
Is that with b24? Hello Peter. Have now tested b24 and runs even better! Only a very small flare of the bottom white line in the editor when scrolling down in the source code. No real problem! TeraTerm and VGA display in EDIT simultaneously, everything super. Your example program works too. cls TILE HEIGHT 50 FONT 6:TEXT 8,50,"12:20:24",,,,rgb(red),rgb(blue) Thanks and have a nice weekend. Greetings Matthias > option list PicoMiteVGA MMBasic Version 5.07.07b24 OPTION SYSTEM I2C GP14,GP15 OPTION COLOURCODE ON OPTION KEYBOARD GR OPTION SDCARD GP13, GP10, GP11, GP12 OPTION RTC AUTO ENABLE Edited 2023-02-26 02:32 by homa |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Peter, I am slowly going though the several programs. I have adapted the logic analyzer since I feel this change is more or less final. And it works. I have tested on the monitor I have at home. The other (most critical) monitor I can test wednesday. But on this monitor I can confirm Matthias observations. Only while scrolling in the editor there is a flickering of the line number fieldin the bottom right. I have my fingers crossed for the other monitor.. In the mean time I will try some other programs, and play with the editor. Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
LA_21_b24.zip Hi phil99, Thanks for the changes, I have added some more in another section of the code, and put it in the logic analyzer thread. Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4824 |
@Peter, I guess this tile change does not make it easier now to get a SAVE IMAGE with color ...?? Volhout Edit: tested most of my programs, all work Only the hi-res chess program needed fixes. Edited 2023-02-26 06:57 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |