Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 23:46 27 Nov 2024 Privacy Policy
Jump to

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 V5.07.08 betas

     Page 9 of 11    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9126
Posted: 05:06pm 04 Sep 2023
Copy link to clipboard 
Print this post

  Quote  Maybe related to shifting things around in the Command Table?


It is just the tokenised version in flash which will exhibit this. You should always expect to reload from disk after flashing a new version

  Quote  does this beta include the fix for the error message?

Should do

Forgot to mention on b15 that the math window command now accepts two optional parameters

MATH WINDOW inarray(), scalepoint1, scalepoint2, outarray() [, min, max]


If variables are specified as these parameters they will be loaded with the minimum and maximum values of inarray()
Edited 2023-09-05 17:10 by matherp
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4246
Posted: 07:29am 06 Sep 2023
Copy link to clipboard 
Print this post

  matherp said  V5.07.08b15

Now includes full support for multiline comments

Use /*  to start a comment
Use */ to end a comment

This should be properly supported including colour coding in the editor but note


Not sure Jim is happy with this... MMEdit....

Volhout
PicomiteVGA PETSCII ROBOTS
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6100
Posted: 08:00am 06 Sep 2023
Copy link to clipboard 
Print this post

  Volhout said  
  matherp said  V5.07.08b15

Now includes full support for multiline comments

Use /*  to start a comment
Use */ to end a comment

This should be properly supported including colour coding in the editor but note


Not sure Jim is happy with this... MMEdit....

Volhout


MMEdit will have the facility to change C type comments to the usual ' (but not the other way)
It follows the rules from Peter so doesn't catch end-of-line comments
It can be useful when converting C to Basic.

It would be boring if things like this didn't crop up occasionally

Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 09:02am 06 Sep 2023
Copy link to clipboard 
Print this post

I love multi-line comments for the built-in editor. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
aFox
Regular Member

Joined: 28/02/2023
Location: Germany
Posts: 76
Posted: 07:16pm 06 Sep 2023
Copy link to clipboard 
Print this post

For multi-programming language users, please supplement ' and REM with //.
That would be really helpful.

Gregor
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9126
Posted: 09:59pm 06 Sep 2023
Copy link to clipboard 
Print this post

No: There is a Basic standard single character comment initiator. There wasn't the capability for multi-line comments.

I decided to use the C delimiters as an easy shorthand but could have used

REM START/REM END to be more "Basic"
 
Plasmamac

Guru

Joined: 31/01/2019
Location: Germany
Posts: 554
Posted: 11:46pm 06 Sep 2023
Copy link to clipboard 
Print this post

thx for debugging the mod file start problem
Plasma
 
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 145
Posted: 08:59pm 07 Sep 2023
Copy link to clipboard 
Print this post

Thanks for adding /* and */, which are useful commands in the editor.
Also thanks for the many nice additions after V.5.07.07 for PicoMite, WebMite (also for MMB4W). Keep it up. Unfortunately I have not been able to test PicoMiteVGA yet and I am still looking to see if there are any Dutch users who have an empty PCB for VGA that they can take over?

There are some bugs in V.5.07.08b15. (checked on PicoMite, PicoMiteVGA, WebMite).
I completely erased the flash memory and then flashed the update V.5.07.08b15.
After exiting Edit with F1 or F2, an automatic Control Reset terminal is no longer displayed? It does work manually from Tera Term (can be seen because I adjusted the font colors in Tera Term).
With List Commands there are multiple Cat commands.


Jan
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 09:20pm 07 Sep 2023
Copy link to clipboard 
Print this post

If you want a PicoMite VGA board I've done several variations for different purposes (see my sig). Very easy and cheap to get a batch of five from JLCPCB. The simplest setup is a Pico, a VGA socket and four resistors. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 145
Posted: 10:04pm 07 Sep 2023
Copy link to clipboard 
Print this post

Mick,

I have seen all the PCB designs and also looked at JLCPCB, but my problem is that I do not have a PayPal account yet and I no longer have a credit card and I make all my payments with iDEAL or a bank transfer, which is for AliExpress or Banggood or a Dutch company. website has no problems.

Jan
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 07:38am 08 Sep 2023
Copy link to clipboard 
Print this post

If you don't get a local response send me a PM and I'll see what I can do. I have a few PCBs and postage to the Netherlands isn't outrageous.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4246
Posted: 06:24pm 08 Sep 2023
Copy link to clipboard 
Print this post

@Peter,

Is it possible to publish the start address of N,L and F framebuffers ?

Let me explain:

I am looking into a port of The 8bit guy's PETSCII ROBOTS to MMBasic on the picomiteVGA.
The first investigations shows that the 8x8 custom font is a no-go. It is too slow to do that in MMBasic. Alternative is to create tiles 24x24 compliant with the original game. These "sprites" could blitt into the L and N frambuffers. The number of 64 (sprites) could be sufficient for a simplified version of the game (skip some animations). But 64 sprites uses roughly 64kbyte RAM.

A layer framebuffer = 38.5k
A world map = 5 kbyte if stored as array of strings
64 sprites = 64k

This leaves not enough DATA RAM memory for a elementary game.

Alternatively I could load the 64 sprites into the F framebuffer (just use it for storage, not as an actual framebuffer). The framebuffer could hold roughly 130 sprites (24x24).

But I have not found a way to copy area's from one framebuffer to another framebuffer.
So I am investigating a memory copy from F to N (or F to L). I am pretty sure F to N will work fine, but F to L may still require SPRITE WRITE to handle the transparency. Not sure.

If I have the start memory address, I may be able to use memory copy. It may require some "tuning" but with the skip function in memory copy it may be possible (copy 3 byte, skip 37 bytes (320/8 - 3), copy 3 byte, etc...)

Thank you in advance for your help.

Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 04:15pm 09 Sep 2023
Copy link to clipboard 
Print this post

  Volhout said  @Peter,

Is it possible to publish the start address of N,L and F framebuffers ?


I believe you can get these values by activating the framebuffer of interest and calling MM.INFO(WRITEBUFF).

  Volhout said  I am looking into a port of The 8bit guy's PETSCII ROBOTS to MMBasic on the picomiteVGA.


Ambitious .

  Volhout said  The first investigations shows that the 8x8 custom font is a no-go. It is too slow to do that in MMBasic.


What exactly do you mean by "too slow" ? Fonts and PRINT/TEXT are pretty fast ways of blitting to the MMBasic display also look at GUI BITMAP which @Martin H used for PicoVaders and is available on both PicoMite and PicoMiteVGA.

If your reply is extensive then perhaps start a new thread.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
carlschneider
Senior Member

Joined: 04/08/2023
Location: South Africa
Posts: 158
Posted: 03:48am 10 Sep 2023
Copy link to clipboard 
Print this post

Hi Peter

  matherp said  
Try OPTION WEB MESSAGES ON think I have the logic upside down - negative logic always confuses me  


Unfortunately the WEB SCAN a%() is outputting 'Performing wifi scan' to the console, notwithstanding OPTION WEB MESSAGES OFF.

Where does one post manual typos?

Really enjoying /*_*/. Thanks very much.
Cheers Carl                                                        
Retirement is tough on Hobbies without a day job
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9126
Posted: 01:11pm 10 Sep 2023
Copy link to clipboard 
Print this post

  Quote  But I have not found a way to copy area's from one framebuffer to another framebuffer.

from here
  Quote  FRAMEBUFFER BLIT from, to, x_from, y_from, x_to, y_to, width, height 'moves a subsection of one framebuffer from one to another.
x_from and y_from define the coordinates of the top left of the area to be copied with "width" and "height"
x_to and y_to define the coordinates of the top left of the area to receive the copy with "width" and "height"
You can only copy from N on displays that support BLIT and transparent text.
This command cannot be optimised as well as the full framebbuffer copy and if the area is greater than about 150x150 then a full screen copy may be preferred.

Edited 2023-09-10 23:13 by matherp
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4246
Posted: 05:01am 11 Sep 2023
Copy link to clipboard 
Print this post

Hidden gem ? This is not in the picomite VGA user manual (FRAMEBUFFER BLIT).

Volhout
Edited 2023-09-11 16:47 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4246
Posted: 07:07am 11 Sep 2023
Copy link to clipboard 
Print this post

@Peter,

PicomiteVGA 50708b15

I try to use SPRITE SCROLL to scroll the background in a game. The background is on layer N, forground is layer L.
As soon as I also create a framebuffer, the scrolling does not work anymore.

This (demo) code is simplified, in that it does not build the background out of sprites, but loads a BMP. But the behavior is the same when using sprites. Regardless if I place these sprites with SPRITE WRITE, or with SPRITE SHOW n,x,y,0 (layer 0).

MODE 2

'FRAMEBUFFER create 'scratchpad

FRAMEBUFFER layer 'top

'try to load some BMP into the framebuffer
FRAMEBUFFER write n
Load image "title.bmp"

Do :Loop While Inkey$=""

'write screen border
FRAMEBUFFER write l
CLS RGB(white)
Box 0,0,240,8*24,24,RGB(white),RGB(black)
FRAMEBUFFER write n

Do :Loop While Inkey$=""

'scroll screen
For i=1 To 10
 Sprite scroll 1,-1
 Print @(0,0)i
 Pause 100
Next i

Do :Loop While Inkey$=""

End


The BMP used
title.zip

Run the program, and see the background scroll.
Then un-comment line 3 (you also create a frame buffer)
And the scrolling does not happen anymore.

What did I do wrong ?

Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9126
Posted: 02:31pm 11 Sep 2023
Copy link to clipboard 
Print this post

Please try the attached. The scroll functions were locked to the wrong buffer when a framebuffer was created (but not a layerbuffer)

PicoMiteVGA.zip
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4246
Posted: 02:50pm 11 Sep 2023
Copy link to clipboard 
Print this post

Hi Peter,

The SPRITE SCROLL works. Thank you for the quick fix.

Is there any chance of getting the FRAMEBUFFER BLIT in VGA, or should I put my focus on my MEMORY COPY idea (copying from memory to memory) ? I noticed that Tom's suggestion MM.INFO(WRITEBUFF) works, so I have the write buffer start adresses for all buffers..

Thanks,

Harm
Edited 2023-09-12 00:55 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 03:21pm 11 Sep 2023
Copy link to clipboard 
Print this post

  Volhout said  ... or should I put my focus on my MEMORY COPY idea (copying from memory to memory)


Isn't MEMORY COPY going to be slow as you have to call it once for each line ?

TBH rather than the current situation of two additional full-screen frame buffers I would have preferred the ability to use INTEGER arrays as arbitrary sized (limited to multiples of 4) frame buffers (the first element would store width and height, sometimes you don't need/want the whole screen) and then blit both between them and to and from N. However I'm not in the driving seat or in any position to contribute at the moment . Note I'm not sure how the extra capabilities of the L buffer - which I still don't fully comprehend - would translate to such a model.

Best wishes,

Tom
Edited 2023-09-12 01:22 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
     Page 9 of 11    
Print this page
© JAQ Software 2024