![]() |
Forum Index : Microcontroller and PC projects : Introducing the Colour Maximite 2
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
jman![]() Guru ![]() Joined: 12/06/2011 Location: New ZealandPosts: 711 |
Fantastic ![]() ![]() ![]() ![]() ![]() ![]() Regards Jman |
||||
Plasmamac![]() Guru ![]() Joined: 31/01/2019 Location: GermanyPosts: 572 |
like the idea , looks cool. gtx Plasma |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
1. The wave share module page mentions "6 x SPI, 4 x USART, 4 x UART, 1 x LPUART, 3 x I2S". Are there any unused I/O pins (UART etc) from the module that are not currently routed? 2. Manual needs I/O connector details (part # type etc) - Page 8 |
||||
Plasmamac![]() Guru ![]() Joined: 31/01/2019 Location: GermanyPosts: 572 |
i found only a 400 MHZ moodle , not the 480 one. ? any hints Plasma |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10070 |
See the construction pack. Cheapest I've found is Farnell 2215300 £0.52 each , 10 off minimum quantity Not that can/will be routed ST have the same part number for the 400 "Y" and 480 "V" variants so there is no way of knowing which you will get. Current ship from ST are all now "V" but it is still pot luck. The performance difference won't be material for most applications |
||||
MauroXavier Guru ![]() Joined: 06/03/2016 Location: BrazilPosts: 303 |
Final Fight CMM2 Demo 0.1a Here is a little video showing a piece of the power of Colour Maximite 2. It's only a short demo, but I guess it's enough to have an idea what's is waiting for you. More videos will be uploaded soon... |
||||
Chopperp![]() Guru ![]() Joined: 03/01/2018 Location: AustraliaPosts: 1090 |
Looks good ChopperP |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
Very nice. I remember the original Capcom CPS1 arcade board - used for many arcade games including Final Fight and Street Fighter 2) - 3 stacked boards (CPU, ROM, and Custom graphics chip). Seeing the demo running on basically a single chip (in BASIC!) vs the original CPS1's 10 MHz 68000 (& Z80 sound CPU) really shows how far we've come. What would be helpful would be some tutorials on programming the new graphics. Can you do raster line effects (interrupt or run code at specific screen lines? I'm guessing no, because BASIC wouldn't be fast enough? Appendix E seems to indicate that the max sprites is 50, Is this correct? (assuming you cannot multiplex sprites?). The documentation should state limit somewhere apart from Appendix E. |
||||
bigmik![]() Guru ![]() Joined: 20/06/2011 Location: AustraliaPosts: 2946 |
Very well done team, I too had been wondering what was afoot... I knew something was happening but not exactly what.. My first thought was why VGA and not HDMI but looking deeper i see it was the right choice due to native support inbuilt and I must say the video demos are really good.. No!! Not Good... Bloody fantastic... That ghost and its transparency... wow.. And Mauro’s kick boxer game demo.. what can I say?? Brilliant. Whilst I have always been more of a micromite CONTROLLER style bloke rather than a Maximite COMPUTER one, I am definitely going to have to add one of these to my collection. Great work, and it is amazing to see what can be done in BASIC. If anyone is getting a batch of boards made I am happy to pay my share to buy one, or I may get a batch and try to turn them over myself. Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
MauroXavier Guru ![]() Joined: 06/03/2016 Location: BrazilPosts: 303 |
Believe me, you don't need any tricks, but you can do raster effects easily because the video is hardware accelerated. About the sprites, it doesn't limit about it, if you use blit commands you can make more than 1000 "blit emulated sprites" on screen with any size. If you use 320x200x256 mode, you have 27 screen pages, more than enough to store animated sprites, and with the flip and rotation, it's very easy to make some great arcade games. You don't need to worry about any sprite tricks, just put the images in one not visible page and then copy to the visible page, then clear the not visible page and do it again and again. It's stupidly fast, enough to reach 75 FPS. For example, I put all enemies of Final Fight with all animations in 10 pages of 320x200x256, and I have 2 pages to use for stage parallax and others to any other things (players, objects, effects, etc). |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3271 |
Yes, something for the future. When drawing to the main page being displayed on the monitor the programmer can use the GETSCANLINE function to report on the line that is currently being drawn on the VGA monitor. MMBaasic is plenty fast on the CMM2 to work with this. A similar outcome can be achieved using an optional feature of the MODE command which will call a user defined subroutine at the start of the VGA frame blanking. Finally, you have multiple video pages at your disposal so what you could do is build your new graphics on a non display page then ask MMBasic to automatically copy to the display page on the next frame blanking. Yes (but see the comments from Mauro above). Edited 2020-05-05 11:58 by Geoffg Geoff Graham - http://geoffg.net |
||||
MauroXavier Guru ![]() Joined: 06/03/2016 Location: BrazilPosts: 303 |
New video! This time you see what you can do with MMBasic using the sound waveforms provided by the CMM2: sine, square, triangle, sawtooth, and noise. PSGMini Demo - SN76489 / NES APU Simulator and VGM Player PS.: Sorry about my English, but I'm trying to catch a wider audience. |
||||
hitsware2![]() Guru ![]() Joined: 03/08/2019 Location: United StatesPosts: 717 |
Thank You ! ....... I ' going to check out the SOUND commands ! my site |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10070 |
All, if you haven't then please look at Mauro's videos as they really show what is possible with the Colour Maximite 2. His work is extra-ordinary. Remember he is programming purely in interpreted Basic. There are no tricks or C routines and no special hidden functions. Everything he is using is described in the user manual (except his inventiveness and talent - unfortunately we can't document that ![]() Of course, the base of this is the speed we have been able to achieve despite the CMM2 using an interpreted Basic. Using a simple test we are seeing over 270,000 Basic lines per second on the fastest 480MHz processor. Even complex operations are fast. For example it takes less than 1/2 of one millisecond to copy an entire 320x240x16 image between framebuffers which is less than the frame-blanking time on the VGA monitor And this speed is not just relevant to video manipulation. Calculating CDEagle's solar eclipse example takes just 15.7 seconds on the CMM2 compared to over 2 minutes on a MM+ The CMM2 is also significantly faster than the ArmmiteH7 in this test (15.7 vs 23.1) which demonstrates most clearly the impact of the various optimisations that have been included. Edited 2020-05-05 17:44 by matherp |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Wow, great video ![]() That could be a commercial; "Come visit Blackpool" ![]() |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 3999 |
Couldn't agree more - stunning stuff. John |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
The next thing that occurs to me is that we need a windowing library to build apps without reinventing the GUI. The other next crazy idea is: If MMBasic runs so fast, is it possible to write a workable multitasking OS and actually split a program in separate tasks? |
||||
flasherror Senior Member ![]() Joined: 07/01/2019 Location: United StatesPosts: 159 |
See the construction pack. Cheapest I've found is Farnell 2215300 £0.52 each , 10 off minimum quantity Not that can/will be routed 1. Link to construction pack docs? 2. Not to keep harping on I/O but if there were unused (say spare UART) pins on the wave share module AND MMBasic supported these, then an end user could simply connect these pins and code. I think you mentioned in another post that unused devices aren't accessible from MMBasic? 3. Would it have been possible to include 2 Nunchuck connectors rather than one (since I believe they are I2C)? Edited 2020-05-06 01:14 by flasherror |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10070 |
First page, first post 2. Not to keep harping on I/O but if there were unused (say spare UART) pins on the wave share module AND MMBasic supported these, then an end user could simply connect these pins and code. I think you mentioned in another post that unused devices aren't accessible from MMBasic? I'm sorry that 3 UART, 2 SPI, 3 I2C etc. isn't enough for you but that is the design we are offering. If MMBasic runs so fast, is it possible to write a workable multitasking OS and actually split a program in separate tasks? This is easy to do using timer interrupts and a trivial main program function launcher. If you need more use a Pi or PC You have all the functionality needed to write whatever you need. There is no one-size-fits all GUI and we didn't want to add more complexity to the language. |
||||
MauroXavier Guru ![]() Joined: 06/03/2016 Location: BrazilPosts: 303 |
If MMBasic runs so fast, is it possible to write a workable multitasking OS and actually split a program in separate tasks? Not a crazy idea... I think in the same thing but the part of split a program in separate tasks we must probably have some restrictions: 1) The program must be made in another language that can be reinterpreted inside MMBasic (yes, the interpreter running other interpreted language). 2) The program called can be other MMBasic but to run it the OS will make a snapshot and shutdown to run another native program. Create another language to make MMBasic interpret it appears to be a bad idea, but isn't. It's possible to create a simple tokenized language but at maximum will be the speed of the original CMM. Only ideas, for now I will make some games ;) |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |