Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 21:41 17 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 b5v6, VGA

     Page 3 of 4    
Author Message
WhiteWizzard
Guru

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

v12 from v8 Must be quite a lot in there!

From your post regarding reading a pixel, what is the likelihood of 'developing' a sprite concept?

I know Geoff is not keen on this (understandably so if using this as an embedded controller), but this development has effectively re-created the MaxiMite, or at least very nearly, (i.e. keyboard, monitor, MMX, SD Card = simple standalone computer with I/O capability). You posted code previously that gave a 'sprite effect' so guess this could evolve. I have not yet tried on the MMX as testing other things first.

Your thoughts appreciated.

Will load b12 now and report back any issues . . . .

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
MicroBlocks

Guru

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

One thing missing from the micromite when compared to the maximites is the use of CAN.
The code should be available from the maximite versions
Would be great to see it added to the micromites for the bigger chips.

Microblocks. Build with logic.
 
WhiteWizzard
Guru

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

Peter,

Got it loaded and running well so far.

One immediate thing: The editor looks much better BUT I would swap the colours you have for comments and status. That way, the Editor on VGA would match the 'external editor' better (i.e. make comments Yellow, and Status Magenta).

This would also avoid 'special notes' in the documentation for the VGA version

WW


For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8604
Posted: 02:54am 10 Dec 2016
Copy link to clipboard 
Print this post

  Quote  Got it loaded and running well so far.


The PWM implementation is currently wrong. Only PWM2A (and 2B without VGA) are likely to work properly as a result of the VGA implementation changing the way timers are used for output compare. I need to so some more work on this and will also look at the possibility of implementing the Maximite TONE command

The Maximite sprite and blit functionality would be very easy to implement for VGA but is it useful?

Alternatively, what should equivalent functionality look like?Edited by matherp 2016-12-11
 
WhiteWizzard
Guru

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

Peter,

The 640x480 resolution is fine for 4:3 format monitors. However, most monitors these days are 16:9.

The topic of pixel frequency and resolution came up previously and I am now wondering if there is a suitable 16:9 format resolution that falls within the frequency you can work with.

All the above is to do with oval shaped circles and rectangular squares

It would be nice to have a OPTION LCDPANEL VGA, 4 or 16 parameter if possible.

Just giving you food for thought! (like you haven't got enough to do already )

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
WhiteWizzard
Guru

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

Time seems to be more accurate now on v12 as you mentioned
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

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

  Quote  if there is a suitable 16:9 format resolution that falls within the frequency you can work with.


Anything above 25MHz pixel clock is definitely not possible as the DMA can't feed three channels fast enough at 50MHz (i.e. 150MHz total bandwidth).

This means that 640x400 (16:10) is a possibility - should be reasonably easy
640x350 (16:9) should be doable but a lot of work as the horizontal sync pulse is reversed compared to normal VGA and because of the way the output compare creates the signal relative to the timer interrupt and the SPI framing this completely buggers the way the code works.Edited by matherp 2016-12-11
 
WhiteWizzard
Guru

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

Sounds interesting at 640x400.

I understand a 25MHz 'limit' but not sure how it is calculated from pixel resolutions. So simple question would be is there a higher than 640 horizontal pixel resolution, at 16:9 (or 16:10) format that falls within the 25MHz limit which is also 'displayable' on a monitor?

How about 800 x 500 (for a 16:10 format). What is the pixel clock rate here? Appreciate a quick guide on calculating the pixel clock rate.



For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8604
Posted: 06:16am 10 Dec 2016
Copy link to clipboard 
Print this post

  Quote  s there a higher than 640 horizontal pixel resolution, at 16:9 (or 16:10) format that falls within the 25MHz limit

No

  Quote  Appreciate a quick guide on calculating the pixel clock rate.


See this reference
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8604
Posted: 06:22am 10 Dec 2016
Copy link to clipboard 
Print this post

This version will do 640x480 or 640x400

use OPTION LCDPANEL VGA,16 for 640x400
use OPTION LCDPANEL VGA for 640x480

2016-12-10_162156_MicromiteEXTREMEb5v13.zip
 
WhiteWizzard
Guru

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

So 4K not possible then

Seriously; thanks for v13 - will load it now . . . .
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 09:50am 10 Dec 2016
Copy link to clipboard 
Print this post

Still not see the value in VGA with 640x480. The aspect ratio is only for 4:3 monitors on the rest it will get distorted.
If it is for the sport to get it to work i can understand that. But useful. Not so much in my opinion.
Especially when it uses up 3 serial peripherals and gobbles up memory.
If a full screen desktop computer is wanted go for a Pi or any of the other available options starting from around 9US$.
I thought the whole point about the micromite was to use it as an embedded system and concentrate on functionality that is good for that purpose. VGA is not one of them.
Better to upgrade the Color Maximite platform.
Adding VGA to an embedded system just adds bugs as when it is not used there are still code paths that check for it and that can introduce errors.
I was under the impression that the options that should be added to the micromite would at least have to be useful for a large group of users. I see the VGA as only useful (playful) for very few and as such it should not even be considered.

Only value i see would if it was able to run an LCD without a controller and use it directly with RGB and clock. This would be a cost saving. But then it is better to use resolutions that are used by those LCD's of which most are widescreen. (This btw has already been done by a few Germen users on the Color Maximite basis).






Microblocks. Build with logic.
 
WhiteWizzard
Guru

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

Jean,

In response to your post:

640x480 looks good (even on 16:9 monitors) but as you say it is 'distorted'. But it works, and Peter has adjusted also for 16:10 format so less distorted. This is work in progress.

Useful? Well, depends what you're doing. For me it is very useful. For you maybe not. So which of us is right?

Three SPIs used yes, but there are 'bigger processors' out there with more SPIs. Also remember that not everyone wants to use every conceivable type of I/O. 'Horses for courses' springs to mind yet again.

I agree, if you want a 'desktop computer' cheap, then use a RPi. But what if you want the equivalent of a Home Computer from the 80s which is a great Educational Tool? The MM Extreme is all but there!

The MM Standard and MM+ are brilliant embedded controllers. The MM Extreme pushes the device to new limits opening up new functionality. If you don't need it, don't use it! Lets not stifle a brilliant development.

Geoff will continue to focus on 'embedded features' for the MM+ (and bug fixes for the MM).

Regarding upgrading the MaxiMite platform; then I think it be far easier to develop the MM+ into the 'new MaxiMite'. And the MM Extreme is heading that way.

The OPTION LCDPANEL VGA only uses up memory when selected. It will not interfere with non-vga use so no fears there!

We all agree about features being introduced for 'large numbers of users'. Just because it is something you consider 'worthless', you can't assume others will too.

I have raised the widescreen format scenario - and Peter responded immediately with code. As I mentioned above - 'work in progress'.


In summary, this VGA development is not 'crippling' the usefulness of the MM as an embedded controller. It is adding another layer of functionality IF you want to use it.

As it stands, the MM Extreme can do everything the MX470 (i.e. Explore 100) can do but with more RAM & FLASH memory and do it much quicker. So if it can do other things too (which you don't need to use) - then where is the harm?

The above is just my opinion based on a few solid days testing & using the MMX (as I like to call it!).

Interested to hear other peoples feedback . . . .


For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
boss

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 10:49am 10 Dec 2016
Copy link to clipboard 
Print this post

@WW,matherp

do you remember this SSD1963 to DVI shield I presented couple of years ago?
Use SSD1963 chip in 8bit mode and support 640x480 and 800x480 mode.







 
WhiteWizzard
Guru

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

Hi Bohumil,

Do explain more.

For what I have in mind, I need minimum component count. The SSD pushed the cost of a previous development beyond what was commercially viable which is why I am keen on the MMX development.

However, I have an open mind and listen to all possibilities.

Interested to hear more about the shield (I don't recollect this at the moment but may need a memory jogger)

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
kiiid

Guru

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

From my point of view I agree with MB as there are much more important features which concern a wider audience. My 'coming soon' MMZ (which the original Micromite MZ port project which started several months ago) is focusing on greater performance and other useful things with more attention (hence the delayed release), however I am not dismissing completely that it might include a 'bonus feature' of this sort in the near future for image output onto large displays.
However it will be thought smart so there should not be any drawbacks. It looks like everyone has now gone in their own direction with different ports, and that after all can be only a benefit to the end user for a specific niche of interest.

Edited by kiiid 2016-12-11
http://rittle.org

--------------
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 12:02pm 10 Dec 2016
Copy link to clipboard 
Print this post

  kiiid said  It looks like everyone has now gone in their own direction with different ports, and that after all can be only a benefit to the end user for a specific niche of interest.


I am aware of Peter's port based on Geoff's v5.3, and your port which includes things such as multiple SD cards. Are there any other ports out there on the MZ?

Also, are there any details you can reveal as to what is included in your 'soon to be released' version? If not, then what about timescales before the release?

I am keen to get my teeth into a MM that has minimum component count that can display on a 'big screen' in a classroom environment.

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8604
Posted: 12:02pm 10 Dec 2016
Copy link to clipboard 
Print this post

A few facts may be in order.

The Micromite Extreme is an exact port of the latest code from Geoff for the MX470. It is just re-platformed to a new chip and the currently supported development environment.

The VGA functionality is the Maximite code ported as a display driver. If the driver isn't loaded then there is zero impact on the Micromite firmware in the same way as the ILI9341 code doesn't impact. There is one additional "if" in the startup, nothing else.

The driver code itself is smaller than that for a TFT display in the flash memory.

I,m unaware of major functionality that should be included. But in any case including VGA doesn't preclude anything
 
boss

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 12:06pm 10 Dec 2016
Copy link to clipboard 
Print this post

@WW
Some time ago I got request to replace couple of obsolete DEC REGIS devices. Unfortunately in these days I had only relatively "slow" 28pin uMite. The device resolution was requested 800x480 @16bpp with DVI output working with standard industrial DVI monitor.

I start searching on Web and found a PARALLAX enthusiasts working on very similar project. We join our knowledge and developed this shield.
I have full right to manufacture and even modify the shield if necessary.
The device with uMite and shield itself is working very well with requested resolution for more than one year in the heavy industrial environment.
I have full documentation and still have few pcs of DVI shield available for tests.
The 32MZ chip and the the shield could be good solution.

Regards
Bo
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 08:33pm 10 Dec 2016
Copy link to clipboard 
Print this post

I think there is a place for a Color Maximite Extreme AND a micromite extreme.
One focused on recreating the 80's computer with VGA screen and PS/2 keyboard.
Not to forget all the i/o function the color maximite has.
Major advances can be made to that platform by adding native joystick and sprite support.

For the micromite there is no need for those as it is an embedded system. That was i thought the distinction between the Maximite and the Micromite.
So leave out all the functionality that is not needed in an embedded environment.

There are already two categories of 'mites. The Maximite 'line' and the 'Micromite 'line'. No need to obfuscate the line between those.

Sure the micromite had some major extras compared to the maximite. Great time to port that functionality to the Maximite line. One thing that the maximite has and the micromite does not is support for CAN.
CAN is very useful in embedded systems. Instead of porting the VGA from the Maximite to the micromite i think porting the CAN code is more useful.
Other useful things i can think of is adding support for different kinds of keypads by extending the keypad command.

A major improvement that is in my opinion the only big thing lacking from the Maximite and Micromite is debugging. Having a way to step through code, examine variables is invaluable for a programmer.

Variable length strings is another. Adding Hashtable (dictionary), parsing of json, 8-bit,16-bit,32 bit integer, redimensional arrays, external memory, etc etc. There is still lots of area to improve the MMBasic. I like it already, but sometimes you hit a wall and solving what should be trivial becomes a major pain.

PID is another i just thought of. Very important when you need to control for example temperatures. The Arduino world is full of those handy library functions. A great source for porting it to the Micromite. Another is support for RF24L01, great little device but a pain (as impossible) to control from MMBasic. Again library functions in the Arduino world are available.
Notice the 'trend'. Always available for the arduino world, not for the micromites.

If the Micromite is still aimed at beginners adding more support to the firmware makes it so much easier to use. Sure lots can be done by using CFunctions, but that completely excludes the beginners and frankly most of the people who are using the Micromite because it is BASIC that is the main language. CFunctions is a great way to add functionality that can later be included in the firmware when it is popular enough. With the MZ series of chips there is ample flash available to add those things.

Another major one is if the micromite can be used as a USB HID device. Even the little 1455 can do that so it should not be that big of an issue for the MZ.
Let the micromite be a storage device, this would allow a connected SD card to be directly accessible from a PC.
USB host is a major one, maybe only the mass storage so that memory sticks can be used.
As i said, so many things can be added that add value the the micromite. Where to begin?



Edited by MicroBlocks 2016-12-12
Microblocks. Build with logic.
 
     Page 3 of 4    
Print this page
© JAQ Software 2024