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) V5.07.07 betas - bug fixes + focus on PIO
Page 15 of 16 | |||||
Author | Message | ||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9139 |
I've just updated B34 as follows: LIBRARY LIST ALL implemented Support for mono output in PLAY SOUND PLAY SOUND chan, M, waveform, freq [,vol] When M is set the right channel is set to to be the invert of the left See the previous page for all the details of other changes Edited 2023-04-03 20:45 by matherp |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4256 |
Does this also work with: OPTION AUDIO GP6 (Only 1 PWM channel used, the other (GP7) free for other IO ?) Volhout P.S. I can imagine it will not work the other way around (not using PWM3A, but using PWM3B). Edited 2023-04-03 21:10 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9139 |
No: The two channels are running as normal just 180 degrees out of phase Note on my VGA board design I am using GP22 and GP23 for audio (+ GP24,gp29 if DAC) Edited 2023-04-03 21:20 by matherp |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 6102 |
Thanks VK7JH MMedit MMBasic Help |
||||
mozzie Regular Member Joined: 15/06/2020 Location: AustraliaPosts: 68 |
G'day Peter, Once again my thanks, this time for the Mono function in Play Sound With a little testing so far this has completely removed the noise problems with the Pico switching PSU in mono applications. Awesome work. Regards, Lyle. |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9139 |
I can fix PLAY TONE - you will just use a negative frequency for the right channel. This will be in the first release candidate e.g. PLAY TONE 400,-400 This will only work when the audio is stopped as subsequent PLAY TONE commands when a tone is active maintain the phase position to avoid pops So PLAY TONE 400,-400 PAUSE 1100 PLAY TONE 800,-800 'ERROR PLAY TONE 400,-400,1000 PAUSE 1100 PLAY TONE 800,-800 'OK PLAY TONE 400,-400 PAUSE 1000 PLAY TONE 800,800 'Negative phase relationship maintained Edited 2023-04-04 01:56 by matherp |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4256 |
I understand exactly what the issue is, but this is very hard to program in a game. Whenever there is a slight delay in the main loop you run the risk the game stalls in a error. The PAUSE 1100 between notes will contain part of the game process (video/sprites/key handling) and can vary slightly. Correct ? PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9139 |
play tone has a completion interrupt which seems to be missing in the manuals PLAY TONE lfreq,rfreq [,duration [,interrupt]] Play tone 400,400,2000,myint Do Loop Sub myint Print "end" End End Sub Edited 2023-04-04 07:50 by matherp |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4047 |
Why would you use PLAY TONE in a game rather than PLAY SOUND ? With the former, amongst other limitations you can't play music and FX simultaneously. Best wishes, Tom Edited 2023-04-04 08:00 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
mozzie Regular Member Joined: 15/06/2020 Location: AustraliaPosts: 68 |
G'day Peter, Without enough knowledge "under the bonnet" of the RP2040 / MMbasic, is the following possible? Make the negative implicit, must be used always for inverted output? -0 then becomes an issue. Add a further parameter to the command for inverted, (put an i on the end?) Add a further option in the Option Audio command to invert the signal always, although this may restrict flexibility. As Volhout suggests, having the signal de-invert may cause issues if unexpected. To say the PicoMite is becoming "Feature Rich" is a monumental understatement Also found the following in B34: > play sound 1,b,n,1 > play sound 1,l,n,1 Error : Not loaded > play sound 1,r,n,1 Error : Not loaded @Thwill The Play Tone command is better for warning sounders etc due to the 100% modulation. Also useful for non audio applications. Try it with the frequencies only a couple of Hz apart, sounds very SciFi Regards, Lyle |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4256 |
The antiphase mono is something you have to adapt the hardware for. So please put this in the options OPTION AUDIO GPX,GPY,MONO Or, as Tom says, remove it from play tone, only in play sound. PicomiteVGA PETSCII ROBOTS |
||||
mozzie Regular Member Joined: 15/06/2020 Location: AustraliaPosts: 68 |
G'day Volhout, Peter will be able to answer this, but after poking all sorts of things at the PWM modules and getting nowhere, the inversion is possibly a negate / not / inv of the left channel value and send it to the right, also only need to calculate one PWM value that way rather than two. This is purely a guess on my behalf Peter, this was purely a "wish list" item but it would be handy to have. Regards, Lyle. |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4256 |
Feature rich.... that indeed is an understatement. In the days I was young, ages ago, I grasped the basic of my Acorn Atome, Oric Atmos, C64 in few days. From reading magazines, I understood how you could use the "few" commands in these Basic interpreters to do great things. I am using MMBasic now for years, (and I am older...), but need to read up in the manual often because there are so many commands, functions, and especially...options within commands. I think it has gone beyond the point of BASIC. It is TOP. Let's call it MMTOP now.... Volhout PicomiteVGA PETSCII ROBOTS |
||||
nbrok Regular Member Joined: 13/02/2023 Location: NetherlandsPosts: 60 |
I agree with Volhout. It is very nice and great job what Peter does, but the BASIC became so big that a new manual is necessary and Geoff cannot hold on with all the changes made. What I've experienced with projects like these that many new bugs will be introduced. Not intentionally but I don't trust the C compiler completely. At the ROSCOM M68K project a bug in the compiler did the SD-spi disk I/O system not working properly. When the newest compiler version came, our disk I/O problem was magically solved..... We lost a lot of time looking to solve the problem... Greetings, Nick de pe1goo |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9139 |
Thanks - will fix Will remove it - was just responding to a request |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6814 |
MMBasic is a labour of love and should be regarded as such. It was born out of love and it's developed and maintained out of love. It doesn't matter in the least if it gets broken or has bugs - that's part of its charm and fixing things is part of the hobby. Geoff produces the manual out of love - and as a personal challenge to keep up with Peter, I think. :) If you want a solid, secure, bug-free (well, mostly bug free - nothing is perfect) programming language then don't look at MMBasic. That's not what it's about. You *can* use it for industrial control etc. if you want to, but that's entirely up to you and if your machine breaks don't blame MMBasic, blame the person who decided to use it. Also, remember that what we see in the forum are alpha and beta releases. You have to accept that these *will* have problems and *won't* be documented in any current manual as nothing is set in stone until the next official release version. If you are lucky there will be a Readme file with an alpha or beta release, but it's up to you to keep up with the changes if you want to live "on the edge". :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4047 |
Hi Peter, I just wanted to find somewhere to say thank you for all the work you've put into PWM and PLAY SOUND for the latest versions. I don't know if you've done it specifically because I've been making "noise", but if you have then double the thanks. Best wishes, Tom Edited 2023-04-04 21:21 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3816 |
There definitely CAN be C compiler bugs but it's gcc as used in millions of projects, and I think billions of lines of C (not least Linux and so many of its programs), whereas you were using something else I gather (or if gcc then an early version of it). That said, I bet Peter has hit at least one bug (or at least optimiser issue)... E.g. probably when trying to get really fast bits of specific code (ARM machine code) out of it. The C magic word volatile can be a PITA but how else could the real needs of hardware be handled quickly? If you want no bugs & perfection... probably can't have 'em LOL John Edited 2023-04-04 21:09 by JohnS |
||||
lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3152 |
I came to MMBasic from PICAXE (as Peter did, but some months after he did--17 May 2016). What I have seen is a near-miracle in terms of software development: PIC32MZ MicroMite eXtreme (MMX), Pi-cromite (pi-based, no longer supported, may work for non-gpio uses), Armmite H7, Armmite L4, Armmite F4, Colour Maximite 2 (CMM2), Picomite, MMB4L (Linux--currently in Alpha), PicoMiteVGA, MMBasic for Windows (MMB4W), WebMite. All except MMB4L from Peter Mather. Bugs along the way--plenty. Bugs at present: not very many--and where, if they appear, will you find them fixed faster? Thanks, Peter, for all the work you have done. And thanks, Geoff, for the very strong and versatile foundation. And thanks to all the contributors on this forum who make it one of the most informed and decent tech places on the web. ~ Edited 2023-04-04 23:04 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
okwatts Regular Member Joined: 27/09/2022 Location: CanadaPosts: 59 |
Just noticed in beta 34 a problem with xmodem on a regular pico (actually a clone with 16 MB flash). If I enter xmodem receive and try to send the file it times out very quickly and sends nothing but I can deploy using MMedit. I'm on linux using mmedit5.0.3. Xmodem works fine on 5.07.06 just using xmodem. On a picoweb with version b4 xmodem works fine. I haven't tried with Picovga though. Is it just my setup or have others encountered this? Edited 2023-04-05 01:19 by okwatts |
||||
Page 15 of 16 |
Print this page |