Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:49 02 Jul 2025 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 : dim var as byte

     Page 13 of 16    
Author Message
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4032
Posted: 08:32am 13 Aug 2022
Copy link to clipboard 
Print this post

Rather than stupid, more like lazy - e.g. expects others to do work but doesn't bother to put in much effort like failing to read the manual / other working examples / not properly saying what the problem is alleged to be.

John
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 04:14pm 13 Aug 2022
Copy link to clipboard 
Print this post

  lizby said  Nice. Can you post code?

@lizby - I'll send the file. Thanks for helping me. It's lonely being a new user and getting told off cos I don't always understand a new system. If it's not the manual can   not be clear then it must be me. Latest is I'm lazy. You... and others have been very helpful and it is appreciated.
Manual satys blit read #b,x,y,h,w. why not blit read 1. Like read data but you don't use data it's just read var, which when pointed out works. My thought is I shouldn't need to ask the forum but it seems everyone else... who've used mmbasic for years can't see it from  a new users view.. or maybe I'm too old for this.

Anyway blit is a brill feature.
I can't send the .bas file so I'll try code button. The code is simple, first try.

'a simple way of moving 8 user defined graphics as fast as possible using blit
OPTION BASE 0        ' 0 based arrays
option DEFAULT INTEGER
OPTION EXPLICIT
dim dx(15),dy(15),spx(15),spy(15)
dim cannon(119),missile(15),oldspx(15),oldspy(15)
dim ptr,hiscore,spw,spht,temp,frame,frame_count,spdata,sp1
hiscore=0
CONST bk = RGB(BLack)
const wh = rgb(white)
const bl = rgb(blue)
const gr = rgb(green)
const cy = rgb(cyan)
const re = rgb(red)
const ma = rgb(magenta)
const ye = rgb(yellow)
const br = rgb(brown)
'
restore

cls
udg1 'draws sprite1 on screen at 10,10
BLIT READ 1,10,10,16,16 'reads sprite1 from screen to blit buffer1
udg1 'draws sprite2 on screen at 10,10
blit read 2,10,10,16,16 'reads sprite2 from screen to blit buffer2
cls
blit read 3,10,10,16,16 'reads 16x16 background to blit buffer3
'
for temp=0 to 15 'set up start sprite positions and directions
do
 dx(temp)=(int(rnd*4)+1)-(int(rnd*8)+1)
loop until dx(temp)<>0
do
 dy(temp)=(int(rnd*4)+1)-(int(rnd*8)+1)
loop until dy(temp)<>0
 spx(temp)=104+((rnd*32)+1)
 spy(temp)=144+((rnd*32)+1)    
next temp
'
do 'demo moving sprite
   for temp=0 to 15
           if spx(temp)> 300 then 'check right edge
             dx(temp)= 0-dx(temp)
           end if
           if spx(temp)<8 then 'check left edge
             dx(temp)= 0-dx(temp)
           end if
           if spy(temp)>220 then 'check bottom edge
             dy(temp)= 0-dy(temp)
           end if
           if spy(temp)<32 then 'check top edge
             dy(temp)= 0-dy(temp)
           end if
     '
           oldspx(temp)=spx(temp):oldspy(temp)=spy(temp) 'get last position for erase
           spx(temp)=spx(temp)+dx(temp):spy(temp)=spy(temp)+dy(temp) 'get new position for draw
     '
               if frame=0 then'which sprite to draw
                 BLIT WRITE 3,oldspx(temp),oldspy(temp), 16, 16 'erase sprite at last position
                 BLIT WRITE 1,spx(temp),spy(temp), 16, 16 'draw sprite1 at new position
               else
                 BLIT WRITE 3,oldspx(temp),oldspy(temp), 16, 16 'erase sprite at last position
                 BLIT WRITE 2,spx(temp),spy(temp), 16, 16 'draw sprite2 at new position
               end if
   next temp
 '
   frame_count=frame_count+1 'when to change sprite
   if frame_count=10 then
     frame=not frame
     frame_count=0
   end if
loop
'
sub udg1 'draws 16x16 data for blit to copy
 for spht=0 to 15
   for spw=0 to 15
     read sp1
     pixel spw+10,spht+10,sp1
   next spw
 next spht
end sub
'
'sprite1
data wh,bl,bl,bl,bl,bk,bk,bk,bk,bk,bk,bl,bl,bl,bl,wh
data bk,bl,re,re,re,bl,bl,bk,bk,bl,bl,re,re,re,bl,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bk,bl,wh,bl,bk,bk,bl,wh,bl,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bl,bl,bk,bk,bl,bl,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk
data bk,bk,bk,bk,ye,ye,ye,bk,bk,ye,ye,ye,bk,bk,bk,bk
data bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk
data bk,ye,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,ye,bk
data bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bl,ye
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye
data bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk
data bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk
'sprite2
data bl,bl,bl,bl,bl,bk,bk,bk,bk,bk,bk,bl,bl,bl,bl,bl
data bk,bl,re,re,re,bl,bl,bk,bk,bl,bl,re,re,re,bl,bk
data bk,bk,bl,wh,wh,re,bl,bk,bk,bl,re,wh,wh,bl,bk,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bk,bl,wh,bl,bk,bk,bl,wh,bl,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bl,bl,bk,bk,bl,bl,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,ye,ye,bk,bk,ye,ye,bk,bk,bk,bk,bk
data bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk
data bk,bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk,bk
data bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk
data bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk
data bk,bk,bk,ye,ye,bk,bk,bk,bk,bk,bk,ye,ye,bk,bk,bk
data bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk
data bk,bk,bk,bk,bk,ye,bk,bk,bk,bk,ye,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,ye,bk,bk,ye,bk,bk,bk,bk,bk,bk
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3348
Posted: 04:37pm 13 Aug 2022
Copy link to clipboard 
Print this post

Thanks for that. I ran it in MMBasic for Windows. I put "MODE 7 ' 320x240" in as the first line, and had to remove the size from the BLIT WRITEs (since CMM2 & MMB4W know what the size is), so, for example:

BLIT WRITE 3,oldspx(temp),oldspy(temp) ', 16, 16 'erase sprite at last position

It ran. Very fast. I put "PAUSE 2" in before "next temp", and that seemed about the right speed.

Glad you were able to persist to get it working, and thanks for posting the code.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 05:17pm 13 Aug 2022
Copy link to clipboard 
Print this post

@lizby - my pleasure. You seem interested in mmbasic graphics. They seem well sorted with ili9341. will try with ssd1306 to test i2c. the graphic functions work fast so compiled and just send parameters so filled circle is fast... like blit is fast.
I think I'll search for mmbasic for win. Someone on the forum suggested that.
having going over hurdles I like mmbasic, like gcbasic or picaxe basic, it makes it easier to implement ideas into working. so I'm not moaning.. the opposite.
@lizby - fancy collaborating on a game. those 80's games where not as simple as they looked when you try coding them from scratch ie pacman.harder to code than it looks.
take care.
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3348
Posted: 05:31pm 13 Aug 2022
Copy link to clipboard 
Print this post

  stanleyella said  fancy collaborating on a game


You've said a number of times maybe you're too old--well, I'm definitely too old to have played video games in my youth, as many here did. I was already a working stiff--a programmer--when the first home computers came out and I said "I have to have one of those", and started building it (with limited funds and zero knowledge of electronics, 2 years to get an S-100 bus CP/M machine working).

Aside from having played a little Packman and Space Invaders, I've played very few games, and I don't have the muscle memory or the properly exercised gray cells to have any skill at a game which requires dexterity. I'd be pathetic even at Tetris.

So you'd probably be better off finding someone who could actually play the game you're wanting to make.

I do like to see what other people have created.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 09:43pm 13 Aug 2022
Copy link to clipboard 
Print this post

@lizby- safe sir, I worked in the arcade industry in the 70's and earned a penny in the 80's coding.
mmbasic has some cool graphic functions and my sprite code was part of a larger game that I maybe want to convert to mmbasic as an exercise, if it would be of any interest.
it would to me.. learn mmbasic
would there be any interest in games I've done in gcb for ssd1306 and convert to mmb?maybe convert to ili9341. check read pixel in mmb
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5023
Posted: 07:19am 14 Aug 2022
Copy link to clipboard 
Print this post

Adapted for picomite VGA. Some small changes.
- sprites are always 16x16
- erase sprite (sprite #3) is replaced by a BOX painting 16x16 black (in VGA picomite black is also tranparent, so erase using sprite #3 does not work).

'simplegraphics
mode 2
OPTION EXPLICIT
OPTION DEFAULT NONE
'a simple way of moving 8 user defined graphics as fast as possible using blit
OPTION BASE 0        ' 0 based arrays
option DEFAULT INTEGER
OPTION EXPLICIT
dim dx(15),dy(15),spx(15),spy(15)
dim cannon(119),missile(15),oldspx(15),oldspy(15)
dim ptr,hiscore,spw,spht,temp,frame,frame_count,spdata,sp1
hiscore=0
CONST bk = RGB(BLack)
const wh = rgb(white)
const bl = rgb(blue)
const gr = rgb(green)
const cy = rgb(cyan)
const re = rgb(red)
const ma = rgb(magenta)
const ye = rgb(yellow)
const br = rgb(brown)
'
restore

cls
udg1 'draws sprite1 on screen at 10,10
BLIT READ 1,10,10,16,16 'reads sprite1 from screen to blit buffer1
udg1 'draws sprite2 on screen at 10,10
blit read 2,10,10,16,16 'reads sprite2 from screen to blit buffer2
cls
'blit read 3,10,10,16,16 'reads 16x16 background to blit buffer3
'
for temp=0 to 15 'set up start sprite positions and directions
do
dx(temp)=(int(rnd*4)+1)-(int(rnd*8)+1)
loop until dx(temp)<>0
do
dy(temp)=(int(rnd*4)+1)-(int(rnd*8)+1)
loop until dy(temp)<>0
spx(temp)=104+((rnd*32)+1)
spy(temp)=144+((rnd*32)+1)    
next temp
'
do 'demo moving sprite
  for temp=0 to 15
          if spx(temp)> 300 then 'check right edge
            dx(temp)= 0-dx(temp)
          end if
          if spx(temp)<8 then 'check left edge
            dx(temp)= 0-dx(temp)
          end if
          if spy(temp)>220 then 'check bottom edge
            dy(temp)= 0-dy(temp)
          end if
          if spy(temp)<32 then 'check top edge
            dy(temp)= 0-dy(temp)
          end if
    '
          oldspx(temp)=spx(temp):oldspy(temp)=spy(temp) 'get last position for erase
          spx(temp)=spx(temp)+dx(temp):spy(temp)=spy(temp)+dy(temp) 'get new position for draw
    '
              if frame=0 then'which sprite to draw
                box oldspx(temp),oldspy(temp),16,16,,0,0
                'BLIT WRITE 3,oldspx(temp),oldspy(temp) 'erase sprite at last position
                BLIT WRITE 1,spx(temp),spy(temp) 'draw sprite1 at new position
              else
                box oldspx(temp),oldspy(temp),16,16,,0,0
                'BLIT WRITE 3,oldspx(temp),oldspy(temp) 'erase sprite at last position
                BLIT WRITE 2,spx(temp),spy(temp) 'draw sprite2 at new position
              end if
  next temp
'
  frame_count=frame_count+1 'when to change sprite
  if frame_count=10 then
    frame=not frame
    frame_count=0
  end if
loop
'
sub udg1 'draws 16x16 data for blit to copy
for spht=0 to 15
  for spw=0 to 15
    read sp1
    pixel spw+10,spht+10,sp1
  next spw
next spht
end sub
'
'sprite1
data wh,bl,bl,bl,bl,bk,bk,bk,bk,bk,bk,bl,bl,bl,bl,wh
data bk,bl,re,re,re,bl,bl,bk,bk,bl,bl,re,re,re,bl,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bk,bl,wh,bl,bk,bk,bl,wh,bl,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bl,bl,bk,bk,bl,bl,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk
data bk,bk,bk,bk,ye,ye,ye,bk,bk,ye,ye,ye,bk,bk,bk,bk
data bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk
data bk,ye,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,ye,bk
data bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bl,ye
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye
data ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye
data bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk
data bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk
'sprite2
data bl,bl,bl,bl,bl,bk,bk,bk,bk,bk,bk,bl,bl,bl,bl,bl
data bk,bl,re,re,re,bl,bl,bk,bk,bl,bl,re,re,re,bl,bk
data bk,bk,bl,wh,wh,re,bl,bk,bk,bl,re,wh,wh,bl,bk,bk
data bk,bk,bk,bl,re,wh,bl,bk,bk,bl,wh,re,bl,bk,bk,bk
data bk,bk,bk,bk,bl,wh,bl,bk,bk,bl,wh,bl,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bl,bl,bk,bk,bl,bl,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,ye,ye,bk,bk,ye,ye,bk,bk,bk,bk,bk
data bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk
data bk,bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk,bk
data bk,bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk,bk
data bk,bk,ye,bk,bk,bk,bk,bk,bk,bk,bk,bk,bk,ye,bk,bk
data bk,bk,bk,ye,ye,bk,bk,bk,bk,bk,bk,ye,ye,bk,bk,bk
data bk,bk,bk,bk,ye,ye,bk,bk,bk,bk,ye,ye,bk,bk,bk,bk
data bk,bk,bk,bk,bk,ye,bk,bk,bk,bk,ye,bk,bk,bk,bk,bk
data bk,bk,bk,bk,bk,bk,ye,bk,bk,ye,bk,bk,bk,bk,bk,bk

PicomiteVGA PETSCII ROBOTS
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 05:53pm 14 Aug 2022
Copy link to clipboard 
Print this post

@Volhut- tidy. it was pointed out black was transparent in lizby's conversion to win mmbasic.
It took a new users ignorance to get this to work but now I sorted my problems it was very fast to code and get working.. it's my first mmbasic program. got to start somewhere.
I downloaded mmbasic dos which looks as much fun as teraterm.
mmbasic vga for rpipico 2040 looks interesting for recreating retro gaming.
I ordered 2 more rpipicos and I may try the mmbasic vga.
mmbasic can be very complex as well as easy it seems from looking at the vga forum posts. sprite replacing blit and not all blit working with vga... but another story until I try vga
In my previous code I had sprite width,sprite height, a pointer to tables like data and the sprites where plotted and a universal sprite sub.
all different with mmbasic. lots to learn cos mmbasic has so many extra features.
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 06:38pm 14 Aug 2022
Copy link to clipboard 
Print this post

The rpipico... do I call it picomite? to vga looks doable on vero. glad I kept those ps2 keyboards.
from a hobbyists view it looks interesting to play with.
would mmbasic vga work ok with rpipico 2040 or is it under spec with all the other "mites"? ie should I bother or limited colours and stuff don't work on rpi?
or is it fun?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7820
Posted: 06:57pm 14 Aug 2022
Copy link to clipboard 
Print this post

The PicoMite VGA is the same RPi Pico, but with different firmware. Instead of drivers for LCD panels it has a simple VGA output. You get either 640x480 1-colour or 320c240 16-colours. In the 1-colour mode you can use a special font that aligns with "tiles" that can have foreground & background colours.

There is also a VGA option for the RPi Pico, which isn't compatible with MMBasic.
Mick

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

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 08:17pm 14 Aug 2022
Copy link to clipboard 
Print this post

Why no composite video?
When new rpis arrive I got to try vga. sourcing bits, will mmbasic vga work with mmedit?!
we'll see.. it's all interesting new stuff to learn... but don't know why, when I got retropi. guess it's nostalgia... which isn't what it used to be.
when rpis arrive I'll try mmb vga with one and the other a spare when I forget it's 3.3v logic.
checking prices vero vs made
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3348
Posted: 08:19pm 14 Aug 2022
Copy link to clipboard 
Print this post

  stanleyella said  I downloaded mmbasic dos which looks as much fun as teraterm.


MMBasic DOS is good for writing little utility programs, but MMBasic for Windows is much more powerful, with the latest language features and near-compatibility with the CMM2. There's no manual for it yet, but the CMM2 manual is fairly close.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 09:41pm 14 Aug 2022
Copy link to clipboard 
Print this post

The main difference between the DOS version of MMBasic and the version running on the Micromite family is
that the DOS version does not support any hardware related features of the Micromite.

I searched for mmbasic for windows but only found dos.
dunno where a rpipico / picomite fits in with all the different mites.
I don't think the vga idea is for me. I like mmbasic lcd support. it's practical as well as a fun hobby.
now if Geoff did mmbasic for rpi 400 and use the hdmi... he'd be popular to say the least
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 10:07pm 14 Aug 2022
Copy link to clipboard 
Print this post

I searched what cmm2 was. colour mite? nowt like a pico mite if that's what I got.
so as I mentioned is advice relevant?
this is a weird forum for a new user, don't even know what my hardware is.
is forum help about maximite relevant to rp2040?
what's mm4w ? is there a link to loading mmbasic for windows please?
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3348
Posted: 10:28pm 14 Aug 2022
Copy link to clipboard 
Print this post

  stanleyella said  I searched for mmbasic for windows but only found dos.


MMBasic for Windows Thread

  Quote  dunno where a rpipico / picomite fits in with all the different mites.


Maxi/MicroMite variations: MaxiMite, Colour MaxiMite (CMM/CMM1), MX150 MicroMite (MM1), MX170 MicroMite (MM2), MX470 MicroMite Plus (MM+),  PIC32MZ MicroMite eXtreme (MMX), MMBasic for DOS, 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/VGAMite, MMBasic for Windows (MMB4W)--currently in Beta.

CMM2: Colour Maximite 2

~
Edited 2022-08-15 08:32 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 10:50pm 14 Aug 2022
Copy link to clipboard 
Print this post

  lizby said  
  stanleyella said  I searched for mmbasic for windows but only found dos.


MMBasic for Windows Thread

  Quote  dunno where a rpipico / picomite fits in with all the different mites.


Maxi/MicroMite variations: MaxiMite, Colour MaxiMite (CMM/CMM1), MX150 MicroMite (MM1), MX170 MicroMite (MM2), MX470 MicroMite Plus (MM+),  PIC32MZ MicroMite eXtreme (MMX), MMBasic for DOS, 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/VGAMite, MMBasic for Windows (MMB4W)--currently in Beta.

CMM2: Colour Maximite 2

~

wow! I'll stick with mmbasic on rp2040 and mmedit and a lcd and try stuff for now.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2579
Posted: 12:57am 15 Aug 2022
Copy link to clipboard 
Print this post

Since you already have more Picos on the way it is easy enough to try the VGA version on a breadboard. MMBasic is almost the same. For the VGA socket just 4 resistors are needed to get adequate colour.
GP16      to H. Sync
GP17      to V. Sync
Gnd.      to Gnd
GP18  270R to Blue pin
GP19  750R to Green pin
GP20  390R to Green pin
GP21  270R to Red pin

Many PS/2 keyboards will run from 3.3V allowing direct connection to the Pico without level shifters. Many don't even need pullup resistors.
To test your PS/2 keyboards for 3.3V operation you can use your current PicoMite see page 76 of the PicoMite MMBasic Ver 5.07.04 manual.
3.3V to PS2 socket Power pin.
GP8 to PS2 socket CLOCK pin.
GP9 to PS2 socket DATA pin.
Gnd. to PS2 socket Gnd.

OPTION KEYBOARD UK  ' Assuming a UK layout.

When finished testing use:-

OPTION KEYBOARD DISABLE
Edited 2022-08-15 10:58 by phil99
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2522
Posted: 03:52pm 15 Aug 2022
Copy link to clipboard 
Print this post

  phil99 said  Since you already have more Picos on the way it is easy enough to try the VGA version on a breadboard. MMBasic is almost the same. For the VGA socket just 4 resistors are needed to get adequate colour.
GP16      to H. Sync
GP17      to V. Sync
Gnd.      to Gnd
GP18  270R to Blue pin
GP19  750R to Green pin
GP20  390R to Green pin
GP21  270R to Red pin

Many PS/2 keyboards will run from 3.3V allowing direct connection to the Pico without level shifters. Many don't even need pullup resistors.
To test your PS/2 keyboards for 3.3V operation you can use your current PicoMite see page 76 of the PicoMite MMBasic Ver 5.07.04 manual.
3.3V to PS2 socket Power pin.
GP8 to PS2 socket CLOCK pin.
GP9 to PS2 socket DATA pin.
Gnd. to PS2 socket Gnd.

OPTION KEYBOARD UK  ' Assuming a UK layout.

When finished testing use:-

OPTION KEYBOARD DISABLE


Thanks Phil. 2 picos arrived today, got to solder headers. Thinking the pin labels seem on the wrong side of the board, if you want the firmware switch on top but it's only used for flashing firmware with a usb lead so could I mount it upside down on bread board the switch not then being easily acessable but you can read the pin labels? There is a bread board for the pico with pin labels printed on it.

I got the picomitevga manual. But not sure. One part says what a great toy to play with, other part says not enough time for retro stuff.
The vga seems more complicated than a glcd.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7820
Posted: 05:07pm 15 Aug 2022
Copy link to clipboard 
Print this post

If you put male header pins onto the same side as the button then your PicoMite can't be plugged into standard sockets on anything. It's just unfortunate that the pin labels are on the bottom.

In many ways I prefer the VGA version, personally. The main problem is that you lose the Touch capability of the display.
Edited 2022-08-16 03:15 by Mixtel90
Mick

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

Joined: 07/06/2022
Location: United States
Posts: 313
Posted: 05:15pm 15 Aug 2022
Copy link to clipboard 
Print this post

  Quote  It's just unfortunate that the pin labels are on the bottom.


It's about the only thing that has me a bit cheesed off with the PICO.
 
     Page 13 of 16    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025