Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 14:19 26 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 : Connect PicomiteVGA to Trs80 CRT

     Page 1 of 2    
Author Message
Kawamarad

Newbie

Joined: 29/01/2024
Location: Canada
Posts: 8
Posted: 08:07pm 29 Jan 2024
Copy link to clipboard 
Print this post

Hello all,
I am trying to get a B&W picture on a TRS80 CRT with PicomiteVGA. This works fine with the VGA Bitluni routine running on an ESP32. The Bitluni code is configured with a 15.840 Khz pixel clock, but I cannot find any option to get below the regular 25Khz of the PicomiteVGA: consequently, I cannot get any picture on the TRS screen. I do not want to change the original TRS screen with a modern LCD one as I want to keep the touch and feel of the original TRS80 while enjoying the Picomite Basic. Is there is a way to achieve my goal? Thanks for your ideas…
Emmanuel.

"Écrire des messages en majuscules accélère le traitement informatique" (ChatGPT)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 08:23pm 29 Jan 2024
Copy link to clipboard 
Print this post

There is no existing way to achieve this. The PicoMite is incapable of producing the correct timings unless a chunk of the video handling is re-written. I doubt if you'll get anyone interested in doing that.

The best I can suggest is to get a VGA to CV converter, as the input to the TRS-80 monitor is 2V CV (opto-isolated within the monitor).
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4233
Posted: 09:17pm 29 Jan 2024
Copy link to clipboard 
Print this post

The old CMM1 can do it.
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 09:46pm 29 Jan 2024
Copy link to clipboard 
Print this post

Yep. I was going to suggest that but they are hardly common and they aren't PicoMite VGAs either. :)
Mick

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

Guru

Joined: 31/03/2022
Location: United States
Posts: 463
Posted: 11:22pm 29 Jan 2024
Copy link to clipboard 
Print this post

OK I'm just a Dumb Texan I'm even from where the Trash-80 is From but what is the CV in a  VGA to CV?
I may be Vulgar, but , while I'm poor, I'm Industrious, Honest,  and trustworthy! I Know my Place
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 12:02am 30 Jan 2024
Copy link to clipboard 
Print this post

Composite Video I expect.

John
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9306
Posted: 12:16am 30 Jan 2024
Copy link to clipboard 
Print this post

Yes, "CV" is usually short for Composite Video when being used in a video-related discussion.  B/W composite video is reasonably painless to acheive which is why it was done on the earlier Maximite 1 units, but colour CV is another beast entirely.  

This has come up on the forums before, and has pretty-much been solved by suggesting that if you NEED to have CV, use one of those VGA-to-CV adaptors - some of them are dirt-cheap these days, and they will convert the video standard for you.

...just don't expect any modern Micromite, Maximite or PicoMite to produce colour CV for you.  
Smoke makes things work. When the smoke gets out, it stops!
 
Kawamarad

Newbie

Joined: 29/01/2024
Location: Canada
Posts: 8
Posted: 08:59pm 30 Jan 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  There is no existing way to achieve this. The PicoMite is incapable of producing the correct timings unless a chunk of the video handling is re-written. I doubt if you'll get anyone interested in doing that.

The best I can suggest is to get a VGA to CV converter, as the input to the TRS-80 monitor is 2V CV (opto-isolated within the monitor).


I don't know if the TRS80 CRT could also work in CV, but I managed to get a very stable B&W image in VGA (320 x 240) with a software written by BitLuni's lab on ESP32 and modified by myself, so the "regular" pixel clock is divided by 2 (and parameters like backporch, H & Vsync etc. adapted in the same fashion). I also tried with a hardware converter but the frequency would stay higher than 15.840 Hz. and thus could not be decoded by the CRT (unless you know about a converter on which the parameters could be changed?).

Is there is a chance the pixel clock (and other parameters) in the MMBasic could be adapted? I don't know if this is a reasonable idea/request, but could I try different parameters and recompile it by myself?
Emmanuel.

"Écrire des messages en majuscules accélère le traitement informatique" (ChatGPT)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 09:20pm 30 Jan 2024
Copy link to clipboard 
Print this post

The TRS-80 uses an opto-isolator to pass video data into the circuit. That's because they were adapted from "live chassis" b/w TVs with their whole tuner section stripped out. The TRS-80 provides a 5V supply to power the opto-isolator circuit and a 2V CV signal for the video and synch.

The source for MMBasic on the PicoMite is available if you want to play with it, but I doubt if anyone else will be interested - a mono CV output is too specialised. The video timing is generated using one of the PIO devices and video is fed to it from the frame buffer by the second CPU. It isn't a simple system and timing is critical.

The original Colour Maximite could be used in either 8-bit colour VGA or mono CV but this function wasn't included in anything else AFAIK.
Mick

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

Newbie

Joined: 29/01/2024
Location: Canada
Posts: 8
Posted: 01:21pm 07 Feb 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  
The source for MMBasic on the PicoMite is available if you want to play with it, but I doubt if anyone else will be interested - a mono CV output is too specialised. The video timing is generated using one of the PIO devices and video is fed to it from the frame buffer by the second CPU. It isn't a simple system and timing is critical.

The original Colour Maximite could be used in either 8-bit colour VGA or mono CV but this function wasn't included in anything else AFAIK.


So far, in order to be sure of the right « formula », I managed to get a « Trs80 model4 » 320x200 display modeline working on the trs80 on an ESP32 by using the Fabgl library, which have for this purpose a very nice program called « Modeline Studio ». Now, I would be ready to try to implement this 320x200 modeline into the MMbasic code, but I have a few questions:

- I requested (and received) a link for the source code, but I am confused as to which version to use with regards to the PicomiteVGA. Which is the right one, and are there options to define?

- In the source code, which are the files I should examine for my purpose?

… Not sure I am technically up to the task, but it’s worth a try!
Emmanuel.

"Écrire des messages en majuscules accélère le traitement informatique" (ChatGPT)
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 01:29pm 07 Feb 2024
Copy link to clipboard 
Print this post

Check you have the Pico SDK and can build its tools.

Then github has the details.

John
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 02:04pm 07 Feb 2024
Copy link to clipboard 
Print this post

I'm afraid I can't help with the source or the mods to it. That's out of my depth.  :(
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4233
Posted: 02:54pm 07 Feb 2024
Copy link to clipboard 
Print this post

  Kawamarad said  
  Mixtel90 said  
The source for MMBasic on the PicoMite is available if you want to play with it, but I doubt if anyone else will be interested - a mono CV output is too specialised. The video timing is generated using one of the PIO devices and video is fed to it from the frame buffer by the second CPU. It isn't a simple system and timing is critical.

The original Colour Maximite could be used in either 8-bit colour VGA or mono CV but this function wasn't included in anything else AFAIK.


So far, in order to be sure of the right « formula », I managed to get a « Trs80 model4 » 320x200 display modeline working on the trs80 on an ESP32 by using the Fabgl library, which have for this purpose a very nice program called « Modeline Studio ». Now, I would be ready to try to implement this 320x200 modeline into the MMbasic code, but I have a few questions:

- I requested (and received) a link for the source code, but I am confused as to which version to use with regards to the PicomiteVGA. Which is the right one, and are there options to define?

- In the source code, which are the files I should examine for my purpose?

… Not sure I am technically up to the task, but it’s worth a try!


I guess you need to be "up to the task", since the VGA picomite has been "tuned" for 2 years to squeeze every bit of performance out of the video with multiple frame buffers, graphical primitives, sprites, colorspace conversions. When you introduce a new resolution (320x200) that all needs adaptation.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Kawamarad

Newbie

Joined: 29/01/2024
Location: Canada
Posts: 8
Posted: 02:34pm 09 Feb 2024
Copy link to clipboard 
Print this post

  Volhout said  
I guess you need to be "up to the task", since the VGA picomite has been "tuned" for 2 years to squeeze every bit of performance out of the video with multiple frame buffers, graphical primitives, sprites, colorspace conversions. When you introduce a new resolution (320x200) that all needs adaptation.

Volhout


I just realize I made a mistake, my old CRT screen is currently handling a 15khz VGA signal at 320x240 (not X200), so this is a resolution already handled natively by the PicomiteVGA, consequently, things *should* be simpler.

Unfortunately, in this resolution, as is, the Picomite VGA frequency output seems too fast for the TRS80 hardware. I downloaded and examined the Raspberry Pi source code for MMBasic, my goal being not to fully understand it (way over my head!), but rather find a configuration file where I could add my VGA signal modeline along other ones (here's mine: 320x240_61Hz 6.326 320 328 344 400 240 241 244 261 -HSync -VSync), so It could be taken in account more or less like a new specific resolution (I already did this successfully in the FabGL ESP32 library). I could not find anything related to it, but I am not sure that I examined the right source code.

Would anyone have a clue about the right source code to examine and possibly the right file?

Emmanuel.
Emmanuel.

"Écrire des messages en majuscules accélère le traitement informatique" (ChatGPT)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 02:55pm 09 Feb 2024
Copy link to clipboard 
Print this post

I *can* tell you that the video is outputted by the PIO, which I think also generates the sync signals independently of the CPU. CPU2 is used to read the frame buffer and feed the PIO.

There is only one output frequency AFAIK. Mode 2 is obtained by pixel doubling from Mode 1. It is using half the frame buffer for the display and the other half for the additional colour information, effectively.
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 06:35pm 09 Feb 2024
Copy link to clipboard 
Print this post

  Kawamarad said  find a configuration file where I could add my VGA signal modeline

It's hard to do what the PicomiteVGA does and I expect there is no such file.

If you're especially keen, keep reading the code to understand how it works.

John
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6787
Posted: 06:46pm 09 Feb 2024
Copy link to clipboard 
Print this post

The PicoMite VGA isn't designed to have more than one screen resolution (640x480, with pixel doubling to 320x240). The memory for the frame buffer is fixed and can't be increased (without major upheaval). The frame and line frequencies are fixed by the division ratios available (within the PIO code, I assume). Unless you spot something obvious in the source I'd assume that there is currently no mechanism to use any other video timings.
Mick

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

Newbie

Joined: 29/01/2024
Location: Canada
Posts: 8
Posted: 08:15pm 09 Feb 2024
Copy link to clipboard 
Print this post

  JohnS said  
  Kawamarad said  find a configuration file where I could add my VGA signal modeline

It's hard to do what the PicomiteVGA does and I expect there is no such file.

If you're especially keen, keep reading the code to understand how it works.

John


I would love to try, but it seems I received a link (or I chose the wrong one) for a different  RasberryPi version (version.h says 5.05.03). I this the right - and latest - PicomiteVGA version? If not, where could I download it?
Emmanuel.

"Écrire des messages en majuscules accélère le traitement informatique" (ChatGPT)
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 09:15pm 09 Feb 2024
Copy link to clipboard 
Print this post

See https://www.thebackshed.com/forum/ViewTopic.php?TID=16672&PID=216958#216958#216958

Version 5.09.00b0

"All code and build files on https://github.com/UKTailwind/ including USB variants"
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 09:58pm 09 Feb 2024
Copy link to clipboard 
Print this post

Try https://github.com/UKTailwind/PicoMite-VGA-Edition

John
 
     Page 1 of 2    
Print this page
© JAQ Software 2024