Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:08 10 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 : (MU) PicoMiteVGA port to ZX Murmulator board (RP2040/2350)

Author Message
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 02:08pm 03 Jul 2025
Copy link to clipboard 
Print this post

ZX Murmulator: PicoMiteVGA WITH CUSTOM VGA

Board schematic:
https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme

Development repository:
https://github.com/DnCraptor/PicoMiteAllVersions
Based on UKTailwind’s PicoMiteAllVersions (v6.00.02)

Telegram channels (discussion in Russian):
@murmulator_news – News and updates
@ZX_MURMULATOR – Community discussion
(Use online translation if needed)




MAIN DIFFERENCES FROM BASE VERSION

• Custom VGA driver (RGB222 instead of RGB121; conversion on-the-fly)
• Increased CPU frequency: 252 → 378 MHz
• Flash ROM is not used – replaced with swap file on SD card
• Core migrated from C to C++
• Introduced CombinedPtr class for unified RAM/SD-card access
Planned: support for external PSRAM (RP2040 style)




CURRENT STATUS

• Development is in progress
• Tested software:
 – FM151
 – 2048+
 – Several demos
• In progress:
 – Petscii Robots




Current build:
m1p2_PicoMite_6.00.02-sd-9.uf2 for RP2350
(Download from Telegram)

Build for RP2040 – not ready yet

RSRAM (RP2350-style): Tested and working OK




FEEDBACK

You're welcome to test it, report bugs, or share your experience!
Edited 2025-07-04 00:36 by MikeV73
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10226
Posted: 02:46pm 03 Jul 2025
Copy link to clipboard 
Print this post

Hi MikeV73

Welcome to the forum.

I'm interested in your changes

• Flash ROM is not used – replaced with swap file on SD card
• Introduced CombinedPtr class for unified RAM/SD-card access

Please could you explain more? I'm always on the lookout for enhancements where they make sense and it is great to see someone doing the work themselves before suggesting changes

I've no interest in the RGB222 as to me it seems just a poor substitute for HDMI which is already supported but I understand it matches the board design.

Have you done much conversion to C++ or just added the "extern "C" pefixes to make it compatible with the compiler?
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 03:15pm 03 Jul 2025
Copy link to clipboard 
Print this post

  matherp said  Hi MikeV73

Welcome to the forum.

Hi, thnx.

  matherp said  
I'm interested in your changes

• Flash ROM is not used – replaced with swap file on SD card
• Introduced CombinedPtr class for unified RAM/SD-card access

Please could you explain more? I'm always on the lookout for enhancements where they make sense and it is great to see someone doing the work themselves before suggesting changes

Flash ROM usage is not comfortable for me:
1. It stops interrupts for the flashing time
2. It is not very fast to write to the flash
3. Flash has limited times to be overriden
Replacement with SD-card file produces faster write without stopping interrupts, but the read performace is worst than flash, so it may be not comfortable for all cases. I'm still testing for corner cases.

  matherp said  
I've no interest in the RGB222 as to me it seems just a poor substitute for HDMI which is already supported but I understand it matches the board design.

yes, it is more related to the Murmulator VGA schema. we also have 121 RGB version (but it is very rare modification)

  matherp said  
Have you done much conversion to C++ or just added the "extern "C" pefixes to make it compatible with the compiler?

Nop, not just "extern "C" usage. Most changes - use CombainedPtr instead of uint8_t* in a lot of places. It switches between SD-card, ROM and RAM "on-fly". In my todo-list also specific Murmulator PSRAM support.
You can review changes only by prepared pull-request: https://github.com/UKTailwind/PicoMiteAllVersions/pull/11/files
(it is not for imidiate merge, just for review)
Edited 2025-07-04 01:16 by MikeV73
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 04:27pm 04 Jul 2025
Copy link to clipboard 
Print this post

+ Murmulator style PSRAM initial implementation:
https://t.me/murmulator_news/398
It uses faster PSRAM instaed of SD-card (if exists)
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 12:23am 05 Jul 2025
Copy link to clipboard 
Print this post

+ File Manager (by @JAVAVIUA) "out of the box"
https://t.me/murmulator_news/400
To start: RUN "FM" (in case pout of the root: RUN "A:/FM")
If something glitches: OPTION RESET
If it still glitches – delete the files /tmp/picoMite.* from the SD card
If it still glitches – please report the bugs :)
Edited 2025-07-05 12:47 by MikeV73
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 11:38pm 06 Jul 2025
Copy link to clipboard 
Print this post

+ BLIT MEMORY was fixed. PETSCII Robots - working on this version now.
https://t.me/murmulator_news/416
+ integrated with p1p2-launcher (m1p2 command to launch .m1p2-files from PicoMite)
https://t.me/murmulator_news/411
+ short command FM to start file manager
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5050
Posted: 02:20pm 07 Jul 2025
Copy link to clipboard 
Print this post

Hi MikeV73,

I have a question about the RGB222 implementation. PicoMite (in VGA) is in essence 16 colors, and this is memory limited (no of framebuffers/size). Are you mapping these 16 colors on the 6 color pins that drive the VGA connector in a fixed way ? Or did you implement a LUT with the possibility to choose 16 from 64 possible colors ? If yes, is this LUT configurable using the MAP command ?

Volhout
PicomiteVGA PETSCII ROBOTS
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 04:03pm 07 Jul 2025
Copy link to clipboard 
Print this post

  Volhout said  
I have a question about the RGB222 implementation. PicoMite (in VGA) is in essence 16 colors, and this is memory limited (no of framebuffers/size). Are you mapping these 16 colors on the 6 color pins that drive the VGA connector in a fixed way ? Or did you implement a LUT with the possibility to choose 16 from 64 possible colors ? If yes, is this LUT configurable using the MAP command ?
Volhout

Hi, Volhout, in framebuffer we still using 121 RGB (4-bits), in driver we are duplicating each 1 to 2 pins, and 2 (green) still 2, to produce 222 (6-bits). Current mapping is quite hardcoded. But it is possible to change base pin (VGA_BLUE). No reordering support for now. + Last 2 pins - H/VSync.
 
MikeV73
Newbie

Joined: 03/07/2025
Location: Ukraine
Posts: 9
Posted: 01:07am 09 Jul 2025
Copy link to clipboard 
Print this post

+ build for RP2040 (first Raspberry Pi Pico): https://t.me/murmulator_news/423
Edited 2025-07-09 11:08 by MikeV73
 
Print this page


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

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025