Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : PicoMite/VGA/Web V5.08.00: Release candidates
Page 1 of 2 | |||||
Author | Message | ||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9115 |
V5.08.00RC3 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Minor enhancements and definitely no more VGA mode 1 now supports automatically merging the layer buffer when CPU speed is set to 252MHz. MATH C_AND, MATH C_OR, MATH C_XOR As per MATH C_ADD etc. MATH C_AND in1array(), in2array(), outarray() the arrays can be all the same or any combination but must have the same cardinality MATH V_ROTATE MATH V_ROTATE X_CENTRE, Y_CENTRE, ANGLE, x_in(), y_in(), x_out(), y_out() rotates the coordinates in the x and y in arrays around the centre point specified by x_centre and y_centre by the angle specified. The angle respects OPTION ANGLE. x_in and x_out can be the same as can y_in and y_out. LINE GRAPH LINE GRAPH x(), y(), colour Plots as a line graph the coordinates in the x and y arrays example code for the above FRAMEBUFFER create FRAMEBUFFER write f Option angle degrees CLS Dim x(2)=(100,200,100),y(2)=(100,200,200) Line x(0),y(0),x(1),y(1) Line x(1),y(1),x(2),y(2) Line x(2),y(2),x(0),y(0) Do Math v_rotate 150,150,5,x(),y(),x(),y() CLS 'Polygon 3,x(),y(),RGB(red) Line graph x(),y(),RGB(red) FRAMEBUFFER copy f,n Loop Note the difference between using the POLYGON command (closed shape) and the LINE GRAPH command |
||||
Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 509 |
Hi Peter, Does this version have the option to use VGA at 378MHz permanently removed? (unfortunately I can't test it as I've only currently got an old RaspberryPi for internet, which can't for some reason, download your Beta builds.) otherwise I'd test it to see. :-( Personally I would still like to have the option, even if it might cause problems under some circumstances. Thanks for all your hard work. Regards, Kevin. |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4234 |
Works nice Peter !! I guess you can use this to run "Rocks in Space" completely in math, no sprites needed anymore. I can also use LINE GRAPH and MATH AND to speed up the graphical output of the logic analyzer (although that has been improved by 50% recently in LA_24_1). Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4234 |
Hi Peter, A question about colors, transparency and SPRITE MOVE in picomite VGA (V50800RC3, but also earlier). Assume I have a sprite that has been designed to have MAGENTA as transparent color. That sprite is created in the CMM1 compatible color map. MAGENTA = color 5 I create a framebuffer layer for this sprite with transparency MAGENTA. FRAMEBUFFER LAYER 9 (9 is the transparency color number for magenta). When I move this sprite over layer L, the magenta color is not transparent anymore, but is converted to some form of green. Or is it taking the transparent color from layer N (under it). Is it possible SPRITE MOVE uses the wrong color definition ? Or that I am just confused.... (likely option ).. Regards, Volhout Edited 2024-01-15 22:34 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9115 |
True sprites only support black as transparent |
||||
barewires Newbie Joined: 13/04/2015 Location: United KingdomPosts: 30 |
The keep-alive LED does not function in this version. (Webmite) Edited 2024-01-16 01:06 by barewires |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9115 |
Yes it does. Try OPTION RESET |
||||
barewires Newbie Joined: 13/04/2015 Location: United KingdomPosts: 30 |
No it didn't but then set wifi and ntp. 15:18:48 15-01-2024 MM.Ver 5.08 MM.Device$ WebMite MM.Info(version) 5.08 MM.Info(SYSTEM HEAP) 15360 MM.Info(FLASH) 0 MM.Info(VERSION) 5.08 MM.Info(ID),MM.Info(IP ADDRESS) E66164***** 192.168.1.14 MM.Info(TCPIP STATUS) 3 MM.Info(WIFI STATUS) 1 MM.Info(BOOT COUNT) 9 MM.Info(CPUSPEED) 133000000 MM.Info(CURRENT) NONE |
||||
LeoNicolas Guru Joined: 07/10/2020 Location: CanadaPosts: 479 |
Peter, will these updates be migrated to the other MMBasic versions? |
||||
karlelch Senior Member Joined: 30/10/2014 Location: GermanyPosts: 172 |
Thanks Peter! Many new features to optimize my robot's code |
||||
stanleyella Guru Joined: 25/06/2022 Location: United KingdomPosts: 2129 |
First using sprites I plotted them from data then read them and a sprite as the black background didn't work as erase so used box. I don't know what's happening as so many rc updates , it's dynamic. |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 830 |
Hi, I have two problems. First the more important problem: My SPO256 emulation (https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15431#195775) only works a few times. Then I get this error here: [66] Play WAV "A:\SPO256Phonemes\"+wav$+".wav",IROUTINE Error : Not enough memory > Before that, the program worked endlessly! This is the current program: Option Explicit Dim WAVbusy As INTEGER Const TRUE=1 Const FALSE=0 Print "Play" Do PlayWAV "2Eh" PlayWAV "0Fh" PlayWAV "0Bh" PlayWAV "0Dh" PlayWAV "1Fh" PlayWAV "1Dh" PlayWAV "33h" PlayWAV "13h" PlayWAV "28h" PlayWAV "35h" PlayWAV "33h" PlayWAV "28h" PlayWAV "06h" PlayWAV "23h" Pause 1000 PlayWAV "1Bh" PlayWAV "07h" PlayWAV "2Dh" PlayWAV "35h" PlayWAV "03h" PlayWAV "02h" PlayWAV "0Dh" PlayWAV "1Fh" PlayWAV "03h" PlayWAV "02h" PlayWAV "12h" PlayWAV "13h" PlayWAV "03h" PlayWAV "02h" PlayWAV "3Fh" PlayWAV "1Ah" PlayWAV "0Dh" PlayWAV "29h" PlayWAV "03h" PlayWAV "02h" PlayWAV "25h" PlayWAV "07h" PlayWAV "0Dh" PlayWAV "1Dh" PlayWAV "03h" PlayWAV "02h" Pause 1000 'Loop 'Do PlayWAV "hh2" PlayWAV "aa" PlayWAV "ll" PlayWAV "ll" PlayWAV "ow" Pause 1000 Loop Sub PlayWAV wav$ WAVbusy=TRUE 'Play WAV "B:\SPO256Phonemes\"+wav$+".wav",IROUTINE Play WAV "A:\SPO256Phonemes\"+wav$+".wav",IROUTINE Do Loop While Wavbusy=TRUE End Sub Sub IROUTINE WAVbusy=FALSE End Sub (The corresponding WAVs are in the link above...) It doesn't matter whether I play the WAV from the internal drive or from the SD card. My second problem concerns the color display with Terra Term. I have inverted the color scheme because I can read better on the light background. So far this has not been a problem. In the editor, the font (instead of black) was ONLY displayed in a more illegible light gray with OPTION COLORCODE ON. With OPTION COLORCODE OFF, or when you left the editor, the font was crisp black again. Now, however, it is illegible light gray even with COLORCODE switched off and after exiting the editor. However, when restarting (before calling the editor), the font is black... This is what it looks like in the editor: This is what it looks like after leaving the editor: The WAV problem and the editor problem already existed with PicoMite_Beta V5.08.00b5, but I only noticed it in the last few days. With PicoMite MMBasic version 5.07.06b9 I had at least no problems... Oh yes, I use a RP2040 Geek with the following options: > Option List PicoMite MMBasic Version 5.08.00RC3 OPTION SYSTEM SPI GP10,GP11,GP28 OPTION FLASH SIZE 4194304 OPTION COLOURCODE ON OPTION HEARTBEAT OFF OPTION PICO OFF OPTION LCDPANEL ST7789_135, LANDSCAPE,GP8,GP12,GP9,GP25 OPTION SDCARD GP23, GP18, GP19, GP20 OPTION AUDIO GP2,GP3', ON PWM CHANNEL 1 > Frank |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9115 |
V5.08.00RC4 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Fixes the couple of bugs found by Frank Adds a new game orientated feature to the VGA version FRAMEBUFFER OFFSET x, y [,b] This command changes the VGA output so it offsets reading the framebuffer vertically by subtracting y from the line and each line horizontally by adding x. The optional parameter B waits for frame blanking before making the change. Note: this command does not change the contents of the framebuffer, just the way it is read out of the buffer. The command is only available when OPTION CPUSPEED 252000 is set. FRAMEBUFFER OFFSET 16,16 will move the image 16 lines down the screen and 16 pixels to the right with lines at the bottom wrapping to the top and pixels at the right wrapping to the left. The shifts in the y direction can be any number between 0 and MM.VRES-1 The shift in the x direction must be between 0 and MM.HRES - xmod and be a multiple of xmod which is 16 for mode 1 and 2 for mode 2 Example code as shown in the Demo MODE 2 Load image "b:/julia2" Do For y=0 To 238 Step 2 x=y*4/3 If x Mod 2 Then Inc x FRAMEBUFFER offset x,y,b Next Loop |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4234 |
In flappy bird I use SPRITE SCROLL to achieve the same. With framebuffer write N it scrolls N, with framebuffer write L it scrolls L Can scroll negative and positive directions. Maybe I abuse the command, but it works. Volhout Edited 2024-01-17 16:28 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 830 |
@matherp: Peter, thank you very much! Even after half an hour, everything is still working as it should! The editor problem has also been solved! Frank |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 830 |
New problem found... It looks as if the default setting for the backlight is not applied after a restart: BACKLIGHT n [,DEFAULT] BACKLIGHT 2,2 The backlight setting works, but is back to maximum after a restart... (tested on a RP2040 Geek and OPTION LCDPANEL ST7789_135, LANDSCAPE,GP8,GP12,GP9,GP25) Frank |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9115 |
Use the word "default" as per your quote, anything else is ignored Edited 2024-01-17 23:23 by matherp |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 830 |
Ok, thank you very much - I had misunderstood... Frank |
||||
JanVolk Senior Member Joined: 28/01/2023 Location: NetherlandsPosts: 144 |
Is it true that the function DIR$(fspec) only returns a random name? example: ? DIR$("P*.*") only returns a random file name starting with p, while there are several starting with p. And thanks for fixing the colors in v5.08.00RC4 in the editor so I can use my old colors again. Jan |
||||
phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 2135 |
Print DIR$(fspec) Returns the first item that matches "fspec". to get the next item follow with:- Print DIR$() and so on. To list all at once use FILES fspec$ (posibly command line only) See page 143 of the draft manual. Edited 2024-01-18 09:00 by phil99 |
||||
Page 1 of 2 |
Print this page |