![]() |
Forum Index : Microcontroller and PC projects : PicoMite/PicoMiteVGA V5.07.03 release candidates
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7498 |
Looks like Peter's solved the pin naming issue anyway. :) Thanks, Peter. We went through all this at the beginning... <sigh> Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
Thanks, I feel a text box or a note to the pinout diagram indicating "Some signal names are different from Raspberry Pi Pico pinout" would ensure the point is not missed. By the way, did you see these questions from the suggestions topic: For OPTION RTC AUTO ENABLE what occurs during the hourly sync if error communicating with RTC, whether a program is running or not? Playing .WAV audio P28 does PLAY WAV abort/terminate or fail silently if file is not present or error reading SD card? |
||||
dMajo![]() Newbie ![]() Joined: 18/05/2020 Location: ItalyPosts: 27 |
On pages [p.num(errors)] 7(1), 9(1), 13(1), 14(1), 35(1), 45(1), 47(2), 48(1) is mistakenly used Micromite or MMPlus instead of PicoMite P.73: Being the PicoMite the most recent product of the MMBasic line the MM.DEVICE$ table should include also the various ArmMite F4/L4/H7 series P.103: there is a reference to OPTION ANGLE which is missing in the option's table documentation P.106: Open fname$ refers to OPTION ERROR which is not documented anywhere. BTW: Now that PicoMite executes directly from its QSPI Flash, there is some benefits in using eg one ItsyBitsy RP2040 which have 8MB flash instead of the 2MB on the RaspberryPi's board? ALLdataEE.com EDU Promos |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
New text If you don't want this behaviour don't enable and use RTC gettime in a program with an ON ERROR SKIP before it It errors of course dMajo: Thanks will update the doc No: the firmware only supports the first 2Mb of flash UPDATE Manual updated in download from Geoff's site Edited 2022-01-09 20:00 by matherp |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
For 5.07.03 manual: P37 typo: "The PicoMite uses the SPI protocol to talk to the card and this influenced by the card type is" should be "and this is not influenced by the card type." Draft manuals should have a revision date to make it easier to avoid reviewing old draft versions. I think including the exact LCD setup instructions for commonly used displays (like waveshare 2.8 inch touch with sd card) would make it easier for beginners since these modules are basically plug-in (no soldering or jumper wires required). P43: for https://www.waveshare.com/wiki/Pico-ResTouch-LCD-2.8 OPTION SYSTEM SPI GP10,GP11,GP12 OPTION SDCARD GP22 OPTION LCDPANEL ST7789_320, LANDSCAPE,GP8,GP15,GP9,GP13 OPTION TOUCH GP16,GP17 (above tested by me) For https://www.waveshare.com/wiki/Pico-ResTouch-LCD-3.5 OPTION SYSTEM SPI GP10,GP11,GP12 OPTION SDCARD GP22, GP5, GP18, GP19 OPTION LCDPANEL ILI9488W, LANDSCAPE,GP8,GP15,GP9,GP13 OPTION TOUCH GP16,GP17 (I have not tested this but this was from some LCD related topic) Edited 2022-01-10 08:27 by flasherror |
||||
phil99![]() Guru ![]() Joined: 11/02/2018 Location: AustraliaPosts: 2414 |
For 5.07.03 manual: Commands section p98 INC a[, b] missing (between ENDIF and INPUT) It is in the firmware and shows in > list commands |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
V5.07.03RC11 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Fixes a bug where ADC START stopped VGA output Fixes a bug where LINE INPUT would not read the last line in a file if it was not terminated with a CR Manual updated with changes identified above. Will include an appendix with sample option lists at a later date |
||||
fred777 Regular Member ![]() Joined: 01/07/2021 Location: United KingdomPosts: 57 |
For 5.07.03 manual - number of available Flash Slots still 10 instead of 7: Page 12 (FLASH RUN n) FLASH LIST Display a list of the contents of all 10 flash locations. Page 75 (OPTION AUTORUN n) 'n' must be in the range 1 to 10. |
||||
fred777 Regular Member ![]() Joined: 01/07/2021 Location: United KingdomPosts: 57 |
Would it be possible to add some options to the PS/2 Keyboard support? OPTION KEYBOARD REPEAT firstchar, nextchar (like in CMM2) and an option to disable the NUM lock at startup would be great, with TKL keyboards (Ten Key Less) enabling NUM Lock makes the Keyboard simulate the number pad on the normal keys Alternatively, is there a way to bitbang commands to the keyboard? |
||||
mobluse![]() Newbie ![]() Joined: 10/02/2013 Location: SwedenPosts: 24 |
I just discovered that MMBasic has a different precedence for the NOT operator than GW-BASIC and VBA. In MMBasic the precedence of NOT is higher than the relational operators (e.g. <, >, =), but in most other BASICs it is lower. This makes it more difficult to translate BASIC programs to MMBasic. I understand that NOT is not bitwise and that INV is the corresponding bitwise operator, and that the relational operators gives 0 and 1, and not 0 and -1. At least I think it should be documented in the manual that the precedence of NOT is different from GW-BASIC and VBA. I noted that Applesoft BASIC in Javascript has the same precedence for NOT as MMBasic, but that seems to be a bug in the JS-version, since Applesoft BASIC Ref says different in section 2. PicoMiteVGA MMBasic Version 5.07.03RC10 Copyright 2011-2021 Geoff Graham Copyright 2016-2021 Peter Mather > ?not 3<7 1 > ?not (3<7) 0 > ?not 3 0 > ?inv 3 -4 > ?(not 3)<7 1 > ?3<7 1 ![]() http://gwbasicprograms.blogspot.com/2012/01/operator-precedence-in-basic.html https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/operator-precedence Edited 2022-01-12 03:32 by mobluse Maker Pi Pico Rev1.2, DuinoMite-Mini, Raspberry Pi 0-4, iCE40HX8K, Arduino Uno, VM111, STK500, ZX81 |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
Next release - sorry about the pics some character in the text that the BB won't accept. The repeat rates are set in the PS2 keyboard H/W it is likely that some (cheap) keyboards may not implement them fully ![]() Clearly documented and the same in every version of MMBasic since day 1 2011. Same as C ![]() Edited 2022-01-12 04:19 by matherp |
||||
mobluse![]() Newbie ![]() Joined: 10/02/2013 Location: SwedenPosts: 24 |
OK, I didn't see that. I also noticed that one source about Applesoft BASIC was propably wrong since this manual says different in ch. 2 on p. 36. Applesoft seems to have the same precedence for NOT as MMBasic, but its AND and OR are not bitwise, and AND has higher precedence than OR, but in MMBasic AND and OR have the same precedence, which is unique. http://cini.classiccmp.org/pdf/Apple/AppleSoft%20II%20Basic%20Programming%20Manual.PDF > ?INV 3^2 16 > ?(INV 3)^2 16 > ?INV (3^2) -10 According to the PicoMite User Manual p. 20 NOT and INV should have lower precedence than ^, but has higher. Edited 2022-01-13 08:57 by mobluse Maker Pi Pico Rev1.2, DuinoMite-Mini, Raspberry Pi 0-4, iCE40HX8K, Arduino Uno, VM111, STK500, ZX81 |
||||
mobluse![]() Newbie ![]() Joined: 10/02/2013 Location: SwedenPosts: 24 |
I wrote a program that demonstrates some differences between different BASIC dialects. There are four tests. First line of each test has no parenthesis, and then there are two lines with parenthesis, and they have initials of the BASIC code that works the same as the first line. 5 Print "AS=AppleSoft, MM=MMBasic, GW=GW-BASIC" 10 Print 10,1 Or 1 And 0 20 Print 20,1 Or (1 And 0),"AS,GW" 30 Print 30,(1 Or 1) And 0,"MM" 40 Print 40,1 = 2 <> 0 50 Print 50,1 = (2 <> 0),"MM" 60 Print 60,(1 = 2) <> 0,"AS,GW" 70 Print 70,-1^2 80 Print 80,-(1^2),"GW" 90 Print 90,(-1)^2,"AS,MM" 100 Print 100,Not 3<7 110 Print 110,Not (3<7),"GW" 120 Print 120,(Not 3)<7,"AS,MM" As you can see MMBasic is rather like AppleSoft BASIC, except for OR and AND, and = and <>. YABasic works as GW-BASIC (except False is -1 for GW-BASIC), and Python works as YABasic after translation: print("AS=AppleSoft, MM=MMBasic, GW=GW-BASIC") print(10,1 or 1 and 0) print(20,1 or (1 and 0),"AS,GW") print(30,(1 or 1) and 0,"MM") print(40,1 == 2 != 0) print(50,1 == (2 != 0),"MM") print(60,(1 == 2) != 0,"AS,GW") print(70,-1**2) print(80,-(1**2),"GW") print(90,(-1)**2,"AS,MM") print(100,not 3<7) print(110,not (3<7),"GW") print(120,(not 3)<7,"AS,MM") The difference for NOT is stated in the manual, but not so clearly for OR/AND, =/<>, and -/^ AFAIK. Maker Pi Pico Rev1.2, DuinoMite-Mini, Raspberry Pi 0-4, iCE40HX8K, Arduino Uno, VM111, STK500, ZX81 |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
V5.07.03RC12 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Various bug fixes to CSUB code. The zip includes a new cfunction header file PicoCFunctions.h and a new version of the cfunction generator program ARMCFGENV144.bas Change to OPTION KEYBOARD OPTION KEYBOARD nn [,capslock] [,numlock] [repeatstart] [repeatrate] The optional parameters capslock and numlock set the initial state of the keyboard (default 0, 1). The repeatstart defines how how long before a character repeats the first time (valid 0-3 = 250mSec, 500mSec, 750mSec, 1S: default 1=500mSec). The repeat rate defines how fast a character repeats after the first repeat (valid 0-31 = 33mSec to 500mSec: default 12=100mSec). Change to AUTOSAVE This mode is terminated by entering Control-Z or F1 which will then cause the received data to be transferred into program memory overwriting the previous program. Use F2 to exit and immediately run the program. Here is a sample CSUB which demonstrates hooking a C procedure into the H/W interrupt generated by a a change of state on a GPIO using various firmware internal routines linked by the header file SetPin gp6,fin main Do :Loop CSub MAIN 00000013 'intprog B086B510 681B4B0D 3201681A 17D3601A 9100210A 6809490A 0020AC03 4B094788 0020681B 4C084798 200A2100 47986823 21016823 4798200D BD10B006 10000388 10000330 1000032C 10000310 'main 681B4B07 447A4A07 4A07601A 23006811 6811600B 6811604B 6812608B 477060D3 100003C4 FFFFFFAB 10000388 End CSub #include "PicoCFunctions.h" static void intprog(void){ int *a=(int*)CFuncRam; *a=*a+1; char b[10]; IntToStr(b,*a,10); MMPrintString(b); putConsole(10,0); putConsole(13,1); } void main(void){ CFuncInt1=(unsigned int)&intprog; CFuncRam[0]=0; CFuncRam[1]=0; CFuncRam[2]=0; CFuncRam[3]=0; } |
||||
wolfme Newbie ![]() Joined: 26/10/2021 Location: GermanyPosts: 31 |
RC12: After running a program, i cannot edit it anymore: > edit [681] Sub my_exit() Error : Invalid in a program > sub my_exit: Sub my_exit() ausgabetext$="bye bye " text_setzen 0 Print ESC"[2J"; ' CLS VT100 Print ESC"[?25h"; ' Cursor visible Print ESC"[?6l"; ' Curor Pos 1 Print ESC"[0m"; ' reset all VT100 attributes ' set original STRG-C again Option Break 3 On key 3,0 ' EOP End End Sub what's wrong? |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
Can't replicate with the bit of code you posted. Will need minimum complete program that can demonstrate the issue |
||||
wolfme Newbie ![]() Joined: 26/10/2021 Location: GermanyPosts: 31 |
Hi Peter, here is another program. It's for testing. I cannot edit before starting. > > new > Option Break 3 > on key 3,0 > XMODEM RECEIVE Saved 35872 bytes > > > edit [666] Sub format_ft(ft_nbr,_vorne$, _hinten$, _2zeile$) Error : Invalid in a program > Thanks! Max7219-scroll-Text-5.zip |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10055 |
V5.07.03RC13 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Fixes bug which caused edit command to be rejected in certain circumstances New option for SETPIN pinno,CIN [,change] 'change' can be 1=rising edge (default if not specified), 2=falling edge, 3=both edges |
||||
wolfme Newbie ![]() Joined: 26/10/2021 Location: GermanyPosts: 31 |
wow, that was a fast fix! works now. Many Thanks! |
||||
Kabron![]() Regular Member ![]() Joined: 30/11/2017 Location: GermanyPosts: 65 |
I found an ERROR in Picomite User Manual Draft. Picture on page 32 refers to DS1307, powered with 3.3V. This chip does not work from 3.3V with battery connected. It has to be powered from 5V. |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |