Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 13:55 03 May 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 : Micromite Extreme VGA teaser

     Page 1 of 2    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 09:47am 30 Nov 2016
Copy link to clipboard 
Print this post









Using an unpowered Maximite to provide the VGA physical connection and diode clamping.

Picture is stable and clear full 640x480 resolution (8-colour)

Lot of work still to integrate and still a few funnies (green line at top left of image)
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 10:45am 30 Nov 2016
Copy link to clipboard 
Print this post

Very cool Peter
I thought about the same some time ago and eventually dismissed it as a waste of time since almost nobody uses VGA monitors anymore.
But admittedly it does look pretty good and someone might find eventually some use for it.


http://rittle.org

--------------
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9066
Posted: 02:04pm 30 Nov 2016
Copy link to clipboard 
Print this post

Are you using software SPI ports for that, or have you come up with some other way to drive the VGA signals?

Very impressive - will be watching this one.
Smoke makes things work. When the smoke gets out, it stops!
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 03:36pm 30 Nov 2016
Copy link to clipboard 
Print this post


For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 01:59am 01 Dec 2016
Copy link to clipboard 
Print this post

  Quote  Are you using software SPI ports for that


It uses 3 SPI ports (out of 6 on the 100-pin MZ) and 3 DMA channels (out of 7, 1 is also used by USB). In addition it uses 1 timer (out of 9) and 1 output compare channel (these are used for PWM, out of 9). The working code is about 15 lines in the timer interrupt routine which is called every line (31.775 KHz) everything else after set up is done by DMA independent of the processor.

The code is a variant of that used by Geoff in the Maximite. There seem to be some significant differences between the way the MZ works and the old MX795 so it took me a day of playing to get it all working.

The next step is to integrate VGA as a driver into the firmware

OPTION LCDPANEL VGA

after that it will be able to be used transparently in exactly the same way as a SSD1963 or ILI9341 display so all the graphics commands should work. The only difference is that VGA is only 8-colour. The code uses a frame buffer in the MZ memory but that only reduces the user available RAM by about 100K (from 470K). When the VGA driver isn't loaded then there will be no impact on memory or available pins.

The wiring and number of pins needed will be exactly the same as the Colour Maximite except that I don't intend to implement composite video so that saves a pin. I will probably reduce the number of user SPI channels from 4 to 3 and there will be some pinout changes to accommodate the new functionality but otherwise there will be no impact on the previously published EXTREME code.

VGA will only be available on the 100-pin MZ and not the 64-pin variant
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 02:15am 01 Dec 2016
Copy link to clipboard 
Print this post

If it would be possible to adjust the resolution then connecting a whole range of LCD's would also be possible.
Most bigger LCD's are 800x480.
Smaller LCD's are often 320x200.

Using a framebuffer would allow for very fast updates and maybe even a port of the sprite capabilities from the color maximite.


Microblocks. Build with logic.
 
2001cpx

Regular Member

Joined: 03/10/2013
Location: Canada
Posts: 59
Posted: 03:06am 01 Dec 2016
Copy link to clipboard 
Print this post

Good news!

yes, lcd monitor like a 19 inch cost no more than 20$. (Used)

Thanks
"Color Maximite,(Duinomite-Mega,Mini),CGmmStick,GCmicroboard2b,Micromite + explore 64,100,LCD backpack,Lcd Backpack V2,TFT Backpack,Micromite Extreme,Armmite L,F,H,CMM2"
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 03:09am 01 Dec 2016
Copy link to clipboard 
Print this post

  MicroBlocks said  and maybe even a port of the sprite capabilities from the color maximite.

I regard the implementation of Sprites on the Colour Maximite as a low point on my Maximite/Micromite adventures. I was never happy about how thy worked and the syntax used.

Only one person used them (although Nick did a brilliant job).

Geoff
Geoff Graham - http://geoffg.net
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2290
Posted: 03:18am 01 Dec 2016
Copy link to clipboard 
Print this post

complicated graphics behaviour such as sprites might well be better achieved with custom functions that are tailored to the exact requirements of the application.

peter - the vga output is a very cool addition perhaps the vga-capable version should be called the "colour MICROmite", a worthy successor to the original colour maximite.

how practical would it be to have a 1024x768 monochrome mode? this would be ideal for use when editing programs.


cheers,
rob :-) Edited by robert.rozee 2016-12-02
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 03:45am 01 Dec 2016
Copy link to clipboard 
Print this post

  robert.rozee said   how practical would it be to have a 1024x768 monochrome mode? this would be ideal for use when editing programs.

Peter will be able to answer this when he has the lower resolution working properly but the limitation will be the speed at which the MZ can toggle its I/O pins - which I seem to remember was less than 25MHz (1024x768 would require >60MHz).

Geoff
Geoff Graham - http://geoffg.net
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 03:48am 01 Dec 2016
Copy link to clipboard 
Print this post

Re bigger displays:

The only vague possibility is 800x600 at 72MHz. This has a pixel rate of 50MHz.

Using the MZ chip at 200MHz the SPI data rates available are 25MHz (or slower) or a maximum of 50Mhz (100 mHz divided by 2,4,6,8...)

standard 640x480 requires a pixel clock of 25.175MHz - so close enough.
800x60 at 72MHz requires a pixel clock of 50MHz running the SPI port at full speed. Whether DMA could keep up with this I don't know.

Anything more than 50MHz is impossible.

 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 06:07pm 01 Dec 2016
Copy link to clipboard 
Print this post

What about the pixel rates for 320x200 and 800x480?

Microblocks. Build with logic.
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 11:30pm 01 Dec 2016
Copy link to clipboard 
Print this post

Picking up on Jean's comment - 800 x 480 would allow for easy 'transition' of programs originally written for a SSD TFT. It would also be a nice resolution for the editor.

Be interested to hear feedback as to the possibility of these 'existing' resolutions on the VGA.

(Any more teaser photos yet Peter?) Edited by WhiteWizzard 2016-12-03
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 03:17am 02 Dec 2016
Copy link to clipboard 
Print this post

WVGA seems to need a 40MHz pixel clock although information is scarce as it is not a recognized VESA standard

The only way to do this would be to slow the main processor clock to 160MHz (from 200). I can't do any more on this until after the weekend. If 800x600 works then 800x480 may be a possibility but I'm not very hopeful. I don't have a 800x480 compatible monitor to test on.

 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 06:34am 02 Dec 2016
Copy link to clipboard 
Print this post

This document might have some useful info for 800x480 resolution: http://www.nxp.com/assets/documents/data/en/application-notes/AN3977.pdf

Microblocks. Build with logic.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 07:24am 02 Dec 2016
Copy link to clipboard 
Print this post

Just for the avoidance of doubt, the code will never support direct connection of a raw LCD panel - that is the job of dedicated display controllers. It may (very big question mark) be able to support the cheap LCD displays that have a VGA connection e.g. possibly this but it would still only be 8-colours
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 05:30am 05 Dec 2016
Copy link to clipboard 
Print this post

  Quote  (Any more teaser photos yet Peter?)


Demo video



 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 06:45am 05 Dec 2016
Copy link to clipboard 
Print this post

WOW - that is FAST!

Is that a 'hacked' GUI TEST, or have you got several/all the general graphics interface working with the MM firmware?


For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 07:05am 05 Dec 2016
Copy link to clipboard 
Print this post

  Quote  have you got several/all the general graphics interface working with the MM firmware?


Yes - everything working except the console - that is next on the to-do list.
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 08:09am 05 Dec 2016
Copy link to clipboard 
Print this post

  matherp said  Yes - everything working except the console - that is next on the to-do list.


FANTASTIC

IF Load Image is also working- ow does it deal with converting RGB to the limited number of colours? Or put another way, will it still load a .bmp if you create the .bmp file in the 8 'correct' colours?

I assume this is still 640x480? What size characters are you thinking of using for the editor? i.e. how many columns & rows do you think is achievable to make a nice readable Editor display?

And finally, will this ever be 'ported' to the 64pinner, or is there just not the hardware capability/pins on the 64pin MZ?

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
     Page 1 of 2    
Print this page
© JAQ Software 2024