Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:40 29 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: I have a nightmare

Author Message
led-bloon

Senior Member

Joined: 21/12/2014
Location: Australia
Posts: 205
Posted: 02:52am 30 Mar 2023
Copy link to clipboard 
Print this post

Thinking inside the box:
A PicoMite "dedicated VGA games machine" with the following characteristics.

   10 GPIO for VGA 320x240 RGB332 pixel-doubled 256 colour output ONLY.
     This would require 153.6 KBytes RAM for video frame buffers, leaving 110.4 KB
     for stack, DMA buffers and program code (anything else?) [GP0 - GP9]
   4 GPIO for a "bit-banged" SDCard (or flash file system or both?) [GP10 - GP13]
   2 GPIO for audio out [GP14 - GP15]
   2 GPIO for serial debug? [GP16 - GP17]
   2 GPIO I2C for RTC/networking? [GP18 - GP19]
   2 GPIO for PS2 keyboard [GP20 - GP21]
   4 GPIO spare [GP22, GP26 - GP28]
   Suggested pin use in []'s.

   USB for updates/upgrades/comms (or 5V0 power-pack only)
   
   Remove all unnecessary basic interpreter code leaving only core functions.
   Preset RP2040 CPU speed at 252Mhz - I think ALL picos can achieve this.
   Move VGA to PIO1 leaving PIO0 free (for now)
   PicoW for a simplified UDP command input on (default) PIO0?
   
What could possibly go wrong?
led
Miss you George
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6814
Posted: 06:19am 30 Mar 2023
Copy link to clipboard 
Print this post

Sounds lovely, I can't wait! Are you going to share the source with us on Github?



;)
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 07:08am 30 Mar 2023
Copy link to clipboard 
Print this post

Memory may be used more than already posted. Build VGA & W (software) versions, look at MAP files and check?

John
Edited 2023-03-30 17:09 by JohnS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9139
Posted: 07:14am 30 Mar 2023
Copy link to clipboard 
Print this post

  Quote  What could possibly go wrong?

Free Memory for program -70kB
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6814
Posted: 07:27am 30 Mar 2023
Copy link to clipboard 
Print this post

I think this should have really been posted on 1st April. ;)
Mick

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

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 08:17am 30 Mar 2023
Copy link to clipboard 
Print this post

  matherp said  
  Quote  What could possibly go wrong?

Free Memory for program -70kB


ZX SPECTRUM, VIC-20 or ATARI 600XL was enough 16kB or less

Michal
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 08:31am 30 Mar 2023
Copy link to clipboard 
Print this post

Hi Michal,

Assuming you could find someone to butcher the firmware, who is going to write these games, EDIT: or for that matter play them ? At the moment this community (@Mixtel90 alone) designs a dozen PCBs for every game that gets completed to a (1980s) "publishable" standard.

Also the impressive results on those 8-bit machines were (mostly) only achieved through driving the metal directly, and even then in 16K (at least on the ZX Spectrum) the results were not that impressive. If you want to drive the metal of the Pico directly then you don't need Peter and you can have DOOM: https://kilograham.github.io/rp2040-doom/.

EDIT: If you want a standard PicoMite VGA configured as a game machine then I point you at @Mixtel90's PicoGAME VGA: https://github.com/thwill1000/pico-game-vga (hosted with permission).

Best wishes,

Tom
Edited 2023-03-30 18:44 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 08:55am 30 Mar 2023
Copy link to clipboard 
Print this post

  Michal said  
  matherp said  
  Quote  What could possibly go wrong?

Free Memory for program -70kB


ZX SPECTRUM, VIC-20 or ATARI 600XL was enough 16kB or less

Michal

Yes but you wanted a spec far beyond that.

Remove some features from your list. Bare metal, no MMBasic?

John
Edited 2023-03-30 18:56 by JohnS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9139
Posted: 08:58am 30 Mar 2023
Copy link to clipboard 
Print this post

  Quote  ZX SPECTRUM, VIC-20 or ATARI 600XL was enough 16kB or less


Did you miss the minus sign? -70Kb
 
Michal
Senior Member

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 09:17am 30 Mar 2023
Copy link to clipboard 
Print this post

  matherp said  
  Quote  ZX SPECTRUM, VIC-20 or ATARI 600XL was enough 16kB or less


Did you miss the minus sign? -70Kb

How to calculate it?
Your VideoRAM is only 2 times smaller.

Michal
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9139
Posted: 09:45am 30 Mar 2023
Copy link to clipboard 
Print this post

My video ram is 38400 bytes vs 153.6 KBytes
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4256
Posted: 11:06am 30 Mar 2023
Copy link to clipboard 
Print this post

Hi Led,

If you are willing to learn VDU codes, you could look at the BBC Basic port on the picomite. Apparently it is running on the pimoroni board.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Michal
Senior Member

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 01:58pm 30 Mar 2023
Copy link to clipboard 
Print this post

Hi matherp,

Would using a second Pi Pico as VGA slow down the graphics a lot. Or maybe on the contrary, it could speed up if it was programmed only as a graphics card with predefined primitives?

Michal
Edited 2023-03-31 00:22 by Michal
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6814
Posted: 02:40pm 30 Mar 2023
Copy link to clipboard 
Print this post

But why, for <insert name of Deity here>'s sake? There are far better gaming platforms if that's what you want. Better still, write some games for the PicoMite VGA. After all, you'll have to write your own games for a setup like that anyway.  :)
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 03:04pm 30 Mar 2023
Copy link to clipboard 
Print this post

  Michal said  Would using a second Pi Pico as VGA ...

What are you actually wanting? More bits of colour or what?

There's already a two-Pico design (a "Pear") where one can be VGA so won't that do?

If that won't do whatever it is you want, tweak the design (or do your own) and modify someone's firmware to your heart's content :)

John
Edited 2023-03-31 01:05 by JohnS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6814
Posted: 03:23pm 30 Mar 2023
Copy link to clipboard 
Print this post

The PicoMite Pear links the two PicoMites (on the same PCB, which can be fitted into an enclosure) using a serial interface. You can use COM, I2C or SPI depending on how you feel. :)

Check the link in my sig. Look for PPear Construction Pack.
Mick

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

Joined: 02/02/2022
Location: Poland
Posts: 123
Posted: 03:37pm 30 Mar 2023
Copy link to clipboard 
Print this post

  JohnS said  
  Michal said  Would using a second Pi Pico as VGA ...

What are you actually wanting? More bits of colour or what?

There's already a two-Pico design (a "Pear") where one can be VGA so won't that do?
...

It could have more colors and SDL and relieve the central processor.
In addition, the webPicoMite version seems to be heavily overloaded and without VGA.
Besides, my question was more about whether there is a method (bus) for very fast communication between two Pi Picos.
Maybe by PIO State Machines?

Michal
Edited 2023-03-31 01:47 by Michal
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 04:13pm 30 Mar 2023
Copy link to clipboard 
Print this post

Interprocessor comms could be very fast, PIO and/or DMA could help.

It's quite an unusual wish so you may have to code it yourself.

John
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6814
Posted: 04:31pm 30 Mar 2023
Copy link to clipboard 
Print this post

@Michal

You could use a Raspberry Pi as the GPU - but then you may as well just put everything on it and save the complication...

:)
Mick

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


To reply to this topic, you need to log in.

© JAQ Software 2024